111,518 Commits over 3,928 Days - 1.18cph!
small ocean wreck buoy
initial prefab setup
LODs
fixed CNY_Spear and SkinningKnife BurstCloth setups
- proper gravity values
- reduced damping to reasonable values
Fixed ConversationManager Update NRE
Merge Cargoship Log Spam Fix -> Main
Wrap a bunch of loose logs in HarborCrane and CargoShip with editor checks. This will prevent log spam
Client compile fix, code cleanup
Only get item schemas once to speed multiple item processing up, and do it during scene bootstrap.
Initial support for parsing a list of pasted workshop URLS and finding the matching items
Disabled saving on NPCVendingMachine_TravellingVendor, may fix entity leak
Update: Adding Pool.FreeUnmanaged overload for MemoryStream
Since Free got changed to accept IPooled only, it allows us to delete a runtime check in the editor env.
Tests: build only in editor, all targets
Wire deployment cancel condition
Feedback: Replacing bikeshedded emptyArray with Array.Empty<T>
Tests: trivial change, so only built Client+Server
Switch from pinging servers via their IPs to pinging the entire server list via 4 queries
merge from mountable_rotation_fix
merge from fix_convar_defaults_server
merge from optimize_prewarm_doors
merge from triggerbase_fix
Converted the isGestureViewmodel field on viewmodel into a new viewmodel type variable, also has a shield type
Fixes bullet casings ejecting from the players camera while a shield is equipped as well as some clothing issues
Temp model
Added a new shield hands layer to the 3p animator that only masks the left arm, just has an idle for now
Hold RMB to block with the shield (only visible in first person right now)
Cannot attack while blocking
Hide the left arm of viewmodels when a shield is active (rotated off screen)
Hide the viewmodel shield while reloading weapons
Let bike driver wield items
Updated third and first person animations for rock paper scissors gesture.
▆▅█▅▌ ▋▊▅▅▉▌▉█▍▊▊▊▉ -> ▇▄█▄
▋▌▋▍▇▌▅▊▄ ▆▅▋▋█▍▄ ▆▍▆▊ ▆▌▉█▅▄▊_▍▊▍▅▌█▍▅ ▋▇▉▊ ▆▅▍▇
▆▉▄ ▋▍▍▋▅ ▍▌█ ▄▄▌▆█▌▇▆ ▆▅▉▇▅▄▇▋▆▇ ▅▋▊ ▄▍▌ ▋▉▌ █▋▇▊▋▉▅▅▇▄▊ ▄▌▋▄ ▌▇▊ ▅▍▋▉▆ █▋▌▄▌ (▍▅▄▉▌▍▌▉▍█ ▋▌▄▌ ▍▋▊▆ ▆ ▄▉▅ ▊▅▉▉▅▍▉▍ ▍▍█▇). ▅▆▍▄▅, ▍▌█▍▌▌▇▍▌, ▉▉▋█▉, ▄▆▌▉▍▍▆, ▌▍▄▍▉▌▇▊▋, ▋▋▊▅▇, ▆▄▅▋▆.
Rock paper scissors gesture anim progress + backups
Wire ground watch, make sure to cut the trap wire when the entity it is attached to is destroyed
Made a simple shield viewmodel, seems to just work as expected as the shield entity is getting the correct OnDeploy/OnHolster client events
Added a shields inventory loadout for testing
Can now use M92 with shields
Can no longer ADS while a shield is equipped
First pass jungle wall texture for testing brick sizes. Doubled wall thickness in kit. Initial blockout of vertical slice jungle wall segment.
Shifting some lighting things around into culling volumes. Both because paper thin walls, but also performance.
Update: Constraining Pool.Free - Step one
* Primary Pool.Free overload now only accepts IPooled types
* Secondary overloads added to work with collections (not restricted to IPooled yet). They all call Clear() on the returned pooled container.
* Pool.FreeList now just pipes to one of Pool.Free secondary overloads (proper cleanup will be done later - there's 800 occurances of FreeList usage)
* Added Pool.FreeUnmanaged as an escape hatch for types that are in the pool but don't implement IPooled interface.
Motivation: If we want to avoid leaking memory and reduce potential of "improperly-recycled" pooled objects, so we need a more controlling API for Pool that allows users to avoid misusing it and calling the wrong API by accident. We'll get there by providing a stricter API that checks for users whether it's legal to use it in a particular way. This means I have to write a bunch of boilerplate (overloads + variations) and clean up all the use cases we have(both the types that might benefit from IPooled and all the API usage points).
Tests: built all targets for scripts in editor. Didn't do any runtime testing as there's only 1 safe functional change (clearing of collection on return to pool).
▌▉█▄▇ ▅▇▉▌ ▋▆▍▍▉▊▌▉▍▅█▋_▉█▌
frontier hatchet updates
- 3p entity set up
- icon set up
- worldmodel set up
- projectile set up
Clean: Nuking SimpleList.cs
Nothing uses it anymore, and it's superseeded by BufferList.
Tests: All targets in editor built succesfully
Update: Replacing SimpleArray uses with BufferList. BufferList also avoids allocations when default-constructed.
There's 2 reasons for this change: they're functionally the same(with a small change for default BufferList), but BufferList offers more. Also, and the primary reason, it allows me to refer to the type at a lower assembly level (Facepunch) so that I can continue making Pool's API more strict.
Tests: checked all "targets" build in Unity, no runtime tests (well, editor runs this code outside of playmode as well, so there's that)
▌▍▅▍▌ ▉▌▄▉ ▋▆▅▌▊▇▍▊▅▊▄▅_▌▆▅
▇▊█ ▋▇▊█▉ ▇▇█▇▅▅▊▇▅▉ ▊▊▄▊▄▌▄▅ ▇█ ▉▍▆▉█▇▉ ▅▄▇▄ ▄▉▋▌▊▍█'▊ ▅▊ ▄▋▆▋█▄▋▉▊▋ (▆▇▍▄▇ ▅▍▍▋▊ █▇▌ █▉▅▇▋█ ▌▊▉▆▌▉ ▅▄▌▄ ▆▋▉▇▊▋▋▊▋█▉▄▉▌█)
Bike Cargoship Parent -> Main