108,630 Commits over 3,867 Days - 1.17cph!
Improved sidecar bike still pulling slightly to the left. Also moved centre of mass on motorbikes towards the rear a little.
Merge from spectator_team_fix
Another attempt at fixing the spectator display showing incorrect team member names while spectating
Also made a small performance improvement
Merge EditorExtras -> main
- ▉▊▊▄▊▋ █▉▌▅ ▉▇▄▍, ▇▆▊▉▋▅▆ ▅▆▇▅▍█ ▇▊▉▇▉█▆▌▉ ▆▇ ▉▄▆▌▊▇▆
- ▋▇▄▉▌█ ▍█▊ ▄██▇▌▊▇▅ ▍▆▌▄ '--▍▋▅▋▄▇-▄▋▌█▉▌▄█▉' -> '-▇▋▌▅▇▄-▌▆█▅▌█▌▋▅' ▍▇ ▉▆ ▌▊▍▋ ▋▅-▍▋▋▊ ▌▊▆█ ▄▍█▅▄ █▍▅█▊▊▅ ▌▅▍▋▉▅▆▌▊
Store the last code entered into a code lock in player prefs so it gets saved between servers and between client restarts
Merge from travelling_vendor/dynamic_pricing
Summary: vending price changes now take place in real time and will occur every 5 hours by default (was tied to in-game time and was happening 4 times an hour)
Dir tweaks, asset reconfig
Moved the Loadouts section to the bottom since there are so many loadouts now
Fixed the 'LOADOUT' section making the editor window want to be very wide
Decouple dynamic pricing entirely from in-game time, now operates off real time
Renamed IntervalHours to PriceUpdateFrequency, defaults to 5 hours (this will also ensure the new defaults roll out next month)
Add npcvendingmachine.addHours for testing now that env.addtime will no longer affect npc vending prices
A couple of minor adjustments to the editor
Added a section in the editor that allows enabling a CLIENT+SERVER physics testing mode
Added NPCVendingMachine.UseRealTime toggle, will use the system clock instead of the in-game clock when adjusting prices
Recommend adjusting IntervalHours down dramatically when using this option so that prices don't take 5 real time days to adjust (setting this to 5 would match the current behaviour)
If changed at runtime resetDynamicPricing should be called afterwards to resync the pricing to the new clock
This would also have a side effect of making prices adjust while the server is offline - prices will be processed to make up for the missing time when a server is booted up again
Fixed bad spacing in the Game section
Added prevent building volumes to the junkyard car shredder
▊▊▋█ ▍▌▌▄▋▌▄▄ / ▇▅█▊▉▄▇▉▄▍
▊▉▍▉▅▇▄▄▆█▄▍ ▉▄▊▅▌▉▆ ▄▉▄ ▊▍▅█▇▇ ▌▊▉▄▍▋▉▊▌
coastal rocks decor modifier size tweak
File name cleanup
Jutting cliff prototype
Large coastal rock prototype
Updated spawn settings for variety of cliff generators
Improved the wire deployment checks to reject any placement in prevent-building volumes, except for monument root volumes
Moved harbor containers prevent building volume to client/server
Ensure static office lift and player lift have same whitelist
More debugging
Added motorbike, side car, bicycle, drone and snowmobile to white list of parented vehicles
Prototyope smooth path following for the wolf, hook hit anim
Merge from qol_print_memory_improvements -> main
Add `MaxItemsInUse` to pool
- lets you know the maximum amount of items taken from the pool at once
Add `reset_max_pool_counter` command to reset the maximum item counter per pool
- allows you to reset the pool count incase it gets set to a really high value during 24hr window
Created whitelist system to allow only certain vehicles to be accepted in an elevator
Allow vehicles to be parented to static elevators. Primarily affecting bikes, snowmobiles etc
exported wolf run hit 3 rm animation
Fixed ruin wall caps to reduce overhand and improve blending
added some more convar helper functions for ragdoll testing
Update: Making Pool.Free capable of "deep freeing"
Motivation: Since we're getting rid of custom "FreeList" calls, then we should also remove FreeListAndItems, the last custom func in the "Free" set.
- Collections-related Free overload now can deep-free - calling Free on all elements of a collection.
- Marked FreeListAndItems as obsolete (with error) and piped it over to Free overload
- Updated 4 callsites of FreeListAndItems to use Free(T, true) instead
Tests: built all targets.
Bike Cargoship Parent -> Main
Option to stop unity play mode on completion.
Option to automatically open the render output root folder in explorer/finder when batch rendering has finished.
User definable output fulder name.
Added a context menu to open render folder.
Update: Further constraining Pool - Step 3
Now that all usecases of Pool's API have been redirected to new methods, I can further constrain and annotate the API.
- Further constrained all container-like Free overloads to only accept ref-types with default ctor and IPooled interface
- Marked FreeList<T> as obsolete (with errors) and piped it into FreeUnmanaged overload (this is dangerous/leaky, but I've updated all existing calls to Free/FreeList)
- Marked ClearList as obsolete (with errors) - also inlined it's logic at the only callsite in the project
- Removed Clear call from GetList, since now we always clear lists via overloads
- Removed checks from main Free overload
Tests: built all targets. No runtime tests. Ran around on CraggyIsland in 2 player multiplayer, did minor spawning of items, constructions, shooting, player damage.
cleaned up some ragdoll-specific code in the player we get for free with it being a mountable
Automated lighting config can now be enabled/disabled at batch and individual item levels.
Put text area for URL pasting at the top of the inspector area.
Update: Replacing all cases of Pool.FreeList - non-controversial cases
This modifies the remaining(after previous 2 unsafe submissions) set of cases where we had FreeList(292 files) - they all either fall into FreeUnmanaged(don't implement IPooled) or Free(implements IPooled). The replacement has been done by constraining FreeList<T> with T : IPooled first, this revealed ~560 build errors which got fixed with FreeUnmanaged. Then all the remaining FreeLists that weren't producing an error should've been replaced with Free calls.
Tests: built all targets in Unity. Ran around on CraggyIsland in 2 player multiplayer (built a tiny house), checked bullet decals spawning/despawning properly.
Added Different Food Cache Variants
Basic Prefab Setup for the other Food Cache Variants
Added Materials, Textures, Colliders, FBX's For Food Cache Variants
Setup Food Cache Variants LODS and Colliders
Automate lighting group toggling for each item in the batch render process.
Scripts for configuring and enabling/disabling per-item lighting rigs.