Lots of optimizations and quality of life improvements in this Testing branch update.
Major known issues
- Due to aggressive optimizations on Tanker Ship there are some odd visual bugs with large shadows in the distance
- New signage in Ready Room is temporary. Trying out different ideas other than floating tool tips
- Storage Facility is in the middle of some structural changes to how the level is built and may exhibit framerate and visual issues with the main tunnel
Highlights
- Reworked Ready Room system to address APPLY button crash (should be gone)
- VOIP is back! 'V' for proximity voice and 'B' for radio usage. still more work to do but its working again.
- Created TE and DM version of Depot_Compound for games in smaller area
- Dead bodies and dropped items should now properly disappear over time in TE and DM games that do not have a specified end state
- Numerous optimizations to rendering and animation that provide performance boosts in all maps and gametypes, but especially in Terrorist Hunt and Tanker Ship day and night maps
Game
Steam Build Id: 2963514
Approx. Size: 1.3GB
Dedicated Server
Steam Build Id: 2963522
Approx. Size: 39mb
CHANGELIST:
FIXES
* FIXED OKP-7 reticle wrapping around during extreme viewing angles
* FIXED incorrect cyclic rate on MP7, MPX, MP5SD5 and MP5SD6
* fixed toggle hud not resetting.
* fixed prev user menu not being cleaered if opened again
* fixed missing sound classes and attentuations on various sound cues
* fixed end of round screen not having focus in solo TerroristHunt
* fixed dropped items and dead bodies not automatically removing themselves in non-round based game modes
* fixed pickup prompts not being removed if associated dropped item is destoryed while prompt is visible
* fixed incorrect ready room usaged in TE-Maps
* fixed BP_ServerInfOBoard not updating properly (I hope)
* fixed BP_TeamRoom_FillerWall still being visible but non-solid on clients
CONTENT
* Added in ComTac optoin for A-Frame helmet
* Currently not working... Kris, help!!!!!!!
* Kris helped John get ComTac workign on A-Frame
* Yay Kris!!!!!!
* Added in new Asian head assets that were missed
* created BP_TeamRoom_FillerWall that will remove itself in team games. Allows us to use 1 RR for all gametypes
* RR setup
* Created single RR for all gametypes
* Added customization area
* Deleted old RR map
* Adjusted lightmap UVs and collision on various meshes for more efficient use
* Adjusted DistanceField values on some SmallTown assets
* Created and/or adjusted LOs for various TankerShip and SmallTown assets
* Optimized particle effects used in TankerShip
* TankerShip
* Optimizations in lighting, collision and mesh LODs that get significant rendering boost
* Still need to optimize AI and character usage of space as the majority of the current slowdown comes from that at this point
* Some light LOD adjustments for interior lights
* Moved Daytime light optimizations over to night lighting scenario (still more to do)
* Depot map
* Rebuilt lighting on Production
* Training maps
* Added Customization area
CODE
* updated GBGameState to clear all associated timers when destroyed in the hopes it fixes crash related to timed delayed event call.
* updated GBGameMode to clear all associated timers when destroyed in the hopes it fixes crash related to timed delayed event call.
* updated RBEventSubsystem
* moved RBEventManager initlisation to its on function - Init()
* added call to RBEventManager::Init() during module load.
* split most of the work done by OnWorldCleanup() into dedicated CleanUp() function.
* bound RBEventManager to PreLoadMap() global delegate that would call new CleanUp() function.
* Should mean RBEventManager ckeans up on hard map change and streaming map change, for server and clients.
* removed old editor code created for initial version that was superceded when event were made into objects instead of structs.
* simplified initilisation of RBSurfaceLinkManager
* simplified initilisation of RBZooKeeper
* corrected AGBGameState::EndPlay() calling ADDLISTENER instead of REMOVELISTENER
* corrected AGBReadyRoomStreamer::EndPlay() calling ADDLISTENER instead of REMOVELISTENER
* added RR streamer back to TH-PowerStation
* first pass on GBVOIPManager
* records local mic
* sends data using Steam P2P API to other players
* receives data using Steam P2P from other players
* creates audio component for each player sending if missing one.
* adds received data to audio component streamable sound wave que.
* destroys audio component when audio is no longer being played, player state is invalid or its been X seconds since they last talked.
* added missing include to RBSurfaceLinkModule for shipping builds
* added game mode options MaxDroppedItems & MaxDeadBodies as additional way to limit related actors with larger player counts
* by default, dropped items and bodies will automatically remove themselves as their previous owner dropps similar items or dies.
Using the MaxXXX options will force this issue regardless.
* replaced hard coded spectator controls with bindable versions.
* tweaked various attentuations
* updated BP_DestructibleWindowPane_Master
* fixed destructible component not being reset
* fixed decals not showing up by replacing them with static mesh components
* fixed last bullet being blocked when window first shattered
* updated WBP_BoudKey
* allows you to specify action name or key
* now has icons specified for nearly every key
* removed redundant VOIP related code from various C++ classes and Blueprints
* pretty much all handled by VOIPManager object in GBPlayerController now
* updated GBVOIPManager
* created separate P2P channels for radio & voice
* made it Blueprintable
* added attenuation and audio class variables
* added radio squelch and radio background loop support.
* added cache for voice buffer to prevent trying to send too much info in one go.
* added checks to SendVOIPBBuffer() based on radio status, team relationship etc
* updated AGBPlayerController::ClientSendPreRecRadioMessage()
* uses playerstate instead of character FName
* routes sound cue through VOIP manager removing need for duplicate code for radio squelches etc.
* updated character and item editor to use in-game location
* requires placing BP_CharacterEditor_ReferencePoint where you would the character/item to spawn.
* removed all C++ and Blueprint privew world usage
* updated GBCharAppearanceData to ensure skeletam mesh that is created does not update animation or bones unless rendered.
* updated GBPlatform to ensure platform mesh does not update animation or bones unless rendered.
* updated GBClothing to ensure clothing mesh does not update animation or bones unless rendered.
* updated GBCharacter to not update animation or bones of mesh in standalone games unless rendered.
* updated GBItem to ensure all skeletal mesh component saved do not update animation or bones rendered.
* resaved skeletal mesh based items to ensure they benefit from this change
* updated many static mesh based items to add aggressive max render distance.
* made AGBGameState::SetLightScenarioVisibility() BlueprintCallable
* updated BP_Trigger_CustomiseOperator
* uses SetLightScenarioVisibility() to toggle lighting scenario if not in the RR
* calls DisableInput on entering the character editor, leaving the ready room AND leaving the customisation trigger.
* updated WBP_CharacterEditor
* made sure spawned actors are destroyed on widget destuction
* added character editing area to to Example_Map and rebuilt lighting
* disabled various stubbs related to VOIPManager to log spam
* disabled some warnings related to default loadouts
* server really doesn't need to no that anyway.
* added ready room check to dropped items to make them disappear quickly if dropped while in ready room
* created BP_LockerNamePlate
* displays player names based on team/coop/deathmatch
* attempts to keep the same locker assigned if possible.
* names will scroll if too long.
* created BP_PrepAreaSign & related widget
* adapts to coop, team or non-team games.
* scrolls text
* created BP_OperationsSign & related widget
* created BP_ShootingRangeSign & related widget
* removed world prompts from RR triggers.
* removed old RR drone assets
* removed deprecated BP_ReadyRoom_Team
* removed deprecated BP_PlayArea_Door
* created TE-Depot_Compound based on old Depot_Compound
* created DM-Depot_Compound based on old Depot_Compound
