5,189 Commits over 1,583 Days - 0.14cph!
Push time scope when calling pending starts
Fix NRE in SpriteRenderer when texture is null
TextureControlWidget creates a child ResourceControlWidget instead of trying to be one
Speed up Pixmap.FromTexture ( there's got to be a faster way than this come on)
Draw texture preview
Add TextureGenerator boilerplate
TextureControlWidget poc
Fix crash in unit test when creating SoundStream
Run pending component starts at the end of loading, before host joins game
Revert "Widget.Parent checks for valid"
This reverts commit 0da86010868490ff4bbe0b0cb524e5a5fcbb0bf7.
Scene loading only happens once
Add TextureGenerator boilerplate
KeyValuesToJson
Add Material.Shader
Add TypeLibrary.CreateProperty, Obsolete SerializedProperty.Create
TypeLibrary.CreateProperty takes attributes - allowing further customization
Make ParseToJsonObject public
Add Asset.SetInMemoryReplacement, ClearInMemoryReplacement
Pass on description, title, source info to property
Widget.Parent checks for valid
Fix warnings
Delete ResourceConverterFactory, ResourceJsonConvert
safe to pick to main
Add TypeLibrary.Current
Add TypeLibrary.Current
Remove hacky Scene.IsWaitingForLoad
Give NavMesh a proper place to generate during loading (after everything is loaded)
Fix TypeLibrary.Current not working
Delete ResourceConverterFactory, ResourceJsonConvert
safe to pick to main
Add TypeLibrary.Current
Add TextureGenerator boilerplate
Don't "step down" when on a dynamic physics object (let physics work)
Stomp z velocity when stepping down
Stomp z velocity when stepping up
Rebuild content
Rebuild shaders
Don't reset the menu environment when you quit a game, so you're on the same page
Allow TryJoinLobby to be called only once at a time
Disable play button when joining a game, so we can't keep pressing it
Fix disconnect message showing "Unknown Player"
Print in console when client connects/disconnects
Add player count to DedicatedStatus
Add extra info to snapshot analytic
Rename SceneNetworkSystem.LoadScene to LoadSceneBroadcast
Remove Nav_WaitBuild, make it a LoadingTask instead - there's no reason this should be special
Fix fov in settings not working
Don't try to play voice on dedicated server
Fix network thread choking itself out if no network system
Remove DebugOverlay.Sphere in PlayerController
Add OnParticleDestroyed to ParticleController
Add Collider.IsDynamic
PlayerController doesn't slip down slopes when standing still
Tweak ladder movement code, more grippy, faster
Add PlayerController.UseLookControls and PitchClamp and LookSensitivity
Add PlayerController.BrakePower
- Player will stop instantly when direction input
- Player will reach max walk/run/duck speeds
- Player will slow down quickly when switching from run to walk etc
Don't clamp Collider.Friction
Fix dedicated server on older terminals
Now I remember why I didn't add this > before
Add warning if we got a reconnect message not from the host
Deserialize GameObjectFlags.Hidden - Fixes saved hidden gameobjects not being restored with hidden flag
Get rid of S_NON_DIRECTIONAL_DIFFUSE_LIGHTING, use g_bNonDirectionalDiffuseLighting attribute instead
Dragging a prefab into an action graph creates a scene.ref node
Fix scene.ref thumbnail for prefab references
More informative / nicer display info for scene ref nodes
https://files.facepunch.com/ziks/2025-01-14/QYoZj9M8T7.png
Add analytic to SceneNetworkSystem.GetSnapshot
Add Application.IsDedicatedServer
Dedicated server performance analytics
Launch sbdb with datacore
Merge branch 'master' into console_stats_overlay
Launch sbdb with datacore
Add analytic to SceneNetworkSystem.GetSnapshot
Add Application.IsDedicatedServer
Dedicated server performance analytics
Remove old dedicated textconsole
Use Rust console style, with 3 lines printed under instead of trying to maintain a footer (messes less with outputs)
Add warning if we got a reconnect message not from the host
Only print Building network files if we're building them
Add SBDM dedicated server launch option
Clean server startup, move command line convar setting logic
Make IRenderDevice.IsEmptyAPI const
Move network thread to Networking class, prevent crash on dedicated server close
Fix Game.Load not working because old game didn't close in time
Clean up ParticleFloat parsing
Fix gradient error
ParticleConeEmitter - use ParticleFloats, emit within the base of the cone, add Velocityrandom, CenterBias, CenterBiasBelocity, VelocityMultiplier
Add PlayerController.AccelerationTime , DeaccelerationTime
Reduce playercontroller animator leaning a bit
Add Game.Load( gameident ), client reconnect
Serialize ParticleFloat manually, so we can read as a constant float
ParticleEmitter.Rate is a ParticleFloat, allowing curve/time based emission rates
Add DebugOverlaySystem.ScreenText
Ignore null GameSystem's when shutting down - it might be null due to hotloading
Add PlayerController.IEvents.OnJumped
Add PlayerController.RunByDefault , PlayerController.AltMoveButton
Add Capsule and Line to TypeLibrary
Add ConVar flags
Remove dead code
Route console commands from engine to managed
No need to register convars with engine, we are the owner now
Strip command buffer running, aliasing
Store native console commands, everything works again
Native console command help etc
print variable value when no arguments
Move "find" to c#, add ConvarFlags.Hidden
Autocomplete is all c#
Remove IConfigurationSystem
Remove CommandTarget_t, InputCommandSource_t
Don't need these hacks to create SceneNetworkSystem anymore
Remove more unused convar code
Replicated convars stringtable
Capture native convars more reliably, without having to query
Userdata convars
Add ConvarFlags.Protected and ConvarFlags.Cheat - all native convars are protected
Remove FCVAR_DEVELOPMENTONLY
Remove FCVAR_GAMEDLL
Remove CCommandBuffer
Remove FCVAR_RELEASE
WrapepdPropertySet provides a Getter, to get the current value
Include all attributes with wrapped properties, no just the codegen attributes
ConvarSystem.SetValue always takes a string value instead of object
Only set native convar if value is different
Move sv_cheats to game code, so it gets codegen
Always register sbox.game assembly with convar system
Only set managed convar value if value changed
Placeholder to return replicated values for convar
Call ConVarSystem.OnConVarChanged when managed convar changes
Native convars call OnConVarChanged
Rename ConvarFlags to ConVarFlags
Remove dead code
Delete ivr.h, remove g_pVr (none if this is used anymore.. right?)
Fix CodeGen attribute blunder
Fix unit tests getting the wrong envrionment var (not sure what changed)
Rename ConVar to ConVarAttribute, ConCmdAttribute
Convar changed event
Update replicated convar string table entry when it changes, if we're the host
Clients use replicated vars table instead of accessing the value from the convar
Convar changed event
Update replicated convar string table entry when it changes, if we're the host
Clients use replicated vars table instead of accessing the value from the convar
Fix CodeGen attribute blunder
Fix unit tests getting the wrong envrionment var (not sure what changed)
Rename ConVar to ConVarAttribute, ConCmdAttribute
Remove dead code
Delete ivr.h, remove g_pVr (none if this is used anymore.. right?)
Remove FCVAR_RELEASE
WrapepdPropertySet provides a Getter, to get the current value
Include all attributes with wrapped properties, no just the codegen attributes
ConvarSystem.SetValue always takes a string value instead of object
Only set native convar if value is different
Move sv_cheats to game code, so it gets codegen
Always register sbox.game assembly with convar system
Only set managed convar value if value changed
Placeholder to return replicated values for convar
Call ConVarSystem.OnConVarChanged when managed convar changes
Native convars call OnConVarChanged
Rename ConvarFlags to ConVarFlags
Remove FCVAR_DEVELOPMENTONLY
Remove FCVAR_GAMEDLL
Remove CCommandBuffer
Add ConvarFlags.Protected and ConvarFlags.Cheat - all native convars are protected
Don't need these hacks to create SceneNetworkSystem anymore
Remove more unused convar code
Replicated convars stringtable
Capture native convars more reliably, without having to query