248,679 Commits over 3,928 Days - 2.64cph!
Optim: reimplementing List.Compare extension via hash->sort approach
- Only implemented for ref types for now, but can be extended to value-types as well
- Has a limitation of requiring no duiplicates in queries lists
- Dependent on the hash quality - we have a slow, quadratic path when a hash collision occurs
- Measured performance - largest case (2048, 512) is an order faster than previous impl (0.75ms vs 12.5ms)
Goal was to reduce the number of hash lookups from the original algorithm and to reduce it's quadratic nature.
Tests: Ran the unit tests - all pass
Update: rewrote ListExtension test to soon-to-chan
- Also added a perf test
- Measured initial implementation's timings - (2048,512) takes 12.5ms on average
I've been working on an optimization that requires me to use ref-types rather than value-types
Tests: run the test in editor, all cases pass
fixed backwards WriteOnly/ReadOnly attributes on job and changed bad naming that caused it
Remove redundant allies vislog
Use convars directly in debug aiarena script when ppossible instead of running commands
Add vislog to confirm that fallback roam EQS works correctly
Combining back wheel of ballista base
merge from fix_swamp_water_reflection
prepatch phases, codegen and manifest
special spitter
spitter elite special
dont despawn enemy bullet if it kills player
spiker special
charger special
Leaderboard backup, run #
15869
Fixed asset labels on all new shields, manifest
Only apply auto turret behaviour when actively bocking with the shield
Some protection value changes
If an auto turret is aiming at a person using a shield, adjust the targeting to shoot at the shield
Adjusted improvised shield collider
Update attack loops on reinforced shield
Delete animator controllers for wooden, reinforced and improvised shields
There are overrides setup for each shield viewmodel variant, we should be using those
Normalize quats going to physicsbody, set to identity if they can't be normalized - could potentially fix rare physics failure
Both head look system working in tandem: one for direction and one for point of interests (players, food, ...)
Horse proper headlook setup, disabled old headlook
Horse mountable blend tree tweaks
Adjust TOD scattering direction clamp to avoid normalising zero vector (stop NaNs)
Can quickly open the prefab from CardRow
Major wip:
- Set up fractional reload
- Setup fast reload values (purely wip and testing)
- Setup Mini Crossbow script (sets shots left value)
- Use shots left to blend anims
WIP Card Explorer editor window
Shortened the transition between melee_atk_loop and melee_atk_end to fix the slight hold when going straight to block
Don't allow the shield to block while the held weapon is playing it's deploy animation
Use GameLoop.Instance where necessary
Clear readied players on round start
Fixed ready up sound being 3D
Chatbox TextEntry font changed
Fixed player friction being incorrect
Fixed Pixelate effects getting stuck on-screen
Only perform damage number effects on players - this was spawning at world origin if we hit the map :x
Don't use bebas for the chat font it was driving me absolutely insane
Don't count spectators in Readying system
Super simple spectator camera controls
Combat sound overlap fixes, create spectator prefab, don't create player if we're spectating
Clamp gravity to a sane amt
Validate deck inventory
WIP big refactor to support non-playing players (spectators)
updated triangle planter, fleshed out prefabs and now as a deployable
scripts may need checking over
Merge from scrap_exchange_dynamic_pricing
Fixed the out of stock calculation not taking into account the new scrap multiplier
Fixed a couple bugs from test
Fixed merged autotiles not patching themselves when erasing nearby autotiles