248,547 Commits over 3,928 Days - 2.64cph!
Allow slider paint override on FloatControlWidget with function override or action
Use FloatControlWidget for color picker HSV sliders
Leaderboard backup, run #
16253
Fix indirect IBL fog not working
https://files.facepunch.com/sampavlovic/1b1911b1/jVWTMafLaa.png
Do view vector TAA jitter for fog on native instead off shader, proper way to handle this specially on thin surfaces
https://files.facepunch.com/sampavlovic/1b1911b1/B2DSaqPTHe.jpg
Be able to fetch all light information with Light::Count() and Light::From(), while doing all optimization from tiled lighting etc
Move light.hlsl to common/classes/Light.hlsl, start unfucking it, make it have same structure as everything else
DynamicLight refactor
Refactor StaticLight class, can do Light::From() to get all lights (static/dynamic) at once
https://i.imgur.com/jqko5ON.mp4
Fuck of with light.environment, light.dynamic and light.static are just in Light.hlsl instead of own internal files
Move shadow functions to Shadow.hlsl, much like BRDF.hlsl, will make it easy for us to upgrade, move LightMap definitions to Light.hlsl
Vr_lighting never directly referenced from any of our hlsls now, tonemaps in lighting.fxc never used and even if used shouldn't be there
Untangle this stuff
Use ProbeLight::UsesProbes() and LightmappedLight::UsesLightmaps() to see if drawcall is using these instead of insane combo ifdefs directly, makes it easy to remove a combo too
Fixed water pistol not sitting in hand properly while a shield is equipped
Fixed exception when equipping a shield while a shield compatible weapon is already held
Updating and hooking up more player seeds
▉▍█▊ ▋▇▆▅▍▆▋▋ + ▉▍▆ ▄█▌▊▇▊▍▋ ▌▋▌ ▉▍▍▌ ▊ ▍▇█▅▆
- Support seperated arrow meshes from bone
- Modify on/off state depending on shots remaining
Remove lightmapping combos from sbox_pixel (should fuck that file off entirely), move to shadingmodel.hlsl, keep D_BAKED_LIGHTING_FROM_LIGHTMAP for vertex.hlsl, SupportsLightmapping attribute seems unused
▍▄▇ ▍█▋▍ ▊▊ ▅▉███ ▅▅▆▍▉▅.▆▅▆▌█▌▄▅▄█▉ ▆▅▇ ▅▅▍ ▋▅███ ▄▍▋▆ ▆▅▌▅▇▉▉▉▆▌▋▉ █▉▋▌▊ ▅▉▇▆▅.▆▄▆▉▌▄▋▋▄
Fix TilesetResource.Tile deserialization error
More Documentation, removed unused code, fixed Tile.Copy(), and added internal setter to Tile.Tileset
Added JsonConverters for AutotileBrush so it serializes as refereces by default but serializes the entire brush within the associated resource.
Added documentation to properties/functions that were missing them
Make TilesetResource.InternalUpdateTiles() internal
viewmodel camera clipping fixes - eoka left arm position posed out of shot to fix clipping, also reduced rotation sway
Buildfix: define symbol on Mac Server
Tests: compiled editor, then compiled linux DGS
more viewmodel camera clipping fixes - rotation sway reduced
Asset browser: Combine file and asset context menus, make non-asset context menus not useless
Show code editor title for 'Open in X' code file context menu
Rename/duplicate uses full file names (including extensions) for non-assets because that's handy
Fix typo
Revert "Lightmapping combos go on shadingmodel, Lightmapping definiton should be in shadingmodel.hlsl not Material.hlsl, material should be only a contract to shadingmodels"
Fucked, need to get rid of this stupid SupportsLightmapping attribute and just do it directly
Moved Google Sheets menu items in Tools
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