255,059 Commits over 3,990 Days - 2.66cph!
▌▍▄▅▊▋█▄ ▌▇▋▉▍▋▋▇ ▋▉▊▅▊▋▅▄▊▍ ▅▄▉▍▌ (▅▌▌▆ ▅█ █▋▍▉▋▆▌▅▇ ▇▊█▆▉▌▍ ▄▍▄▋▍█▊▊▇▉ / ▌▉▉▋▄ ▉▊▍▆▋▋▊ ▍▉▇▍▇▉█) ▉▇▇▍▆ ▌▍ ▅▇▉▄▄ ▇▅▅▇ ▆▊▉ ▆▅▌▆▇ ▄▆▇ ▄▉█▄▄▅▅▋ ▆█▉ ▇▍▅▇ ▆█▅▊ ▇▉▋ ▅▄ ▇▋▆
Desert sculpt finalization progress
Don't upload .source2 folder to steam (probably fixes long startup times)
Delete orphaned textures
Delete orphaned models
Add Utility.SendToRecycleBin
Asset system attempts to automatically delete orphans
Commenting out a bunch of texture compile noise
Backup 2022/05/11 12:50:00 UTC
Possible fix for campaigns sometimes being invisible !switch !release
Allow setting MSAA whilst in tool mode
Replace per tool GameData with a shared one managed by IToolFramework2, move the managed GameData out of Tools.MapEditor and into Tools, same with it's interop.
* Decoupled CGameData from CGameConfig (mapdoclib), removed g_pGameData use the IToolFramework2 locator now instead.
* Initialize managed GameData from CToolFramework2::Init() before anything could ever need it.
* Populate GameData from managed asynchronously, this solves race conditions of loading Hammer too fast, as well as letting you add localaddons mid game.
Tool scenes loading maps will now have access to all this managed game data too, solving lighting issues / missing sky boxes in modeldoc / others.
This also gives us a very easy route to deprecate fgd files in ModelDoc if desired.
Instead of loading GameData from addons on initialize, load it in from assemblies when added to GameAssemblyManager
Unfuck the map compilation, gotta use a dirty global for gamedata still in mapdoclib, set it automatically when toolframework2 is avaliable, mapcompiler manages it's own manually though.
A couple of dirty hacks to do this, we can undo these if we end up making map compilation not use a seperate process - or there may be some nicer ways to do these globals.
Startup time optimizations (~400ms)
Smoothing out tools mode startup
Move splashscreen to c#
cherrypicking
70776 - Cull railside and roadside client side bushes when buildings overlap them (this is load balanced through LODManager so comes with some delay)
Added ai.killanimals server command
Added ai.AddIgnorePlayer and ai.RemoveIgnorePlayer server commands.
AI now checks the ignore list when adding players to memory.
▄▉▉▍▌▊▊▉ ▍▌▊▌▊ ▍▆▄ █▆▆▇▊ ▄▊▌▆▆▆▋▇▍▆ ▆▌ █▄▉▄
▍▍▅█▍▌▋▉▋ ▄▆▇ ▆▍▌ "▋▉▍▆▊█▉▆▅▄ ▍▉▉▌▇▉▋" ▄█▇█▇ ▍▌▇█ ▄█▌▆▇▉█ ▌▍▊▅▉ ▉▉▇▊▄█▍▇
█▊█▆ █▄▇ ▄▊▋█▉▉ █▅▅▅ ▇▅▆▆▇▅ ▋▍▇▊▍▉█▅█▊█ ▍▇▉▆_▊▋▊ ▋▍▋▊█▆▇▋ ▌▉ ▋▌▇▇▅▉▊ ▇▅▇██▅ ▉▄▍▅ █▋▉▍ ▊█▉▉█▇▅ █▅▆▅▋▍ █▉▆▄▌▌▌ ▌▉▇▆▆▋ (▆▊▉▄▍ ▍▆▉▄█▌▋▊▆▉
Cull railside and roadside client side bushes when buildings overlap them (this is load balanced through LODManager so comes with some delay)
Add r_force_copy_texture_using_shaders for the rare situations some cards are encoding video with incorrect color format
Fixed offsets not recalculating when entering/exiting parented space (still not 100% right)
Fix Client.camlerp not working in parented camera mode (lerp is applied in local space)
Added debugging.debugcamera_orbitwhileparented, true is legacy behaviour, false is new default and uses same controls as unparented mode
Fix compile error in fibertools.h with VS2022 17.2.0
Backup 2022/05/11 06:50:00 UTC
Parenting to an entity now properly converts the debug camera's position and rotation calculation to be in local space (previously rotation was in local space but position was world space)
Removed debugcamera_bonerotation, this functionality is now active whenever the camera is parented to something
Now emulates a physically attached camera
Add Tools/Scene/Add Parent GameObject editor shortcut
Add Tools/Scene/Focus Camera To Main Camera editor shortcut
If the dev_cam root is found it uses that for the focus zoom calculation and enables that gameobject
Merge from shot_parenting
Merge from spraycan_merge2
Fixed NotifyLod components not respecting mesh.quality convar (will affect sprays as well as boom boxes)
Fixed spray sfx looping incorrectly when spray can breaks mid spray
Added terraincollisionproxy scripts to the snowmobiles
SedanTest uses CarProtection instead of BlockMetal protection
Sprays that detect a sudden detection change will now break the line and start a new line
This looks a lot better than attempting to make the turn with the limited geometry we're using
This still only counts as one spray entity
Remove point culling features, no longer needed
Moved woundedfreecam from editor-only to admin-only
Backup 2022/05/11 00:50:00 UTC
Merge Main -> Media Projects
Removed missing ref to DrawCinematic
Ported RustEditor changes from media_projects to Main
Added save/load weather buttons
Don't save WeatherSlider values between sessions (removing the Get here, Set already removed in 70752)
Removed adjustWeather bool since it's broken anyway + value slider fix
Rewrote the conditional in WeatherSlider for clarity. Previous code was functionally the same but nobody has time to understand "if ( GUILayout.Toggle( value != -1, "", GUILayout.Width( 64 ) ) != ( value != -1 ) ) value = ( value == -1.0f ? 0.5f : -1.0f );"