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