243,044 Commits over 3,898 Days - 2.60cph!
Batch map gameobjects, start disabled
Speculative fix for the inability to add assets to collections
fixed native memory leak in OceanSimulation (only a problem if you're restarting a server in-editor a lot)
Merge from ai_wolf_iteration
- ▄██ ▉█▆█▅▍▌▌.▇█▊▍█▍▍▅▉▇ ▇▉▍ ▅▇▊▍█▍ ▅▍▉▋ ▉▊▇▍▊ ▌▆▍▅▌▄ ▉▇▉▌▉▋█▍▇▅▋
- ▌█▇▅ ▉█▊▍ ▋▌▌▊▅▇▅▍▆ ▆▇█▆▋▍▊▍ ▄▅▍▆ ▊ ▍▅▊▌▋▌ ▉▉▇▋▆▆
Buildfix: Hide DDraw calls behind CLIENT
Tests: checked all build modes
TongueAbility now highlights tongueable objects
Update: DDrawAIDataPoints is an editor server var (instead of client)
- Also fixed formatting and borked whitespace on one line
This makes it a bit more consistent with how it's implemented (since ServerMgr executes the drawing).
Tests: On craggy spawned junkpile_j, enabled the flag - debug rendering worked.
Initial assets commit (LFS)
Adjusted battering ram and ballista mount positions
Initial commit
Set up .gitattributes and .gitignore for LFS
Initial code commit
Optim: Reimplement AI-Cover/Move-Point debug drawing as a utility function instead of FixedUpdate
- Also now requires both CLIENT+SERVER being active in the editor (as it's part of ServerMgr's FixedUpdate step)
- Will reconcile the client cmd line arg but server logic in next CL
This wins us 5.5ms on 6k procedural map in editor
Tests: loaded a 6k procgen map on 1337 seed and checked the profiled. Tried enabling the debug flag, but it nukes the perf. Tested flag on craggy by spawning junkpile_j - saw the debug graphics.
SimpleVehicleVisuals server compile fix
Merge from ai_wolf_iteration
Make wolf foundation jump more consistent
Added melee and ranged shield impact slots to player model and viewmodel animators
Initial commit
Set up .gitattributes and .gitignore for LFS
Stages
box project materials
Material changes
Test stage
Clean up
Fix spam hopefully
Merge branch 'main' of sbox-piecrumb
Create TongueUI, will be used to highlight tongue-able objects
Start TongueAbility, give existing Abilities custom Icons
Remove 2nd hidden entity list
QOutliner: Defer selection until mouse release so it acts like our managed treeview, allowing dragging without switching the inspector away
edited shield entity positions so the shields sit correctly in the hands
Can no longer sprint while blocking with a shield
Fixed blocking flag not being applied on server
Battering ram player model IK setup, added placeholder steering wheel
Managed can set DragData of map nodes in Hammer outliner, MapGameObject sets its GameObject
DragData uses QObject.FindOrCreate so it persists when going native -> managed -> native for DragData.Object to work correctly
Add SerializedProperty IsPublic, IsField, IsProperty
Only show properties in GameResource inspector that'll actually be serialised, Facepunch/sbox-issues#6656
Added ShieldBlocking state to hands layer (inside Idle_StateMachine)
Merge from cctv_shoot_disable -> main
merge from ghost_sheet_fixes
set bike and horse mountables to animate cloth in worldspace
added head/clavicle/neck to ignored bones on ghostsheet to help collision behaviour at some lookangles
Merge: from remove_treeentity_update
This eliminates the many calls of TreeEntity.Update in editor play mode, saves ~16ms on 6k procgen map
Tests: booted editor with swamp_a scene and shut down, booted into craggy then switched to swamp_a, added and moved trees to swamp_a, changed tree prefabs - all cases could see expected visuals.
Fixed hotbar 1-3 inputs not working while the RPS gesture isn't active
Log cleanup
Show different text on computer station when camera is disabled
- "No Signal" = incorrect camera code or camera destroyed
- "Weak Signal" = camera disabled
Using the ram consumes fuel
Added RemoveFuel in IFuelSystem to allow removal of a specified amount of fuel in one go
Bugfix: TreeToolRenderer can render on editor start
- Replaced sceneOpened with activeSceneChangedInEditMode, as former didn't react to boot process changing scenes
Tests: closed editor and reopened, trees started to render
Merge: from main
Tests: none (trivial merge)
Merge from corrupt_prefab_handling
Node menu: list all scene refs
https://files.facepunch.com/ziks/2024-10-23/sbox-dev_qisG1bsjT4.mp4
Remove mock GameObject/Prefab code from managed MapEntity
Add CMapGameObject map node with managed counter part that wraps a GameObject
Hammer world's Scene uses HammerSceneEditorSession
Add HammerManagedInspector that can take over if it likes the MapNode. We only like MapGameObject for now
Run Scene.EditorDraw() on MapView for gizmos, remove old Entity.DrawGizmos
Hammer: Create GameObject Test option
More explicit HammerEvents
Managed map node callback interface, a little convoluted because of mapdoclib <-> hammer <-> managed. But this is easier to do callbacks and can return values
And the managed side
Serialize/deserialize CMapGameObject
CMapGameObject::GeneratesEntityModelGeometry()
Expose CMapGameObject JSON to MapBuilder via IHammerMapLoader
Collect CMapGameObjects, compile them into scene.json inside the vpk and let MapInstance load them (Very hacky code needs cleaning up)
MapWorld.Scene sets a Scene.Source in an attempt to make AG happy
Tie Meshes to GameObject button
Add def for CMapNode.GetRootDocument()
ActionGraph source location refactor
Add MapSourceLocation, fix editing action graphs in .vmap files
Check for MapSourceLocation in ActionGraphView
Open source map when inspecting graph from .vmap
Parent action graph editor to hammer window if editing map graph
Push AG serialization options when saving map game object
Makes sure we replace any cached versions of graphs
Implement setting HammerSceneEditorSession.HasUnsavedChanges
Fix action graphs from maps not caching correctly
Only OpenContainingResource if not already open
Fix action graphs in unsaved hammer maps
Associate graphs with a HammerSceneEditorSession if open in hammer,
which is resilient to renaming etc
Normalize map path name
Can tie map meshes to GameObjects, these get built into models and any components on the GameObject with a Model property get populated by it
Trim world builder
Implement CMapGameObject::Copy
Sync native transforms to managed
Scene changes (new component, prop edits, etc.) mark Hammer map as having unsaved changes (otherwise it refuses to save)
Several assumptions of SceneEditorSession.Active.Scene should be GameObject.Scene
Clean up Entity tool as you can no longer add/target games this way
Kill Hammer EntityIO buttons (unusable)
CMapGameObject overrides child selection
Hammer GizmoInstance.Input.IsHovered is controlled by native MapView IsActive()
Add jsoncpp so we can read/write json properly without fucking around with kv3
Replace manual scene serialization with jsoncpp, can map guids to map meshes better and it's cleaner
Clean up MapView tick and scene render list
Hammer sync managed gizmo selections with native selection set (authoritative)
Fix warning
CMapGameObject's that generate model geometry are ignored by physicsbuilder
ModelRenderer don't default to box if Model is null
remove nav markup volumes from fgd
TieToGameObject takes TieToEntity keybind (Ctrl+T), remove button for entity as there's no entities to tie them to anymore, if you really need it the command is still accessible through F1
bakky icon
Fix undoing dragging connection handles
Fix updating connection positions