reposboxcancel

22,418 Commits over 1,614 Days - 0.58cph!

8 Days Ago
Fix DOF erroring on non-msaa vfx_vulkan: SV_ViewID is a built in semantic Update CSceneSystem::SubmitDisplayListsForView removing multi-submit VR junk vulkan: unfuck image views for cube textures Shaders compile for shader model 6.1
8 Days Ago
Add [JsonIgnore] to anything that would cause recursion during serialization in EditorTool
8 Days Ago
Linux/Mac: Remove hardcoded directories. For Mac, we'll run a .sh to set DYLD_LIBRARY_PATH since we can't do it on the application itself (WTF AAPL)
8 Days Ago
Label Linux CI test properly without ambiguity
8 Days Ago
Create pull-linux-test.yml
8 Days Ago
Linux: Add Steam APIs, use SteamNetworkingSockets for Linux, same functionality as GameNetworkingSockets Explicitly delete copy constructors for thread tools and lean vectors, certain GCC versions are bitching about this?
8 Days Ago
Improve delta snapshot system by dynamically increasing and reducing stored sent snapshot cluster size to ensure we give ample time for an ack - these could get lost of we send a lot of clusters per second. Another improvement is to predict last receive snapshot data and assume they will go through, optimizing by not sending the same value 50 times a second - if not ACK'd in time, we'll clear the prediction and send again. I'm seeing good results on TTT where the host goes from sending 1mb/s to ~18-30kb/s with one connected client in some cases. Add SteamEnums.RecvMaxMessageSize and SteamEnums.RecvBufferMessages. Set these values in bootstrap to higher values.
9 Days Ago
Scene system listeners I'll need later Clean up old dead code Collect and pass around SceneLightObjects instead of the LightDesc ptr Managed shadow mapper, entry point from lightbinner, creates and renders shadow frustums Set gpu light data from c#, pass shadowmap bindless texture id, use it from lighting shaders Visualize depth uses screen space coords vfx_vulkan: SV_ViewID is a built in semantic fucking with VK_KHR_multiview and cubemap render targets
9 Days Ago
Don't return a new list each light gather, reuse the already allocated memory
9 Days Ago
Unused SceneView methods Remove ISceneView::AddSceneObjectToRenderList ISceneView::GetWorldToRender & related return ISceneWorld not CSceneWorld Add CommandList.Set( StringToken, Texture ) Dispose of AssetPreviews after we've rendered their thumbnail. PreviewScene.Dispose destroys it's Scene
9 Days Ago
Network options on a GameObject where the GameObject is a prefab instance will only be serialized if the values differ from the prefabs. When loading a prefab instance as a GameObject from a Hammer scene, find the correct network mode. This fixes an issue where if a prefab is added via Hammer, but later the prefab's network mode or something changes, the new default wouldn't be used when loading the map. It'll still use the one the map was serialized with.
9 Days Ago
[Pick] Linux: Remove any references to P4 on base makefiles, makes it stop bitching, add gitignore for linux files
9 Days Ago
[Pick] Linux: Fix case sensitivity on files, fix windows-only stuff Linux/Mac: Fix sed on both platforms, fix some rebase errors, Mac uses GameNetworkingSockets name without _s even though static, fix signature updates of hlsl_shader_compiler for stub, use c++20 everywhere
9 Days Ago
Mac: Add Makefile for VPC so we can actually build it without actually having vpc Rename some IOSALL flags to just PLATFORM_APPLE, we always imply arm64 SDL_config doesnt always imply windows Update gitignore Mac: Managed Build Scripts No need for nvpatch for non-windows targets Mac: Use Unix trailing paths for codegen, this should be fine on Windows too Backport new tier0 threadtools stuff for process thread creation, fixes things that were missing from our initial code drop Mac: update VPC, still needs cleanup, builds all but need to sort linking and .mm files Mac: Encapsulate Windows-specific code and error handling Mac: Finish setting up makeile for VPC on Mac ARM64 Mac: Remove some definitions for OSX64 for OSXARM64 Mac: Add prebuilt macOS vpc Mac: Fix OSXARM64 conditionals, update VPC binary Mac: Add gitignore rules for Xcode crap files and add build native step for POSIX Don't try to to build path from empty dependency string for a VPC Makefile dependency Mac: Cleanup source_posix_base, update SDK versions and build settings for macOS, just use latest SDK version, target Sonoma, don't use 10 year old tools for cc Mac/Linux: chmod +x on vpc_script bash scripts Mac: ISO C++20 Fixes Update .gitignore and build scripts, fix permission on antlr, some small code fixes Mac: fix copy_postbuild.sh Mac: add xcode_codesin.sh and xcode_gen_dsym.sh Mac: update osxarm64 vpc binary Mac/Linux: Add support for OSXARM64 platform for schemacompiler, fix CBaseFileSystem::GetModPath override, zip_utils on posix and vpc doesn't need to link from all these on other platforms Mac: libsteam_api platform_compile_base makes weird assumptions for using CLANG or GCC on windows Izabu/Mac/ARM: Izabu implies SSE SIMD, shim it with sse2neon, fix constructor on IzPulleyJoint Mac/Linux: Remove bunch of win32 & x86 implications, casting for Clang, -Wno-register, multiplat build retail native Mac: Use GameNetworkingSockets outside of windows builds, build EtcLib for arm64 Mac: libpnga Mac: GameNetworkingSockets and SteamAPI libs on game folder Convert .dlls to platform-specific (linux/mac) equivalents on GlobalParser for nativedlls in interopgen Mac: SDL2 dylib Only run nvpatch on windows for all C# projects that use it Linux: make prebuilt binary of vpc executable Linux: Skip nvpatch.exe for all projects when not on Windows Linux: Add Linux platform to build scripts Linux: Add original from /engine branch Linux: Remove GCC 5 version requirement and set -std=c++20 [Pick] Use multiplatform SDL config instead of one hardcoded for windows, might make more sense to eventually just use mainline SDL2 entirely Mac/Linux: Unmangle SDL in other platforms too, we're trying other platforms and you're still alive Linux: Add various hacks/fixes to bring `schemacompiler` up to the link step. THIS MAY BREAK SOMETHING. Linux: Add an auto-generated SDL_config_linux.h which is specific to my system, but we need to start somewhere. Later, this will be made specific to Steam Runtime. Mac/Linux: Some more platform guards, tier0_utils_base.h not being declared, Invoke ErrorReport crash without dummy variable, fixes unused variable warning Mac: Link to SDL implicitly on source_exe_posix_base.vpc, add this to the folder if you're working on a new platform Linux: Remove `gendbg.sh` and `sourceindex_p4posix.py` from build process because we don't have them Mac: libSDL2-2.0.0.dylib > libSDL2.dylib Mac: Target OSX 15.0 Mac/Linux: Link SDL against tier0 too, windows does it implicitly on code Mac/Linux: MacOS can compile from sys/sysctrl.h just fine, remove vector.h from outside header guard in ssemath_impl Linux: Fix Makefile to build VPC on Linux (expects libSDL2 to be present system-wide) Linux: Define EXPLICIT macro for all compilers Linux: Make sure the `schemacompiler` is executable (because it wasn't) Mac: Update VPC binary for OSX NEON: MaxComponent doesn't exist, use Vector::LargestComponent() [DON'T MERGE] Stub out WindowsGlue, this should be on managed or we could use something like tinyfiledialogs Use ISO C++ instead of MSFT extensions for try catch on managed calls, double check if this is correct Cupertino/Penguin: Zip works with ISO-C++, use standard keywords in other stuff that was using MSFT standard Cupertino/Penguin: Cast some stuff properly, explicit casting, threadtools missing ThreadGetCurrentProcessId() Cupertino/Penguin: Wrap inputsystem stuff into windows conditionals, implement equivalent hopefully in SDL Clang doesn't like conditionals for this, make if else explicit wtf Cupertino/Penguin: Steam Audio 4.5.2 on all 3 platforms Cupertino/Penguin: Define Steam Audio directly, move SDL2 from Tier0 & Posix DLL Base to Posix Base [REVIEW, DONT MERGE?] Mac/Linux: Platform guards for fpxr and lipsync, this is the worst way to do this, should see a way for interopgen to have platform conditionals Remove some dead code that cause issues on clang, particles were all using wrong function signature, are these dead code too? Refactor stuff to work on linux/mac, mostly platform typos Shader compilation only on windows right now, dxc should support other platforms, add Mac version of dxcompiler lib anyway platform_compile_base had this seemingly unused GUID identifier that was causing conflicts in both lzma and dxc winadapter Get WinAdapter working for Dxc Mach Dxcompiler binary not really compatible, might be tricky to use microsoft's dxc without dxil, a task for another day Add hlsl_shader_compiler_stub Vulkan: Exclusive fullscreen is only a thing on windows Add dxc & dxcompiler from Vulkan build, organize this all in win64/osxarm64 Add MoltenVK directly Mac: Vulkan adjustments for metal platform, OpenGL is nevermore on OSX rendersystemvulkan builds on all platforms lzma has inconsistent binary output dir Linux: Various little #ifdef fixes regarding Linux specifics, C++20 and a strange macro definition of "None" Linux: Use GNU++20 instead of C++20 because the code is making use of some GNU extensions in macros Linux: Add precompiled binaries libsteam_api.so, libGameNetworkingSockets.so, libpng.a and libdxcompiler.so because we don't compile them ourselves. Mac: Add libs and missing dependencies for GameNetworkingSockets, update GameNetworkingSockets Mac: Libvideo, libSkiasharp, libmpg123 binaries Mac: libHarfBuzz and libdxcompiler, configdefaults.osx.vcfg ( do we need this? :S ) Game boots again [DONT MERGE] Mac: Hardcode some paths and fix trailing slashes, note that outside windows steam_api64 dll is just called steam_api Linux: Don't undefine lerp on expressioncalculator, we should see where it's using namespace std to get std::lerp wrongly, make it ifdef linux if all else fails Readd inline source compilation to renderdevicevulkan, do conversion to wchar directly Linux: Solve the lerp/std::lerp ambiguity with an #ifdef LINUX (math.h has using std::lerp on Linux, unfortunately) Linux: Specify --allow-multiple-definitions to allow stubbing out the API OVRLipSync.h Linux: Add gendbg.sh from engine/ branch and use it Linux: Fix typedef for Clang (__sFILE FILE vs. _IO_FILE FILE) Linux: Resolve ambiguity between std::byte and typedef byte for Clang in one specific case Linux: Disable .cfi_sections directives entirely for x64 SystemV ABI to avoid confusing assemblers and restore the original code for all other platforms Linux: Use the compiler flags for Clang on OSX/Android for all POSIX platforms. Linux: Replace CUtlVector with std::vector because it was causing a crash on destruction. Linux: Replace CSceneParticleObject* with void* using sed in 4.sh Linux: Replace the old VPC binary with a newer one because the old one doesn't work anyways Linux: Silence all compiler warnings until we fell ready to fix them because it's so many that they slow down the build Linux: Add missing libSDL2.so which is required to build Mac: Fix sed and FILE struct for mac, should work on linux too, I'll double check, getting this to boot on mac/linux again and slowly trickling this branch to master Mac/Linux: Use static version of gamenetworkingsockets, cuts a lot of the mess of dependency hunting Mac: OSX doesn't allow setting DYLD PATH from the application itself, make it parse these relative to the current directory, load correct steam DLL regardless of platform Mac/Linux Add Developer-BuildAll.sh for Posix to make it easier to debug, but without tools
10 Days Ago
Restore accidentally deleted CreateTexture2D macros.. for now restore ui shader which was blitting text Delete some more shit resourcemanifests Fix bloom blur using wrong sampler causing bleeding over edges
10 Days Ago
Support closed edge extrude by using edge bevel https://files.facepunch.com/layla/1b0811b1/sbox-dev_7P5yqZDDwU.mp4
10 Days Ago
Fix scene hierarchy right click (context menu) delay
10 Days Ago
Always refresh PrefabCacheScenes PostLoad even if the prefab didn't change. Ensures types of older assemblies are refreshed. Should fix issue where TypeLibrary.GetType() would return null when reconnecting to a server. The root of the issue was that typelibrary got refreshed on reconnect while the prefabcachescenes were not.
10 Days Ago
Align to grid new faces from bevel operation
10 Days Ago
Add bevel operation, limited to single segment until UI is made for bevel editing properties https://files.facepunch.com/layla/1b0811b1/sbox-dev_BPEXB8kFgB.mp4
11 Days Ago
Bind instance ID buffer too, remove all this bullshit, keep initial transforms at 1 million like it was for now
11 Days Ago
[pick] Compute skinning as structured buffer, simpler, easier to understand and removes need to do encoding, doesn't affect existing shaders Add previous frame buffer offset [Pick] use CUtlMemory for transform buffer instead of a fixed transform size that crashes, allows for it to be smaller and alloc as much as it needs, needs testing
11 Days Ago
Citizen/humans: couple of minor fixes (sprint input framerates, noclip start delta fix on humans)
11 Days Ago
Automatically break prefab instances if part of the instance is reparented to another game object. A warning is emitted when this happens.
11 Days Ago
Fade out Node Graph grid when zoomed out far enough. Resolves Facepunch/sbox-issues#7486
11 Days Ago
SubgraphNode now instantly hotloads inputs/outputs on recompile of the references subgraph. Resolves Facepunch/sbox-issues#7526
11 Days Ago
Dragging an image into a ShaderGraph will automatically create a Texture2D node. Resolves Facepunch/sbox-issues#7547
11 Days Ago
Don't try to apply PositionOffset during PS phase in GraphCompiler
11 Days Ago
Fix edge case for nav agent ground trace Properly simulate deceleration for nav agents New logic also tries to decelerate them as fast as possible
11 Days Ago
Standalone: better widgets for branding - can't figure out how to lay these out nicely right now though https://files.facepunch.com/alexguthrie/1b0711b1/sbox-dev_WR7bhtL8E4.png Standalone: make it clearer when we've finished an export
11 Days Ago
Base shaders: stop using macros for texture creation + sampling, use standard HLSL syntax Core shaders: stop using macros for texture creation + sampling Build shaders yuv_resolve.shader should use explicit register positions (it's sampler was never being properly bound!!)
11 Days Ago
Disable mixer thread choking warning for now TODO: find out how long each voice takes to mix, and let you print that on demand
11 Days Ago
Some minor spline tweaks I forgot to backport from scenestaging
11 Days Ago
Spline Class (#1817) General purpose spline class for 3D. Uses a composite 3D cubic Bezier curve under the hood. Shape and behavior of the spline are controlled through points and handles. Two consecutive points and their handles define one segment/curve of the spline. The spline can be turned into a loop (Beziergon), which combined with linear handles can also be used to create a polygon. Splines are useful for animations, camera movements, marking areas, or procedural geometry generation.
11 Days Ago
Capture SceneEditorSession in SceneUndoSnapshot Avoid relying on static SceneEditorSession.Active having the correct value Add missing Scene.Push() in GameObjectInspector Fixes Facepunch/sbox-issues#7517
11 Days Ago
Document that we're pushing the scene in ISceneUndoScope.Push
12 Days Ago
Push scene scope when pushing undo scope Fixes Facepunch/sbox-issues#7517
12 Days Ago
Added Object property to WrappedMethod<T> (Fixes Facepunch/sbox-issues#7497) Fixed Show Interpolation Debug not being able to be toggled in the UI. If a ConVar value is a boolean, use its integer form. Fixes Facepunch/sbox-issues#7503 ActionGraph: add warning frame for graphs that can't be saved Fix case where empty editor scene is opened Fixes Facepunch/sbox-issues#7026 Added Show Hitbox Debug option in Debugging Menu in the editor. debug_hitbox ConVar. Can debug hitboxes in the editor or in-game similar to Show Interpolation Debug. Fixes Facepunch/sbox-issues#7505 Update mouse capture position if we get new absolute pos while locked (eg when unfocused, tabbed) Keeps cursor position predictable/reliable, stops occasional out of date position being restored and yeeting my mouse across the screen Only SetCursorPosition while engine window's got mouse focus, prevents unwanted movement in editor Add bitmap loader for IES files, treat them as images Do InputRouter::OnWindowActive based on engine window (not app) focus, fixes click-to-focus going thru as an input and shooting or whatever IES should be using RgbaF16 to avoid banding Default WindowedLocalInstances preference to true Remove logic to migrate from old project cookie, editor layout locations Fix default layout raising cloud browser, do asset browser instead Invert Ladder climbing controls when looking down (just like half-life) Fixed previous Show Hitbox Debug displaying BBox hitboxes in the wrong place Standalone: projects that only have the VR control mode enabled should automatically launch in VR, otherwise default to using the `-vr` launch param Moved DirectoryMetadata from Project Cookies to Project Config folder. Metadata is only saved when changes are made instead of saving a bunch of default values that are identical. If folder metadata isn't found, check ProjectCookie for legacy data Make ResourceLibrary work for all Resources - meaning we can network resource references Revert sbox/commit/11b227aac0ff5e756beae0ced2410445b1270c70, it's causing hammer objects to duplicate for remote clients over the network Gpu decals point towards forward and not left 🤦 Fix Gpu Decals normals not transforming to world space New decal component - https://sbox.game/dev/doc/reference/components/decals/ Add missing shader include Build shaders Decal: Update transform when dirty too Fixes Facepunch/sbox-issues#7518 Add thumb to published workshop clothing Fixed issue with calling RPCs from within RPCs when using HostOnly / permissions and Caller not being set correctly. Fixes Facepunch/sbox-issues#7452 Make use of the return type of Scene.Load and return false if SceneLoadOptions has no valid scene set Calling Network.AssignOwnership with a null connection will pass empty guid instead of throwing NRE Standalone: Separate operations up into build steps & sort Standalone: ignore dxcompiler Shader Graph Functions (Sub-Graphs) (#1806) - Adds a new Asset type with `.shdrfunc` extension. - Shader Functions do not have the "Material" node as their final output node. Instead they have a "Result" node which has a variable amount of inputs defined by the user - You can change the preview type of a Function Output so the value can be previewed while working on it - Dragging a `.shdrfunc` file into a Shader Graph (or a subgraph) will create the subgraph node - When "Add To Node Library" is set to `true` on a Shader Function it will be added to the Right Click -> Create menu - Double Clicking on a Shader Function Node will open the Shader Function - GraphCompiler now keeps track of the current Subgraph stack when compiling the preview and the output code, fully supports subgraphs within subgraphs. - Constant nodes now have a "Preview" input when you're in a Shader Function - Can Right Click -> Create Custom Node with a bunch of nodes already selected to instantly create a Shader Function. Will automatically create all the input parameters and result outputs. - Texture Parameters/Attributes are fed the whole way up from each nested subgraph since you cannot define a default texture in the `.shader` file. - Subgraph Nodes are now colour-coded Green and Result nodes are now colour-coded Blue https://files.facepunch.com/CarsonKompon/2025/January/28_18-05-OddAsiantrumpetfish.mp4 Require DropOwnership() to clear owner instead, document exception Remove Parameter.GetDefaultValue() and grab the current value as the default value Fix Default Color Editor in Subgraph Node Properties Subgraph Node ColorEditors are now bound to the defaults properly Add [SkipHotload] to RcSortedQueue comparator Simple AssetPicker displays Cloud Assets in a separate tab by default (with the option to combine them like it used to be). Show Cloud Assets is set to true by default so you can set Cloud Assets for anything called from native (like material/modeldoc) https://files.facepunch.com/CarsonKompon/2025/February/05_16-10-CoarseTasmaniandevil.mp4 We aren't using m_pTransformBufferPrevData and probably won't need to with compute transforms, also remove m_hTransformTexture which has been deprecated for years Allow texture asset type to be dragged into texture image control Default texture generator to empty image file for null texture properties instead of showing vtex resource control Add "list_sound_handles" console command To help investigate Facepunch/sbox-issues#7450 Warn if the mixing thread is choking https://files.facepunch.com/ziks/2025-02-06/sbox-dev_0l4IVOqJgB.mp4 Facepunch/sbox-issues#7450 Example networking test for asserting certain message types Some safety around ResourceLibrary.Unregister Resources get unregistered in their finalizer, so this race condition could have happened: 1. Resources are loaded 2. Resource library gets cleared 3. Resources are loaded again 4. Old resources get GC'd, remove new resources from ResourceIndex Fix warning when using AssetSystem.CreateResource Remove TypeKey from EditorShortcuts and use Type instead of string as key. EditorShortcuts will now resolve shortcuts in parent classes. Resolves Facepunch/sbox-issues#7531 Remove some logs Standalone: we might need this DLL actually 🙈 Dispose SoundStream in VoiceComponent when finished. Facepunch/sbox-issues#7450 First person: move FireModeSelectAnim weightlists into prefabs Decals gradient uv scales off the proper axis (stops mipmapping way too soon) Delete unused (or should be unused) shaders * ui * ui_texture_on_model * visualize_cloth * visualize_nav * visualize_physics * blur * unlit (ui shader) Deleted unused non-compute gaussian blur shader Delete pre SM4/DX10 compatability code Don't try to disable these shader warnings Revert commit a6f4d1d0dcdda5da45be89b9ece67c21f18e9901 for now since that wasn't the correct solution Another potential VoiceComponent fix for Facepunch/sbox-issues#7450 Unused materials using those unused shaders ActionGraph: don't try to set { init; } properties Fixes Facepunch/sbox-issues#7533 ActionGraph: fixed not being able to save expression delegates Merge branch 'master' into spline-class
12 Days Ago
ActionGraph: fixed not being able to save expression delegates
12 Days Ago
ActionGraph: don't try to set { init; } properties Fixes Facepunch/sbox-issues#7533
12 Days Ago
Unused materials using those unused shaders
12 Days Ago
Rename functions (Tangent -> Handle)
12 Days Ago
Another potential VoiceComponent fix for Facepunch/sbox-issues#7450
12 Days Ago
Merge In/Out & In/OutRelative into a single property.
12 Days Ago
Revert commit a6f4d1d0dcdda5da45be89b9ece67c21f18e9901 for now since that wasn't the correct solution
12 Days Ago
Delete unused (or should be unused) shaders * ui * ui_texture_on_model * visualize_cloth * visualize_nav * visualize_physics * blur * unlit (ui shader) Deleted unused non-compute gaussian blur shader Delete pre SM4/DX10 compatability code Don't try to disable these shader warnings
12 Days Ago
Decals gradient uv scales off the proper axis (stops mipmapping way too soon)
12 Days Ago
First person: move FireModeSelectAnim weightlists into prefabs
12 Days Ago
Dispose SoundStream in VoiceComponent when finished. Facepunch/sbox-issues#7450
12 Days Ago
Standalone: we might need this DLL actually 🙈