3,309 Commits over 945 Days - 0.15cph!
Change default door prewarm count from 100 -> 1
- monument doors were warming up 100 -> 1 now
Added ability to override an individual prefab's warmup count via the Poolable component
- garage door & sheet metal doors = 10
- wood & armored door = 5
Cherrypick audio import setting changes
Run `Sound/Update Audio Clip Importers` tool to update optimal audio import settings
- assuming the tool still applies good settings
Change WorldSerialization to deserialize into a NativeArray (NativeMemoryStream) instead of MemoryStream
- reduces heap reserved memory by 500MB when deserializing map due to many MemoryStream allocations
- add `loadmap` test command to load local map when profiling deserialization
Add NativeMemoryStream (MemoryStream backed by a NativeArray<byte> instead of byte[])
merge from monument_scenes -> aux2
Generate manifest with new string pool
Get rid of checking for scene in standalone build
- asset bundles don't want to tell you if scene is there
- rare error: won't occur once build process is normal
Enable batching on low container walls
Fix render batching not refreshing after color is changing
Pass color to batching directly instead of pulling from MeshRenderer
Fix batching not resetting detail color MaterialPropertyBlock when returning to pool
Enable the RendererBatch component on all shipping container prefabs
- fix some components that were at the root level instead of at the same level as the RendererLOD / MeshLOD
Add color to RendererKey for render batching to support shipping container
- pull the color from the MaterialPropertyBlock of the MeshRenderer
Make sure existing null checks aren't applied on top of new default value checks
Apply fix #2 in redid commit
Redid the commit so that it would stop applying to DeltaSerialize()
- tried to combine existing null checks with new default value checks, keeping them seperate is less complexity
Add support for all default values, fix optional field checks applying to DeltaSerialize()
Fix & update codegen
- don't check if field is null twice (bytes & strings already checked if null when optional)
- throw error if required class isn't present, skip serializing structs if required but default value
- fix regression where it checked if field was default when delta serializing
Skip fields with custom default values instead of always serializing them
- significant as it affects Vector3
Updated codegen
Protobuf now won't serialize default values as pooling resets everything before deserialization
- should have the exact same input & output but better performance
Made ProtoBuf.Half3 and ProtoBuf.VectorData IEquatable so it can be compared to default value
Fix train_tunnel_entrance_a having output prefab somehow unlinked?
Fix scene prefabs that don't support remapping having all their components stripped (train tunnels)
Fix the check "is scene in asset bundles" not working outside of editor
- added method to check if any asset is at path in filesystem
merge from main -> monument_scenes
merge from qol_give_improvements -> main
Adding --silent onto a give command will stop telling you picked up the item
- still broadcasts to the server when an item is given
Fix `clearinventory` not running ItemManager.DoRemoves() causing items to not always go to correct spot
Add ability to specify target container & slot when using `give` command
- give {item} {amount} {condition} {skin} {container} {slot}
Add some descriptions to give commands
Fix `monument_scenes` convar not applying to remapping paths after previous commits
Don't remap to scene spawner if the scene doesn't exist in asset bundles
Allow editor to control whether it uses monument_scenes when doing map generation with `monument_scene_generation` convar
merge from build_leave_bundles_symlink -> main
Cut down version of every monument scene spawner prefab
Remove every map generation component from scene spawner prefab for monuments
- only output GameObject + ScenePrefab component
Spawn normal prefab when doing map generation so we can guarentee that all map generation components are present
Remap to scene spawner only when spawning world
Switch `monument_scenes` convar to be saved
merge build_leave_bundles_symlink -> monument_scenes
Stop deleting the Bundles directory or symlink in the output directory when doing normal build
- bundles still get overwritten when building asset bundles
- prevents you from nuking your bundle folder when testing local builds
merge from monument_scenes -> aux2
Merge from optimize_asset_warmup_tunnels -> monument_scenes
Skip asset warmup on all underground train tunnel prefabs
Merge from monument_scenes -> aux2
Don't run DetachMonumentChildren when monuments are in their own scenes
Include all active & inactive objects in new output `UnityEngine.Object_All.Count.txt`
Include total amount of components at the top of the file
Order `Stats/Transform Count` based on the amount of components
Fix scenes with slashes in them making a ton of sub folders
Merge from main -> monument_scenes
merge from fix_invoke_cancel_nre -> main
Fix InvokeHandler NRE when cancelling invokes when the server is shutting down
- pretty sure this only spammed the editor
Merge from monument_scenes -> aux2
Dump now outputs statistics per scene
- create new folder for each scene
- outputs hierarchy per scene (still outputs old hierarchy files incase they were useful)
- outputs Component & GameObject count per scene