250,112 Commits over 3,959 Days - 2.63cph!
Fix codegen for constants like float.PositiveInfinity
When loading ShaderGraphs and a connected property cannot be found, check for [Alias] attributes. This will resolve issues where loading old ShaderGraphs would look for old variable names. Facepunch/sbox-issues#5822
Added [Alias] to Combine node since its output was renamed at some point
MeshTool selection ops are now undoable
Add weapon icon to kill feed entries
Ignore .sbox/
Use human hands for gizmos
sbproj update
placeholder icons for gluon and hornet
Make scopes less of a big deal FOV wise on the mini crossbow
Reflect hornet on collision
4ShotMiniCrossbow -> primitive
primitive -> 4ShotMiniCrossbow
VR: More stuttering-related fixes, don't alloc joint data every frame
VR: Improved main menu scene
VR: Only create debug callback if `-vrdebug` is specified as a launch parameter
Add `simulate_loot` command to test what loot will come out of a loot container
- picks the closest loot container
- default runs 100 times, can increase to 10k times
Add Undo Scopes for Selection and Gameobjects
Test dynamic properties get cleaned up when object is destroyed
Do the same when setting var
Fix dynamic properties referencing game objects / components
Merge from presets_ediitor/quality
Fix shadow cascades tooltip
Additional cmd line fix and extra test
Tweak dynamic properties serialization
Failing GameObject dynamic property serialization test
Updated lunar new year mask textures
Updated lunar new year mask material
Added albedo and metallic textures
Fixed horses stuck in sliding state
Increased max slope angle
Make IGameObjectDestroy internal for now
Add IGameObjectSerialize scene events (internal)
Dynamic property serialization
▌▉▍▄▍▉▅▆▅▌▍▅▅_▍▆▍_▇▊▊▊▍.▍▆▇ ▍▊▌▆▌▊ ▍▄ ▌▇█▉▌▅
Second pass/redo of broken wood trims and atlas. Redone all wood parts of floor kit. Other feedback and fixes. Still WIP
Update: DemoServer - Isolated all client demo logic into it's own player
This is prep for full server demo support.
Tests: played back a short craggy demo - it went through the entire thing without issues. Tried without demo - it started as expected
Removed Vehicle Detailed colliders from the horses, use AI layer instead
LegsAnimator detects Vehicle Detailed colliders
Improve CommandLine parser. Added CommandLineTest.
Add IGameObjectDestroy scene event
Started on #1773
Dynamic properties API tweaks
Dynamic properties tests
Basic get / set node
Some dynamic property documentation
Dynamic property cloning tests
exported tiger animations and rig
Fix failing to start game if VRSystem returns nullptr for extensions
TimedExplosive -> Explosive (updated prefab refs too)
Buildfix: removing unused variable
Tests: editor compile
Wip HornetGun
40mm ammo prefab
Merge: from profiling_improvements
Further exclude small methods/utility classes that are fast 95% of the time.
Tests: Took a snapshot on a defualt ProcGen map in Editor(Client+Server). ~13% uncompressed json reduction.
Update: more profiling exclusions
- Don't track NetRead and NetWrite
- Dont' track Facepunch.System's containers (including pooling), StringPool and ArrayPool
- Don't track EntityRef
- Don't track all Enumerators (previously only Facepunch's was excluded)
- Don't track all GetHashCode
- Don't track TimeWarning (debug-only calls, but can be frequent)
Tests: Took a snapshot of default procgen map in Editor(Client+Server), confirmed about 13% reduction in uncompressed json size.
Tweaked horse player collider height
Merge: from main
Tests: none
Update: DemoServer - ripping out fixed timestep logic
After experimenting with slowing down playback to bellow play speed, it did reduce the number of violations, but timing inconsistency between demo playback and server simulation leads to more issues.
Tests: none, simple change
Hook up ammo resource to grenade pickup
Fix TripmineWeapon NRE (player invalid), add assert if the placed tripmine prefab is not valid
Prevent scientist from going back to patrolling like nothing happened when they know a threat is nearby
Remove manual call to hurt in scientist as it's now a method of entityComponent
When hit, automatically update the offender's position