135,307 Commits over 4,293 Days - 1.31cph!
Convert AccessoryManager into a singleton scriptable object
Add a new AccessoryItem class, derives from SteamInventoryItem, basically a skin that points to a charm prefab
Convert spawning processes into GameManager so we can use pooling
Store a selected charm per item in PlayerPrefs, similar to how we store the selected skin per item
Don't turn on all child objects of culling volumes, was only needed to work around an editor bug
Merge: from useplayertasks_removegroupocludee_nre
- Bugfix for NREs and errors when using -enable-new-server-occlusion-groups
- Unit tests to cover parts of old logic and entirety of new logic behavior. 20 tests totaling 255 permutations.
Tests: unit tests + 2p on craggy with noclip, teleportation, disconnect, killing sleepers and using OcclusionValidateGroups
Added progress bar, some layout changes
TestRunner can return its progress at anytime when running tests
Clean: Calrify in a comment what provisions does new logic can guarantee
Tests: none, trivial change
Merge: from main
Tests: none
Merge: from useplayertasks_removegroupocludee_nre
Tests: unit tests + bunch of manual tests
Bugfix: OcclusionValidateGroups - fix a false positive by inverting a subscription check
Was testing subscriptions from perspective of occlusion group participants, not the owner of the group (and the group tracks what the owner is subbed to)
Tests: teleported away then spammed OcclusionValidateGroups - no more "stale participants" messages for a short second
Fixed NRE when disconnecting from a server while in the deep sea
Bugfix: OcclusionGroup - handle case when player reconnects and reclaims his sleeper
- Added unit tests - Reconnect(4), KillSleeper(4), KillSleeperAndReconnect(8) and DieAndRespawn(4)
Tests: unit tests + 2p on Craggy with p2 reconnecting near p1. used OcclusionValidateGroups (need a minor fix)
Adjusted deep sea vertical bounds to match height of mainland bounds, fixes projectiles getting shot out of the bounds triggering a packet flood kick
stopgap water sky reflection until we have the water refl probe in RRP
merge from main to fix_manifest_errors
Stop NPC_Citizen lobbing healthkits and NPCs
Fix NPCs being unable to pickup constrained weapons
* Specifically the first spawnflag "Start constrained", which caused a potential progression stopper on ep1_c17_02a
Add Combine Shotgunner Playermodel texture with colorable eyes
Update Odessa playermodel
* Consistent phong usage on face material (consistent with citizens)
* Fixed mouth faceposing
Dynamite no longer uses timer.Simple, and clamps delay to 3600
Apply some checks for a potential crash issue
* Would crash with a message instead of silently
Limit Material() in menu state
Fixed Lua error counts in Problems panel being covered up by Copy btn
Fix killfeed showing neutral/fearful NPCs as friendly
* When killed by the player specifically
Update: adapt OcclusionValidateGroups to new logic
Tests: used it in various scenarios in 2p on Craggy. Spotted a bug for reconnecting players, need to add a unit test and fix
Update: OcclusionGroupTests - added LaggyTeleport test
Think I'm done, going to do a bit of manual testing and merge it back
Tests: unit tests
Update: restore lastPlayerVisibility support in new logic
- updated tests to validate corret removal of timestamp
Just have one last test to implement, and it's done
Tests: ran unit tests
- Fix parented players being at odd starting rotations
- Enable AI only parenting on:
PTBoatDriver
PTBoatPassenger
Small Boat Passenger
RHIB Driver
fix occasional single-pixel ocean line in canyons
current progress for skin blocks parts and material
Can run tests using the window when out of playmode, clicking run will start playmode and run the selected tests when possible
Ground work for the future dashboard implementation
Update: prep unit tests for lastPlayerVisibility validation
Tests: ran unit tests
Paintable Reactive Target - Updated IO ports positions, updated model and textures to support the new IO ports. Rigged model remains the same so it needs updating and setup
Reimplement parenting logic
main -> mountplayersync_ai_bypass
add "Affect Occlusion" toggle to detail blend layer, makes blend layer interact with base layer occlusion (lerps it white with the blend weight)
Fix edge case with playable graphs already being setup when spawning a player model, immediately set isPlayableSetup rather than next frame.
Update: OcclusionGroupTests now check if 2nd player in a test only references itself in the group
Tests: ran unit tests
Salvaged cleaver animation blend adjustments
Added gibs for stone component box
Clean: extract a bit of code to handle initialization
Tests: ran all unit tests
- Don't process which missions are available for a player if they have an active mission, or if they are talking to an NPC to complete a mission
- Request a missions update if the deep sea opens/closes whilst our map is open, not only when the deep sea opens
- Other minor fixes
Update: rewrite OcclusiongGroups logic to be simpler
- updated unit tests with new expectations
Each player now has their own occlusion group that they modify as they navigate network grid. OcclusionGroups are driven by network subscription logic. Got couple TODOs and couple unit tests to add, then done
Tests: ran unit tests, all passed
Revert TOD change for branch placement.
Shifted some curves around to make the new TOD cycle 80 minutes instead of 60.
Night time stays at approximately the same 10.
junkpile_ladder_clip_fix -> main
junkpile_ladder_clip_fix -> main