240,743 Commits over 3,867 Days - 2.59cph!
Explicitly define the default sort order
not applying flow forces on lakes, the water is still
- also cleaned up the accumulation of the flow force, the amount of nesting was horrific
RectInt: your favourite Rect struct but with integers
Texture.GetPixels: Able to specify dstRect fully
Terrain optimizations, better undo/redo, clean up
* Implement new undo/redo system, track delta changes instead of full snapshots (faster, more reliable)
* Don't upload buffers every frame in OnPreRender
* Stop using MakeDirty, each property only updates what it needs to
* Only create SceneObject when we can actually use it
* Don't over expose public methods & properties, remove dead methods
Optimize TerrainStorage.GetDominantControlMapIndices 400ms -> 1ms
Pass in a buffer we get from ArrayPool instead of allocating and returning, also preresolve some getters
Vector3: Aggressive inlining on aggressively inlined System.Numerics.Vector3 methods
TerrainClipmap mesh gen optimize 266ms -> 26ms
Fixed filter by facet not working
Legacy leaderboard uses new database
Colour adjustments and detail additions to catapult
accidental doubling up of waterflow generation for rivers
dirty prototype of converting terrain alpha map to holes map to replace terrain ignore volumes from physics checks
Rotation can parse from serialized Angles, resolves Facepunch/sbox-issues#6085
Added arted-up catapult model, materials, and textures. Some tweaks pending.
Save viewport settings to project cookie instead of global editor cookie
Fix scene view cookie not always correctly saving
Scene view: Save 2d zoom per-scene alongside camera position/rotation
Scene view: Save Layout to project cookie
Drop coins on death
Added Keep Riches Skill
Settings UpgradesFrom to self means item can only be crafted once
Added other Shovel types
Added stone sword item and other sword sprites
Hammer Stage
Missing ui elements
▄▉▍▆▆▊▄▆ ▌▄▆ ▌▆▊▄▋ █▉▄▋█▅ ▋█▆▇▍▆▌ ▌▊▇▋▉ ▆▊▌'▅ ▋▍▄▄ ▅▉▆█▊ ▉▇▉▇▇█
Remove AssetPopup, we're just overcomplicating things for no reason there
Directory context menu
Clean up asset list entries
Remove unused, hook up AssetLocations.OnFolderSelected
Fixed drawbridge animations
Added another drawbridge to the lower level
Buildfix: isolating perf test scripts into it's own assembly
- For the time being stores existing perf tests - will reorganize when the structure is more clear in the future.
Tests: Unity booted without errors, confirmed perf tests presence in Test Runner
Editor: add ability to define launch arguments for new game instances, resolves Facepunch/sbox-issues#6095
Merge: from main
Tests: none
Added front door and drawbridge to the siege tower
Resolve Facepunch/sbox-issues#5844 - Input.ReleaseAction/Actions should work across contexts
Implemented a proper death state
Added Ruby Chunks
Moved death state from Player class to Entity, added Death FX
Planters now use the same outside check as water catchers.
Reworked planter rainfall logic.
Added planterbox.outsidetestdistance server convar to control distance check.
Highlight player if obscured
RMR toggles gasblock, fixed some logic to make this work
Update Facepunch.ActionGraphs
Moved all new rock placements into prefabs to make future merge conflicts easier to re-apply
Update: enable sound pooling by default
If something goes derp, can be disabled via audio.enablesoundpooling 0
Tests: was explicitly enabled over last 3 days while running all recent changes
Stopped icesheets from spawning around lakes
Fix side effects from serializing exposed properties
Merge: from main
Tests: ran around on craggy with logs
Added Burnt Trees
Enemies now deal contact damage, swinging their held weapon if they have one
Added convars:
'radiation.water_loot_damage'
'radiation.water_inventory_damage'
'radiation.materialToRadsRatio'
Bugfix: don't leak looping sounds when quick-switching
It's possible that equipped items with sound effects (setup via sound player) can enable-then-disable across 2 frames, before SoundManager picks up the pending play request. If it's a looping sound(like torches burn loop) it would stay alive forever. Now we cleanup the pending requests on disable of sound player.
Tests: mousewheel quickswitched between rock and a torch and observed numbers in audio.printsounds - the burn loop is no longer accumulating.
Add FPS mode, so you can see what the weapon looks like from first-person
Reset jiggle state when we swap from first-person to third, add toggle button to gunsmith, adjust angles
Smoothed vendor entry and exit to spline
Added Sandstone and Sandstone Ores
Added Ice and Ice Rocks
Updated Rock Item Drop to differentiate it from the Tile
Bradley much less likely to enter a spline when turning or facing a target from behind
Update: SoundManager pools internal lists
The pooling effect is minimal, but it achieves 2 small improvements:
- we don't hold lists in memory for sounds that don't reapper for a while - those can be reused in other parts of the code
- audio.printsounds no longer reports 0 active sounds per definintion
Tests: On craggy quickswitched between equipped items. Saw the various sounds appear and disapper in the logs.
Disable arms now that gunsmith weapons just use the pure view model prefab
Health + Damage effect
Cube reset buttons
Update: microphone drops any sounds it has accumulated on destroy
Tests: tested by playing the flute when exploding the microphone stand connected to a speaker
Update: MiningQuarry drops sound assets when destoyed (though it's invulnerable)
Tests: none, trivial change (same type of changes as previous)