248,616 Commits over 3,928 Days - 2.64cph!
Update: TreeToolRenderer can track modifications to existing trees
- replaces previously half-working OnToolGUI
Tests: on swamp_a, modified tree's prefab - saw visuals change
file naming and organising
SceneViewportWidget now refocuses last non-game viewport instead of last selected. Resolves play mode sometimes starting on an Empty Scene
Shader supports texture scrolling
Rock - Override controller updated to use v3 anims
More autumn cleaning
Removed Conquest / Vehicles - cool for hack week but not sure it fits the gamemode
Clean: remove unnecessary event callback for TreeToolRenderer
Tests: reopened swamp_a
Remove PlayerCameraOverrides, it's bullshit
Grid-aligned wires option
https://files.facepunch.com/ziks/2024-10-22/sbox-dev_bUe9p89nrF.mp4
assigned shield 3p anims on player animation controller and edited metal shield position in its entity
AssetInspector now hotloads when changes to the asset have been made. No longer have to click into something else and click back in.
https://files.facepunch.com/CarsonKompon/2024/October/22_09-47-StaleImperialeagle.mp4
For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All
Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server
Bugfix: Restoring kayak to version from
105500
It got missmerged into nothing(empty prefab), even though it should've automerged
Tests: Spawned it on craggy and got in on the front seat. No exceptions during loading or spawning.
Use project root path as root for asset browser stuff
Hide hidden files & folders
Icons for assets, code, libraries, exports, localization, projectsettings folders
https://files.facepunch.com/alexguthrie/1b2211b1/sbox-dev_vj4aOCIDDr.png
Hide .sbox folder
Open non-asset files (e.g. .cs files) when double clicked too
Update: TreeToolRenderer only runs on prefab scenes
Tests: loaded up swamp_a - trees were visible.
Trigger fixes.
Remove log spam.
Focus last selected SceneViewport when leaving Play Mode. Resolves Facepunch/sbox-issues#6605
Added new ballista incendiary spear ammo
Added client reload and ammo switching logic (still wip)
Update: move TreeEntityEditor closer to Resource Editor folder
It was in a generic editor folder previously, and we have a specialized folder now
Tests: loaded up swamp_a monument and checked gizmos still draw
Optim: Replace TreeEntity.Update with a an editor-only renderer
- Handled by an EditorTool(work in progress, doesn't track all changes to the scene)
This wins back 16ms on a 6k world in editor.
Tests: Loaded swamp_a scene from a cold start, was able to see trees. Started 6k procgen map, fps was better.
re-created v3 anim folder, taking existing .meta & retaining clips, all anims now using v3 avatar
Eyes rotate with platforms https://files.facepunch.com/7b4e58ef-cc50-4e2d-b7ef-8f8a8cd2161d.mp4
Store Connection internal state if ConnectionInfo doesn't exist then we can just use that
Add IsDeleted checks to loading startup scenes. Facepunch/sbox-issues#6594
Initial branch commit for dedi server message routing
* Try to synchronize Connection State through ConnectionInfo where possible
* Use Connection.All for filtered broadcasts so that will use ConnectionInfo if exists
* TargetedMessage support for byte[] array for already packed messages, and pass in NetTransmission flags for routing as well
* For now, one idea is to override SendRawMessage on MockConnection - for these type of Connection we can route through the host
Add ability to close tool window tabs, scoped to scene/prefab tabs only - resolves Facepunch/sbox-issues#6653
https://files.facepunch.com/tony/1b2211b1/sbox-dev_3TNYa6UlBY.mp4
Merge from copypaste -> main
Cleanup & rename kill -> killbox (so it doesn't overlap with normal kill command)
Remove / clean up old assets and poorly named stuff
Add ability to undo pastes with `undopaste` command
- only kills entiites you pasted (if you want to redo a paste, just paste it again manually)
Scene.Title, Scene.Description are obsolete
Fix JsonObject.GetPropertyValue not always returning defaultvalue
Add SceneInformation component, replaces Scene.Title, Scene.Description - can create your own meta providers, works in prefabs
Add SceneFile.GetMetadata( name )
Add PrefabFile.GetMetadata( name )
Use SceneMeta instead of Name/Description
second noise layer for coverage
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
Updates to intro area and blockouts
Allow pasting directly from name
- `paste cars1` will load "cars1" and paste it while persisting current clipboard
Filter entities when pasting instead of copying (allows you to change filters after copying a single time)
- change convars from "copy_npcs" to "paste_npcs"
- filter entities that have no parent when pasting
- add option to filter vehicles
Client trigger, art root setup.
Initial basic facing nearest player logic.
Lets try making the player face correctly again
Sub intro cutscene text
Swap to models of platforms
setup admire anim for metal shield
Fixed rotate
Phys trace
Rotate player onstart to face correct direction
Add "Set to None" option to InputActionControlWidget
https://files.facepunch.com/tony/1b2211b1/0WMKcWO3Z1.png
Third person camera clipping
Use the same collision rules when tracing
Better handling when third person camera is too close
Don't position camera in editor
Switch the rest of the test scenes to use new player controller
Remove tags for moving
Phys character updates