1018 is finally here!

July 31, 2017

Go to Steam to get the latest update of Ground Branch.

We continue to improve the overall usability and player experience with Ground Branch. Online stability has been greatly improved as we are now starting to refine the gamemode systems that will allow us to polish up existing gamemodes and more rapidly introduce new ones to try. As with the previous public build, the overall Ground Branch experience continues to improve greatly.

Build Version 1018

Build 123007

Engine:4.16.2-0+UE4

Approximate Update size: 2.7GB

Steam build Id: 1998226

Dedicated Server Steam build Id: 1998230

Approximate Update size: 102MB

Known Issues

Engine Update

We have officially moved Ground Branch to version 4.16.2 version of Unreal Engine.

Check out the full engine release notes here:

https://www.unrealengine.com/en-US/blog/unreal-engine-4-16-released

As with all new engine updates we take on, we will be utilizing various new features and updates as we go and the game will see various graphics, feature and performance improvements.
GENERAL CHANGES

 

Stability/Performance

Lots more work has gone into online stability and smoother integration with Steam and the online experience is much better than. We will continue to add Steam features as we go.

 

Online Connectivity

To get better integration with Steam, we switched to using a third party plugin over the default UE4 implementation. We have found it to be both easier to use and more powerful, giving us direct access to the Steam API with out the need to go through UE4’s Online Subsystem. The result is a much faster and smoother server browser, better servers listings and an easier time connecting.

20170731163033_1

We hope to leverage more of the Steam API in future (such as Steam Workshop integration), but for now are quite happy with the progress we’ve made.

 

New Map

A new map that is in progress and accessible from the Training gametype is Storage Facility.

storagefacility

Still very much under development, this map consists of an external central area accessible by boat, helo or on foot from the mountain ridge above that runs into an underground hollowed out mountain storage area.  It will serve well for various game types including Terrorist Hunt, Team Elimination, Coop mission and others.

e59c76fba2376d3ebd853b4f612d479b

Training changes

The TimeRun game type has been rolled into Training. So it is no longer accessible from the GameType dropdown. Simply select Training and then the map you would like to run. If TimeRun is available then it will show in the map list. The process of setting up targets has also been streamlined and consolidated onto one in game screen, along with the reintroduction of the countdown timer at start.

targetapp

There has been a simple breaching area setup on the Shooting Range map to allow testing/use of breaching items. We will add the ability to reset and/or change door type on the fly soon.

range

Ready Room

The ready Room has gone through some changes in the hopes of streamlining the experience. The Operations room has been moved adjacent to the Team Room and is now used to choose insertion areas when entering maps. We are investigating adding more functionality to the room as well.

20170731131206_1

20170731131233_1

Based on user feedback, a small shooting range was added off of the Team Room to allow players to easily test out weapon configurations before starting a match. Weapons can only be fired while in the range and only while facing downrange and bullets have no effect on other players. You must also manually equip your weapon upon entering the range by hitting either 1 or 2 (default weapon selection keys).

20170731131217_1

Insertions

The start of our insertion feature is now in Ground Branch. Be aware, that it is still very much a work in progress with the main point for this build being initial functionality. As noted above, the Operations room now includes the insertion screen where players will choose where they would like to insert (spawn) into the map.

20170731131315_1

Possible insertion areas are defined by game type and will show on the map accordingly. Players choose a point and when ready anyone can tell the match/mission to start. It can also be canceled mid countdown if needed. In TvT games, you will see when the other team is ready, but obviously not their insertion options. Multiple areas are available in all game types so players can chose to stay together or split into smaller fireteams.

20170731145033_1

As this feature gets refined, we will add in actual insertion actions for most game types. While the insertion “ride” is not a main focus of the game, they will consist of a short ride along with possible enemy engagement experiences during that time period. For now though, players will simply spawn at the chosen area.

 

A.I.

The Power Station map has been added into the Terrorist Hunt game type. It is an initial version that we are using to further refine how the AI works and utilizes it’s environment. So as with all maps, there will be times and places that the AI may not work or react as expected. Rest assured, the AI system is in good hands and will show continual advancement as development goes on.

Spectating

Spectating in online play is now streamlined and works correctly. At the moment, spectators can choose to follow any player in the game regardless of team. We will continue to refine this feature to allow for more strict rules on who gets to follow who and in what circumstances.

20170715171231_1-jpg-af5d6712e1d2cf4016ca1aa02e031309

Bug Tracker

The in game Bug Tracker has been enhanced to allow attachment of log files and screenshots. We highly encourage people to use this feature to help us make Ground Branch the best it can be.

20170731131354_1

Weapons

The M4 and M1911 models were updated and a new pistol, the P250 was added.

5kyalrwm1911p250

Leaning

We are testing out a new lean revision with a slight view rotation, but while still keeping your weapon level and on target, along with some more intuitive icons. So far it has been well recieved during tests and as with any HUD item, it can be turned on/off in the settings menu.

leaning

Testing Builds

Up to this point we have been running testing builds in a closed group of those that decided to financially support development early on with purchasing the Ground Branch Operator Edition. Since we are a very small team it is difficult for us to thoroughly test builds of the game so having a group of players to help goes a long way. We have decided to open up the Testing branch to anyone that owns Ground Branch and decides they want to Opt-In. Please be aware that features will be broken and there are times entire builds are broke as it is simply impossible for us to test everything before making the testing builds available.

A new sub forum has been opened for the announcement and discussion of testing builds as they happen.

http://www.blackfootstudios.com/forums/index.php?/forum/60-testing-branch-discussion/

With the understanding that stuff may be broken (more so than in public builds 🙂 ) and you still want to opt-in, follow the directions outlined here:

http://www.blackfootstudios.com/forums/index.php?/topic/7854-test-branch-opt-in/

Please be aware that testing builds are not compatible with release builds so you will not be able to join a release server with a testing client and vice versa. You will also only be able to have one or the other viable to play at any one time. You can easily turn your Testing opt-in on/off but Steam will update the game install accordingly.

seperator

There has been so much work done since the last public build, I’m sure some things got missed in this post. So what better way to find them than to play Ground Branch. Enjoy the game, discuss in the forums and provide feedback and where we are headed and spread the word.

As always, we thank you for your continued support!

seperator

FIXES

* FIXED possible nullptr in GBGameMode
* FIXED out of place collision on new catwalk section of Power Station map
* FIXED bug in UWorks prevent steam_appid.txt beign saved
* FIXED incorrect head order in MORTBlutility.cpp
* FIXED BP_RandomTargetSwitch warning
* FIXED missing text on refresh button in WBP_ServerBrowser_UWorks
* FIXED UWorks IMPLEMENT_MODULE macro usage
* FIXED play area world prompt not being cleared
* FIXED current sight component not being set when picking up dropped firearm
* FIXED bullet whiizz/crack sounds
–  moved them from BP_PlayerController to WBP_BulletWarn_Overlay
–  NOTE: Should have been working in BP_PlayerController, but the assets were cleared for some reason.
* FIXED flesh impact sounds for local player
* FIXED physics assets for several weapons to remove need for DroppedRotationFix
* FIXED possible nullptr in UGBFunctionLibrary::CreateMeshComponentCopy().
* FIXED possible nullptr in AGBDroppedItem::InitDroppedItem()
* FIXED physics collision for skeletal based dropped items
* FIXED vote count not showing up when voting
* FIXED GBDroppedItem rigid body notification on clients
* FIXED server, player& rule arrays not being filled in UWorks (G’day Vlad!)
* FIXED escape not exiting some screens
* FIXED inconsistent back button coords
* FIXED inconsistent bottom dividing line
* FIXED inconsistent usage of tabs to select sub-screens.
* FIXED inconsistent apply buttons
* FIXED order selection in WBP_SortableTab_Master
* FIXED missing collision on TankerShip bow
* FIXED Light on at distance, off up close in Depot
* FIXED a lot of misc RR issues
* FIXED Door flaw in Aircraft Takedown
* FIXED missing aircraft floor material due to prop moving
* FIXED SmallTown level blueprint.
* FIXED incorrect collision on floor/walls on PowerStation central tunnel room
* FIXED V3 Holo Frame Size not properly configured
* FIXED bad IES references in tac lights
* FIXED missing collision on outside wall of PowerStation
* FIXED issue with LOD and MID’s in BP_SplineProp_Master
* FIXED Bad projected shadow by doorway – Killhouse
* FIXED Bad lightmap UV’s for dead tree mesh
* FIXED Incorrect sRGB setting for Container REF map
* FIXED BP_Roster bad SM reference
* FIXED BP_MissionClock bad SM reference
* FIXED PS_Glass_Test missing material reference
* FIXED BP_RandomTargetManagerHelper issues that prevent packaging.
* FIXED Smalltown/night – Light in building only appears on when close
* FIXED Long standing helmet LOD material switch issue
* FIXED WBP_DefaultZero_Tab causing packaging to fail
* FIXED UGBFunctionLibrary::GenericArray_Sort() not being able to sort Blueprint based structs.
* FIXED Some bad collision around stairwells in PowerStation map
* FIXED MK48 skeleleton mesh naming
* FIXED Mk48 rear sight bone incorrectly parented to wrong bone
* FIXED missinc static mesh on BP_Custimise_Operator_Station
* FIXED naming of vairous firearm skeletons from SKEK_ to SKEL_
* FIXED bug in GBSightComponent that prevented sight being zeroed if default zero was specificed in ini.
* FIXED corruption in BP_M4 & BP_SDASS_Martial caused by save during hotreload
* FIXED missing mesh references in BP_RandomTargetX
* FIXED missing LUT reference in BP_ANPVS_15_NVG
* FIXED bad skinning on G22 sight/slide
* FIXED Slight offset of MP5SD6 rear sight mesh
* FIXED second lighting scenario being visible by default in Powerstation
* FIXED slight offset in M4 front sight by compensating for it in ABP_M4
* FIXED navmesh being nulled in new area in PowerStation
* FIXED complaint about GameplayTag settings ImportTagsFromConfig being deprecated.
* FIXED complaint about GameMode::GameModeClassAliases being deprecated (moved them to GameMapsSettings).
* FIXED Incorrect collision around ladder in PowerStation
* FIXED possible invalid related trigger in BP_Trigger_PrepArea
* FIXED Missing material on SmallTown rock formation LOD
* FIXED Missing collision on variou sexterior PowerStation walls
* FIXED missing default collision in BP_SplineProp_Master
* FIXED being able to smoothly opened door when is flipped.
* FIXED Reticle dots on EXP3 are reversed
* FIXED Missing collision on PowerStation exterior wall
* FIXED Incorrect materials applied to door
–  TankerShip
–  Depot
–  Killhouse
* FIXED Suppressor not propely attaching to any of the AR platforms
* FIXED M1911 missing proper texture for firing pin/hammer area
* FIXED possible nullptr in GBAISpawnManager
* FIXED GBKitInfo trying to remove event as it was being fired (oops)
* FIXED round starting but failing to upt players in play area.
* FIXED players not being frozen during pre-round freeze.
* FIXED transitions screens appearing during ready up period.
* FIXED sights not being zero on picked up firearms.
* FIXED chat / voip usage in character editor.
–  NOTE: haven’t tested item editor yet.
* FIXED lighting scenaios not being loaded if RR is not used.
* FIXED center chat messags
* FIXED missing UI on succeeding in TH
* FIXED missing/bad spectator info
* FIXED being able to spectate people in Ready Room
* FIXED staying in Ready Room when becoming a spectator.
* FIXED teleport to Ready Room when leaving or changing view targets.
* FIXED trying to view own player state if no other valid players are found.
* FIXED possible nullptr in GBState::OnRep_LightingScenario().
* FIXED sensitivity being low while sprinting with weapon in engaged position.
* FIXED menu losing focus after seamless travel
* FIXED possible none in WBP_DeathOptions
* FIXED bad set timer in BP_Trigger_CustomiseOperator
* FIXED BP_Deathmatch_PlayerStartManager return false on a Deathmatch tagged start (doh!)
* FIXED bad doors on SH_SmallTown
* FIXED unset player start on SmallTown
* FIXED characters appearing to stand up on being replicated again after death.
* FIXED getting stuck between rocks near overwatch/sniper pos on Depot
* FIXED door angles on Depot
* FIXED name not being filled in when opening WBP_CharacterEditor
* FIXED particle collision event spam
* FIXED possible none in WBP_Crosshair
* FIXED freelook being limited while sprinting
* FIXED Hole in the ship (Bad player collision on rear side of TankerShip)
* FIXED possible nullptr in AGBAIController::NotifyTakeHit()
* FIXED spawning at wrong teams in team elimination etc.
* FIXED body impact in GBCharacter after previous ragdoll changes
* FIXED mouse sensitivity not being adjusted when engaged/engaged with optic
* FIXED possible none in BP_SplineProp_Master by creating and assigning default segment mesh (S_SplineProp_Default)
* FIXED editor crashing on opening GBReadyRoomStreamer based Blueprints (*shakes fist at editor*).
* FIXED updated WBP_Death_Overlay to add check to prevent it being incorrectly shown in RR or missing spawns.
* FIXED Ship interior doors had incorrect collision that was stopping player when opened
* FIXED improper door rotations on Tanker Ship due to door BP changes
* FIXED lighting scenario swapping on anyone entering/leaving RR
* FIXED usage of FPlayerReadyRoomEvent in other C++ classes no related to lighting scenario.
* FIXED insertion point returning ‘false’ all the time
* FIXED incorrect riser/offset attachment directness (no more massive stacked risers)
* FIXED RailCover collision
* FIXED BP_InsertionPoint spawn offsets being cleared.
* FIXED gamemode not using PIE player starts in editor and always trying to send player to ready room (even if you just wanna test quickly in editor)
* FIXED chainlink fences blocking visibiility trace channel.
* FIXED chainlink gates blocking bullet trace channel.
* FIXED rediculously high DestructibleImpulse set in GBDamageType.
* FIXED A few misaligned wall meshes in RR
* FIXED disconnected node in BP_Trigger_ReadyRoom_Master (customise triggers will now work)
* FIXED item skin selection
* FIXED item skin restriction
* FIXED BP_Target_PopUp_AccuracyCollision blocking bullets instead of overlapping.
* FIXED flipped node in WBP_StanceIndicator
* FIXED basic sound occlusion being disabled on firearm sounds
* FIXED Pistol flashlight not working properly
* FIXED Reduced pistol muzzle flash size
* FIXED Missing RR walls when in customization menu
* FIXED missing physics asset for SK_BreachingCharge_Detonator
* FIXED strafing when sprinting causing jitter (just turns player for now)
* FIXED not being able to sprint if leaning (now cancels lean)
* FIXED being able to use destroyed doors.
* FIXED breaching charge explosion detonation direction on flipped doors
* FIXED door usage prompt remaining after moving away from door / dying while usaged prompt is visible.
* FIXED Lasers eminating from correct location on the PEQ15
* FIXED items attached to pouch becoming visible on leaving the item customisation screen.
* FIXED hidden components that are part of a rail attachment becoming visible when moving rail attachments around.
* FIXED laser sight rifle missing collision
* FIXED items attached to pouch becoming visible on leaving the character customisation screen.
* FIXED possible none firing sound from BP_Suppressor_Master
* FIXED possible none firing sound from BP_Firearm_Master
* FIXED possible issues in packaged gamemodes CDO.
* FIXED GBMuzzleDevice attentuation issues in packaged game.
* FIXED muffled DryFire sound.
* FIXED character & item editor remaining on screen during map change.
* FIXED Falling through corner in PowerStation map
* FIXED stance icons displaying on death
* FIXED Issues with P250 handgun
–  No longer has markings of 9mm
–  Properly scaled and seated magazine
–  Proper 9+1 round configuration
* FIXED Added wall in middle of Bravo shooting range
* FIXED odd PostProcess transition in Power Station by insertion area
* FIXED server browser map list filter
* FIXED blank game mode in game mode lists.
* FIXED server access kick command crashing server
* FIXED chat messages displaying as dead for alive players
* FIXED beging/ready buttons not doing anything
* FIXED team elimination insertion points being randomised when ever round count down was cancelled.
* FIXED slight offset on M4 side rails.
* FIXED placement of radio tower insertion point on Depot_All
* FIXED terroristcount server access command implementation
* FIXED death overlay appearing in multiplayer during long transitions (I hope).
* FIXED firing mode staying hidden after player controller state change.
* FIXED round starting even if no players are prepped anymore.
* FIXED enter to play world prompt doubling up and then not buggering off.
* FIXED bug in RBEventManager causing event list to become null during use.
* FIXED naming conventions of sounds related to training props / Blueprints.
* FIXED BP_TargetAppScreen not getting max targets when packaged.
* FIXED bug in GBRoundManager that could screw up living player check.

GENERAL

* updated AGBAISPawnManager::CreateCharacter() to stop VS complaint
* Cleaned up some lightmap UVs and settings on Power Station meshes
* Lighting work on Power Station map

* updated server browser to automatically refresh if no servers are currently listed.
* enabled joining a server by double-clicking it
* updated WBP_Settings_Video so it will add current resolution to resolution combo box even if it fails to get additional resolutions.

* updated version to 1018
* updated GBSession
–  removed session interface calls (for now)
–  renamed UpdateSession() to UpdateServerDetails() and updated body.
NOTE: This fixes map name not updating.
* updated GBPlayerState to register/unregister player with Steam.
NOTE: This DOES NOT fix the player counts not being updated, as apparently we need to release officially before that happens.

* added bAllowPlayerSelectionInsetion variable to GBGameMode & GBGameState
* added replicated InsertionPoint variable to GBPlayerState
* updated GBPlayerStartManager::GetGroupPlayerStarts() to change second option from update collision to skip collision updated
* created UGBFunctionLibrary::NameToDisplayString() to split FNames into nicer display strings based on position of captial letters.
* updated GBRoundManager
–  added checks to take ready status & insertion point into account
–  changed end round stage checks to pause if single player and in progress ends.
–  FIXED round time elapsed message not being broadcast
–  added 1 second delay before preround freeze to allow for transition effects to be sent to clients.
* created BP_Trigger_InsertionSelectionArea to ensure random insertion point is selected if none specified.
* created BP_Trigger_InsertionPoint to allow for specific insertion point to be selected.
* created BP_InsertionPoint_StaticMesh & BP_InsertionPoint_Text for use in displaying where BP_Trigger_InsertionPoint’s are and suggest their location in the play area.
* updated WBP_RoundStage to not show the next round time when it has expired.
* updated BP_RoundStage
–  will now add transition effect for PreRoundFreeze if none exists
–  added 1 second delay before showing round stage to ensure time is set.
* updated BP_TerroristHunt_PlayerStartManager to choose player start based on selected insertion point.
* updated ReadyRoom_Single_BFS
–  added insertion point selection area.
* updated Depot_All
–  added TerroristHunt tag to additional player starts to make them into insertion points
–  shifted Train Bridge player starts slightly to hide them from AI on spawn
–  hid night lighting scenario by default
* updated SmallTown
–  added TerroristHunt tag to additional player starts to make them into insertion points
* updated BP_TerroristHunt to display UI when the time runs out.
* updated WBP_DeathOptions to add Retry option

* Set textures to use lower LOD bias so we aren’t loading 4096 textures.
–  Will help memory load on lower end systems

* created BP_SplineProp_Master
–   replaces need for individual Blueprint for each type of spline based prop
–  supports segement meshes with different axes.
–  automatically creates a MID for each LOD the segment mesh has.
–  supports separate start/end cap meshes
–  can flip separate start/end cap meshes.
–  supports not having start/end cap meshes

* removed bad MissionActor Blueprint (parent class non-existent)
* updated GetRandomPoint Blueprint
* updated BP_SplineProp_Master
–  added MID colour parameter
–   added ModifySegementMID overrideable function to let child Blueprints modify the MID’s further.

* cleaned up character sounds

* reordered content for better project management inside editor
–  Organizational thing only

* created GBSoundNodeLocalPlayer
–  originally based off one supplied by Tom Looman, thoug modified to use view target instead of IsLocalPlayer().
* updated characters sounds to use GBSoundNodeLocalPlayer
–  stereo sounds for local player with no attenuation
–  mono sounds for remote players with attenuation
–  replaced gear movements loops with a gear walk/jog cue that is played with each footstep
–  replaced breathe loops with breath cue
–  time between breathes depends on how stamina level
–  volume of sounds depends on stamina level

* added NotifyTakeHit() & OnPlayerControllerNotifyTakeHit delegate to GBPlayerController
–  NotifyTakeHit() is called by GBCharacter when LastHitInfo is replicated.
* created WBP_TakeHit_Overlay
–  binds to OnPlayerControllerNotifyTakeHit
–  shows rough direction a hit came from, including up & down
* created WBP_BulletWarn_Overlay
–  binds to OnPlayerControllerBulletWarn
–  shows where a bullet passed the player, including up & down
* updated WBP_DeathOptions to ensure round is reset when returning to Ready Room in single player.

* renamed inventory physics assets from PA_ to PHYS_ to match up with naming convention

* removed DroppedRotationFix variabe from GBItem.
* created basics impacts for dropped items.
* created Test_PhysicsCollision to check physics assets for items etc.
* recreated physics assets for all firearms to preven constant spinning
–  NOTE: mainly uses boxes instead of spheryls – possible performance issues???
* changed vote popup to overlap most other UI elements if visible
* voting now restricted unless 2 or more people are server.
* added number of players to GameTag (temp fix)
* created GBPhysicsCollisionHandler
–  will use to handle sound & particle FX for rigid body collisions instead of relying on individual OnNotifyHit() binds.
* disabled replicating skeletal physivs bodies for ragdolls until proper smoothing is added.

* updated GBUIFunctionLibrary
–  updated FMapListItem to include author & description
–  updated GetMapList() to add  author & description to struct entries
–  updated GetLightingScenarios() & GetThumbNails() to be simpler, clearer.
–  created GetMapInfo() to remove need for GBGameplayStatics::GetLevelSummary().
–  has same result, but uses asset registry tags instead of to a manual partial load of the map etc.
–  updated all affected C++ & Blueprints.
* created WBP_MapList & WBP_GameModeList to allow shared commonality between WBP_SinglePlayer & WBP_Host
* added missing CookedTagWhitelist entries to DefaultEngine.ini for level summary asset tags.
* created GBGameplayStatics::IsLocallyViewed()
* updated GBCharacter::IsLocallyView()
–  FIXME – any point having both?
* removed GBSoundNodeLocalPlayer due to issues with sound thread.
–  replaced usage in sound cues.
–  updated all affected C++ and Blueprints.
* created separate mono breathe sound from exhaustion loop to use instead of exhales.
* added basic particles to BP_BodyImpact_Master/Default
* removed unused GBPhysicsSyncComponent (for now?)

* corrected misc reference issues caused by asset clean up.
* updated GBSesssion
–  moved MOTD from Steam GameTags to KeyValue/ServerRules
–  shortemed GameTags slightly and updated affected Blueprints.

* renamed WBP_X_UWorks to WBP_X
* updated WBP_ServerBrowser
–  added detailed server info on right-clicking server entry
–  added correct loading screen info by accessiing server rules
* updated WBP_LoadingScreen
–  waits to display press any key until after the player state, hud etc has spawned
–  FIXME – move this to C++ and don’t push loading screen widget to viewport until all this happens?

* New M4 model

* Recompiled landscape material to have Depot grass recalculated
* Turned on new 4.16 Volumetric Lighting feature in Depot

* removed old session related functions from GBGameInstance
* created new plugin RBTrelloPlugin
–  created functions based of existing bug reports functions.
–  wrapped them in Blueprint latent node for ease of use.
–  updated bug report UI to use new functions
–  NOTE: Bugs & Issues now supports uploading screenshot & log to Trello, rather then screenshot only to GB.com.
* removed existing bug report functions from GBGameInstance.
* removed special bug screenshot handling from GBHud
* continued clean up of WBP_Tab_Master

* Fixed a bunch of mask textures to have sRGB unchecked so they are properly used in materials
* TankerShip work
–  Some mesh optimizations on interior rooms
–  Added in some floor decals to engine room

* PowerStation work
–  Added new 4.16 volumetric fog
–  Turned off lights in underground corridor ‘A’

* updated RBTrelloPlugin to separate it into Runtime & Developer (Editor only) modules.
* updated WBP_Settings_Gameplay to properly allow proper sorting of default zeros by item name or zero distance.

* Cleaned up some lightmap UVs on meshes used in TargetTest Map
* updated UGBPlayerSettings::UpdateCachedHorizontalFOV() to ensure it only tries
calculate horizontal FOV values if there is a player controller with player camera manager

* changed FOnSightZeroing delegate to include current sight component
* updated UGBSightComponent::ZeroToRange()
–  removed commented out stubbs/debug lines.
–  add sight component to OnSightZeroing broadcast
–  changed Location/RotationDeltas in OnSightZeroing broadcast to actually be the Location/RotationDeltas
(difference between sight component location/rotation & new sight line versions)
* removed redundent OnSightZeroing event from BP_RedDorSight_Master
* updated GBPlayerCameraManager
–  remove hack that used old method to calc aim direction without adding sight line rotation offset.
–  tweaked max lag location on third person cameras in attempt to smooth out spectating people in third person.

* Added in sight bones to all weapons
* Cleaned up some lightmap UVs on a few meshes

* Fixed up some attenuation settings on a few ambient sound cues

* added Event Subsystem plugin
* changed player ready room delegate broadcast with ready room event call.
–  uses the Event Subsystem plugin
–  requires much less C++ & Blueprint code
* changed lighting scenario event from delegate to event call.
* reduced volume of A_AirVent_Industrial_A
* added light scenario set event to BP_LightFixture

* Added a few doors to PowerStation
* Added in simple door area to TargetTest map to allow use of breaching charges
* Added in new breaching charge mesh and textures

* Added in SkelMesh version of shotgun rear sight, with LODs

* Simplified collision on a few TankerShip merged assets
* Changed out old spline based cables with new version of BP in TankerShip

* Corrected some bad Skinning on MP5SD6

* More rough out work on Oil Rig

* first pass at zeroing all irons sights.
* added ability for BP_SplinePopr_Master to copy its spline data & meshes
from existing spline actors and save the result.
* removed SPR
* Changed sRGB setting on RMA textures for flipup BUIS
* New M1911 model

* Small adjustment to MP5 Navy material to get more contrast in roughness

* removed current stubbs/debug messages from C++/BP
* BP_Firearm_Master to call SetupSafetyAlpha? event as required.
* created SwitchByBurstCount to BPML_Firearm_Master
* udpated all firearm Blueprints to use new event & macro
* tweaked position of most sight and front sight components.
* updated PHYS_M4 due to mesh change
* added TerroristHunt, TeamElimination & Deathmatch player starts to Powerstation

* Added in dots to M1911 sights

* updated BP_ImpromptuLadder_BFS
–  disable auto-mount triggers – must manually mount all ladders from this point on.
–  adjust size and placement of top auto-mount trigger and made it interactive.
–  fixed outline not showing up on mouse over.
–  added check to (try and) prevent mounting ladder from way off to side.
* updated AGBPlayerController::UpdateRotation() to base yaw rotation on ladder while mounting or climbing ladder.

* G22 stuff
–  Cleaned up LODs and textures
–  Fixed low front sight dight
–  Removed rear sight dots (not needed)

* cleaned up GBGameInstance class.
* split off TRACE and related macros to own header file.
* updated usage of TRACE macro where appropriate
* removed GBInteractComponent and related C++ & Blueprints (was replaced with gameplay abilitiy usage a while back).

* updted BP_OpticalSight_Master to add HACK to compensate for pitch issue
* updated BP_Door_Swinging to correct reference to GetLocalGBPlayerController node

* updated engine fonts to the one used by GB UI
* udpated GBAISpawnManager to attempt to move a character on spawn instead of instantly failing.
* adjust AI spawn volume placement on PowerStation to prevent AI spawning half embedded in roof.
* updated GBDroppedItem to prevent dropped items automatically removing itself if round resets
* updated BP_Door_Swinging
–  ensured core, frame & handle were set to default industralia door set.
NOTE: Unsure why the handle worked on component, but core & frame didn’t.
–  ensured Tick event is always enabled (for now)
–  updated replication priority
–  updated yaw replication
—  forces immediate net update if target yaw changes.
—  uses new FSwingingDoorMove struct to hold a time stamp, current & target yaws as floats.
—  will immediately set the current rotation if the timestamp indicates the door should already have reached its target yaw.

* Optimization pass on TankerShip
–  Reduced amount of modular mesh usage with combined meshes
—  Reduces need for CPU to cull more meshes
—  Reduces collision primitives
—  Reduces draw calls in some instances
—  Less memory usage and hopefully less GPU paging

* updated bug reporter
–  defaults to inbox – no need for people to specific category or label.
–  includes screenshots from Steam install location.
–  added note not including in-use log
–  fixed member declaration in RBTrelloPlugin.h

* moved all events from existing  headers to /Public/Events/<NameOfEvent>.h
* replaced various game mode delegates with events.
–  See PlayerLoginEvent.h, PlayerLogoutEvent.h etc.
* removed need for loading screen to wait for player input before fading away.
* added check to prevent decoding kit strings for an owner/character that is marked pending kill.

* added additional IsValid() check to AGBAISpawnManager::CreateOverDurationSpawnActorsTimer()

* added OnDeathEvent() to GBCharacter and implemented it instead of old OnDied() delegeate in related Blueprints.
* removed BP_CharacterSpawner (no longer needed)

* updated GBGameState to use GameplayStatic Load/UnloadStreamLevel (similar to Blueprints) for lighting scenarios.
* replaced round related delegates with managed events.
* replaced IsGameInputAllowed() with stacked IsGameInputIgnored() similar to IsMoveInputIgnored().
* updated WBP_Transition
–  allows optional message to be displayed in center message que.
–  added bIsReadyRoom option to fade in based on RR status.
–  removed several redundant references.

* Cleaned up doors in PowerStation due to door BP changes
* Set proper physical materials on Marketplace assets used in StorageFacility map
* Finished roughing out and did some quick optimization of Marketplace content for StorageFacility map

* udpated EvertManager
–  switched priorities from fixed enum to sorted integer.
–  switched Object & Function pointer from UPROPETRY() C++ to TWeakObjPtr<>.
–  split events those global and world based events.
—  Defaults to world based.
—  NOTE: Still need to add global versions of RegisterX, UnregisterX & CallX.
–  added world cleanup hook to automatically clean out all register world based events on a worlds destruction.
–  updated affected C++ & Blueprints.
* updated GBPlayerStartManager
–  replaced InvalidPlayerStartEvent() with IsValidPlayerStartEvent
–  added GetRandomPlayerStart()
–  added GetRandomReadyRoomStart()
–  updated all affected C++ & Blueprints.
* updated GBPlayerController
–  removed old FollowComponent support (unused)
–  removed ViewSelf()
–  replaced OnPlayerControllerStateChange delegate with managed event.
–  moved functionality of BeginSpectatingState() to GBGameMode::BecomeSpectator.
–  moved sensitivity adjustments from PlayerTick() to PreProcessInput().
–  replaced GetSpectatorInfo() with managed event.
–  created IsFirstPerson() and modified usage of manual first checks.

* slight tweaks/clean to EventManager
* created BP_Training_PlayerStartManager
* updated GBGameMode
–  set default PlayerStartManagerClass to BP_Training_PlayerStartManager
–  added NoClear meta data to PlayerStartManagerClass property declaration
Ensures it will always be set.
* removed unnessary default class checks from GBGameMode, GBAISpawnManager & GBRoundManager
* updated WBP_SeamlessTravelScreen to auto-fade on completion.
* figured out how to get ragdoll to replicate in a similar way to UT4
–  rough as right now, but has potential.
* updated BP_Door_Swinging
–  made MaxYaw consistant throughout its usage
–  added PreviewYaw to view what a door would look like with worry about it affecting final door.

* Added some extra collision hulls to semi trailers so stop going under crouched
* Cleaned up collision on metal bridge

* set BP_Door_Swinging default meshes from Industrial to Office
–  had to update warehouse doors on Depot due to this change.
* changed S_DoorHandle_XXX materials to actual door handle material

* replaced GENERATED_USTRUCT_BODY with GENERATED_BODY on all C++ GB related structs.
* optimised and streamline round handling
–  renamed Intialising to Initialising
–  remove ready up & warmup
–  added WaitingForReady & ReadyCountdown
–  round must now be manually started by a player
* created GBInsertionPoint
–  base class for current and future insertion points
–  placed in map like other actor.
–  replicated currently assigned team
–  created BP_InserionPoint that works with current player starts
* created BP_MinimapOrigin
–  must be placed roughly in the playable area of the map.
–  playable area defined top left & bottom right points (view in editor from top, move into place).
–  shows bounds.
–  automatically determines correct center.
–  used to generate a 2048×2048 res image of the map for using as a minimap.
–  includes ability to preview what it will look like before generating it.
* created BP_BriefingRoomMinimap
–  displays map with insertion points based on placement of BP_MinimapOrigin & GBInsertionPoints
–  insertion points display insertion point name & number of players assigned to it.
–  player clicks on insertion point to select it.
–  players that have not yet picked an insertion point are listed.
–  one a player has selected an insertion point, they can click ‘begin’ to start the round
* increased interaction distance while in RR to make it easy to work with widgets in RR while people are crowding around them.
e.g. everyone selecting an insertion point on the minimap.
* created GBTeamFunctionLibrary
–  moved much of the team related functions from GBTeamInfo, GBGameState etc to here.
* updated GBGameState
–  moved significant amount of GBGameMode functionality to here to enable the same checks to worth on server or client.
–  added bCooperative for games in which all players should work together.
–  added NumTeams for non-coop games (a value of less then 2 indicates a deathmatch style game).
–  added TeamNames to control which item profiles are used for each team that is added.
–  added FGameStateInitEvent – a delayed event that is only fired only once teams & round state exist
–  changed GetSortedPlayerList() return type from bool to TArray<AGBPlayerState*> to allow default params to be correctly set.
–  ported over item validation from GBTeamInfo to make it not reliant on teams.
—  added support for a coop and bad guy profile
–  split AllowedToEnterPlayArea into CanEnterPlay() & CanRestart()
—  CanEnterPlay() determines if a player can enter play for the first time.
—  CanRestart() determines if a player can re-enter after leaving it.
* updated GBGameMode
–  moved all checks for a new player having their appearance & loadouts syncs from GBPlayerController to AGBGameMode::HandleStartingNewPlayer_Implementation().
–  added GetPlayerStartManager().
–  added support for letting insertion points handle the spawn location & rotation of players sent to play area.
–  moved living/dead chat handling from GBPlayerController to AGBGameMode::Broadcast().
* updated GBFunctionLibrary
–  updated CaptureComponent2D_SaveImage() to fix path issue & ignore image format.
–  removed team related functions
–  removed WaitForXXXState functions.
* updated GBDroppedItem
–  enabled CCD on physics body
–  increased time between valid impacts to 0.1 seconds.
–  improved the way physics is first enabled on client.
* updated GBBotManager
–  bots are now added/removed via a timer
–  random team selection was fixed.
* updated GBPlayerState
–  created IsLocal() to check for if owner is local player controller for use with multiple internal functions
–  changed bIsReady to bIsPrepped and updated related functions.
–  replaced existing Blueprint events and delegates with managed events.
–  changed insertion point replication from FName to GBInsertionPoint
–  replaced HasInsertionPoint() with GetInsertionPoint().
–  added ServerSetInsertionPoint() RPC.
–  added FPlayerStateInitEvent – a delayed event fired shortly after begin play.
–  removed EnteredReadyRoom() & LeftReadyRoom() and moved their functionality to GBGameMode.
* added “toplayarea” server command to allow player to be brought into game after it starts.
* added “resurrect” server command to allow player to be brought back to life after dying in game.
* changed “changeteam” server command to “setteam”.
* updated GBRoundState to stop calling RoundManager->RoundTimerChecks() if the rount time is zero.
* created ASquadActor::GetSquadMemberControllers()

* stripped out old BP_TimerunX loging to fix packaging.
* removed unused / default BP_SplineProp_Master instances from SH_StorageFacility

* Cleaned up doors in PowerStation due to door BP changes
* Set proper physical materials on Marketplace assets used in StorageFacility map
* Finished roughing out and did some quick optimization of Marketplace content for StorageFacility map

* Lots of memory optimizations on TankeShip
–  Set Mip Bias on a lot of textures to reduce loaded size
–  Set Skylight to Stationary instead of Mobile
–  Reduced lightmap size on a lot of meshes
–  Removed a few RefMap references that were being used but not needed

* Optimizizations on all maps
–  Unified Lightmap scale for more consistant look and memory utilization
–  Adjusted foliage LOD values to switch to billboards a bit closer (less overdraw)
–  Optimized master foliage materials a small amout (removed AO and some unused wind functions)

* added BriefingRoomWidget to GBGameState
* renamed BP_BriefingRooMminimapXXX to BP_BriefingRoomDIsplayXXX
–  updated references in RR maps & classses.
* updated BP_BriefingRoomDisplay_ReplicationProxy to not need widget reference to work.
* created WBP_BriefingRoom_Master
* created WBP_TerroristHunt_BriefingRoom as child of WBP_BriefingRoom_Master.
* updated BP_TerroristHunt_GameState to use newly created WBP_TerroristHunt_BriefingRoom

* New ReadyRoom layout and functionality
–  More streamlined flow
–  Dedicated Operations room with second revision of insertion planning
–  Simple shooting range to allow players to test weapons

* Reworked a few area of TankerShip in hopes of better optimization and gameplay flow
–  Removed lower deck entrances
–  Removed a couple of random small rooms that didn’t serve much purpose

* changed AGBGameMode::SendToPlayArea() from a void to a bool
–  will only return true if sending player succeeded.
–  updated affected C++ & Blueprints
* moved insertion point handling from GBGameMode to GBPlayerStartManager
* updated BP_Minimap_Origin
–  added option to rotate map from North/South to East/West orientation
–  added options to show top down and/or side on view of a map as the base for the minimap image.
* added bTopView, bSideView & InfoOffset variables to GBInsertionPoint
* added MF_GradientRemap created by J.H Grave ( http://portfolio.jhgrace.com/ )
* added TeamId to BP_BriefingRoomDisplay
* updated WBP_InsertionPoint
–  added support for East/West & side on views.
–  added check to change alignment of info based on info offset.
* updated WBP_InsertionPoint_Name to change it into a button.
–  allows you to click on the inestion point or the name to select an insertion point.
* created WBP_InsertionPointLine to render line from insertion point to its information if they do not share th e same on screen position.
* created minimaps for most maps.
* added insertion points to most maps.

* Renamed HeatShield to RailCover.

* Added in basic demolition testing area to ShootingRange map
–  Will add ability to reset door and change door type soon

* added simple penetration check to GBDroppedItem physics collision.
* updated BP_BriefingRoomDisplay to add GetTeamId()
–  will return 255 in coop, otherwise, actual team Id.
* updated WBP_TeamElimination_BriefRoom
–  gets proper team id from BP_BriefingRoomDisplay
–  enables/disables button based on both team status
* created BP_Trigger_ShootingRangeSafeDirection
–  used in RR shooting range
–  allows item usage only in safe direction.
–  lowers weapon in unsafe direction
–  added them to ReadyRoom_EA_BFS
* updated GBPlayerController
–  replaced IsShootingAllowed(), IsGameInputIgnore() & IsAllowToUseItems() with single IsItemUsageIgnored().
–  swapped usage of IsGameInputIgnore() on movement functions with !IsMoveIngputIgnored().
–  changed method used to prevent movement at start of round from SetGameInputIgnored() to the timer used for IsFrozen().
* cleaned out stubs from a few new blueprints.

* Switched ReadyRoomStreamer to use new RR maps
* Added some rock formations and collision volumes to Storage Facility
* Cleaned up some geometry and lighting issues on new RR maps

* updated GBInsertionPoint
–  changed GetInfoOffset() to GetInfoLocation() that returns world location.
–  renamed MaxCount to MaxSupportedPlayers to make it clearer as to what it does.
–  removed ability to set MaxSupportedPlayers in  map instance.
–  created SetMaxSupportedPlayers() to allow it to be set during Blueprint construction/runtime.
* updated BP_InsertionPoint
–  removed need for matching GBPlayerStarts
–  tries to keep itself off the ground when placed.
–  created point generation function
— can control generation (somewhat) using instance parameters row and spacing
— will automatically trace against the ground using generous capulse radius and height.
— can manually move points if auto-generated position is not to your liking.
* replaced all BP_InsertionPoint / GBPlayerStart combinations in all maps.
* updated StorageFacility.
–  added additional insertion points at tunnel entrance & underground.
–  added BP_ReadyRoomStreamer below main area of map.
–  added missing BP_Minimap_Origin
–  recreated minimap texture.

* Cleaned out some more reflection capture spheres from TankerShip and built lighting
* Cleaned up some lighting issues in new RR maps
* Added blocking volume in RR range areas to prevent people from walking downrange
* Removed some lights from TankerShip

* Added in new TireStack mesh for use in training maps
* Reworked new breaching area a bit in ShootingRange map
* New breaching charge particle effect and detonation sound
* Made new red material for minimap origin BP
–  No longer uses or complains about editor material

* updated ReadyRoom_Single_EA_BFS to make team id 255 on BP_BriefingRoom (just in case it annoys packaging).
* changed fixed stubbs in GBPlayerStartManager to optional logged ones.
* updated BP_Trigger_ReadyRoom_Master
–  no longer precaches line check origin or direction due to packaging breaking it (damn you packaging!)
–  build new version of player validation macro.
–  created IsPositiveExit function.
–  only binds trigger overlap at runtime, based on netmode & trigger settings.
—  these are separated into BindServerOnly, BindClientOnly and a BindServerAndClient for standalone/listen servers.
* updated StroageFacility world settings to add TeamElimination tag.
* updated DedicatedServer.bat
–  attempts to find correct .exe by itself.
–  automatically restarts when using packaged build.
–  options are located at top of bat file for easy editing.
–  updated list of maps to include supported game modes.
–  uppdated round time options to match latest iterations.
–  added information on how to use a maplist.

* renamed existing Projectile trace type & channel to Bullet.
–  updated GBBulletProjectile to use Bullet collision profile instead of Projectile.
–  renamed COLLISION_PROJECTILE define to COLLISION_BULLET
– updated existing collision profiles to replace Projectile with Bullet.
* added new Projectile trace type & channel.
–  updated existing collision profiles to make sure the respone to new Projectile type accordingly.
* updated BP_ChainlinkFence to add a ChainlinkFenceCollisionToIgnore array.
–  any channel in this array has its collision response set to Ignore for the chainlink part of the fence.
* changed .exe’s used in DedicatedServer.bat to avoid requiring DirectX installed on dedicated servers.
* added collision to S_Window_OfficeFrame_A
* created DM_Window_OfficeFrame_A_Glass
* created BP_DestructibleWindowPane_Master
* udpated BP_GBCharacter to collide with Destructible collisoin channel.

* Turned off or removed sounds from RR as people were complaining about them 🙂
* Changed “Bravo” to “Team Room” on team room sign in single RR map
* removed references to missing meshes from BP_DestructibleWindowPane_Master

* updated GBGameState
–  changed GetValidatedItemSkinList() return from bool to Tarray<FItemSkin>
– created AddKitProfileJson() and ported skin restriction code from GBTeamInfo::Init() to here.
–  created AddKitProfile() allowing you to load kit profiles with skin restrictions etc foir non-team generic profiles.
e.g. good guys, bad guys
–  set default value of CoopKitProfileName to “GoodGuys”
GoodGuys kit profile, by default, black lists the “Tan” skin.
* added KitProfileName to AISpawnVolime & AISPawnPoint
–  set default value to “BadGuys”
BadGuys kit profile, by default, whites lists the “Tan” skin only.
* updated GBKitFunctionLibrary
–  added GetKitProfileExtension()
–  added GetDefaultKitProfilePath()
–  added GetUserKitProfilePath()
–  added GetKitProfileName()
—  returns either coop kit profile name or team name to use when looking for a players kit.
—  updated all C++ & Blueprints using GetTeamName() as the kit profile name to use this function instead.
* updated all usages of ProfileName & TeamName when referring to kit profiles in C++ & Blueprints to the universal KitProfileName.
* made GBGameMode::ApplyPlayKit() BlueprintCallable
* updated BP_Trigger_PrepArea_Entrance to apply the characters kit if they change team on entering a prep arae.
* added KitProfiles to DirectoriesToAlwaysStageAsNonUFS entries in DefaultGame.ini

* updated stance indicator
–  separated the ‘stance level’ into a bool for prone, crouching, standing & leaning.
–  updated WBP_StanceIndicator to update existing implementation
–  added basic right/left leaning indicator arrows (until we annoy Scopey enough for icons)
* added gait indicator setting (unimplemented)
* created WBP_Lean_Overlay
–  adds subtle gradient to side of screen opposite the lean as a player leans.
* added slight roll to weapon when leaning
–  changes aim slightly, more so to the left then right.
Personally like this, as it will encourage people to alternate hands in future when leaning left/right.

* updated stance icons and placement
–  All thanks and credit for icons goes to Scopey.
–  slight correction to position of stance indicator coz Scopey is pefectionist.
* updated placement of firemode indicator & chat messages
* changed IsLocallyViewed() usaged in GBCharacter to UGBGameplayStatics::IsLocallyViewed() instead.

* Tweaked flashlight light attenuation settings to get a more focused illumination

* Removed WIP missle model accidentily included in TargetTest map
* changed target component of spawned firing sound from firearm to instigator root to fix character occluding firing sounds.
* changed time transition is shown when changing to prefreeze round state.

* removed need for standing/crouching indication to be set for leaning indicator to work.
* replaced redundant custom GB Blueprint functions with native versions.
* updated usage of IsDedicated – Not – If Bool to IsLocal macro.
* updating grenade related assets to fit with naming convention
* reimplemented basic flash bang effect on player
–  Just placeholder for now, but we wanted something there

* Changed radial menu highlight color to low grey from yellow (Still a temp color)
* removed unused functions & events from GBItem class.
* New map images for StoragFacility and Test UserKillhouse
* checked usaged of LoadAssetAsync in C++ & Blueprints, resaving assets as required.
* Made basic drone view concept overhead maps for those maps that use the ReadyRoom.
–  These are very placeholder!

* Added auto fire mode to M14 EBR Mod2 rifle
* added GetFiringSound() to GBMuzzleDevice
* created BP_Suppressor_Master and implemented GetFiringSound().
* reparented existing suppressors to BP_Suppressor_Master.
* added Muzzle sockets to suppressor static meshes.
* updated BP_Firearm_Master to give muzzle device a chance to override firing sounds.
* slightly adjust position of magazine component in BP_S516.

* removed added rotation on firearm in animation blueprint while leaning.
* added view roll in GBPlayerCameraManager while leaning.
* added shadow to interaction cursor in WBP_HUD.
* changed colour of insertion points & insertion point lines to make the more visible on drone style briefing room maps.
* disabled BP_PlayArea_Door since people must use button to enter the game anyway.
* updated GBInsertionPoint to ignore non-prepped players when returning list of players that have it selected.
* changed briefing room Begin button into a Begin / Cancel button for Terrorst Hunt GameMode.

* Changed overhead map in SmallTown
–  Testing a drone feed look to the map

* Set r.GenerateLandscapeGIData to False (Wasn’t using it and took up some memory and slowed editor down when editor terrain)
* Added in some rock assets pruchased from an online retailer
* Refined the exterior and entry tunnel of Storage facility map and started some detailing
* Set missing terrain physical materials on PwerStation
–  Should get correct footsteps on terrain now

* Updated M4 model and textures
* Exposed some camera settings to be editable for easier testing. Makes it easier to make adjustments per map as well.

* created RBEventSubsystem
–  had modified the original EventSubsystem so much there was little left of it that was original anyway.
–  is UObject based rather then FStruct based, allowing it to function correctly with Blueprints.
–  in C++, uses simple ADDLISTENER & REMOVELISTENER macros.
–  replaced usage of EventSubsystem with RBEventSubsystem
—  find and replace with some tweaking. Little teedious, but easy.
* removed WBP_Death_Overlay from WBP_HUD
* updated WBP_HUD to add WBP_Death_Overlay using CharacterDiedEvent
–  Should fix death overlay appearing at incorrect times, since it is only created as required rather then waiting for the player controllers ‘inactive’ state to happen.
* updated WBP_Death_Overlay to only take focus if the WBP_InGameMenuManager is not visible.
* updated WBP_InGameMenuManager
–  will stay above WBP_Death_Overlay
–  will give WBP_Death_Overlay focus if it closes
* updated GBPlayerController
–  removed old menu functions & Blueprint events.
–  creadted ToggleInGameMenu() exec and ToggleInGameMenuEvent().
–  ToggleMenu is now know as ToggleInGameMenu! May need to rebind the key!
NOTE: had to update WBP_MenuScreen_Master due to these and other changes, which meant resaving its children.

* Updated wind turbine model (Thanks Zee!)
* Some more refinement of entrance tunnel for StorageFacility map

* Darkened overhead maps a bit
–  Still to bright and will need material support to get better

* Optimized light pole asset
* Added red anti collision light on WindTurbine

* Minor adjustments to PowerStation Night lighting
–  Turned off directional light so there aren’t any hard environment shadows
–  Upped the ambient brightness a bit
–  Lowered the eye adaptation threshold so it doesn’t have such drastic changes
–  Added soem more lighting to courtyard area
* removed stubbs from GBTeamFunctionLibrary
* updated GBServerManagerment
–  split off all server access commands into their onwn functions.
–  made resurrect give the newly alive player 10 seconds of immunity to damage.
–  made toplayarea prep & auto-select an insertion point if player does not have one, thensend them in.
* created FindPlayerStateByPlayerNameOrUniqueId() & FindPlayerControllerByPlayerNameOrUniqueId() functions in GBGameplayStatics class.
* slightly optimised various float values by replacing * -1 with 0 – value.
* added ReadyRoomChat as a chat type for people in the chat room.
* added Event chat type to display generic event messages as centered messages.
* simplified team living check in GBRoundManager
* updated GBPlayerController
–  moved SetInsertionPoint() from GBPlayerState to here.
–  created GameCommad() Server RPC
—  fires off newly created “GameCommandEvent”, removing need for replication proxies.
—  updated affected C++ & Blueprints.
–  created ClietnCallEvent() to replicated an event from the server to the client ?? (UNTESTED)
* updated where some OnRep_XXX calls are made in GBPlayerState.
* updated team elimination flow
–  begin button is now declare ready/not ready.
–  ready button is only enabled if everyone on a team has an insertion point.
–  round count down will start when both teams declare ready.
–  round count down will stop either team declares not ready.
–  round count down will stop if player becomes prepped/unprepped during it.
–  ready status of both teams shown as thumbs up or thumbs down (for now).
* updated terrorist hunt flow.
–  begin button is now declare ready/not ready.
–  ready button is only enabled if everyone has an insertion point.
–  round count down will start when players declare ready.
–  round count down will stop either players declares not ready.
–  round count down will stop if player becomes prepped/unprepped during it.
–  ready status shown as thumbs up or thumbs down (for now).
–  players are shown as waiting if they are prepped without an insertion point
or have an insertion point but are not prepped.
–  players wtih both are shown as normal

* updated server access UI
–  added support for commands that require player & string, player & team or an integer parameter.
–  added new commands – resurrect, toplayarea & setteam
* updated server access command list in DefaultServerManagement.ini
* updated WBP_TerroristHunt_BriefingRoom to list prepped without insertion point
and non-prepped with insertion point as players we are waiting for.
* removed debug trace line from BP_Explosion_MK13_Stun

* cleaned up GBGameInstance slightly.
* updated WBP_ServerPasswordOverlay style.
* updated WBP_ServerBrowser
–  display WBP_PreConnectOverlay when Connect is pressed.
–  tells the engine to run garbage collection and waits a moment for that to finish.
–  asks server for motd, map info etc, clearing itself if that fails.
–  if successful, continues connecting.
* renamed BP_RandomTargetResultBoard to BP_TargetAppScreen
* updated BP_TargetAppScreen
–  moved setting target count functionality from BP_RandomTargetSwitch to here.
–  created simpler, more direct replication proxy.
–  shows best time since number of targets was set.
–  allows you to stop and reset timer without dropped remaining targets first.
* removed unused random target assets.
* added additional check to GBDroppedItem to auto-resolved and/or fuck off any that spazz out
* removed unused game mode timerun & benchmark

* Adjusted Depot TH insertion points
–  Radio Tower and River Bend slid down river bank a bit so AI doesn’t kill everyone upon spawning
* Added new weapon – P250 pistol
–  Because we had the model 🙂

* replaced timer used for living player check to a count down decremented by round manager timer.
* removed use owner relevancy check from BP_BriefingRoomDisplay_ReplicationProxy.
* simplified logic behind the “Begin” button for WBP_TerroristHunt_BrefiingRoom.
* updated WBP_TeeamElimination_BriefingRoom to match changes in WBP_TerroristHunt_BriefingRoom.