124,057 Commits over 4,171 Days - 1.24cph!
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
Clipping check doesn't apply to parent objects
Line of sight checks when placing down the wire
Hot air balloon compile fix
subtracting
101159 - sinceLastBlast compile
Update: Inlining PoolCollection::Fill implementation into Pool
In order for us to unify TakeX/FreeX custom methods into a single overload set, we need to unify their constraints. This removes one new T() call from 2 calls in PoolCollectionm which is first step towards removing new() constraint on PoolCollection(and instead preserving it on Pool APIs).
Also left a note about thread safety - luckily right now everything is used in a safe manner
▅▍▇▊█ ▌▊▍▆ ▅▅▊█▍▉▋▇▄▋▌▊▉█▆▌▍▍▄_▇█▄▌▆▉▍
merge from shaky_legs_fix
merge from underwater_tweaks
Prevent bike parented objects from killing the player should the bike be stationary
merge from twitch_drops_delete_fix
Elevator Max Height Increase -> Main
merge from BurstClothTestBed
undoing some unintentional changes from merges
Simplification: avoid double hash calculation when pushing new elements into the Pool in editor
Fix parenting issues
Don't allow throwing melee weapons while a shield is equipped
Controlling recorder window from code test.
Creating target gameobject test.
merge from audio_import_music_clips
Initial implementation work
Created placeholder item and entity
Item goes in backpack slot and will be automatically equipped when a valid held entity is equipped (enabled on salvaged sword for now)
Improved sidecar jitter. Use the full interpolation time for the sidecar angle.
Convert BiomeVisuals -> BiomeVisuals again, minus the moss prefabs
Fix renderer being added to root of BiomeVisuals2 when it's not in the default position
Removed unnecessary sidecar bike params
Fixed motorbike ragdoll force not being correctly clamped
Merge HelicopterParticleFix -> main
Fixed bike roll not applying while reversing, plus other adjustments to improve the feel of reverse in all bikes
More eager cancelling for cached server browser ping query
Bikes steer less when reversing. The highly-forward steering bias makes them not steer too logically in reverse otherwise
Reduced pitch stab factor slightly
Was a little bit extreme. Made it 33% faster instead of 50%
Ground vehicle steering now returns 50% faster if the new target steer angle is opposite to the current steer angle. That is to say, if you're just releasing the turn key, it'll lerp back as before. If you're switching from turning left to turning right, or vice versa, it'll lerp 50% faster
Adjust position of industrial adaptor and lock slots slightly to better fit the model