249,795 Commits over 3,959 Days - 2.63cph!
reduce root motion strength on dracula cape BC assets (visually feels about the same, but less likely to explode on vehicles)
- Additional Logs
- Codegen
Don't show the menu path for custom assets' file type, just the title
Add "Open File Location" shortcut for files in search results, meta locations etc. Tweak context menu icons.
Initial work on seeing the actual tow connection as ropes:
- Towing Visuals attempts to connect x connections -> y connections using OneToMany or ManyToOne approaches
- Horse now syncs the entity id of the entity its towing
- Created TowingVisuals class which creates and manages rope connections
- Uses FakePhysicsRope to connect up and simulate ropes
- Setup base prefab
- Setup catapult towing visual connection points
Tex2DBicubic uses generic hlsl, make DoF compositing use bicubic filtering, makes it look nice even at lowest quality
https://files.facepunch.com/sam/1b2811b1/jXqgNeXnCK.png
Explicit quality level for DoF
Focus Gap in world units and outside the shader
▍▌▅▉▍▆▄▄ █▍▍▌ █▇▄▊█ ▉▅▇▅██▄▉ █▆ ▄▄▅▌ ▄▋ ▍█▅▊▇ ▋▆▄ ▌▋▅ ▌▆▆▅▌▆█▌▊▇ ▅▉▇▄▍▉▍▍ - ▍▇▅▌▅▉▍▌▍ ▄▋ ▍▇▇▊▇ ▆▆ ▅▄▆▌▊▄ ▇█ ▌▌ ▋▊█▆▆▄▌ █▍▍▅▋▆▍▆▇ ▄▋▄ ▋▍▄▋▋ ▇▌ ▊▅▊▅▉▊▊▅ ▅▇▊▉ ▊▆█▅▇ ▇▄▇▌▇▉▇ ▍▉▇▄▍▊▌▋ ▌▇█ ▊▌ ▌▇█▅▄▌▍ ▊▉▄ ▋▆▋▋█▊ ▄▍▇▊ ▆▅▍▇▉▅ (██▍▊▇▌▌▆ █▍▊ ▆▋▉▉▋█▉▊ ▋▅ ▍▇▄ ▌▇▄▍▊▋ ▇▅▉▍ ██▊▌▋▍█ ▉▆ ▉▄▌▆ ▌▄▉▊█▋▋▄█▄)
Merge: from profiling_improvements
Removes boxing allocations in Pool.Get and Pool.Free in Editor context.
Tests: in editor on Craggy started a normal session, couldn't see allocations in the profiler. Overrode the startup params and was able to see the overhead table printed out when invoking cmd.
Merge: from main
Tests: none
Fix asset icons at 16x16, centre
Use 16x16 icon for unknown files so that doesn't get cut off
Pretty up file modified date, standardised w/ leading zeros so it's nicer in column view
Update: Make Pool capacity waste tracking off by default
- Added an editor-only command to enable it, "pool.memory_overhead_tracking_enabled"
- Cleaned up implementation a smidge, left a comment explaining where the box is coming from
- "pool.print_memory_overhead" skips entries with 0 overhead
I couldn't find a way to avoid boxing in a generic call, so I decided to disable this telemetry gathering by default to avoid muddying profiler data.
Tests: in editor on Craggy started a normal session, couldn't see allocations in the profiler. Overrode the startup params and was able to see the overhead table printed out when invoking cmd.
Fix error from API change
Don't need these Hammer prefab templates anymore
Add "Create Game Object" button to Hammer outliner
Don't try add menu project if we're headless
Merge from ai_wolf_iteration
Make wolves reposition between attacks to vary the angles, instead of spamming frontal attacks
merge from AnimalRagdollUpdate
Fire fire blocking the wolves unreachable behaviour from triggering
Update decals_subrect.txt
New version from HL2, adds 2 new decals from Portal 1
Update serverevents.res
`player_say` includes `teamonly` field.
Use full paths for engine asset locations
TTT: check data_static for rearm scripts for use in workshop addons
Reduces wolf odds of trying to resist fire
▍▊█▄█ ▍▊▉▌▆ █▉▄█▇ + ▉▊▉▊▅▇ ▆▌▋█ ▍▆▄▆▆▄█▇ █▄ ▆▆▄▅▇▌ ▍▋▋▋▋▅▌
▋█▍▇█://▄▌▋.▋▊▉▉▊.▉▆▊/▅/▍▅▉▇▄▆▉▇▆▇▇█▅▍▊▋/▇▇▋▆▋▄▆▉▇█▉▉▊▊▇▋/▅
Fix wolves counting themselves as an ally when deciding if it's worth fleeing to call reinforcements and come back
Add 'copy absolute path' option
Find root paths automatically instead of just using current project
Show base, citizen, and core
Better sidebar separation
Hide cloud browser when not requested
Limit file count for now, need pagination
Docs
Apply it to some other volumes too
If we're headless, we should shut down SteamGameServer when disconnecting from network system
Pass actual version into SteamGameServer init for version. Test server list cmd
DistanceAttenuation bool is now used again
Rename `Attenuation` to `Falloff` with better Curve initializing
SoundComponent gizmos no longer rotate with the GameObject
Change default Distance value to something closer to the previous default
Updated default curve to feel more like the previous range calculation. Added some more curves to CurvePresets
Created JsonUpgrader for SoundEvent which tries to maintain previous range settings while resetting Volume to 1. Doesn't perform changes to 2D sounds or sounds without DistanceAttenuation
Moved SoundEvent into Sound folder
PreviewSound dragging is more intuitive. Removed logs
SoundEvent Upgrader fixes/adjustments
some tighter rock placement at missile silo, grass splat tweaks, rebaked hm
cleared tunnel obstruction in military_tunnel
When tying a MapMesh to a MapGameObject add ModelRenderer and ModelCollider automatically
Add jsoncpp so we can read/write json properly without fucking around with kv3
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
* 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
* MapGameObjects can be tied to MapMesh and generate model geometry
Add MapSourceLocation for editing action graphs in .vmap files
* Open source map when inspecting graph from .vmap
* Parent action graph editor to hammer window if editing map graph
Several assumptions of SceneEditorSession.Active.Scene should be GameObject.Scene
Gizmo interactions work in MapView, Hammer gizmo selectionset syncs with native selection set (native has authority), clean up MapView loop
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
QOutliner: Remove hidden entity list
QOutliner: Defer selection until mouse release so it acts like our managed treeview, allowing dragging without switching the inspector away
[~] ModelRenderer don't default to box if Model is null
InspectorWidgets are explicitly marked with [Inspector( Type )] instead of [CanEdit( Type )], created with InspectorWidget.Create( SerializedObject )
Hammer Scene is serialized entirely in MapWorld & written into VPK as world.scene_c
MapInstance: Load from SceneFile from inside the VPK (A little more logic because we don't normally read managed from VPKs)
Added all temperature tea recipes (base ones are placeholder ingredients)
Added recipes to mxing table recipe list.
various fixes for cave_large_hard, cave_large_medium, cave_medium_medium, cave_medium_easy
Only try to filter by asset type if we have any filters on, fixes excluding most files from search
Cache arrows item definitions so that they can be used for comparisons in code, instead of relying on comparing hardcoded names
Show full file path in window status bar on hover again, resolves Facepunch/sbox-issues#6709
Update Dedicated Server bootstrap logs
Remove baked cubemaps code from Hammer
Fix Hammer default layout. Also add Cloud Browser by default
Fixes Facepunch/sbox-issues#6708
Steam Items table
Steam items section
Dedicated Server (#1679)
* 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
* Store Connection internal state if ConnectionInfo doesn't exist then we can just use that
* Better synchronization of Connection State - now working as it was before, but should also synchronize other clients properly when on a dedicated server
* For filtered connection list / broadcast - if we're the host then use the connections we have, otherwise we should use Connection.All
* Include Connection with available connections when broadcasting - as Dedicated Server won't be included in Connection.All (maybe it should, or maybe people should just use Connection.Host)
* Serialize TargetMessage flags as byte
* system must be set to SendMessage to a Connection. Fix an issue with SenderId when receiving a TargetedMessage - this can't be local, so try to find the connection but if we can't find it just use the source.
* Test logs
* Some cleanup - fix issue where system isn't initialized so can't serialize. Could be wrong here, but only one system can be active so just use that.
* Remove this log
* Remove unusued code
* Add NetTransmission flag support when using SendMessage via Steam Sockets
* Don't forget to add arg to header
* Clearer docs here, only log warning if networking debug is enabled here
* Some tidy up here
* Reset local connection state to Unconnected when closing network system - some debug log for other machine
* Close these connections
* Remove this log
* Add Dedicated Server page to Project Config with its own option for a Startup Scene. When loading a game, if we're headless, use that if its set instead of the usual one.
* Don't call INetworkListener.OnActive for dedicated server, similarly don't call OnDisconnected. OnConnected will never get called anyway because it doesn't go through the handshake.
* This bit isn't needed actually
* Test boot back to main menu
* Properly get when disconnected
* Use CollectionExtensions properly
* Fix test, re-add system member
* Fix this state
---------
Co-authored-by: Garry Newman <garrynewman@users.noreply.github.com>
Remove siege weapon towing from cars
Fixed Facepunch/sbox-issues#6696