13,867 Commits over 1,552 Days - 0.37cph!
Fixed crash in ValidatePrivateScriptScope
These were in the wrong folder
Move that big load of content into the right place 😫
Just stub this interface so we don't have to recompile the whole engine again
Fixed startup_background
AddAddonsSearchPaths for now
Moved sbox_game to groups
Added a bunch of missing tool config files
Delete tools_thumbnail_cache.bin
Unused
citizen addon test map
Reverting attempt at resource system takeover
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
Changing default console port (vconsole fucks with it)
Resource Compiler, compile to the right folder when addon
I'm going to assume we don't need all this readonly shit
Load asset info again
material editor, hammer working with addons and addon *_src
Citizen addon
Colours
Don't mark mod paths as read only
ModIsVisibleToAsset always returns true
Allow loading from any "mod" in hammer
Lets treat any files ending with _c as lfs
citizen skin
lfs
Fixed model editor
Fix SkipToModRelativePathFromGameOrContentRelativePath in fileutils to work with our layout
Add ignore tools_thumbnail_cache.bin
SetModGameSubdir - skip the logic, always set it to sbox
Fixed IsAddon logic being backwards in ComputeOutputFileName
Local lightmap compilation is assumed
Properly close clr host on shutdown
Remove material debug
FileSystem:AddAddonsSearchPaths (review this later)
Hammer map target location fix
Fixed CResourceCompilerContext::ContentPathToFullPath for new layout
if we're compiling in %temp% then don't treat as an addon because the paths will be all fucky
Call AddAddonsSearchPaths in standalone resourcecompiler.exe
CResourceCompilerPathScope - don't limit/remove search paths - we don't give a fuck about that shit
ComputeVpkName can be a shit ton simpler
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
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