branchsandbox.source/mastercancel
115 Commits over 92 Days - 0.05cph!
NativePointer can be weak or normal
Added Style.Scale, Style.SetTransform
Added Entity.EngineEntityName
Added Entity.Ang
Entity only dispose nativePointer if both client and server are dead
Calling Delete on LayerPanel more directly deletes layer
Assert if IPreRenderUI.All already contains
Do CleanupConnections in InternalOnDeleted
ESP tests
Added includecpp keyworld to interopgen
Vector3 implicit convert to Numerics vector3
Added Vector3.ToScreen()
Added Length.Percent, Length.Fraction (ui)
Added Sandbox.UI.IPreRender
More style accessors
Properly maintain Entity.All on ListenServer
Fixed Build isn't needed errors when disconnect and remap
Demo playback works
Update LinePreserve.cs
Fixed IsLocalPlayer always returning false
ConsoleSystem.Caller defaults to LocalPlayer if listen server
Removign Realming
ClientCommand Realm Fixes
ServerCommand Realm Fixes
Rpc Realm Fixes
bind CBaseEntity.IsNetworked()
Entity no realming fixes
Fixed addon errors missing file and line info
LinePreserve
RPC params
C_BasePlayer bindings
Camera stub class
Added Panel.IsValid
Throw if calling Delete clientside
Fix CreateClientEntityFromNetwork swallowing exceptions
HUD entity
Always include standard.less
Adding help to attributes
Realmed.Set( val )
Create Hud entity in gamemdoe
Entities can be created using new, don't need to call Spawn()
Engine stuff to send messages from client to server
client->server entity rpc
EntityMessageBegin binds
[Client] Rpc implementation
Ignore .gen folders in filewatches
Different engine networking strategy [old one caused startup delay]
Read network var in clientside when creating entity, or after receiving update
Network Var dirty state
Enity.IsValid
Fixed ClientKillInternal being serverside
Replicated vars automatially SetDirty
Starting porting over Replicate generators
Simple network data (not worth optimizing beyond this)
Debounce console StateHasChanged to 30fps when getting spammed
Generate ClientCmd for server to send to multiple players
Layers and Panels no longer different, merged into a LayerPanel since it can't exist without a root panel anyway
Added ClientCommand.CanBeCalledFromServer
Reworking Code Generator so we can modify code instead of just adding
Serverside commands automatically send the command to server if called clientside
Generator cleaning
CodeGen overloaded functions for server -> commands
Added Realmed accessor
Entity.All is realmed
Tasks properly retain realm
Generator output .cs files to disk so we can get intellisense
Added Sandbox.ThreadSafe to check that we're on the main thread etc
Added custom SynchronizationContext to always run tasks on the main thread
Catch UnobservedTaskException
Warning spam
Chat cleanup
boilerplate for networking commands
Fixed calling wrong OnLayoutTraverse (fixes text selection, caret)
Fixed passing commands to engine not quoted properly
Strip engine chat shit
Can close old console instances with middle click
Toggle error/warning/info in console
Show session length
Move Sandbox.UI inside Sandbox.Engine
Bind panel.MoveChildAfter, panel.MoveChildBefore
Added IUIPanel.SetChildIndex
Added Panel.SetFirstSibling(), Panel.SetLastSibling()
Added Panel.GetIndex, Panel.SetIndex
Added Panel.IsTransparent
Layer.Tick
m_pWindows isn't used
Added Panel.IsTransparentInHierarchy
Added Panel.Blur
If focused element is transparent in hierachy, blur it
Entity.Delete()
Added game_restart
Entity OnDelete callback
Fixed panorama layer render order
Fixed setting TextEntry text not working properly
UIPanel disabled actions if fully transparent
Chat Fixes
TextEntry Construct
Realm Asserts are permissive, targetted
Remove Debug
protect from rogue unremovable layers due to exceptions when creating a panel
Change oninputsubmit to onsubmit
Added Panel.Focus()
Chat WIP
Fixed gamemode not init when changing maps
Added ClientLayer.ClearState
Delete UI Layers when clearing state
Entity.Init called after spawn client/serverside
Cleaning up console spam
Switch addons, compile when switching gamemode
Templated versions of Entity.Create
ServerLayer:ServerSpawn
Gamemode is an entity
Added Entity.Transmit (always, never, culled etc)
Remove unused
Clientside gamemode
Removed some unused code
Added Library.TryCreate( uid )
Network managed class type, create right class clientside
InteropGen attribute support
Added clientside/serverside attributes +Realm class
Realming working
EntityManager.CreateClientEntityFromNetwork
InteropGen: do type casts in c++ to avoid multi-inheritence disasters
Maintain clientside entity list
IGame creates the player entity
InteropGen - allow access to static native variables
Managed GameServer creates the player entity
InteropGen - native variable access (managed)
InteropGen - native variable access (native)
Was editing files in the wrong folder :S
added a comment for future garry
Fixed hotloading not removing convars properly
player.EyeQuat()
Addons can use System.Numerics.Vectors
Fixed Math.ToDegrees/ToRadians
TestCommand spawns a chicken when player is looking
Added Quaternion class
Vector and Angle play nice with Quaternion
Added Entity.Create
Bind Entity.Set/Get position/angles
Player.EyeAng returns a Quaternion
Update cbaseentity.def
Fixed interop error when returning a managed class to managed
Fixed idiotic infinite loop in Vector3
Added Convar.RunContext - allows automatically passing special objects to console commands (like the calling player's entity etc)
Managed class fixes
Fixed passing managed class from native to managed