111,295 Commits over 3,928 Days - 1.18cph!
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.
Switched from showing `KK` -> `M` for millions and `B` for billions
Adding `--raw` to `print_memory` will print out the raw number counts instead of rounding them to thousands, millions or billions
Update: Migration to "unsafe" FreeUnmanaged - Interface Code
This CL contains all cases where we call FreeUnmanaged with T : interface - this is dangerous because we don't know whether T is IPooled or not. If/when in the future we make FreeUnmanaged to skip invoking OnPoolEnter, this will lead to leaks/bugs.
Tests: Built all targets.
Moved the oil rig prevent building volumes under the gameobject holding the MonumentInfo, so GetMonument does not return null and deploy volumes ignoring monument can work properly
This fixes tin can alarms not deployable on oil rigs
Also fixed the BBQ sitting in the water following the recent missing prefab fix
S2P
Update: Migration to "unsafe" usage of FreeUnmanaged - Generic Code
These cases are part of generic code that either provides containers/algos for other parts of logic or part of currently-dead code. They're unsafe because if they start getting used with T : IPooled, then in the future if/when we change Unmanaged to not check IPooled it might leak/bug out.
Tests: Built all targets.
Merge from gameplay_analytics_convar -> main
Tweaked and relaxed the not-inside checks to fix invalid placements on slopes
Not deployable on harbor swing bridge and containers
- Changed the swing bridge layer from 'World' to 'Vehicle Large'
- Added a prevent building volume to the containers
Update: New CodeGenerator for Pool.FreeUnmanaged<MemoryStream> change
* CodeGenerator built with a3cd77f3 from FreeList-Depr branch
* This replaces all uses of Pool.FreeMemoryStream in Rust.Data/generated/ProtocolBuffers.Serializer.cs
Tests: built all targets in editor.
Removed some spam now I've tracked down issues.
Found and fixed cause of repeat skin changes not working.
Added Frontier Hatchet Cinematic Materials and Textures
Removed double dismountPositions loop in gizmo method
exported wolf run hit 2 anim
Wire not deployable on elevators
merge from ragdoll_as_mountable
reworked ragdolling as a mountable
Fixed vehicles still colliding with the wire end collider
merge from motorbike_headlights
merge from patrolheli_fixes
merge from shipping_container_spraycan_fix
merge from homing_spectate_fix
merge from trainyard_wall_lod_fix
Added Boomerang low poly. Material and WIP Textures
tin can alarm cinematic material/textures
Added Croc to hunting trophy, modified corpe prefab, changed Item definition in croc prefab.
enabled ppd on brick piles
Fixed a wall with incorrect LOD values in trainyard culling too early
Fixed homing missile launcher UI staying on screen if player is being spectated and the spectator changes target/goes into free cam