248,620 Commits over 3,928 Days - 2.64cph!
Switch default era from None -> Unknown and add new "Any" era so we know what items are explicitly allowed in any era vs unassigned
Add tags for era to item assets
Every item reserialized after adding era field & updating asset tags
Improve item asset tags
- `workbench0` - `workbench3` depending on crafting requirement
- `craftable` for items that are craftable
- {Category}Item for item category (WeaponItem, FunItem, etc)
- `ItemDLC` for items that are dlc
- `ItemRedirect` for items that are redirects of other items
Add era field for items (none, primitive, medieval, frontier & modern)
- items default to "no era"
- items in none will show up in all eras
- items in lower eras will show up in higher eras
- no eras assigned to items yet
WIP support for storing which NPC clothing loadout was active on a corpse, to support more accurate head bags and death screens when killing NPC's that change appearance via loadout (notably arctic scientists and scarecrows/murderers)
Conveyor shouldn't use static collider
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
Reference formatting tweaks
https://files.facepunch.com/ziks/2024-10-19/sbox-dev_UakhR0G0Jj.png
Enable CollisionUpdateEventsEnabled on PhysicalCharacterController Body
Cleanup DebugDrawSystem
Add ballpit
RigidBody.CollisionUpdateEventsEnabled is disabled by default
PhysicalCharacterController : Auto create all components, auto hide them
Tweak pressure/gib calcs
Conveyor hack
Apply EnableTouchPersists on collider shape create
Tweak MassOverride to not call MakeDirty
Leaderboard backup, run #
14765
Some nicer description formatting for tooltips
Show return value descriptions in action graphs
Fixes Facepunch/sbox-issues#6636
Expose Sandbox.Achievement to TypeLibrary / ActionGraph
Fixes Facepunch/sbox-issues#6637
Forward display info for return parameters
Remove QTE specific gameplay code.
Rename functions.
Rename and refactor QTEEntity/SnakeQTEntity to WildlifeHazard/SnakeHazard.
Rename entity prefabs.
Manifest.
Codegen.
Delete QTE folders and restructure.
Delete QTE related UI prefabs and code.
Delete QTE related gesture setup.
Prevent crashes to do with removal of world entity (another method)
merge from Halloween24/ghost_sheet_fixes
- fixed sheet exploding when mounting
- other small config changes to help collision and mounting movement
adjusted some bc config values for max origin delta and collision cast directions
Iterate over Server Browser Last Played marker
Also localize the string
Disable 24BPP optimization for .png/jpeg loader
This may or may not be causing issues for random players sometimes maybe?!?!?! when joining servers
Delete -vpfix from studiomdl.exe
Has unwanted sideeffects
StudioMDL: Fix models with more than 65k vertices breaking up
Merged some changes from CS:GO's studiomdl
Add support for BONE_HAS_SAVEFRAME_ROT32
Fixed animations from newer mdl versions not playing in GMod
Move default console position to the left a bit
So it does not obstruct certain UI elements by default
Fix "nav_blocked" event not being registered
setting length multiplier on ghost sheet BC controllers 1 across all states (stops exploding when mounting)
Dynamic and managed scene objects draw bounds properly
Fixed TextBlock adding margins when it didn't need to
TextRenderer GameObject gets bounds (so draws in the correct order)
Add multibounce ambient occlusion (but keep it disabled for now)
https://files.facepunch.com/sampavlovic/1b1811b1/UckNYcRubO.png
Adjust AO intensity, separate passes, add spartial/temporal passes, adjust thin compensation to become thickness
Fixed viewmodel renderers on non metal shields
▉▉▇▄▉ ▆▄▍▌▉█▅ ▄▍█▉▊▌ ▅▋▉▄▄██▌█ ▄▊▌ ▉▆▊ ▊▅▄▌▍▇▍ ▇▇█▍█▌▉▆ ▆▄▋▍▊▌▄█ █▌▊▋ ▌▍ ▇▍▍▅██▌▇ ▊ ▊█▆█▅ ▉▅▍▉▆▅▋ ▊▄▊▊▋▉ (▊▉▍ ▇▉ ▄▇▄ █▄▇▇▅█▌ ▇▄███▌ :▍)
▍▆▊▌▅ █▉█▊▅▋▇ ▇█▋▍▆▅ ▅▇█▋▍▅▇▅▉ █▇▄ ▆▍▆ ▊▋▄▄▆▅▇ ▉▅▌▌▍▍▆▆ ▅▌▊█▍▊▌▆ ▇▉▉▍ ▌▅ ▅▊▍▋▄▋▊▋ ▌ ▍▄▋▌▇ ▌▄▅▇▍▇▆ ██▋▄▉▋ (▉▊▉ ▋▅▉▇▄▆▍ ▆▌█▉█▄▊ █▅▌▉▇ ▆▇ ▅▄█▌▊▆▅ ▊▉▄ ▄▄▇▅▌▆█▇▊/▅▍██▋▌█▋▇ ▍▋▅▆▇▅▉)
Disable shield collider while the shield is on the players back
Set D_WORLDPANEL properly when pushing and popping layers
Fixes WorldPanel rendering regression sbox-issues/issues/6632
Removed unused avatar_menu_map vmap. Prevents downloading a bunch of cloud assets when creating a new project (such as USP_W)
Added support for multiple record modes: FrameInterval or Manual.
Automate timeline playback, start recording and then end recording after timeline has finished.
OnComplete now triggers after playback has finished, so we correctly pop up the output folder etc.
Can now specify an initial timeline playback start time.
Move mirror component to work in progress
Reduce velocity when stepping down, to avoid gravity turning us into a rocket
Fix copy paste
- now remaps every type of network id, fixing storage entities
- fixed building ID not being reset for new pastes
- refactored pasting code so it more closely resembles SaveRestore.Load()
- fixed rotation of pastes not always working
- save entities in order of network id so the pasting is more deterministic
- removed saving of entity ids in pastes because it's not needed
- change paste directory from EntityCopies -> copypaste
Description attrib codegen: support method parameters
Fixes Facepunch/sbox-issues#6622
Fix description of expanded outputs
Push, Crush, Platform demos
HLOD now immediately resolves when the player finishes loading
removed the metal shield skin from rig then linked the v_shield to the weapon rootbone in the prefab.
Timeline playback/record initial test