20,564 Commits over 1,522 Days - 0.56cph!
Adding +assetsystem to sbox_game
move content\sbox to game\sbox_src
move content/core to game/core_src
Asset system content is in *_src instead of ../content/*
Path Fixups
Material editing works with new *_src paths
Rust addon
Don't need FinalizeLoading now
InteropGen - struct can define CreateUsing
NetRuntime.RelativeToAbsolute hook
Added CRD_RegisterResourceDataUtils::RegisterResource
Allow resource loading to proceed with invalid headers (review: can we set it as a non valve resource so we don't need to hack around with this header)
Resource Loading boilerplate
Switched ManagedResourceHandle to use ::From instead of constructors (because constructors mean it stops bein pod)
Load startup material from materials/startup.mat instead of materials/startup_background.vmat
Init managed before creating the window so the filesystem shit can use it
Latest Binds
Added IMaterial2.SetName
Refactored asset loading takeover point
Create materialsystem2.def
Create EngineGlue
Create ManagedResourceHandle
Interop: add long/int64 support
Pass IAsyncResourceDataRequest to asset loading
AssetLoader foundation
Resource Load override point
Add +materialsystem2 to sbox_game
Added functions for runtime creation to IMaterial2
Added CMaterialSystem2.CreateRawMaterial()
Don't add materialsystem2.dll to repo
Added RegisterReference to IResourceSystem (allows adding dependant loads to a manifest)
Pass manifest to ResourceLoadRequest
Test: intercept startup_background.vmat load and create it in code
Don't commit resourcesystem.dll
Make INetRuntime a tier2
Don't commit resourcefile.lib
Allow us to dictate the resource type from filename/extension
engine2.vpc fix
Add +resourcesystem +resourcefile to sbox_game
Refactored so inetruntime is in engine2
Fixed client missing files on startup
Delete Unused
AppVerif toggle bat files
Fixed crash on exit (uienginesource2 was trying to delete the filesystem, but we'd replaced it with our own - which is a pointer to a static)
Include steam_appid.txt in dedicated server
This RawDataSerializer was doing jack shit
Enable all hidden/restricted tools
Run game in console concept
Make default keys something sensible
Added CRawDataSerializer
Network vars work again
Update launchSettings.json
Shutdown UI and clear gamemode on disconnect
Tools rebuild
Update net5 to 5.0.0-rc.2.20475.5
Fixed entity list sync in console
Fixed HUd could be on top of menu UI
Game exe goes in the root folder
Don't bother adding "GAMEBIN" search paths
Update .gitignore
Reduce transfer speed
Downloaded files hierarchy
Rename FileSystem to EngineFileSystem
Rename FileSystem class to BaseFileSystem
EngineFileSystem is internal
Added FileSystem to Game dll
Load layouts/stylesheets from FileSystem.Mounted
Forgot c++ doesn't initialize pointers to null, god help us
Init/Shutdown ServerSideClient on connect
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