248,620 Commits over 3,928 Days - 2.64cph!
Spline collider now supports all collision shapes
Added custom subdivision logic for each shape.
How much subdivision/collision geometry is created can be controlled by the user via property.
Performance still sucks, but optimization should be easy going forward.
Individual bone/shape transforms are currently not working.
https://files.facepunch.com/lolleko/2024/December/19_18-49-AnotherDrongo.png
https://files.facepunch.com/lolleko/2024/December/19_18-48-SecretNuthatch.mp4
Clearing the Tileset in a ResourceTileControlWidget/AutotileBrushControlWidget sets the value to null
Created ReferencedResourceWidget which the two controls now derive from
TileResource.Tile now implements IJsonConvert, only serializing info necessary to complete the reference.
Fix TileAtlas error
Fix NREs in AutotileTileControl
Fix another TileAtlas oversight
Refactored TilesetResource.Tile. TilesetResource has it's own JsonConverter to ensure data is serialized in it's entirety in the resource but not elsewhere (references)
Fix TilesetResource.AddTile and TilesetResource.RemoveTile
Make TilesetResource.TileMap internal and add TilesetResource.GetTileFromId
server.printwipeid command to print the wipe id of the .sav
Safer interop, threaded string handling
Added mossy wooden beams for jungle ruins - wip
Merge: from profiler_improvements
- Adds linux support (tested on Ubuntu
22404 via WSL)
- Optimizations for JSON export
- Added debug utility to export binary snapshot - run `perfsnapshot <delay> <name> <frames> <shouldBinExport>`
- Added Tools/Profiler Bin Viewer, an editor only tool to inspect binary snapshots
- Reduced default frames captured to 4 from 10
- Profiler now skips annotating UnityEngine.CoreModule methods (reduces capture overhead)
- Works around Perfetto visualization issue with Complete events (https://github.com/google/perfetto/issues/970)
Tests:
- Exported a number of editor snapshots with binary snapshots to test bin viewer
- Using WSL, tested exporting a snapshot on Ubuntu - 3k procgen world
Merge: from main
Tests: editor compiles
Rewrite AmbientLight into a class, stub
Handle AmbientLightKind::LightMapProbeVolume and AmbientLightKind::EnvMap
Move BRDF stuff to BRDF.hlsl, organizes it and makes it easier to move to CS2's one with multiscatter
Adjustments for AmbientLight, disable subsurface scattering for this class for now
ToolsVis ambient occlusion doesn't take AmbientLight
Lightmapping combos go on shadingmodel, Lightmapping definiton should be in shadingmodel.hlsl not Material.hlsl, material should be only a contract to shadingmodels
Female models use V4 rig
Female body prefabs converted to prefab variants of the fbx
Added female skin set back into the skin collection
Clean this code up - help diagnose the string crash
Bugfix: Workaround Perfetto's "Complete" event hierarchy bug
- Reported issue on their repo: https://github.com/google/perfetto/issues/970
Tests: exported snapshot from a linux server (running on WSL Ubuntu), 3k procgen world. Exported from editor as well.
Update terrain scene, adjust things, envmapprobe had inverse scale (wtf), use ibl, should be a good starting point to have a terrain with nice lighting setup
https://files.facepunch.com/sampavlovic/1b1911b1/NLZEcHl7Uh.jpg
viewmodel camera clipping fixes - rotation sway reduced for problematic melee weapons
Create AssetPicker in control widgets with no parent - control widgets could be on a popup and we don't want the asset picker window to be deleted from under us
Merge from main, codegen.
Increased ballista deploy volume size
Update: Binary export no longer pre-processes the stream
- Saves time on the export
- Also added if-deffed out extra checks, disabled by default
My previous checks were wrong and produced false positives. Also, think I got an idea what jumbles the json vizualization - will fix in next CL.
Tests: used the extra-debug version to export linux snapshot - it succeded
Stop battering ram door busy tick after 3s of inactivity
Update: ProfileBinViewer - report found exceptions in thread stream
Still looking for why things are wrong with linux snapshot
Tests: opened a borked linux snapshot
GameObjectNode does TreeNode.HasChildren, resolves Facepunch/sbox-issues#7167
Add namespace_name to antlr grammar so that we can do "type Class::Function()" definition instead of defining all in class itself, we should just let it accept any HLSL
SendRateMin/SendRateMax tweaks
Tweak default encryption settings
Tweak delta snapshot send mode
This should have same treatment as SteamLobbySocket to be thread safe
Updated knights armour set LODs and icons
Updated Game Manifest
Updated Skin List
Updated Single Medieval Metal Door Item Prefab
Setup the Icon for Single Medieval Metal Door
Mossy variations of wood trims and logwood for jungle floors
Fix default menutip icon to the correct info icon.
Buildfix: Disable ProfileBinViewer if we're not in Server mode
Tests: switched to Client in editor
Update: ProfileBinViewer now shows thread summary
Tests: opened a snapshot from editor
Fix Shaders-Build.bat actually rebuilding all
updated xmas advanced lights bulbPrefab to point to renamed testbulb prefab (wasn't updated with a guid change from renaming)
more weapon camera clipping fixes
Have scientist briefly strafe and use suppressing fire before turning and sprinting to a distant cover
Have them crouch and sneak instead if the cover they want to go to is very close
Start using EditorUtility.CompileShader
Error instead of warning, docs
Fix loop
Merge from ai_wolf_iteration (significant optimization)
Fixed battering ram parenting trigger warnings
main -> 4ShotMiniCrossbow
Setup Entity Prefab and Item Prefab for Single Medieval Metal Door
Imported Single Medieval Metal Door GIBS
Updated Game Manifest
Texture updates
Adding another female head seed
Make scientists look towards where they "think" the player is, not where the player actually is
Make scientist not be able to shoot when they are sprinting