134,207 Commits over 4,262 Days - 1.31cph!
Optim: TraceRaysUnordered - run water traces in parallel to raycasts
Not the best impl, but shows improvement for smaller ray counts (where we're not dominated by Verify):
* TraceRaysUnordered - 128rays: 0.44ms -> 0.37ms, 1k+ rays same
* TraceRays - 128rays: 0.56ms -> 0.50ms, 1k+ rays same
Can apply the same to sphere casts as well.
Tests: unit tests
▇▇▌▉ ▉▉▉▄▄▌▊▋▆ ▌▊▉▇▌▌ ▉▋▌ ▉▄▊▆ ▌▍▋ ▌▊▌▋▊ ▋▄▇▇▆▇ ▆▆▄▋▅▋▇▆ ▄▌ ▆█▄▍▋▉ ▌▋▌▇▊
▆▅▄▊▋ ▄▋▄▉█▋▊ ▉▋▌▅ ▋█▋▍▆ ▌▌▊ ▆▊█▉▊▊▅▌ ▅▉▇▌▍▊▉▄▅ ▅▋▇▄▆ ▍▅▋▆▋▊▅ ▅ ▍█▇▇▇ ▅▊▆█▍▆
▍▉▄█▍ ▅▄▌▊ ▌▄▄▉▊▄▋▆▌▇▌ █▊▍▉▌ ▉▊▇██▍▋ ▌▄▄▊▍▋▋▅ ▋▋█▇ ▌▇▌▊▆█▇ █▄▄▋ ▆▉▉ ▉██▋█▆▍▇ ▆█ ▉ ▇▌▉▄▅▅▊▅ ▊▊▉▋ ▍ ▄▄, ▅█▊▋▆ ▌▅
█▅▆▋ ▍▇▆█▉ ▄▇▅▌▉ ▋▇▍▍▅▄:
- ▍▌▍'▋ ▉▊█▄ █ ▋█▆ ▋▆▇▇ ▌█ ▅▇▌ ▆▅█▇▌▅█ ▇▅ ▊▋▅▋▆
- ▉▅█'▅ ▆▍▅▍▌▊ ▅▇▊▆▇█▉▌ ▋▅▊ ▋▉ ▇▋▉▄▋ ▆▄▋▄▍▄▌ ▆▇ ▆▌ █▊▆▇▌▆█ ▉▆▍▊▅ ▍ ▇▉▉▌▊ ▅█▋
Fixed some pool leaks in DeepSeaManager, ItemModProjectileRagdoll and ScentEmission
Fixed delay when first opening a ramp after entering network range if that ramp was in it's closed state
Improved the island appearance on the map, just gradient from sand to grass based on terrain height
Better than greyscale, not quite as good as the mainland
Possible fix for all boat blocks showing splash fx in builds (should only show when their edge is unobstructed and in the water)
- Improved steering all around
- Removed the jiggle
- Increased far point distance
- Allowed 0 movement to be a valid case for the context direction
- Gas pedal forces 0 with a 0 movement direction
Scientist Boats: Add hysteresis to the gas pedal. Boats will only reverse provided the dot direction is high enough and the flip gate is open
food box - updated prefab, updated material
food box - added gibs, added transmission
Fixed GrowableGenetics and UpdateResourcePings pool leaks
Fixed boogie board LOD not marked as dynamic
Fixed every impact fx in the deep sea being sand
boatai_boxing_fix -> main
Implement IEquatable to bypass the ::Equals usage (when adding to a set)
quick_craft_improvements -> main
Dont downcast list type when passing as an argument
fix pooled list leak for physics tumbling entity
merge from loaded_ammo_type_indicators -> main
Merged Pull Requests
* Do not draw effect rings in Depth Pass
* Fixed regressive Lua error in g_SBoxObjects cleaning code
Change damage indicator materials
* For full screen damage effects, use a "vignette" type texture
* For other effects, use $linearwrite material to reduce banding
Disable "player is dead" red screen effect
* It was not applied consistently to all deaths, and it is kinda unwanted for Sandbox type game
Move drown damage effects from UTIL_ScreenFade to damage indicator
Adjust burn/drown damage indicator effects
More oranger burn effect, longer drown effect (same length as it was before any changes)
Move crush damage effect to HudAnimations too
Make DMG_ACID screen effect separate and different
* No longer duplicate of radiation effect, green-ish tint
Rework DMG_PLASMA effects/sound
* DMG_PLASMA no longer makes the screen just half black (now has cyan effect), and changed the associated sound from infinite loud thing to the burn damage effect
STUDIO_ flags for Pre/PostDrawPlayerHands
Try deleting "scripts/game.txt"
* it only contains `"$game" "GARRYSMOD"` and doesn't seem to be used by the game
Changed gun firing sounds from 140dB to 105dB
* This is consistent with Crowbar and some other weapon sounds, and is less loud at large distances.
* This affects NPC firing sounds as well
* Changed toolgun to use its own soundscript - `Toolgun.Single`. No sound change, only volume change.
Make Annabelle in player's hands produce correct shooting sound
Fixed pool leak in ContainerCorpse::IsValidPointForEntity
Fixed menu slider being set to an integer value (now float)
Optim: TriggerParent.TickMode 1 - use cached water and ladder results in UsePlayerUpdateJobs 2 env
- codegen
This should allow us to skip ~30% of the overall runtime. Can be disabled via TriggerParent.UsePlayerV2Shortcuts 0 (defaults to 1)
Tests: none, will check tomorrow once brain is fresh
Menu scene changes (missed file)
New change: prevent the quick craft menu from updating if you are pressing buttons, it's subtle but this stops a spam click making the button dissapear before you are ready - makes it a bit easier to see what's going on
- Fixed the favouriting button not working (include it in the hash calculations)
- Adjusted menu setting
Optim: TriggerParent.TickMode 1 - avoid unnecessary entity lookups in RunClippingChecks
Microoptim, but why not
Tests: none, trivial change
Optim: TriggerParent.TickMode 1 - skip RunClippingChecks for entities that failed RunCheckForObjUnderFeet
Tests: none, trivial change
Ruins B crate spawn fixes.
Clean: remove a couple TODOs
Was worried about a bug, but deeper scrutiny think the code is correct
Tests: none, trivial change
Fixed some ore floaters on 2 and 3.
missed a file, apply position to IconWithCount
re-enable mipmaps, fix opacity, polish placement
Clean: refactor TriggerParent.ShouldParentEntitiesJobs
- Added profiling scopes
No functional changes. This makes data flow easier to track and manage, and helps visualizing stages in perf snapshots.
Tests: built a long-boat in tickmode 1, spawend 6 players on it, went to edit mode and back, jumped on-and-off as it was moving
Fixed a couple of overlapping spawns on 4.
S2P
Flame turrets do not send their aim dir to all clients every 0.1s anymore, otations are predicted on the client
The cpu savings are minimal, but that saves us some useless RPCs sent to all players in network range every 0.1s
Bugfix: Add missing Native collection disposal in GamePhysics
Audited all of GamePhysics, looks to be the only cases that slipped in
Tests: unit tests + built a boat with tickmode 1
Optim: use persistent buffers for TriggerParent::RunCustomJobsQueue
- codegen
Tests: with tickmode 1 - built a boat, jumped on-off