243,444 Commits over 3,898 Days - 2.60cph!
Update SpriteTools
Update all Tile Dictionaries to use Vectors as the key instead of parsing to/from strings now that we actually can.
Updated SpriteTools
Add Dig Tiles to Tileset, add Digging functionality to WorldManager.
Created PreviewItem so items have Generated Thumbnails
Created Shovel Holdable which digs up earth, regenerating after a random time.
Dig Tiles now properly save to the world. Optimized world saves in the process
Fixed mesh import settings on a bunch of divesite meshes
Fixed seaweed decal not rendering (incorrect decal layer)
Human/citizen: more "prefabization" & poor man's RBF backport to Citizen
Added TilesetComponent.GetLayerFromName and TilesetComponent.GetLayerFromIndex
Add new panels that can be parented by community UI
- all panels are scaled by uiscale
Names
- Inventory
- Crafting
- Contacts
- Clans
- TechTree
- Map
Added proper documentation to TilesetComponent, made a few things internal and changed some terminology. JsonUpgraders to ensure everyones stuff still works
Updated example files
TreeView nodes do not call OnItemActivate when double clicking the expand/collapse button
Fixes Facepunch/sbox-issues#6487
Allowed foliage to spawn on cliff topology to fix blank gaps in between cliffs
Custom height map colliders for all cliffs (this should fix floating foliage issue)
Underwater light extinction fix test
merge from world_update_2
radtown music missing files
junkpile_water and oceanwreckbuoys seaweed dressing
Add ReadAsPropertyName/WriteAsPropertyName to all Vector2/3/4/Int JsonConverters. This means Vectors will be serialized properly when used as Keys in a Dictionary.
Give titles to windows build scripts, so I know what's running
Merged ghostanim.mdl and blackout.mdl
Instead of doing a hack for Episode 1, just merge all these models from all the half-life 2 games, and including portal 1
Episodic Poison Zombie model with fixed animation events
Advisor episodic model hack
The models are too different to be merged, so we swap the ep2 one in, on spawn
Try / catch around new node types in FindAllReflectionNodeTypes
Update existing refs in GameResources when updating package
Normal GameResource processor uses versioned idents too
Consistently sort reference lists alphabetically so diffs aren't so mental to read
Only update references inside project assets folder
Avoid walking into a LoadResource exception, we don't really care that much
Differentiate between persistent and preview contexts when fetching cloud assets, only update references for persistent installs
Show remote/latest version info, incl version id, in PackagePopup
▇▊▅▅▄ ▍▋█▉ ▍▋▋▋▋█▆▉▋▄▋_▊▆▊▅▋_▋▊▋ (▌▋▆▊▊ ▅▄█▄█ ▌▉█▊▅▌▊▆▋▌▅)
Optim: Send trees in batches over multiple frames to avoid spike on player connection
This is experimental, but it seems stable initially. On 4.5k procgen world from a save it took 90ms(very rough numbers, including client-side spawning overhead) in total to send all trees, but each frame 1 player took on average 0.2ms to gather & send data. Also need to fix a bunch of bugs
Tests: Ran craggy in local editor session - no exceptions.
GameObject.Deserialize removes existing components not included in serialization when in editor
Disable components when breaking apart a disabled prop. Don't recreate prop components when changing tint etc, only model change needs to
Fix action graph node list not showing new members after hotload
Allow creating instances of simple user types in action graph
```csharp
public record ExampleRecord( int Foo, string Bar );
```
https://files.facepunch.com/ziks/2024-09-25/sbox-dev_PyZRMaMzAu.png
sbox.game browser -> cloud browser
Fix chips height based on whether there are / aren't any
Cloud list view
https://files.facepunch.com/alexguthrie/1b2511b1/sbox-dev_PP05UtzRQT.png
TextRenderer exposes BlendMode
Fixed ScreenPanel not keeping screen dpi in bind when scaling down
It's fine to call NetworkSpawn multiple times, just ignore it
Wrap GameObjectSystem's init in a Scene.Push
waterflow changes
- corrected ordering of writing water flow from shorevectors and river tangents
- moved generation of WaterFlowMap into PostProcessing and put it all in one place
Don't allow wall slide on same wall
Cloud chips
Fixes
Accumulate tags
https://files.facepunch.com/alexguthrie/1b2511b1/sbox-dev_a9UaWWMIeH.mp4
Remove cloud from asset locations
radioactive_water -> world_update_2
Interpolate pan, move center on hero logic to camera
Water purifier no longer purifies radioactive water
Adjusted hill cliffs anchors to fix a gap
Pushed all hill cliffs slightly deeper to prevent similar issues
Ensure throwing out water forces a rad count on the vessel
▄▍▍ ▊▌▍▉▇▉ ▄▍▆▋█ ▆▆▌▌ ▊▉▉▆▍ ▉▅█▍▋█ ▌▇█▅▋ █▋▌▉▅█ ▅▆▍▄▅▅▆ (▉▉▆▆▉ █▆▌▋ ▍▇▉ ▇▄▋▍▋▋█▄▍▍█ █ ▇▋▆ ▇▇▇▍▇▄ ▅▇▆▅ ▉▋▄▍▍? ▋▌█▄▋ ██ ▇▆▆▊ ▅▇ ▊▅▌▍)
Fix new instance node title
Fixed corrupted Cliff_tall_d_diff texture
Fix relaxed resolved method comparison
Add NewInstance node
Use EditorTypeLibrary for Hammer PrimitiveBuilders (bonus: you can define these in your own editor libraries too)
Fixes Facepunch/sbox-issues#6499
Apply Panel:SetHTML/RunJavascript restrictions from main branch
Merge from world_update_2
Add basic edge panning to the camera. Need to add a way to detect if mouse is outside of the game view when in editor