20,844 Commits over 1,522 Days - 0.57cph!
Delete Input.AnalogInputs/GetAnalog (might re-add later)
Simple device instance memory (disconnect and reconnecting the same controller should point to the same device), all events pass controller ID
Same bounds fix for DirtyControlMapRegion
Fix ByteStream.Write negative offset
Expose MixBuffer's raw pointer in safer way
Fix NRE on object desyroy (sorry!)
Forward controller axis events to managed
Forward controller button events to managed
Add prefabs for cubemap fog, envmap probe, gradient fog, volumetric fog
Hide terrain component, don't create this manually
ActionGraph window is a dialog, stays on top of editor window
Fix GetAttributes sometimes returning null
Don't write null values in components
Add OnComponent actions
https://files.facepunch.com/garry/65558502-1f39-48b8-81eb-e54a43e025a9.png
Add Collider.OnTriggerEnter, OnTriggerExit
Make block primitive hollow option work
Clamp instead of throw in DirtyHeightmapRegion so we can paint on terrain boundary
Collide against heightfield grid instead of trying to triangulate it exactly, slightly less accurate but faster
Rip out SteamInput and our Controller API
Init SDL_GAMECONTROLLER, add standard mappings file (will move this later), find all of our game controllers on startup, hook up events for handling controller lifetime, button events and analog inputs
Turn off steam overlay in the editor again
Draw open edges with half thickness
ControlSheet/Inspector tweaks that no-one asked for
Render open edges with smaller thickness until I render hash marks for them
Add PolygonMesh.IsEdgeOpen
GetEdgeVertices has two out vertices, instead of returning array
Lock simulator commit when removing a source
Skip adding undos on Game scenes
Don't try to remove steam audio static mesh if it's null
Fix #nullable context warnings
Facepunch/sbox-issues#5116
Lock reflection simulator when committing
Create grid debug shape for heightfield, faster but could be faster
Don't build steam audio static mesh for heightfields, too slow currently (do we care?)
Update terrain collider when terrain is dirty
Refactor ActionGraphDebugger
First pass at listening for ActionGraph scene refs
WIP show scene refs in scene view
https://files.facepunch.com/ziks/2024-03-08/sbox-dev_HZ7Fs0R2x1.mp4
CollisionActionComponent, TriggerActionComponent implement IActionComponent
Fix asset references trying to resolve before those references were added to the assetsystem, which would cause failed uploads
No amount of reverting was fixing this, so I think this has existed for
a long time...
Fixes
sbox-issues/issues/4914
sbox-issues/issues/5013
slicked_back_balding lods
Leotard Model + Hair Adjustments
Fixed game dll not being able to access clothing icons
Process deletes in a couple more opportune places
When a bone merged model is added, merge it immediately to avoid 1 frame bind poses when components are added after animations are calculated
Update avatar scene
MeshEditor: More robust u and v axis face calculation, only set texture axis if the face can calculate a valid normal
Add unrecognised reference paths to asset inspector
Remove legacy path from CMapAssetType::CalculateDependencies
Move light culling renderer to scenesystem and remove GetPtrValue hacks from it, we'll call it from lightbinner to pass results from light culling, layers still exist on renderingpipeline for ordering
Initial proof of concept for scoping gamepad inputs
- Push input scope if a GameObject has an InputScope component, which pushes the active input context
- Don't use Controller.First anywhere other than UI
- Poll every gamepad input and store an InputContext per controller, instead of just the first one
Todo:
- Fallback to first controller if we don't define any input scopes at all
- Let the keyboard and mouse easily be the "non-scoped" input, so we can have two player games with just one gamepad
Tweak painting to pixmaps to avoid invalid pen crash
Delete block tool scene object if creation gets cancelled
Support heightfield in CPhysicsShape::GetTriangulation
Unmangle SDL
Steam Audio: check for AVX512 before using it
CollisionActionComponent, TriggerActionComponent
These will all get deprecated with #1458 anyway
Make AssetSystem.IsCloudInstalled a bit safe
EventSystem gets inner exception from TargetException
WorldPanel mark panel as null when disabling
Wrap ControlSheet in try get to prevent catastrophe
StyleSheetCollection replaces old parsed value when calling Parse
Fix menu not loading in editor properly
Add Component.OnParentChanged
Update GameObjectInspector.cs
Create avatar.scene
PanelComponent updates parent panel when changing parent
SourceLocation ILHotload test
Use built-in FindNode( getInnermostNodeForTie: true ) for ILHotload
#1492
Fix ILHotload handling SourceLocation attributes
I'm not sure why it wasn't skipping before
Terrain default cast shadows off
Heightmap import support mac byte order
Remake heightmap/controlmap texture when importing at a different size
Fix enums on ReflectionSerializedObject properties
Very basic editor tint when entering play mode
sbox-issues/issues/4333