140,968 Commits over 4,505 Days - 1.30cph!
Bugfix: make Underwear.ValidateForPlayer MT friendly on server
Fixes BasePlayer saving throwing unity exceptions
Tests: changed underwear with Jobs 4
Simple list of doors with transparency for testing
System to generate alpha'd player icons - allows us to setup desired shots with specific lighting setups
Manifest system based off Underwear manifest which allows us to link races/body types/hair to icons as well as things like steam items or specific seeds
Add ddraw for network groups for rooms
Bugfix: make FishMount.Save mt friendly - cache fish container index
Tests: placed a fish in a trophy display with Jobs 4
Added honey bandage to medical crates and waterwell vendor
exported latest vm glass ar admire animation
Update: wrap InvokeHandler internals in DebugMTLock
Tests: booted on craggy and ran around with EnableDebugMTLock
Update: add single-thread reentrant support to DebugMTLock to avoid deadlocks
- added unit tests
Because of course InvokeHandler is non-trivially recursive
Tests: uni tests
fixed muzzle flash fx slight incorrect position on the muzzle brake
When sampling multiple potential destination around an agent, instead of snapping random points to the navmesh, floodfill around the agent and only sample on the reachable polygons
- fix 7x spike of 2.64ms on oilrig, when all points land in unreachable navmesh islands, and we waste time trying to path to them and hitting our node exploration cap every time
merge from attchement_lod_fixes
Glass AR - updated weapon rack positions
Re-apply the steam init reflection hack now it's not needed and tested.
merge from command palette
Fix misaligned caret when the search is empty
Merge from fp_steamworks_steaminput
krieg chainsword small weaponrack positioning
merge back from command_palette
Update: Move UnsafeScriptingAccess and DebugMTLock to Facepunch.UnityEngine
- Cleanup empty asms
Tests: ran relevant unit tests
fixed ladder.worldmodel from having two conflicting lod groups causing console errors
Merge from PlayerMaintainedMonuments
Update: explicitly capture callstack when DebugMTLock is tripped
- frame count can be limited to via unsafe.DebugMTLockMaxFrames (def 5)
Tests: ran unit tests
Update Facepunch.Steamworks files (b56e56a)
Initialize ISteamInput with the interface lifecycle - previously SteamInput.Controllers always enumerated empty because Init was never called.
Release build from GitHub Actions.
fixed both corn and salvaged hammer having double lod renderers on their world model
update to propane tank .worldmodel
fix for random disappearing act in the lods
Regenerate all the HLODs in the game
Had to resave all monument scenes, if there's any conflicts on other branches just discard this change as another S2P should fix the issue
Created a new Scene2Prefab batch window, exposes all scenes with S2P and allows us batch generate HLODs/S2P
Glass AR - removed unused materials, turned duplicate prefabs into prefab variants, added simpler worldmodel,
New: DebugMTLock - a named lock guard that print an error on concurrent access
- controlled by Unsafe.EnableDebugMTLock, disabled by default
- codegen, unit tests
Need it to help chase down unobvious thread races, like InvokeHandler
Tests: ran unit tests
Added third variant of randomised (large) room for train tunnels - abandoned waiting room
More UI changes
Backdrop setup
FIxed players eyes being black in the preview
Eyes now follow you around as you orbit around the player
updated large fireworks pack description to add white firework. Updated all fireworks icons to use lewis's new icons. Updated small and large fireworks pack steam store icons
FIxed an issue where the to cull components on a HLOD mesh could get lost due to unity's dirty check
Removed a runtime allocation when a HLOD mesh enters/exits range
Improved handling of biome visual meshes when generating HLOD meshes, now uses the Temperate mesh if available for rendering the HLOD mesh but adds all biome visuals to the to cull list so they are disabled at range (could cause cliff flickering at a distance)
Better handling of clan score
Optim: Jobs 4 - reduce server.ParallelNetworkQueueBatchSize to 16 by default
256 was waaay to high for the per-frame workload we get, it basically disabled parallelization
Tests: none, trivial change
Bugfix: fix 6 TestMTSave failures
No legit mt issues, just new entity types with missing unit test setup
Tests: ran all TestMTSave tests, pass
Fix:
- old scientists not moving at multiple locations
- animal stuck in charge stack around jungle trees
- ais getting stuck
- move without polyref log spam
- scientist crouchwalk weird angle on stairs
- slower old ais
Fix non-deterministic tests that only failed sometimes, remove extra long tests
Bugfix: make card table saving MT-friendly
Done by removing the concept of item "busy" or "locking" - was never set but checked against Time.time
Tests: none, trivial change