5,158 Commits over 1,583 Days - 0.14cph!
Compilers can reference packages
Add Project/AddGameWithPackageBase unit test
Razor directive errors report the file + location properly in visual studio instead of showing CSC
Fixed access control unable to resolve System.Threading, System.Memory
Fix hardcoded refs path 🤦♂️
Add TargetFramework attribute to compiles
Add ref dlls for compile
Compiler uses ref dlls
Skip auto-referencing base addon if referencing a gamemode
Rebase fixes
Lock call to SetNeedsPreLayout in thread to see if this is what's causing amd stuff
Re-organize boostrap to init editor addons before showing the window
Ignore some other folders in NetworkAssetList
Don't include local packages in server required content
Fix not removing local packages when disabled
Add CitizenAnimationHelper.MoveStyle
Add System.Diagnostics.UnreachableException to whitelist
When client joining server - prioritize remote packages
Panel classes are hashes instead of strings - which theoretrically should speed up HasClasses checks - but untested so putting it on a branch
Fix not updating layout on screen scale changes
Remove Panel.SetNeedsFinalLayout
Remove PanelStyle.sortedRules, no need to reverse AllStyleSheets
Build style rules in parallel (prevent ui hitching)
HashSet benchmarks
Tools always load local packages on active
Fix loading addons in tools registering their events + cleanup Hammer package integration
Give a warning when hotloading asset but couldn't load json
Fix exception when reporting exception in event.run
Report and skip when failed to install a local package
Wrap initial package loading in a try get and noisily ignore load errors instead of bootstrap init false
When loading a tool package, load toolbase too
Fix startup error when no ContentPath
Package cleanup (#887)
Added singleton PackageManager which handles all package downloading, installing. LocalProjects are self compiling and their assemblies are used to mock a Package.
LUT fix
Remove unused
Documentation
Use robocopy to copy for the unit test project, because chatgpt says it's faster than xcopy
Turn the Log.Info's into Log.Trace's
More debug outputs
Compile to AnyCpu
Save addon.json when adding a project manually to update paths
Rename first page of publish wizard to make it more obvious that it's a wizard
Don't allow progress if there aren't any asset files - this indicates an issue
Fix game configuration not getting updated live when editing project settings
Highlight project that isn't compiling
https://files.facepunch.com/garry/313f4b6a-131b-42a1-9573-f7fecd3a2ed6.png
Local project compiles can partially succeed - which means that one broken addon doesn't destroy the whole startup
Remove GameExtensionsPage (confusing, redundant)
Delete unused files from visbuilder
Apply scale of ScaleAndMirror to particle nodes in ModelDoc
(Shift+)Tab scrolls TextEntry autocomplete
Addresses sboxgame/issues/issues/1190
Update cache optimized kd node
Placeholder icons for local projects
Addresses sboxgame/issues/issues/2468
Vis3: Use large bit vec for grid set storage and restore log warning about accessing bit out of range (this should never happen now)
Disable detailed hotload diagnostics unless hotload_log >= 2
Fixed game resource editor completely rebuilding when editing values
Fixes drag-editing floats for example not really working for sound scapes, etc
Increase default size of GameResource editor
So that soundscape editor is not squished and basically unusable without editing width every time
Fix WebPanelTest throwing NRE in debugger
.editorconfig changes to match Valve coding style better
Delete IVfx::GetAllShaderVariables was only used for dynamic shader compiles
Non Pow2 textures are allowed so make sure the tex coord scale gets set
Auto upgrade "shader" kv in vmat source instead of just compiled, e.g "vr_complex.vfx" -> "shaders/complex.shader_c"
Recompile all assets - mainly upgrading legacy shader names
Make PlatformEntity.StartMoveBackwards/Forwards actually start moving, not just set direction
Prefabs: Add Scale control to Root Entity and don't reset it back to 1 when opening editor https://files.facepunch.com/devultj/1b2611b1/sbox_IEHx2r0LU0.mp4
Remove large_crate assets
Hair_Longbrown Test files
Fix precache error
Add test DownloadPackagesWithMatchingFiles and fix
Delete ServerContent class (unused)
Merge branch 'master' into package-cleanup
Delete BaseContent, PackageContent - client + server handle new packages being added
Don't add built in tool projects if not in editor mode
Fixed FileSend reading from the wrong filesystem
Don't try to send base content (like base addon shaders) that the client should already have via fileserv
Treat BuiltIn projects differently, hide them in the project just by default
This isn't indicative of a cyclic dependency
Fix everywhere I spelt dependency wrong
Try to load local packages first when a package has a reference (this needs more thought though)
Add RuntimeAddonReferencingRuntimeGame test
Fix AddGameProject test (path change)
Fix solution not generating
Add `global using static Sandbox.Internal.GlobalGameNamespace` to base addon
Wait for sln to be generated
Fix package content not mounting when pure client
Add LoadRuntimeGamePackage unit test
HotloadManager cleanup
Reinstate PatchAMSI
Wrap hotload sections with TryStartNoGCRegion
Build network asset list from PackageManager, delete RuntimeContent
Load local base addon if runtime game
Fix project list not loading
Only rebuild compiler if we need to
Add PackageReferences page to project settings
Add compiler and packagereference pages to library packages
Server uses PackageLoader
Fix LUT not working
Add Package.Download, consolidate logic
Fix VPK not mounting with new cache system
Add PackageManager.Install + Symlink refcounting
Simplify map download
PackageManager console commands
Delete AddonProvision.Map.cs
We'll find a better solution to this. For now we can consider this a niche issue - the solution to which is opening the map in the editor once.
The best solution is to save the editor addon list in the vpk - but only install them if we can somehow detect that we're a standalone map.
Add LocalProject unit tests
Don't double mount citizen + rust content
Remove symlink debug
LocalProjects add and remove projects on enable/disable
Project test fix
Take RequiredContent from active "server" packages
Delete SearchPath.cs, Content.cs
Process assemblies from PackageManager instead of running through ServerContent bullshit
Rename ServerPackages to ServerPackagesStringTable
Speed up unit test file copies
Move compiling to LocalProject, local runtime projects should act exactly like regular packages so we don't end up with two paths
Fix compilegroup not removing from recompile on compiler remove
Use a shared compile group for the localproject compile
Move RunFrame into EngineLoop
Set previousTime in RunLoop
Detect changes and rebuild local projects
Run steam callbacks in one place
Add PackageLoader (replacing GameAssemblyManager, unit testable)
Make Project Generator work a bit better with the unified local packages
Package loader test standalone addon
Tools code hotloading works again
Package loader test standalone addon
Tools code hotloading works again
Fix compilegroup not removing from recompile on compiler remove
Use a shared compile group for the localproject compile
Move RunFrame into EngineLoop
Set previousTime in RunLoop
Detect changes and rebuild local projects
Run steam callbacks in one place
Add PackageLoader (replacing GameAssemblyManager, unit testable)
Make Project Generator work a bit better with the unified local packages
Speed up unit test file copies
Move compiling to LocalProject, local runtime projects should act exactly like regular packages so we don't end up with two paths