3,548 Commits over 1,522 Days - 0.10cph!
Add Component.INetworkSpawn - calls with owner when a GameObject is network spawned
Fix not network spawning
Spawn point gizmo tweaks
Better define what happens when host leaves (destroy their shit)
Tweak network transform lerp
Add PhysicsBody.SmoothRotate
Expose TimeSince, TimeUntil, so they're usable in RPCs and Sync vars
Connection.Local.IsHost should make the right noises now, fixed some id confusion
Update parent and owner during network updates
Remove Game.Server
Delete EngineRpc
Add Networking.FindConnection
Draw owner next to GameObject
Give players a unique display name when joining (if there's a clash)
Fix GameObject.Clone not setting parent
Fix BoxCollider not positioning properly
Fix BoxCollider not positioning correctly
Fix Sphere Collider fuck up
Use MakeDirty in a bunch of places, now we can
Fix decals being recreated every frame, scale properly with transform, light origin is projection point
Fix CodeGen attributes missing in CodeGen
Updated DecalRenderer to use MakeDirty
New native sentry dsn so we don't get entity branch errors
Don't report shutdown exceptions (proper)
Remove unused codegen units
Update CodeGen.Targets
Codegen Engine assemblies (#1438)
Try to avoid reporting errors on shutdown - because there's a billion of them
Extra logging when out of order connect
Try to enforce a single voice recorder
Fix steam lobbies not networking
Check for null in GetRepresentativeTextureSize (speculative fix)
Handle stack overflows in a different thread
Fixed most common exceptions
Fix null strings thinking they're not strings
Can call SetBodyGroups on ModelRenderer before it's enabled
Add Connection.GetUserData
Add ClothingContainer.Apply( SkinnedModelRenderer )
When calling network broadcasting, can specify minimum connection state
Connection.DisplayName, SteamId is via ConnectionInfo
Reduce network debug output
Remove ConnectionInfo on disconnect
Send current game ident with errors
Assert if part of the modelcollider is invalid
Network Protocol++
Lobby list is more useful
Set Application.GameIdent without the #local
Add network protocol to lobbies
Add StringTable.OnSnapshot
Add UserInfo network string table
Fix component members without source info being ordered randomly
Give Voice Transmitter a few more options
Nicer errors if trying to RPC unsupported values
Fix tags not always getting applied to scene objects
Members with [Expose] are always exposed
BytePack dictionary support + tests
Fix network message chunking not actually doing shit
Tweak string table initialization
Unit test validate StringTable
SceneUtility.Instantiate becomes gameobject.Clone( ... )
Don't leave the server when joining
We do already have a break sound, 10 lines down from where I added a new one
DamageInfo into namespace
Don't throw a ton of errors when we run out of voices
Add surface sound for break (I got a feeling we already have this somewhere)
PhysicsShape.Surface returns null less often
Add GameObjectSystem.Stage.FinishUpdate
Rename PhysicsBodyComponent.cs to PhysicsBodyExtensions.cs
Add PhysicsShape.PlayCollisionSound, PlayFootstepSound, PlayFootLandSound, PlayFootLaunchSound
Add CollisionSoundSystem
Collision Event System automatically calls into CollisionSoundSystem
Add RigidbodyFlags
Update sentry DSN
Fix NRE in rigidbody
Add Component.IDamageable and DamageInfo
Remove currently unused properties from ModelPropData
Component.Flags is now a ComponentFlags
Add GameObjectFlags.DontDestroyOnLoad (not implemented)
Fix double IDamageable
Add DestroyOnEnd to ParticleEmitter
Hide SceneObject in ParticleSpriteRenderer if no particles to render
Particle collision uses scene trace
SceneCamera.Tonemap not enabled by default
Fix model rendering bounds
Call ForceFlushGPU when rendering to pixmap
Add Layout.SizeConstraint
FixedWidth and FixedHeight operate propertly, added FixedSize
Fix ControlWidget's layout expanding vertically
Should fix errors when a GameObject is marked as no save
Fix MaximumWidth/Height swap
Change vmdl_c to vmdl in Model.Load
Convert ITags to an abstract class
Rewrote Qt widget layout implementation so that SizeMode works and makes more sense
Recover the scene camera if its position is NaN
Add ITagSet.HasAny, HasAll that take ITagSet
Added GameTags.Flush - to manually update the flags instead of waiting for the next frame callback
Fix warning