242,518 Commits over 3,867 Days - 2.61cph!
Network Authority / Permissions (#1457)
* Can a connection create objects?
* Send network destroy even if DestroyImmediate is called
* Ownership authority flags
* Let GameObject have [Sync] too (test)
* Reorder enum, add [Expose]
* Change up logic for can create objects - only check if we have a source
* Default CanCreateObjects to true for now (this is current behavior)
* Initial implementatior for ownership authority
* Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars
* Initial implementation of Rpc authority
* Remove a test log
* CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed
* Make it CanSpawnObjects
* CanSpawnObjects settable only by the host
* Some renaming. Set OwnerTransfer direct on GameObject instead of method on NetworkAccessor
* Make sure CanSpawnObjects is synchronized to clients when set from host via ConnectionInfo
* Default CanSpawnObjects to true for now
* When OwnerTransfer is Request, make actual requests to the host for Drop/Assign/Take ownership and if host approves, then host will send the messages to everyone to take that action. Each message will then validate if was received from host
* Remove this for now, sus is later
* CanSpawnObjects is always true for the host. Early out in NetworkSpawn if local connection can't spawn objects - why bother trying at all?
* NetworkAccessor.SetOwnerTransfer method
* Documentation fixes
* Rename Rpc.HasAuthority to Rpc.HasPermission for consistency
* Owner can always drop ownership
* Allow owner transfer changing from current owner
Set saved gizmo settings way earlier, protect against stomping the settings instance
Fixes sbox-issues/issues/4888
Allow owner transfer changing from current owner
Added NodeLibrary.ClearReflectionCache()
Add support for CSS `font-smooth`
https://files.facepunch.com/alexguthrie/1b2011b1/sbox-dev_oYg0ytkmSm.png
Owner can always drop ownership
Fix MultiSerializedObject propagating OnPropertyChanged
Facepunch/sbox-issues#4885
Call GameResource.PostReload() after saving to disk
Clears cached scene in PrefabFile
Facepunch/sbox-issues#4885
final alignment to the structure to match welds
moonpool and beams detailed greybox
Rename Rpc.HasAuthority to Rpc.HasPermission for consistency
Metal roof textures Update
NetworkAccessor.SetOwnerTransfer method
CanSpawnObjects is always true for the host. Early out in NetworkSpawn if local connection can't spawn objects - why bother trying at all?
▅▉▇▇▊ ▍▊▅▇ ▉▉█▉▄▌▉▄▇_▍▇▊▅▆▉_▍▍▆▋
merged from keycard_color_fix
merge from wounded_map_fix
merged from workshoplightfix
merge from map_entity_load_fix
Don't just use ClassName to serialize types in ActionGraph
Fixed Facepunch/sbox-issues#4869
Add a NavMeshObstacle for the Bradley that gets toggled with deployed status.
Added an AIInformationZone to Bradley. Added move/cover AI data points.
Toggle the AIInformationZone on/off with deployed status.
Assign the AIZ as a virtual AIZ to Scientists when spawning them.
Moved NPC position a little lower to avoid floating
Tutorial NPC now looks at player when they are in range
Leaderboard backup, run #9748
▌▄▍▋▆ █▆▄▌▅▊▄▆ ▋█▄▍▌ ▊▋ ▄▆▆ ▇▋▅ ▍▇▍▊▍ ▋▌▆▆▌▍▆ ▊▊▍▊ ▅▄ ▇█▄▆▆▆▄▍ ▍▊ ▉▊▌▉▄▄ ▉▍ ▄▆▅ ▍▆▄▉▊▄ ▋▆▍▋▇ ▅▅▄ ▇▄▊ ▄▋▉▍▋▆▋▉ ▍█ ▅▉▅▍▉▍▌ ▇▅ ▄▊▊▅ ▇▋▍▌▅
Allow for custom camera far clip distance as well. Reduce to 0.5m for roadsign gloves, to not show the rear glove.
Allow custom pivot points for items in the skin viewer, to override the automatic pivot on a case-by-case basis. Set custom pivot point for roadsign gloves.
Merge from tutorial_island
Set up skin scripts properly for things like roadsign gloves
WIP NPC "angry exit" controller state
Updated a few help prompts with new videos
Tweaked NPC controller with improved idle to talk anim blending. Added angry state for implementation
Added button to reset tutorial in options menu
Change default flush interval from 1 min -> 5 min
Store session start timestamp (when demo recording started) in header
Use connection Guid instead of dictionary in player lookup (to avoid players reconnecting causing issues)
- change DemoPlayerInfo.SteamId -> Guid (ulong technically)
Change path to `server-demos/{serverid}/sessions/{sessionid}/{chunkid}.sdem` (to make it easier to navigate in azure)
Fix compressedSize in demo header being incorrect (FileStream.Length > FileStream.Position)
Switch from `demo_server_id` -> `server_id` convar
- save across restarts
- set server_id on startup if not set
Remove `upload_token` convar, rely on putting SAS token in upload endpoint for now (can polish later once we figure out how we want to refresh tokens)
Fix hardcoded "test" container and use the container from the SAS url
Added loading spinner to show that a 3D skin view is loading. Added a callback for skin set failure to hide the loading circle.
Fixed rug skins not showing up
Fixed more issues with skins not loading or loading incorrectly
Updated tutorial welcome prompt with video asset + slight formatting and layout changes
Merge from main -> full_server_demos
Refactor into multiple .cs files as the code has grown
IO entities snapping first pass
When deploying any electrical/industrial item, press left shift to align and snap to nearby entities
Text tabs quick start
Working fixed with tabs
Work in tab stops during line layout
Tab stops are font width * 4 spaces wide
No need to collapse tabs here, we do it with WhiteSpace
Fix tabs not always lining up, use measured space width