21,392 Commits over 1,552 Days - 0.57cph!
Network Ticking
Increase network rate [review]
File download poc
Adding +networksystem to sandbox_game
Add the ability to track PendingReliable from NetChan
File transfer works
Don't ship with networksystem.dll now we have it in sbox_game
Custom Messages
Bind CServerSideClient
Added FIleSystem.FileSize
Create INetworkServer, INetworkClient
CNetworkGameClient, CServerSideClient have a m_pManaged - so we can jump shit straight through to the specific game dll without bunnyhopping through engine dll
Added Crc32.FromStream
Added Assets string table
Added StringTable.Set
Refactor GameContext interfaces into seperate Client + Server
Server/AssetsList
Fixed warning
Added StringTable.GetData<T>( i )
Client process the asset list
Make these asserts warnings so we can ignore them until we can't
If StringTable changed to null from not null, we're shutting down, so shut it down
Bind CNetworkGameClient
Added SignOnState hooks to engineloop
Delete GameManager
Make sure all entities are released at game end
Unregister client dlls on disconnect
Clientside hotloading works
Moved access control from Compiler
Create Build-Engine.bat
Removing unused from groups
Retail mode
Update Build-Retail.bat
Keep this folder here
Added Build-Game.bat
Update vswhere.exe
Cleaning up precaching a bunch of shit we're not using
Trim the amount of debug console spam
Add some more console spam
Fix client addons using wrong Sandbox.Game
Fixed writing the wrong data to stringtable
Delete ServerLayer.cs
When server starting a game, force recompille of everything
Added GameLoop.Init, Deactivated hooks
Compiler doesn't write to a temporary filesystem
Create AssemblyTransport.cs
Don't pass compilers to AccessControl
Don't spam errors if client gamemode doesn't load
StringTable.GetString, GetData
Wrap stringtable change callback in a try/catch
Added some common stuff to Global
ClientAssemblyManager.Init moved to GameLoop:Init
Split assembly init/hotloading from general loading
Added ClientAssemblyManager
Move Global to Sandbox.Game
Increase string table max data size
Server adds assemblies to string table
Looks like net5 rc2 needs these delegates to be marked as unmanaged, which they are
Interop: handle const void* casting to void*
INetworkStringTable binds
Interop: support for fastdelegate from managed function ptr
Moved custom string table creation shit to c#
Schedule Cleanup
Fix Sandbox.System warnings
Fixed Sandbox.Engine warnings
Fixed Sandbox.Game Warnings
Code Cleanup
Remove Unused
Fixed HUD not showing
Gamemode creates player entity
InteropGen code should diff better
Fixed hotloading Sandbox.Game.dll not working
Use PlayerController
Created sbox_shared.vpc
Created sandbox.trace.cpp/h
Added trace bind
InteropGen added inherit and skipdefine keywords, removed Manifest hack
Trtace works
Send sidemove/forwardmove as normals
Fixed prediction error
Simple noclip movement in c#
Added Sandbox.PlayerCommand
Build tools
Simplify CUserCmd
Route UserCmd application through Sandbox::PlayerCommand
Package updates
Can toggle between showing client/server entity properties
Dedicated server works again
Remove native say, say_team concommands
Add NativeEngine.ServerEngine
Hook up calling client commands from the server
Split time into RealTime (engine) and Time (game contexts)
Setup Player Name properly
Fixed SplitQuotesStrings empty quotes
Clean debug output
alt+f4 quits
Client managed binds work
Update game input state once, before taking input, so we don't have keypresses leaking between the game binds and ui
Create client.engine.def
Created Sandbox.Game version of ConsoleSystem, renamed Engine one to ConsoleEngine [revisit]
Hook to EngineLoop::ClientCommand from CServerSideClient::ExecuteStringCommand
Hijack transmitmode
Fixed creating client entity before class is known [revisit this, send the class in a more native way]
Crash fix: QueueSpawnEntity wants to be able to release the keyvalues itself
Added GameLoop.OnClientPreOutput, OnClientPostOutput
Remove EngineLoop.PreRenderUI
Call IPreRenderUI.Run from OnClientPreOutput
Rename EntitySystemServer to EntitySystem
Fixed MyAddon compile errors
Added GameLoop
Fixed EngineEntityBase
Library.Create reports TargetInvocationException nicer
CGameEntitySystem::CreateFromManaged spawns ents properly
GameLoop.OnActivate compiles gamemode addons, creates gamemode entity
Fixed not redrawing when alt tabbed
Fixed selected entity info showing nothing
Refactor Source/SourceEngine into NativeEngine
Refactor sandbox.<module>.h to interop.<module>.h
Fixed NRE in console when calling sv_entity_list
Ignore .intermediate folders
Update Microsoft.CodeAnalysis to 3.8.0-3.final so SourceGenerators work again
Show client/server status in entity list
Tell rcon which realm the entity is from when sending delete messages
Clientside network entity create, cleanup
Include Sandbox.Game.dll in addon csproj
Run Updates
Fixed ConsoleCommands
Deleted Realm
GameUI hides properly again
Cleaning unused shit
Moved interop defs to their own project
Tools build
Delete binaries that are rebuilt easily
Ignore binaries
Update access lists
Ignore cfg/video.txt
Create gamecontext.drawio.png
Get managed function pointers via array instead of using coreclr
Create Sandbox.Game
Interop create via Sandbox.Interop.CreateInterface
Add GameContext
Definitions Updated for Sandbox.Game
Create EngineLoop.cs
Create IGameInterface.cs
Engine InternalsVisibleTo Sandbox.Game
Bootstrap do some Context checks
Moved/Deleted from Sandbox.Engine
Bind fixes
Addons/Compiler loads through GameContexts
Move AssemblyLoading shit out of Bootstrap
Move Library to Sandbox.Game
Don't register convars if not the right context
Don't log until Bootstrap.PreInit - because we want the current dir to be set so the logs get in the right folder
Fixed error if menu not compiled
Add Sandbox.Game to BaseAccess.txt
Update sandbox.client.win64.vdf
Switch to unmanaged delegates
Added interop boxed flag, for things like CEntityIndex
CreateClientEntityFromNetwork re-implemented
activated server interop
Bind CEntityClass
Interop: better casting
Create entity.system.def
Added EntityManager.CreateServerEntity
Cleaner way to create entities with a enginename override
Explicit casting fixes
Overide entity creation in GameEntitySystem
Remove rubbish in GameRules
Updated Binds
Interop: Access to all baseclass functions without casting
Rebuild binds
Cleaning generated code
Exclude some files from steam upload
Don't print out every imported concommand
Opening console opens our console
Added panorama.def
Added Source.CBaseHandle
Generated
Added INetRuntime to singletons
Panorama uses new sandbox.panorama instead of hopping on sandbox.client
Don't need to define g_pNetRuntime here now
Bind IHandleEntity, CBaseHandle
Bind CEntityInstance
Bind CGameEntity
Added Sandbox.ClientInput
Don't mouse look if visible UI that wants mouse
Bootstrap::Init later so we catch all the convars from client/server
Fuck all this vgui input shit
Call gameui_activate if escape pressed in game
If we're turning layer input off, also call Blur() to keyboard focus
Main menu call gameui_hide oncancel if in game
Shader compile optimizations
Cleaning so I can understand what's happening
Cleaner gameloop binds
Bind GameUI.GetInputContext
Fixed test panel particles not ticking
Fixed dll location in addon csproj
Show loading screen
Fixed Console idle cpu usage
always -resizing
Ignore Addon debris
Panorama mouse inputs
Send all events to managed
Added RealTimeSince
Schedule uses RealTimeSince
Call UpdateRealTime from engine2 loop
Update mainmenu.htm