mirror of
https://gitlab.com/Mr_Goldberg/goldberg_emulator.git
synced 2025-04-15 07:47:37 +02:00
Fix CI to use BAT files only for win build.
For consistency have the CI use the same build path as the end-user builds. Use where.exe from wine-10.0. CI's version is a stub. Use one that actually works, until the CI gets updated. Also, fix broken RtlGenRandom by importing ADVAPI32's GetUserNameW(), and calling GetModuleHandleW() / GetProcAddress() for SystemFunction032(). Instead of trying to use a fake import lib. Bonus: Can now use the host system's username as the default for the steam user name instead of "Noob". ("Noob" is still used as the fallback if this call fails, or the host system's username is invalid.)
This commit is contained in:
parent
abd8300d47
commit
74d22df42e
17 changed files with 926 additions and 317 deletions
.gitlab-ci.ymlbuild_set_protobuf_directories.batbuild_win_debug_experimental.batbuild_win_debug_experimental_steamclient.batbuild_win_debug_lobby_connect.batbuild_win_find_interfaces.batbuild_win_lobby_connect.batbuild_win_release.batbuild_win_release_experimental.batbuild_win_release_experimental_steamclient.bat
dll
generate_all_deps.batgenerate_build_win.batgenerate_build_win_bat.py
|
@ -59,27 +59,29 @@ build_windows:
|
|||
image: fedora:35
|
||||
|
||||
script:
|
||||
- dnf -y install wine wget p7zip sed dos2unix python
|
||||
- dnf -y install wine wget p7zip sed dos2unix python cpio
|
||||
- unix2dos *.txt
|
||||
- unix2dos files_example/*.txt files_example/*/*.txt
|
||||
- sed -i 's/..\\vcpkg\\installed\\/.\\protobuf_/g' build_set_protobuf_directories.bat
|
||||
- wget 'https://gitlab.com/Mr_Goldberg/goldberg_emulator/uploads/48db8f434a193aae872279dc4f5dde6a/sdk_standalone.7z'
|
||||
- wget 'https://gitlab.com/Mr_Goldberg/goldberg_emulator/uploads/0119304e030098b4821d73170fe52084/protobuf_x64-windows-static.7z'
|
||||
- wget 'https://gitlab.com/Mr_Goldberg/goldberg_emulator/uploads/4185a97ab363ddc1859127e59ec68581/protobuf_x86-windows-static.7z'
|
||||
# Ancient CI version of wine doesn't support the where.exe cmd. (It's a stub.) Use the version from wine-10.0.
|
||||
- wget 'https://dl.fedoraproject.org/pub/fedora/linux/updates/41/Everything/x86_64/Packages/w/wine-core-10.0-1.fc41.i686.rpm'
|
||||
- mkdir wine
|
||||
- echo './usr/lib/wine/i386-windows/where.exe' > extract.txt; rpm2cpio wine-core-10.0-1.fc41.i686.rpm | cpio -ivdE extract.txt; rm -f extract.txt
|
||||
- /usr/bin/mv -f ./usr/lib/wine/i386-windows/where.exe wine/; rm -rf ./usr/
|
||||
- /usr/bin/cp -f wine/where.exe /usr/lib/wine/i386-windows/where.exe; /usr/bin/cp -f wine/where.exe /usr/lib64/wine/x86_64-windows/where.exe
|
||||
- 7za x protobuf_x86-windows-static.7z -oprotobuf_x86-windows-static
|
||||
- 7za x protobuf_x64-windows-static.7z -oprotobuf_x64-windows-static
|
||||
- 7za x sdk_standalone.7z -osdk_standalone
|
||||
- DLL_FILES="$(ls dll/*.cpp | tr "\n" " " | tr "/" "\\\\")"; sed "s|dll/\*.cpp|$DLL_FILES|g" -i *.bat
|
||||
- DLL_FILES="$(ls dll/*.proto | tr "\n" " " | tr "/" "\\\\" | sed "s/.proto/.pb.cc/g")"; sed "s|dll/\*.cc|$DLL_FILES|g" -i *.bat
|
||||
- sed "s| /MP12 | /MP4 |g" -i *.bat
|
||||
# CI can't produce PDBs. Throws a bunch of errors, and skips building the PEs.
|
||||
- sed "s| /DDEBUG\:FULL | |g" -i *.bat
|
||||
# Turn on echo.
|
||||
- sed "s|echo off|echo on|g" -i *.bat
|
||||
- python generate_build_win_bat.py
|
||||
- touch CI_BUILD.TAG
|
||||
- export WINEDEBUG=-all
|
||||
- wine cmd /c build_win_release_test.bat
|
||||
- cp build_win_release_test.bat release/build_win_release_test.bat
|
||||
- WINEPATH=$PWD/wine wine cmd /c build_win_debug_experimental_steamclient.bat 8
|
||||
- WINEPATH=$PWD/wine wine cmd /c build_win_release.bat 8
|
||||
|
||||
artifacts:
|
||||
paths:
|
||||
- release/
|
||||
|
@ -162,9 +164,9 @@ deploy_all:
|
|||
- mv linux release/
|
||||
- shopt -s extglob
|
||||
- rm -rf .g*
|
||||
- rm -rf !(release)
|
||||
- mv release/* ./
|
||||
- rm -rf release
|
||||
- rm -rf !(release|debug)
|
||||
# - mv release/* ./
|
||||
# - rm -rf release
|
||||
- echo $CI_JOB_ID > job_id
|
||||
- tree
|
||||
artifacts:
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
SET PROTOBUF_X86_DIRECTORY=..\vcpkg\installed\x86-windows-static
|
||||
SET PROTOBUF_X64_DIRECTORY=..\vcpkg\installed\x64-windows-static
|
||||
|
||||
SET TEST_A=%cd%
|
||||
REM CI doesn't like this var expansion of "%cd%\".
|
||||
cd ..\vcpkg\installed\x86-windows-static
|
||||
SET PROTOBUF_X86_DIRECTORY=%cd%
|
||||
cd %TEST_A%
|
||||
cd ..\vcpkg\installed\x64-windows-static
|
||||
SET PROTOBUF_X64_DIRECTORY=%cd%
|
||||
cd %TEST_A%
|
||||
|
||||
rem location of protoc in protobuf directories:
|
||||
SET PROTOC_X86_EXE=%PROTOBUF_X86_DIRECTORY%\tools\protobuf\protoc.exe
|
||||
|
|
|
@ -1,38 +1,9 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\experimental ( mkdir build\experimental )
|
||||
IF NOT EXIST build\experimental\debug ( mkdir build\experimental\debug )
|
||||
IF NOT EXIST build\experimental\debug\x86 ( mkdir build\experimental\debug\x86 )
|
||||
IF NOT EXIST build\experimental\debug\x64 ( mkdir build\experimental\debug\x64 )
|
||||
IF EXIST build\experimental\debug\x86\*.* ( DEL /F /S /Q build\experimental\debug\x86\*.* )
|
||||
IF EXIST build\experimental\debug\x64\*.* ( DEL /F /S /Q build\experimental\debug\x64\*.* )
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT EXIST debug ( mkdir debug )
|
||||
IF NOT EXIST debug\experimental ( mkdir debug\experimental )
|
||||
IF EXIST debug\experimental\*.* ( DEL /F /S /Q debug\experimental\*.* )
|
||||
SET SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD=1
|
||||
SET SKIP_STEAMCLIENT_LOADER=1
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\experimental\debug\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ /DEMU_EXPERIMENTAL_BUILD /DCONTROLLER_SUPPORT /DEMU_OVERLAY /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental\steam_api.pdb /link /OUT:%OLD_DIR%\debug\experimental\steam_api.dll
|
||||
cl /LD %OLD_DIR%/steamclient.cpp /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental\steamclient.pdb /link /OUT:%OLD_DIR%\debug\experimental\steamclient.dll
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\experimental\debug\x64
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ /DEMU_EXPERIMENTAL_BUILD /DCONTROLLER_SUPPORT /DEMU_OVERLAY /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental\steam_api64.pdb /link /OUT:%OLD_DIR%\debug\experimental\steam_api64.dll
|
||||
cl /LD %OLD_DIR%/steamclient.cpp /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental\steamclient64.pdb /link /OUT:%OLD_DIR%\debug\experimental\steamclient64.dll
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
call build_win_debug_experimental_steamclient.bat
|
||||
|
|
|
@ -1,36 +1,141 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\experimental_steamclient ( mkdir build\experimental_steamclient )
|
||||
IF NOT EXIST build\experimental_steamclient\debug ( mkdir build\experimental_steamclient\debug )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x86 ( mkdir build\experimental_steamclient\debug\x86 )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x64 ( mkdir build\experimental_steamclient\debug\x64 )
|
||||
IF EXIST build\experimental_steamclient\debug\x86\*.* ( DEL /F /S /Q build\experimental_steamclient\debug\x86\*.* )
|
||||
IF EXIST build\experimental_steamclient\debug\x64\*.* ( DEL /F /S /Q build\experimental_steamclient\debug\x64\*.* )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\experimental\steamclient\debug\x86\*.* ( DEL /F /S /Q build\experimental\steamclient\debug\x86\*.* )
|
||||
IF EXIST build\experimental\steamclient\debug\x64\*.* ( DEL /F /S /Q build\experimental\steamclient\debug\x64\*.* )
|
||||
|
||||
IF NOT EXIST debug ( mkdir debug )
|
||||
IF NOT EXIST debug\experimental_steamclient ( mkdir debug\experimental_steamclient )
|
||||
IF EXIST debug\experimental_steamclient\*.* ( DEL /F /S /Q debug\experimental_steamclient\*.* )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
setlocal
|
||||
|
||||
IF DEFINED SKIP_X86 GOTO LK_X64
|
||||
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\experimental_steamclient\debug\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ /DSTEAMCLIENT_DLL /DCONTROLLER_SUPPORT /DEMU_EXPERIMENTAL_BUILD /DEMU_OVERLAY /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental_steamclient\steamclient.pdb /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient.dll
|
||||
cl %OLD_DIR%/steamclient_loader/*.cpp advapi32.lib user32.lib /EHsc /MP12 /Ox /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x32.pdb /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x32.exe
|
||||
|
||||
REM Non-STEAMCLIENT_DLL debug sc_deps.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\debug\x86\sc_deps"
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\SC_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_SC_DEPS_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_SC_DEPS_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_SC_DEPS_X86.LKS
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_EXP_STEAMCLIENT_DLL_X86
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL debug steam_api.dll.
|
||||
cd "%OLD_DIR%\build\experimental\debug\x86\"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMAPI_NON_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMAPI_NON_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental\steam_api.dll > %CDS_DIR%\DEBUG_STEAMAPI_NON_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental\steam_api.pdb >> %CDS_DIR%\DEBUG_STEAMAPI_NON_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\EXPERIMENTAL.BLD @%CDS_DIR%\EXPERIMENTAL.LKS @%CDS_DIR%\DEBUG_ALL_DEPS_X86.LKS @%CDS_DIR%\DEBUG_SC_DEPS_X86.LKS @%CDS_DIR%\DEBUG_STEAMAPI_NON_X86.LKS
|
||||
|
||||
:LK_EXP_STEAMCLIENT_DLL_X86
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD GOTO LK_STEAMCLIENT_DLL_X86
|
||||
|
||||
REM Link STEAMCLIENT_DLL debug steamclient.dll
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\debug\x86"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient.dll > %CDS_DIR%\DEBUG_STEAMCLIENT_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental_steamclient\steamclient.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS @%CDS_DIR%\DEBUG_ALL_DEPS_X86.LKS @%CDS_DIR%\DEBUG_SC_DEPS_X86.LKS @%CDS_DIR%\DEBUG_STEAMCLIENT_X86.LKS
|
||||
|
||||
:LK_STEAMCLIENT_DLL_X86
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_STEAMCLIENT_LOADER_X86
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL debug steamclient.dll.
|
||||
cd "%OLD_DIR%\build\experimental\debug\x86\"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental\steamclient.dll > %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental\steamclient.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\STEAMCLIENT.BLD @%CDS_DIR%\DEBUG_STEAMCLIENT_NON_X86.LKS
|
||||
|
||||
:LK_STEAMCLIENT_LOADER_X86
|
||||
|
||||
IF DEFINED SKIP_STEAMCLIENT_LOADER GOTO LK_X64
|
||||
|
||||
REM Build steamclient_loader debug x86.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\steamclient_loader\debug\x86"
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x32.exe >> %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x32.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS )
|
||||
cl @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\STEAMCLIENT_LOADER.LKS @%CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
|
||||
:LK_X64
|
||||
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
|
||||
IF DEFINED SKIP_X64 GOTO LK_END
|
||||
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\experimental_steamclient\debug\x64
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ /DSTEAMCLIENT_DLL /DCONTROLLER_SUPPORT /DEMU_EXPERIMENTAL_BUILD /DEMU_OVERLAY /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental_steamclient\steamclient64.pdb /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient64.dll
|
||||
cl %OLD_DIR%/steamclient_loader/*.cpp advapi32.lib user32.lib /EHsc /MP12 /Ox /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x64.pdb /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x64.exe
|
||||
|
||||
REM Non-STEAMCLIENT_DLL debug sc_deps.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\debug\x64\sc_deps"
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\SC_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_SC_DEPS_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_SC_DEPS_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_SC_DEPS_X64.LKS
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_EXP_STEAMCLIENT_DLL_X64
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL debug steam_api64.dll.
|
||||
cd "%OLD_DIR%\build\experimental\debug\x64\"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMAPI_NON_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMAPI_NON_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental\steam_api64.dll > %CDS_DIR%\DEBUG_STEAMAPI_NON_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental\steam_api64.pdb >> %CDS_DIR%\DEBUG_STEAMAPI_NON_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\EXPERIMENTAL.BLD @%CDS_DIR%\EXPERIMENTAL.LKS @%CDS_DIR%\DEBUG_ALL_DEPS_X64.LKS @%CDS_DIR%\DEBUG_SC_DEPS_X64.LKS @%CDS_DIR%\DEBUG_STEAMAPI_NON_X64.LKS
|
||||
|
||||
:LK_EXP_STEAMCLIENT_DLL_X64
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD GOTO LK_STEAMCLIENT_DLL_X64
|
||||
|
||||
REM Link STEAMCLIENT_DLL debug steamclient64.dll
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\debug\x64"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient64.dll > %CDS_DIR%\DEBUG_STEAMCLIENT_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental_steamclient\steamclient64.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS @%CDS_DIR%\DEBUG_ALL_DEPS_X64.LKS @%CDS_DIR%\DEBUG_SC_DEPS_X64.LKS @%CDS_DIR%\DEBUG_STEAMCLIENT_X64.LKS
|
||||
|
||||
:LK_STEAMCLIENT_DLL_X64
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_STEAMCLIENT_LOADER_X64
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL debug steamclient64.dll.
|
||||
cd "%OLD_DIR%\build\experimental\debug\x64\"
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental\steamclient64.dll > %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental\steamclient64.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_NON_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\STEAMCLIENT.BLD @%CDS_DIR%\DEBUG_STEAMCLIENT_NON_X64.LKS
|
||||
|
||||
:LK_STEAMCLIENT_LOADER_X64
|
||||
|
||||
IF DEFINED SKIP_STEAMCLIENT_LOADER GOTO LK_END
|
||||
|
||||
REM Build steamclient_loader debug x64.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\steamclient_loader\debug\x64"
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x64.exe >> %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\experimental_steamclient\steamclient_loader_x64.pdb >> %CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS )
|
||||
cl @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\STEAMCLIENT_LOADER.LKS @%CDS_DIR%\DEBUG_STEAMCLIENT_LOADER_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
|
||||
:LK_END
|
||||
|
||||
endlocal
|
||||
|
||||
copy Readme_experimental.txt debug\experimental\Readme.txt
|
||||
copy steamclient_loader\ColdClientLoader.ini debug\experimental_steamclient\
|
||||
copy Readme_experimental_steamclient.txt debug\experimental_steamclient\Readme.txt
|
||||
|
|
|
@ -1,25 +1,46 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\debug ( mkdir build\debug )
|
||||
IF NOT EXIST build\debug\lobby_connect ( mkdir build\debug\lobby_connect )
|
||||
IF NOT EXIST build\debug\lobby_connect\x86 ( mkdir build\debug\lobby_connect\x86 )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\debug\lobby_connect\x86\*.* ( DEL /F /S /Q build\debug\lobby_connect\x86\*.* )
|
||||
IF EXIST build\debug\lobby_connect\x64\*.* ( DEL /F /S /Q build\debug\lobby_connect\x64\*.* )
|
||||
|
||||
IF NOT EXIST debug ( mkdir debug )
|
||||
IF NOT EXIST debug\lobby_connect ( mkdir debug\lobby_connect )
|
||||
IF EXIST debug\lobby_connect\*.* ( DEL /F /S /Q debug\lobby_connect\*.* )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\debug\lobby_connect\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /DNO_DISK_WRITES /DLOBBY_CONNECT /DEMU_RELEASE_BUILD /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ %OLD_DIR%/lobby_connect.cpp %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Comdlg32.lib /EHsc /MP12 /Ox /DDEBUG:FULL /Zi /Fd:%OLD_DIR%\debug\lobby_connect\lobby_connect.pdb /link /OUT:%OLD_DIR%\debug\lobby_connect\lobby_connect.exe
|
||||
cd %OLD_DIR%\build\lobby_connect\debug\x86
|
||||
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\debug\lobby_connect\lobby_connect_x32.exe >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS
|
||||
echo /link /IMPLIB:%cd%\lobby_connect_x32.lib >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\lobby_connect\lobby_connect_x32.pdb >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS )
|
||||
|
||||
cl @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\LOBBY_CONNECT.LKS @%CDS_DIR%\DEBUG_LOBBY_CONNECT_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
copy Readme_lobby_connect.txt debug\lobby_connect\Readme.txt
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
cd %OLD_DIR%\build\lobby_connect\debug\x64
|
||||
|
||||
cl /c @%CDS_DIR%\DEBUG.BLD @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\debug\lobby_connect\lobby_connect_x64.exe >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS
|
||||
echo /link /IMPLIB:%cd%\lobby_connect_x64.lib >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\debug\lobby_connect\lobby_connect_x64.pdb >> %CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS )
|
||||
|
||||
cl @%CDS_DIR%\DEBUG.LKS @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\LOBBY_CONNECT.LKS @%CDS_DIR%\DEBUG_LOBBY_CONNECT_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
copy Readme_lobby_connect.txt debug\lobby_connect\Readme.txt
|
||||
|
|
|
@ -1,20 +1,39 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\release ( mkdir build\release )
|
||||
IF NOT EXIST build\release\tools ( mkdir build\release\tools )
|
||||
IF NOT EXIST build\release\tools\x86 ( mkdir build\release\tools\x86 )
|
||||
IF EXIST build\release\tools\x86\*.* ( DEL /F /S /Q build\release\tools\x86\*.* )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\release\tools\x86\*.* ( DEL /F /S /Q build\release\tools\x86\*.* )
|
||||
IF EXIST build\release\tools\x64\*.* ( DEL /F /S /Q build\release\tools\x64\*.* )
|
||||
|
||||
IF NOT EXIST release\tools ( mkdir release\tools )
|
||||
IF EXIST release\tools\*.* ( DEL /F /S /Q release\tools\*.* )
|
||||
|
||||
setlocal
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\release\tools\x86
|
||||
cl %OLD_DIR%/generate_interfaces_file.cpp /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\tools\generate_interfaces_file.exe
|
||||
cd %OLD_DIR%\build\release\tools\x86
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\GENERATE_INTERFACES_FILE.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS )
|
||||
where "generate_interfaces_file.obj" > %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\tools\generate_interfaces_file_x32.exe >> %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\tools\generate_interfaces_file_x32.pdb >> %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS )
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\GENERATE_INTERFACES_FILE.LKS @%CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
copy Readme_generate_interfaces.txt release\tools\Readme_generate_interfaces.txt
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
call build_env_x64.bat
|
||||
cd %OLD_DIR%\build\release\tools\x64
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\GENERATE_INTERFACES_FILE.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS )
|
||||
where "generate_interfaces_file.obj" > %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\tools\generate_interfaces_file_x64.exe >> %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\tools\generate_interfaces_file_x64.pdb >> %CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS )
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\GENERATE_INTERFACES_FILE.LKS @%CDS_DIR%\RELEASE_GENERATE_INTERFACES_FILE_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
copy Readme_generate_interfaces.txt release\tools\Readme_generate_interfaces.txt
|
||||
|
|
|
@ -1,23 +1,46 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\release ( mkdir build\release )
|
||||
IF NOT EXIST build\release\lobby_connect ( mkdir build\release\lobby_connect )
|
||||
IF NOT EXIST build\release\lobby_connect\x86 ( mkdir build\release\lobby_connect\x86 )
|
||||
IF EXIST build\release\lobby_connect\x86\*.* ( DEL /F /S /Q build\release\lobby_connect\x86\*.* )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\release\lobby_connect\x86\*.* ( DEL /F /S /Q build\release\lobby_connect\x86\*.* )
|
||||
IF EXIST build\release\lobby_connect\x64\*.* ( DEL /F /S /Q build\release\lobby_connect\x64\*.* )
|
||||
|
||||
IF NOT EXIST release\lobby_connect ( mkdir release\lobby_connect )
|
||||
IF EXIST release\lobby_connect\*.* ( DEL /F /S /Q release\lobby_connect\*.* )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd build\release\lobby_connect\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /DNO_DISK_WRITES /DLOBBY_CONNECT /DEMU_RELEASE_BUILD /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ %OLD_DIR%/lobby_connect.cpp %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Comdlg32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\lobby_connect\lobby_connect.exe
|
||||
cd %OLD_DIR%\build\lobby_connect\release\x86
|
||||
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\lobby_connect\lobby_connect_x32.exe >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS
|
||||
echo /link /IMPLIB:%cd%\lobby_connect_x32.lib >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\lobby_connect\lobby_connect_x32.pdb >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS )
|
||||
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\LOBBY_CONNECT.LKS @%CDS_DIR%\RELEASE_LOBBY_CONNECT_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
copy Readme_lobby_connect.txt release\lobby_connect\Readme.txt
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
cd %OLD_DIR%\build\lobby_connect\release\x64
|
||||
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\lobby_connect\lobby_connect_x64.exe >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS
|
||||
echo /link /IMPLIB:%cd%\lobby_connect_x64.lib >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\lobby_connect\lobby_connect_x64.pdb >> %CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS )
|
||||
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\LOBBY_CONNECT.LKS @%CDS_DIR%\RELEASE_LOBBY_CONNECT_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
copy Readme_lobby_connect.txt release\lobby_connect\Readme.txt
|
||||
|
|
|
@ -1,42 +1,51 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\release ( mkdir build\release )
|
||||
IF NOT EXIST build\release\x86 ( mkdir build\release\x86 )
|
||||
IF NOT EXIST build\release\x64 ( mkdir build\release\x64 )
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\release\x86\*.* ( DEL /F /S /Q build\release\x86\*.* )
|
||||
IF EXIST build\release\x64\*.* ( DEL /F /S /Q build\release\x64\*.* )
|
||||
|
||||
IF NOT EXIST release ( mkdir release )
|
||||
IF EXIST release\steam_settings.EXAMPLE ( DEL /F /S /Q release\steam_settings.EXAMPLE )
|
||||
IF EXIST release\*.dll ( DEL /F /Q release\*.dll )
|
||||
IF EXIST release\*.txt ( DEL /F /Q release\*.txt )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
cd build\release\x86
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\steam_api.dll
|
||||
cd %OLD_DIR%\build\release\x86
|
||||
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\DLL_MAIN_CPP.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\steam_api.dll >> %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\steam_api.pdb >> %CDS_DIR%\RELEASE_BASE_DLL_X86.LKS )
|
||||
|
||||
cl /LD @%CDS_DIR%/RELEASE.LKS @%CDS_DIR%/PROTOBUF_X86.LKS @%CDS_DIR%/DLL_MAIN_CPP.LKS @%CDS_DIR%\RELEASE_BASE_DLL_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
cd build\release\x64
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\steam_api64.dll
|
||||
cd %OLD_DIR%\build\release\x64
|
||||
|
||||
cl /c @%CDS_DIR%/RELEASE.BLD @%CDS_DIR%/PROTOBUF_X64.BLD @%CDS_DIR%/DLL_MAIN_CPP.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\steam_api64.dll >> %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\steam_api64.pdb >> %CDS_DIR%\RELEASE_BASE_DLL_X64.LKS )
|
||||
|
||||
cl /LD @%CDS_DIR%/RELEASE.LKS @%CDS_DIR%/PROTOBUF_X64.LKS @%CDS_DIR%/DLL_MAIN_CPP.LKS @%CDS_DIR%\RELEASE_BASE_DLL_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
|
||||
endlocal
|
||||
copy Readme_release.txt release\Readme.txt
|
||||
xcopy /s files_example\* release\
|
||||
call build_win_release_experimental.bat
|
||||
call build_win_release_experimental_steamclient.bat
|
||||
call build_win_lobby_connect.bat
|
||||
call build_win_find_interfaces.bat
|
||||
|
|
|
@ -1,37 +1,9 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\experimental ( mkdir build\experimental )
|
||||
IF NOT EXIST build\experimental\release ( mkdir build\experimental\release )
|
||||
IF NOT EXIST build\experimental\release\x86 ( mkdir build\experimental\release\x86 )
|
||||
IF NOT EXIST build\experimental\release\x64 ( mkdir build\experimental\release\x64 )
|
||||
IF EXIST build\experimental\release\x86\*.* ( DEL /F /S /Q build\experimental\release\x86\*.* )
|
||||
IF EXIST build\experimental\release\x64\*.* ( DEL /F /S /Q build\experimental\release\x64\*.* )
|
||||
|
||||
IF NOT EXIST release\experimental ( mkdir release\experimental )
|
||||
IF EXIST release\experimental\*.* ( DEL /F /S /Q release\experimental\*.* )
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
SET SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD=1
|
||||
SET SKIP_STEAMCLIENT_LOADER=1
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\experimental\release\x86"
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DCONTROLLER_SUPPORT /DEMU_OVERLAY /DNDEBUG /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental\steam_api.dll
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DNDEBUG %OLD_DIR%/steamclient.cpp /EHsc /MP4 /Ox /link /OUT:%OLD_DIR%\release\experimental\steamclient.dll
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "%OLD_DIR%\build\experimental\release\x64"
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DCONTROLLER_SUPPORT /DEMU_OVERLAY /DNDEBUG /I%OLD_DIR%/ImGui /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental\steam_api64.dll
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DNDEBUG %OLD_DIR%/steamclient.cpp /EHsc /MP4 /Ox /link /OUT:%OLD_DIR%\release\experimental\steamclient64.dll
|
||||
cd %OLD_DIR%
|
||||
copy Readme_experimental.txt release\experimental\Readme.txt
|
||||
endlocal
|
||||
call build_win_release_experimental_steamclient.bat
|
||||
|
|
|
@ -1,38 +1,141 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\experimental ( mkdir build\experimental )
|
||||
IF NOT EXIST build\experimental\steamclient ( mkdir build\experimental\steamclient )
|
||||
IF NOT EXIST build\experimental\steamclient\release ( mkdir build\experimental\steamclient\release )
|
||||
IF NOT EXIST build\experimental\steamclient\release\x86 ( mkdir build\experimental\steamclient\release\x86 )
|
||||
IF NOT EXIST build\experimental\steamclient\release\x64 ( mkdir build\experimental\steamclient\release\x64 )
|
||||
|
||||
SET OLD_DIR=%cd%
|
||||
|
||||
IF NOT "%1" == "" ( SET JOB_COUNT=%~1 )
|
||||
|
||||
IF NOT DEFINED BUILT_ALL_DEPS ( call generate_all_deps.bat )
|
||||
|
||||
IF EXIST build\experimental\steamclient\release\x86\*.* ( DEL /F /S /Q build\experimental\steamclient\release\x86\*.* )
|
||||
IF EXIST build\experimental\steamclient\release\x64\*.* ( DEL /F /S /Q build\experimental\steamclient\release\x64\*.* )
|
||||
|
||||
IF NOT EXIST release\experimental_steamclient ( mkdir release\experimental_steamclient )
|
||||
IF EXIST release\experimental_steamclient\*.* ( DEL /F /S /Q release\experimental_steamclient\*.* )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
setlocal
|
||||
|
||||
IF DEFINED SKIP_X86 GOTO LK_X64
|
||||
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\experimental\steamclient\release\x86"
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DSTEAMCLIENT_DLL /DCONTROLLER_SUPPORT /DEMU_OVERLAY /I%OLD_DIR%/ImGui /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X86_DIRECTORY%\include\ /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X86_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient.dll
|
||||
cl %OLD_DIR%/steamclient_loader/*.cpp advapi32.lib user32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x32.exe
|
||||
|
||||
REM Non-STEAMCLIENT_DLL release sc_deps.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\release\x86\sc_deps"
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X86.BLD @%CDS_DIR%\SC_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_SC_DEPS_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_SC_DEPS_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_SC_DEPS_X86.LKS
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_EXP_STEAMCLIENT_DLL_X86
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL release steam_api.dll.
|
||||
cd "%OLD_DIR%\build\experimental\release\x86\"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMAPI_NON_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMAPI_NON_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental\steam_api.dll > %CDS_DIR%\RELEASE_STEAMAPI_NON_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental\steam_api.pdb >> %CDS_DIR%\RELEASE_STEAMAPI_NON_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\EXPERIMENTAL.BLD @%CDS_DIR%\EXPERIMENTAL.LKS @%CDS_DIR%\RELEASE_ALL_DEPS_X86.LKS @%CDS_DIR%\RELEASE_SC_DEPS_X86.LKS @%CDS_DIR%\RELEASE_STEAMAPI_NON_X86.LKS
|
||||
|
||||
:LK_EXP_STEAMCLIENT_DLL_X86
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD GOTO LK_STEAMCLIENT_DLL_X86
|
||||
|
||||
REM Link STEAMCLIENT_DLL release steamclient.dll
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\release\x86"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient.dll > %CDS_DIR%\RELEASE_STEAMCLIENT_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental_steamclient\steamclient.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X86.LKS @%CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS @%CDS_DIR%\RELEASE_ALL_DEPS_X86.LKS @%CDS_DIR%\RELEASE_SC_DEPS_X86.LKS @%CDS_DIR%\RELEASE_STEAMCLIENT_X86.LKS
|
||||
|
||||
:LK_STEAMCLIENT_DLL_X86
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_STEAMCLIENT_LOADER_X86
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL release steamclient.dll.
|
||||
cd "%OLD_DIR%\build\experimental\release\x86\"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X86.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental\steamclient.dll > %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental\steamclient.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X86.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\STEAMCLIENT.BLD @%CDS_DIR%\RELEASE_STEAMCLIENT_NON_X86.LKS
|
||||
|
||||
:LK_STEAMCLIENT_LOADER_X86
|
||||
|
||||
IF DEFINED SKIP_STEAMCLIENT_LOADER GOTO LK_X64
|
||||
|
||||
REM Build steamclient_loader release x86.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\steamclient_loader\release\x86"
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x32.exe >> %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x32.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS )
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\STEAMCLIENT_LOADER.LKS @%CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
copy steamclient_loader\ColdClientLoader.ini release\experimental_steamclient\
|
||||
|
||||
:LK_X64
|
||||
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
|
||||
IF DEFINED SKIP_X64 GOTO LK_END
|
||||
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\experimental\steamclient\release\x64"
|
||||
cl %OLD_DIR%/dll/rtlgenrandom.c %OLD_DIR%/dll/rtlgenrandom.def
|
||||
cl /LD /DEMU_RELEASE_BUILD /DEMU_EXPERIMENTAL_BUILD /DSTEAMCLIENT_DLL /DCONTROLLER_SUPPORT /DEMU_OVERLAY /I%OLD_DIR%/ImGui /DNDEBUG /I%OLD_DIR%/%PROTOBUF_X64_DIRECTORY%\include\ /I%OLD_DIR%/overlay_experimental %OLD_DIR%/dll/*.cpp %OLD_DIR%/dll/*.cc %OLD_DIR%/detours/*.cpp %OLD_DIR%/controller/gamepad.c %OLD_DIR%/ImGui/*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_dx*.cpp %OLD_DIR%/ImGui/backends/imgui_impl_win32.cpp %OLD_DIR%/ImGui/backends/imgui_impl_vulkan.cpp %OLD_DIR%/ImGui/backends/imgui_impl_opengl3.cpp %OLD_DIR%/ImGui/backends/imgui_win_shader_blobs.cpp %OLD_DIR%/overlay_experimental/*.cpp %OLD_DIR%/overlay_experimental/windows/*.cpp %OLD_DIR%/overlay_experimental/System/*.cpp "%OLD_DIR%/%PROTOBUF_X64_LIBRARY%" opengl32.lib Iphlpapi.lib Ws2_32.lib rtlgenrandom.lib Shell32.lib Winmm.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient64.dll
|
||||
cl %OLD_DIR%/steamclient_loader/*.cpp advapi32.lib user32.lib /EHsc /MP12 /Ox /link /debug:none /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x64.exe
|
||||
|
||||
REM Non-STEAMCLIENT_DLL release sc_deps.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\release\x64\sc_deps"
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\PROTOBUF_X64.BLD @%CDS_DIR%\SC_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_SC_DEPS_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_SC_DEPS_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_SC_DEPS_X64.LKS
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_EXP_STEAMCLIENT_DLL_X64
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL release steam_api64.dll.
|
||||
cd "%OLD_DIR%\build\experimental\release\x64\"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMAPI_NON_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMAPI_NON_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental\steam_api64.dll > %CDS_DIR%\RELEASE_STEAMAPI_NON_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental\steam_api64.pdb >> %CDS_DIR%\RELEASE_STEAMAPI_NON_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\EXPERIMENTAL.BLD @%CDS_DIR%\EXPERIMENTAL.LKS @%CDS_DIR%\RELEASE_ALL_DEPS_X64.LKS @%CDS_DIR%\RELEASE_SC_DEPS_X64.LKS @%CDS_DIR%\RELEASE_STEAMAPI_NON_X64.LKS
|
||||
|
||||
:LK_EXP_STEAMCLIENT_DLL_X64
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_STEAMCLIENT_BUILD GOTO LK_STEAMCLIENT_DLL_X64
|
||||
|
||||
REM Link STEAMCLIENT_DLL release steamclient64.dll
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\release\x64"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient64.dll > %CDS_DIR%\RELEASE_STEAMCLIENT_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental_steamclient\steamclient64.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\PROTOBUF_X64.LKS @%CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS @%CDS_DIR%\RELEASE_ALL_DEPS_X64.LKS @%CDS_DIR%\RELEASE_SC_DEPS_X64.LKS @%CDS_DIR%\RELEASE_STEAMCLIENT_X64.LKS
|
||||
|
||||
:LK_STEAMCLIENT_DLL_X64
|
||||
|
||||
IF DEFINED SKIP_EXPERIMENTAL_BUILD GOTO LK_STEAMCLIENT_LOADER_X64
|
||||
|
||||
REM Link Non-STEAMCLIENT_DLL release steamclient64.dll.
|
||||
cd "%OLD_DIR%\build\experimental\release\x64\"
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X64.LKS )
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental\steamclient64.dll > %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental\steamclient64.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_NON_X64.LKS )
|
||||
cl /LD @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\STEAMCLIENT.BLD @%CDS_DIR%\RELEASE_STEAMCLIENT_NON_X64.LKS
|
||||
|
||||
:LK_STEAMCLIENT_LOADER_X64
|
||||
|
||||
IF DEFINED SKIP_STEAMCLIENT_LOADER GOTO LK_END
|
||||
|
||||
REM Build steamclient_loader release x64.
|
||||
cd "%OLD_DIR%\build\experimental_steamclient\steamclient_loader\release\x64"
|
||||
cl /c @%CDS_DIR%\RELEASE.BLD @%CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS
|
||||
echo /link /OUT:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x64.exe >> %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /PDB:%OLD_DIR%\release\experimental_steamclient\steamclient_loader_x64.pdb >> %CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS )
|
||||
cl @%CDS_DIR%\RELEASE.LKS @%CDS_DIR%\STEAMCLIENT_LOADER.LKS @%CDS_DIR%\RELEASE_STEAMCLIENT_LOADER_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
|
||||
:LK_END
|
||||
|
||||
endlocal
|
||||
|
||||
copy Readme_experimental.txt release\experimental\Readme.txt
|
||||
copy steamclient_loader\ColdClientLoader.ini release\experimental_steamclient\
|
||||
copy Readme_experimental_steamclient.txt release\experimental_steamclient\Readme.txt
|
||||
endlocal
|
31
dll/base.cpp
31
dll/base.cpp
|
@ -19,14 +19,37 @@
|
|||
|
||||
#ifdef __WINDOWS__
|
||||
|
||||
HMODULE hadvapi32 = NULL;
|
||||
BOOLEAN (NTAPI *real_RtlGenRandom)(PVOID,ULONG) = NULL;
|
||||
|
||||
static void
|
||||
randombytes(char * const buf, const size_t size)
|
||||
{
|
||||
while (!RtlGenRandom((PVOID) buf, (ULONG) size)) {
|
||||
PRINT_DEBUG("RtlGenRandom ERROR\n");
|
||||
Sleep(100);
|
||||
PRINT_DEBUG("%s %p %zu.\n", "mine_RtlGenRandom() called.", buf, size);
|
||||
if (hadvapi32 == NULL) {
|
||||
hadvapi32 = GetModuleHandleW(L"advapi32.dll");
|
||||
if (hadvapi32 == NULL) {
|
||||
PRINT_DEBUG("%s.\n", "GetModuleHandle() failed for advapi32.dll");
|
||||
}
|
||||
PRINT_DEBUG("advapi32.dll handle: 0x%x.\n", hadvapi32);
|
||||
}
|
||||
|
||||
if (hadvapi32 != NULL &&
|
||||
real_RtlGenRandom == NULL) {
|
||||
real_RtlGenRandom = (BOOLEAN(NTAPI *)(PVOID,ULONG))GetProcAddress(hadvapi32, "SystemFunction036");
|
||||
if (real_RtlGenRandom == NULL) {
|
||||
PRINT_DEBUG("%s.\n", "GetProcAddress() failed for RtlGenRandom()");
|
||||
}
|
||||
PRINT_DEBUG("real_RtlGenRandom address: 0x%p.\n", real_RtlGenRandom);
|
||||
}
|
||||
if (real_RtlGenRandom != NULL) {
|
||||
PRINT_DEBUG("%s.\n", "Calling real_RtlGenRandom");
|
||||
while (!real_RtlGenRandom((PVOID) buf, (ULONG) size)) {
|
||||
PRINT_DEBUG("RtlGenRandom ERROR\n");
|
||||
Sleep(100);
|
||||
}
|
||||
PRINT_DEBUG("%s.\n", "real_RtlGenRandom returned");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
std::string get_env_variable(std::string name)
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
#include <windows.h>
|
||||
#define RtlGenRandom SystemFunction036
|
||||
#define DLLEXPORT __declspec(dllexport)
|
||||
DLLEXPORT BOOLEAN WINAPI RtlGenRandom(PVOID in, ULONG len) {}
|
|
@ -1,3 +0,0 @@
|
|||
LIBRARY advapi32.dll
|
||||
EXPORTS
|
||||
SystemFunction036
|
|
@ -217,9 +217,39 @@ uint32 create_localstorage_settings(Settings **settings_client_out, Settings **s
|
|||
load_custom_broadcasts(Local_Storage::get_game_settings_path() + "custom_master_server.txt", custom_master_server);
|
||||
|
||||
// Acount name
|
||||
char name[32] = {};
|
||||
char name[32] = { '\0' };
|
||||
if (local_storage->get_data_settings("account_name.txt", name, sizeof(name) - 1) <= 0) {
|
||||
strcpy(name, DEFAULT_NAME);
|
||||
PRINT_DEBUG("%s.\n", "Attempting to set steam user name from system user name");
|
||||
#if defined(STEAM_WIN32)
|
||||
DWORD username_dword = 32;
|
||||
wchar_t username[32] = { '\0' };
|
||||
if (GetUserNameW((wchar_t*)&username, &username_dword) == TRUE) {
|
||||
std::wstring username_wstr(username);
|
||||
std::string username_str = utf8_encode(username_wstr);
|
||||
size_t username_len = username_str.length();
|
||||
if (username_len > 0 &&
|
||||
username_len < 31) {
|
||||
memcpy(&name, username_str.c_str(), username_len);
|
||||
name[31] = '\0';
|
||||
}
|
||||
}
|
||||
#else
|
||||
char * env_username = getenv("USER");
|
||||
if (env_username != NULL) {
|
||||
size_t username_len = strlen(env_username);
|
||||
if (username_len > 0 &&
|
||||
username_len < 31) {
|
||||
memcpy(&name, env_username, username_len);
|
||||
name[31] = '\0';
|
||||
}
|
||||
}
|
||||
#endif
|
||||
char empty_name[32] = { '\0' };
|
||||
if (memcmp(name, empty_name, 32) == 0) {
|
||||
PRINT_DEBUG("%s %s.\n", "Setting steam user name to", DEFAULT_NAME);
|
||||
strcpy(name, DEFAULT_NAME);
|
||||
}
|
||||
PRINT_DEBUG("Username: %s.\n", name);
|
||||
local_storage->store_data_settings("account_name.txt", name, strlen(name));
|
||||
}
|
||||
|
||||
|
|
57
generate_all_deps.bat
Normal file
57
generate_all_deps.bat
Normal file
|
@ -0,0 +1,57 @@
|
|||
@echo off
|
||||
cd /d "%~dp0"
|
||||
|
||||
call generate_build_win.bat
|
||||
|
||||
IF EXIST build\all_deps\debug\x86\*.* ( DEL /F /S /Q build\all_deps\debug\x86\*.* )
|
||||
IF EXIST build\all_deps\debug\x64\*.* ( DEL /F /S /Q build\all_deps\debug\x64\*.* )
|
||||
IF EXIST build\all_deps\release\x86\*.* ( DEL /F /S /Q build\all_deps\release\x86\*.* )
|
||||
IF EXIST build\all_deps\release\x64\*.* ( DEL /F /S /Q build\all_deps\release\x64\*.* )
|
||||
|
||||
call build_set_protobuf_directories.bat
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\all_deps\debug\x86"
|
||||
cl /c @%CDS_DIR%/DEBUG.BLD @%CDS_DIR%/PROTOBUF_X86.BLD @%CDS_DIR%\ALL_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_ALL_DEPS_X86.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_ALL_DEPS_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_ALL_DEPS_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\all_deps\debug\x64"
|
||||
cl /c @%CDS_DIR%/DEBUG.BLD @%CDS_DIR%/PROTOBUF_X64.BLD @%CDS_DIR%\ALL_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\DEBUG_ALL_DEPS_X64.LKS ( DEL /F /Q %CDS_DIR%\DEBUG_ALL_DEPS_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\DEBUG_ALL_DEPS_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x86.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\all_deps\release\x86"
|
||||
cl /c @%CDS_DIR%/RELEASE.BLD @%CDS_DIR%/PROTOBUF_X86.BLD @%CDS_DIR%\ALL_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_ALL_DEPS_X86.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_ALL_DEPS_X86.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_ALL_DEPS_X86.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
setlocal
|
||||
"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
call build_env_x64.bat
|
||||
SET OLD_DIR=%cd%
|
||||
cd "build\all_deps\release\x64"
|
||||
cl /c @%CDS_DIR%/RELEASE.BLD @%CDS_DIR%/PROTOBUF_X64.BLD @%CDS_DIR%\ALL_DEPS.BLD
|
||||
IF EXIST %CDS_DIR%\RELEASE_ALL_DEPS_X64.LKS ( DEL /F /Q %CDS_DIR%\RELEASE_ALL_DEPS_X64.LKS )
|
||||
where "*.obj" > %CDS_DIR%\RELEASE_ALL_DEPS_X64.LKS
|
||||
cd %OLD_DIR%
|
||||
endlocal
|
||||
|
||||
SET BUILT_ALL_DEPS=1
|
406
generate_build_win.bat
Normal file
406
generate_build_win.bat
Normal file
|
@ -0,0 +1,406 @@
|
|||
@echo off
|
||||
REM Should be called from the root of the repo.
|
||||
|
||||
REM Make build and output dirs.
|
||||
IF NOT EXIST build ( mkdir build )
|
||||
IF NOT EXIST build\cmds ( mkdir build\cmds )
|
||||
IF NOT EXIST build\debug ( mkdir build\debug )
|
||||
IF NOT EXIST build\release ( mkdir build\release )
|
||||
IF NOT EXIST build\all_deps ( mkdir build\all_deps )
|
||||
IF NOT EXIST build\all_deps\debug ( mkdir build\all_deps\debug )
|
||||
IF NOT EXIST build\all_deps\release ( mkdir build\all_deps\release )
|
||||
IF NOT EXIST build\experimental ( mkdir build\experimental )
|
||||
IF NOT EXIST build\experimental\debug ( mkdir build\experimental\debug )
|
||||
IF NOT EXIST build\experimental\release ( mkdir build\experimental\release )
|
||||
IF NOT EXIST build\experimental_steamclient ( mkdir build\experimental_steamclient )
|
||||
IF NOT EXIST build\experimental_steamclient\debug ( mkdir build\experimental_steamclient\debug )
|
||||
IF NOT EXIST build\experimental_steamclient\release ( mkdir build\experimental_steamclient\release )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader ( mkdir build\experimental_steamclient\steamclient_loader )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\debug ( mkdir build\experimental_steamclient\steamclient_loader\debug )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\release ( mkdir build\experimental_steamclient\steamclient_loader\release )
|
||||
IF NOT EXIST build\lobby_connect\debug ( mkdir build\lobby_connect\debug )
|
||||
IF NOT EXIST build\lobby_connect\release ( mkdir build\lobby_connect\release )
|
||||
IF NOT EXIST build\release\tools ( mkdir build\release\tools )
|
||||
IF NOT EXIST build\release\tools\debug ( mkdir build\release\tools\debug )
|
||||
IF NOT EXIST build\release\tools\release ( mkdir build\release\tools\release )
|
||||
|
||||
IF NOT EXIST build\debug\x86 ( mkdir build\debug\x86 )
|
||||
IF NOT EXIST build\debug\x64 ( mkdir build\debug\x64 )
|
||||
IF NOT EXIST build\release\x86 ( mkdir build\release\x86 )
|
||||
IF NOT EXIST build\release\x64 ( mkdir build\release\x64 )
|
||||
|
||||
IF NOT EXIST build\all_deps\debug\x86 ( mkdir build\all_deps\debug\x86 )
|
||||
IF NOT EXIST build\all_deps\debug\x64 ( mkdir build\all_deps\debug\x64 )
|
||||
IF NOT EXIST build\all_deps\release\x86 ( mkdir build\all_deps\release\x86 )
|
||||
IF NOT EXIST build\all_deps\release\x64 ( mkdir build\all_deps\release\x64 )
|
||||
|
||||
IF NOT EXIST build\experimental\debug\x86 ( mkdir build\experimental\debug\x86 )
|
||||
IF NOT EXIST build\experimental\debug\x64 ( mkdir build\experimental\debug\x64 )
|
||||
IF NOT EXIST build\experimental\release\x86 ( mkdir build\experimental\release\x86 )
|
||||
IF NOT EXIST build\experimental\release\x64 ( mkdir build\experimental\release\x64 )
|
||||
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x86 ( mkdir build\experimental_steamclient\debug\x86 )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x64 ( mkdir build\experimental_steamclient\debug\x64 )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x86 ( mkdir build\experimental_steamclient\release\x86 )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x64 ( mkdir build\experimental_steamclient\release\x64 )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x86\deps ( mkdir build\experimental_steamclient\debug\x86\deps )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x64\deps ( mkdir build\experimental_steamclient\debug\x64\deps )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x86\deps ( mkdir build\experimental_steamclient\release\x86\deps )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x64\deps ( mkdir build\experimental_steamclient\release\x64\deps )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x86\sc_deps ( mkdir build\experimental_steamclient\debug\x86\sc_deps )
|
||||
IF NOT EXIST build\experimental_steamclient\debug\x64\sc_deps ( mkdir build\experimental_steamclient\debug\x64\sc_deps )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x86\sc_deps ( mkdir build\experimental_steamclient\release\x86\sc_deps )
|
||||
IF NOT EXIST build\experimental_steamclient\release\x64\sc_deps ( mkdir build\experimental_steamclient\release\x64\sc_deps )
|
||||
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\debug\x86 ( mkdir build\experimental_steamclient\steamclient_loader\debug\x86 )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\debug\x64 ( mkdir build\experimental_steamclient\steamclient_loader\debug\x64 )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\release\x86 ( mkdir build\experimental_steamclient\steamclient_loader\release\x86 )
|
||||
IF NOT EXIST build\experimental_steamclient\steamclient_loader\release\x64 ( mkdir build\experimental_steamclient\steamclient_loader\release\x64 )
|
||||
|
||||
IF NOT EXIST build\lobby_connect\debug\x86 ( mkdir build\lobby_connect\debug\x86 )
|
||||
IF NOT EXIST build\lobby_connect\debug\x64 ( mkdir build\lobby_connect\debug\x64 )
|
||||
IF NOT EXIST build\lobby_connect\release\x86 ( mkdir build\lobby_connect\release\x86 )
|
||||
IF NOT EXIST build\lobby_connect\release\x64 ( mkdir build\lobby_connect\release\x64 )
|
||||
IF NOT EXIST build\release\tools\debug\x86 ( mkdir build\release\tools\debug\x86 )
|
||||
IF NOT EXIST build\release\tools\debug\x64 ( mkdir build\release\tools\debug\x64 )
|
||||
IF NOT EXIST build\release\tools\release\x86 ( mkdir build\release\tools\release\x86 )
|
||||
IF NOT EXIST build\release\tools\release\x64 ( mkdir build\release\tools\release\x64 )
|
||||
|
||||
IF NOT EXIST debug ( mkdir debug )
|
||||
IF NOT EXIST debug\experimental ( mkdir debug\experimental )
|
||||
IF NOT EXIST debug\experimental_steamclient ( mkdir debug\experimental_steamclient )
|
||||
IF NOT EXIST debug\lobby_connect ( mkdir debug\lobby_connect )
|
||||
IF NOT EXIST debug\tools ( mkdir debug\tools )
|
||||
|
||||
IF NOT EXIST release ( mkdir release )
|
||||
IF NOT EXIST release\experimental ( mkdir release\experimental )
|
||||
IF NOT EXIST release\experimental_steamclient ( mkdir release\experimental_steamclient )
|
||||
IF NOT EXIST release\lobby_connect ( mkdir release\lobby_connect )
|
||||
IF NOT EXIST release\tools ( mkdir release\tools )
|
||||
|
||||
SET CDS_DIR=%cd%\build\cmds
|
||||
|
||||
REM
|
||||
REM Arguments.
|
||||
REM
|
||||
|
||||
REM normal_args.
|
||||
IF EXIST %CDS_DIR%\NORMAL_ARGS.ARG ( DEL /F /S /Q %CDS_DIR%\NORMAL_ARGS.ARG )
|
||||
echo /EHsc > %CDS_DIR%\NORMAL_ARGS.ARG
|
||||
echo /Ox >> %CDS_DIR%\NORMAL_ARGS.ARG
|
||||
|
||||
REM JOB ARGS.
|
||||
IF "%JOB_COUNT%" == "" ( echo /MP1 >> %CDS_DIR%\NORMAL_ARGS.ARG )
|
||||
IF NOT "%JOB_COUNT%" == "" ( echo /MP%JOB_COUNT% >> %CDS_DIR%\NORMAL_ARGS.ARG )
|
||||
|
||||
REM Debug args.
|
||||
IF EXIST %CDS_DIR%\DEBUG.BLD ( DEL /F /S /Q %CDS_DIR%\DEBUG.BLD )
|
||||
IF EXIST %CDS_DIR%\DEBUG.LKS ( DEL /F /S /Q %CDS_DIR%\DEBUG.LKS )
|
||||
|
||||
REM Create empty file. (No BUILD time args currently.)
|
||||
type NUL >> %CDS_DIR%\DEBUG.BLD
|
||||
|
||||
REM DISABLE the PDB builds if we are running on the CI. (It can't build them currently.)
|
||||
IF EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /DEBUG:NONE > %CDS_DIR%\DEBUG.LKS )
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /DEBUG:FULL /OPT:REF /OPT:ICF > %CDS_DIR%\DEBUG.LKS )
|
||||
|
||||
REM Release args.
|
||||
IF EXIST %CDS_DIR%\RELEASE.ARG ( DEL /F /S /Q %CDS_DIR%\RELEASE.ARG )
|
||||
IF EXIST %CDS_DIR%\RELEASE.LKS ( DEL /F /S /Q %CDS_DIR%\RELEASE.LKS )
|
||||
REM Release mode Flags.
|
||||
echo /DEMU_RELEASE_BUILD > %CDS_DIR%\RELEASE.ARG
|
||||
echo /DNDEBUG >> %CDS_DIR%\RELEASE.ARG
|
||||
copy %CDS_DIR%\RELEASE.ARG %CDS_DIR%\RELEASE.BLD
|
||||
type %CDS_DIR%\RELEASE.ARG > %CDS_DIR%\RELEASE.LKS
|
||||
|
||||
REM DISABLE the PDB builds if we are running on the CI. (It can't build them currently.)
|
||||
IF EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /DEBUG:NONE >> %CDS_DIR%\RELEASE.LKS )
|
||||
IF NOT EXIST %OLD_DIR%\CI_BUILD.TAG ( echo /link /DEBUG:FULL /OPT:REF /OPT:ICF >> %CDS_DIR%\RELEASE.LKS )
|
||||
|
||||
REM BASE DLL Flags.
|
||||
IF EXIST %CDS_DIR%\DLL_MAIN_CPP.ARG ( DEL /F /S /Q %CDS_DIR%\DLL_MAIN_CPP.ARG )
|
||||
|
||||
REM EXPERIMENTAL Flags.
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL.ARG ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL.ARG )
|
||||
echo /DEMU_EXPERIMENTAL_BUILD > %CDS_DIR%\EXPERIMENTAL.ARG
|
||||
echo /DCONTROLLER_SUPPORT >> %CDS_DIR%\EXPERIMENTAL.ARG
|
||||
echo /DEMU_OVERLAY >> %CDS_DIR%\EXPERIMENTAL.ARG
|
||||
|
||||
REM EXPERIMENTAL_STEAMCLIENT Flags.
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.ARG ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.ARG )
|
||||
echo /DSTEAMCLIENT_DLL > %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.ARG
|
||||
|
||||
REM lobby_connect Flags.
|
||||
IF EXIST %CDS_DIR%\LOBBY_CONNECT.ARG ( DEL /F /S /Q %CDS_DIR%\LOBBY_CONNECT.ARG )
|
||||
echo /DNO_DISK_WRITES > %CDS_DIR%\LOBBY_CONNECT.ARG
|
||||
echo /DLOBBY_CONNECT >> %CDS_DIR%\LOBBY_CONNECT.ARG
|
||||
|
||||
REM
|
||||
REM Includes.
|
||||
REM
|
||||
|
||||
REM protobuf.
|
||||
call build_set_protobuf_directories.bat
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X86.ICD ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X86.ICD )
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X64.ICD ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X64.ICD )
|
||||
setlocal
|
||||
SET TEST_A=%cd%
|
||||
cd %PROTOBUF_X86_DIRECTORY%
|
||||
SET TEST_B=%cd%\include
|
||||
cd %TEST_A%
|
||||
echo /I%TEST_B% > %CDS_DIR%\PROTOBUF_X86.ICD
|
||||
endlocal
|
||||
setlocal
|
||||
SET TEST_A=%cd%
|
||||
cd %PROTOBUF_X64_DIRECTORY%
|
||||
SET TEST_B=%cd%\include
|
||||
cd %TEST_A%
|
||||
echo /I%TEST_B% > %CDS_DIR%\PROTOBUF_X64.ICD
|
||||
endlocal
|
||||
|
||||
REM OVERLAY_EXPERIMENTAL.
|
||||
IF EXIST %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD ( DEL /F /S /Q %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD )
|
||||
echo /I%cd%\overlay_experimental > %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD
|
||||
|
||||
REM IMGUI.
|
||||
IF EXIST %CDS_DIR%\IMGUI.ICD ( DEL /F /S /Q %CDS_DIR%\IMGUI.ICD )
|
||||
echo /I%cd%\ImGui > %CDS_DIR%\IMGUI.ICD
|
||||
|
||||
REM
|
||||
REM Link Libraries.
|
||||
REM
|
||||
|
||||
REM protobuf.
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X86.OS ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X86.OS )
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X64.OS ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X64.OS )
|
||||
dir /b /s %PROTOBUF_X86_LIBRARY% > %CDS_DIR%\PROTOBUF_X86.OS
|
||||
dir /b /s %PROTOBUF_X64_LIBRARY% > %CDS_DIR%\PROTOBUF_X64.OS
|
||||
|
||||
REM BASE DLL.
|
||||
IF EXIST %CDS_DIR%\DLL_MAIN_CPP.OS ( DEL /F /S /Q %CDS_DIR%\DLL_MAIN_CPP.OS )
|
||||
echo Iphlpapi.lib > %CDS_DIR%\DLL_MAIN_CPP.OS
|
||||
echo Ws2_32.lib >> %CDS_DIR%\DLL_MAIN_CPP.OS
|
||||
echo Shell32.lib >> %CDS_DIR%\DLL_MAIN_CPP.OS
|
||||
echo advapi32.lib >> %CDS_DIR%\DLL_MAIN_CPP.OS
|
||||
|
||||
REM EXPERIMENTAL.
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL.OS ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL.OS )
|
||||
echo dbghelp.lib >> %CDS_DIR%\EXPERIMENTAL.OS
|
||||
echo Faultrep.lib >> %CDS_DIR%\EXPERIMENTAL.OS
|
||||
echo opengl32.lib >> %CDS_DIR%\EXPERIMENTAL.OS
|
||||
echo Winmm.lib >> %CDS_DIR%\EXPERIMENTAL.OS
|
||||
|
||||
REM steamclient_loader.
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT_LOADER.OS ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT_LOADER.OS )
|
||||
echo advapi32.lib > %CDS_DIR%\STEAMCLIENT_LOADER.OS
|
||||
echo user32.lib >> %CDS_DIR%\STEAMCLIENT_LOADER.OS
|
||||
|
||||
REM lobby_connect.
|
||||
IF EXIST %CDS_DIR%\LOBBY_CONNECT.OS ( DEL /F /S /Q %CDS_DIR%\LOBBY_CONNECT.OS )
|
||||
echo Comdlg32.lib > %CDS_DIR%\LOBBY_CONNECT.OS
|
||||
|
||||
REM
|
||||
REM Files.
|
||||
REM
|
||||
|
||||
REM Protobuf.
|
||||
REM Needs to be compiled here (really just needs to exist), as we include it below.
|
||||
"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\net.proto
|
||||
|
||||
REM OVERLAY_EXPERIMENTAL.
|
||||
IF EXIST %CDS_DIR%\OVERLAY_EXPERIMENTAL.FLS ( DEL /F /S /Q %CDS_DIR%\OVERLAY_EXPERIMENTAL.FLS )
|
||||
IF EXIST %CDS_DIR%\OVERLAY_EXPERIMENTAL_SYSTEM.FLS ( DEL /F /S /Q %CDS_DIR%\OVERLAY_EXPERIMENTAL_SYSTEM.FLS )
|
||||
where "%cd%\overlay_experimental\:*.cpp" > %CDS_DIR%\OVERLAY_EXPERIMENTAL.FLS
|
||||
where "%cd%\overlay_experimental\windows\:*.cpp" >> %CDS_DIR%\OVERLAY_EXPERIMENTAL.FLS
|
||||
where "%cd%\overlay_experimental\System\:*.cpp" >> %CDS_DIR%\OVERLAY_EXPERIMENTAL_SYSTEM.FLS
|
||||
|
||||
REM IMGUI.
|
||||
IF EXIST %CDS_DIR%\IMGUI.FLS ( DEL /F /S /Q %CDS_DIR%\IMGUI.FLS )
|
||||
where "%cd%\ImGui\:*.cpp" > %CDS_DIR%\IMGUI.FLS
|
||||
where "%cd%\ImGui\backends\:imgui_impl_dx*.cpp" >> %CDS_DIR%\IMGUI.FLS
|
||||
where "%cd%\ImGui\backends\:imgui_impl_win32.cpp" >> %CDS_DIR%\IMGUI.FLS
|
||||
where "%cd%\ImGui\backends\:imgui_impl_vulkan.cpp" >> %CDS_DIR%\IMGUI.FLS
|
||||
where "%cd%\ImGui\backends\:imgui_impl_opengl3.cpp" >> %CDS_DIR%\IMGUI.FLS
|
||||
where "%cd%\ImGui\backends\:imgui_win_shader_blobs.cpp" >> %CDS_DIR%\IMGUI.FLS
|
||||
|
||||
REM DETOURS.
|
||||
IF EXIST %CDS_DIR%\DETOURS.FLS ( DEL /F /S /Q %CDS_DIR%\DETOURS.FLS )
|
||||
where "%cd%\detours\:*.cpp" > %CDS_DIR%\DETOURS.FLS
|
||||
|
||||
REM CONTROLLER.
|
||||
IF EXIST %CDS_DIR%\CONTROLLER.FLS ( DEL /F /S /Q CONTROLLER.FLS )
|
||||
where "%cd%\controller\:gamepad.c" > %CDS_DIR%\CONTROLLER.FLS
|
||||
|
||||
REM sc_different_deps.
|
||||
IF EXIST %CDS_DIR%\SC_DIFFERENT_DEPS.FLS ( DEL /F /S /Q %CDS_DIR%\SC_DIFFERENT_DEPS.FLS )
|
||||
where "%cd%\dll\:flat.cpp" > %CDS_DIR%\SC_DIFFERENT_DEPS.FLS
|
||||
where "%cd%\dll\:dll.cpp" >> %CDS_DIR%\SC_DIFFERENT_DEPS.FLS
|
||||
|
||||
REM BASE DLL.
|
||||
IF EXIST %CDS_DIR%\DLL_MAIN_CPP.FLS ( DEL /F /S /Q %CDS_DIR%\DLL_MAIN_CPP.FLS )
|
||||
move %cd%\dll\flat.cpp %cd%\dll\flat.cpp.tmp
|
||||
move %cd%\dll\dll.cpp %cd%\dll\dll.cpp.tmp
|
||||
where "%cd%\dll\:*.cpp" > %CDS_DIR%\DLL_MAIN_CPP.FLS
|
||||
move %cd%\dll\flat.cpp.tmp %cd%\dll\flat.cpp
|
||||
move %cd%\dll\dll.cpp.tmp %cd%\dll\dll.cpp
|
||||
where "%cd%\dll\:*.cc" >> %CDS_DIR%\DLL_MAIN_CPP.FLS
|
||||
|
||||
REM SteamClient.
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT.FLS ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT.FLS )
|
||||
where "%cd%\:steamclient.cpp" > %CDS_DIR%\STEAMCLIENT.FLS
|
||||
|
||||
REM steamclient_loader.
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT_LOADER.FLS ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT_LOADER.FLS )
|
||||
where "%cd%\steamclient_loader\:*.cpp" > %CDS_DIR%\STEAMCLIENT_LOADER.FLS
|
||||
|
||||
REM lobby_connect.
|
||||
IF EXIST %CDS_DIR%\LOBBY_CONNECT.FLS ( DEL /F /S /Q %CDS_DIR%\LOBBY_CONNECT.FLS )
|
||||
where "%cd%\:lobby_connect.cpp" > %CDS_DIR%\LOBBY_CONNECT.FLS
|
||||
|
||||
REM generate_interfaces_file.
|
||||
IF EXIST %CDS_DIR%\GENERATE_INTERFACES_FILE.FLS ( DEL /F /S /Q %CDS_DIR%\GENERATE_INTERFACES_FILE.FLS )
|
||||
where "%cd%\:generate_interfaces_file.cpp" > %CDS_DIR%\GENERATE_INTERFACES_FILE.FLS
|
||||
|
||||
REM
|
||||
REM Build and link cmd script files.
|
||||
REM
|
||||
|
||||
REM protobuf.
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X86.BLD ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X86.BLD )
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X86.LKS ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X86.LKS )
|
||||
type %CDS_DIR%\PROTOBUF_X86.ICD > %CDS_DIR%\PROTOBUF_X86.BLD
|
||||
type %CDS_DIR%\PROTOBUF_X86.BLD > %CDS_DIR%\PROTOBUF_X86.LKS
|
||||
type %CDS_DIR%\PROTOBUF_X86.OS >> %CDS_DIR%\PROTOBUF_X86.LKS
|
||||
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X64.BLD ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X64.BLD )
|
||||
IF EXIST %CDS_DIR%\PROTOBUF_X64.LKS ( DEL /F /S /Q %CDS_DIR%\PROTOBUF_X64.LKS )
|
||||
type %CDS_DIR%\PROTOBUF_X64.ICD > %CDS_DIR%\PROTOBUF_X64.BLD
|
||||
type %CDS_DIR%\PROTOBUF_X64.BLD > %CDS_DIR%\PROTOBUF_X64.LKS
|
||||
type %CDS_DIR%\PROTOBUF_X64.OS >> %CDS_DIR%\PROTOBUF_X64.LKS
|
||||
|
||||
REM SC_DEPS
|
||||
IF EXIST %CDS_DIR%\SC_DEPS.BLD ( DEL /F /S /Q %CDS_DIR%\SC_DEPS.BLD )
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\SC_DEPS.BLD
|
||||
type %CDS_DIR%\EXPERIMENTAL.ARG >> %CDS_DIR%\SC_DEPS.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD >> %CDS_DIR%\SC_DEPS.BLD
|
||||
type %CDS_DIR%\IMGUI.ICD >> %CDS_DIR%\SC_DEPS.BLD
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.FLS >> %CDS_DIR%\SC_DEPS.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.FLS >> %CDS_DIR%\SC_DEPS.BLD
|
||||
|
||||
REM DEPS
|
||||
IF EXIST %CDS_DIR%\DEPS.BLD ( DEL /F /S /Q %CDS_DIR%\DEPS.BLD )
|
||||
type %CDS_DIR%\DETOURS.FLS >> %CDS_DIR%\DEPS.BLD
|
||||
type %CDS_DIR%\CONTROLLER.FLS >> %CDS_DIR%\DEPS.BLD
|
||||
type %CDS_DIR%\IMGUI.FLS >> %CDS_DIR%\DEPS.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL_SYSTEM.FLS >> %CDS_DIR%\DEPS.BLD
|
||||
|
||||
REM all_deps.
|
||||
IF EXIST %CDS_DIR%\ALL_DEPS.BLD ( DEL /F /S /Q %CDS_DIR%\ALL_DEPS.BLD )
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\IMGUI.ICD >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\DETOURS.FLS >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\CONTROLLER.FLS >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\IMGUI.FLS >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL_SYSTEM.FLS >> %CDS_DIR%\ALL_DEPS.BLD
|
||||
|
||||
REM BASE DLL.
|
||||
IF EXIST %CDS_DIR%\DLL_MAIN_CPP.BLD ( DEL /F /S /Q %CDS_DIR%\DLL_MAIN_CPP.BLD )
|
||||
IF EXIST %CDS_DIR%\DLL_MAIN_CPP.LKS ( DEL /F /S /Q %CDS_DIR%\DLL_MAIN_CPP.LKS )
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\DLL_MAIN_CPP.BLD
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.FLS >> %CDS_DIR%\DLL_MAIN_CPP.BLD
|
||||
type %CDS_DIR%\SC_DIFFERENT_DEPS.FLS >> %CDS_DIR%\DLL_MAIN_CPP.BLD
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\DLL_MAIN_CPP.LKS
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.OS >> %CDS_DIR%\DLL_MAIN_CPP.LKS
|
||||
|
||||
REM EXPERIMENTAL.
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL.BLD ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL.BLD )
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL.LKS ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL.LKS )
|
||||
|
||||
REM Note the order and repeats. cl will complain if this gets messed up.
|
||||
REM OLD SCRIPT.
|
||||
REM type NORMAL_ARGS.ARG > EXPERIMENTAL.BLD
|
||||
REM type EXPERIMENTAL.ARG >> EXPERIMENTAL.BLD
|
||||
REM type EXPERIMENTAL.ICD >> EXPERIMENTAL.BLD
|
||||
REM type DLL_MAIN_CPP.FLS >> EXPERIMENTAL.BLD
|
||||
REM type SC_DIFFERENT_DEPS.FLS >> EXPERIMENTAL.BLD
|
||||
REM type OVERLAY_EXPERIMENTAL.FLS >> EXPERIMENTAL.BLD
|
||||
REM type OVERLAY_EXPERIMENTAL_SYSTEM.FLS >> EXPERIMENTAL.BLD
|
||||
REM type DETOURS.FLS >> EXPERIMENTAL.BLD
|
||||
REM type CONTROLLER.FLS >> EXPERIMENTAL.BLD
|
||||
REM type IMGUI.FLS >> EXPERIMENTAL.BLD
|
||||
REM type NORMAL_ARGS.ARG > EXPERIMENTAL.LKS
|
||||
REM type EXPERIMENTAL.ARG >> EXPERIMENTAL.LKS
|
||||
REM type EXPERIMENTAL.ICD >> EXPERIMENTAL.LKS
|
||||
REM type DLL_MAIN_CPP.OS >> EXPERIMENTAL.LKS
|
||||
REM type EXPERIMENTAL.OS >> EXPERIMENTAL.LKS
|
||||
REM NEW Combined experimental && experimental_steamclient SCRIPT.
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\EXPERIMENTAL.BLD
|
||||
type %CDS_DIR%\EXPERIMENTAL.ARG >> %CDS_DIR%\EXPERIMENTAL.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD >> %CDS_DIR%\EXPERIMENTAL.BLD
|
||||
type %CDS_DIR%\IMGUI.ICD >> %CDS_DIR%\EXPERIMENTAL.BLD
|
||||
type %CDS_DIR%\SC_DIFFERENT_DEPS.FLS >> %CDS_DIR%\EXPERIMENTAL.BLD
|
||||
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
type %CDS_DIR%\EXPERIMENTAL.ARG >> %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD >> %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
type %CDS_DIR%\IMGUI.ICD >> %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.OS >> %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
type %CDS_DIR%\EXPERIMENTAL.OS >> %CDS_DIR%\EXPERIMENTAL.LKS
|
||||
|
||||
REM SteamClient.
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT.BLD ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT.BLD )
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\STEAMCLIENT.BLD
|
||||
type %CDS_DIR%\EXPERIMENTAL.ARG >> %CDS_DIR%\STEAMCLIENT.BLD
|
||||
type %CDS_DIR%\OVERLAY_EXPERIMENTAL.ICD >> %CDS_DIR%\STEAMCLIENT.BLD
|
||||
type %CDS_DIR%\IMGUI.ICD >> %CDS_DIR%\STEAMCLIENT.BLD
|
||||
type %CDS_DIR%\STEAMCLIENT.FLS >> %CDS_DIR%\STEAMCLIENT.BLD
|
||||
|
||||
REM EXPERIMENTAL_STEAMCLIENT.
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.BLD ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.BLD )
|
||||
IF EXIST %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS ( DEL /F /S /Q %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS )
|
||||
|
||||
REM Note the order and repeats. cl will complain if this gets messed up.
|
||||
|
||||
|
||||
|
||||
|
||||
REM FULL
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
type %CDS_DIR%\EXPERIMENTAL.ARG >> %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
type %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.ARG >> %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
type %CDS_DIR%\SC_DIFFERENT_DEPS.FLS >> %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.OS >> %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
type %CDS_DIR%\EXPERIMENTAL.OS >> %CDS_DIR%\EXPERIMENTAL_STEAMCLIENT.LKS
|
||||
|
||||
REM steamclient_loader.
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT_LOADER.BLD ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT_LOADER.BLD )
|
||||
IF EXIST %CDS_DIR%\STEAMCLIENT_LOADER.LKS ( DEL /F /S /Q %CDS_DIR%\STEAMCLIENT_LOADER.LKS )
|
||||
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
type %CDS_DIR%\STEAMCLIENT_LOADER.FLS >> %CDS_DIR%\STEAMCLIENT_LOADER.BLD
|
||||
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\STEAMCLIENT_LOADER.LKS
|
||||
type %CDS_DIR%\STEAMCLIENT_LOADER.OS >> %CDS_DIR%\STEAMCLIENT_LOADER.LKS
|
||||
|
||||
REM lobby_connect.
|
||||
IF EXIST %CDS_DIR%\LOBBY_CONNECT.BLD ( DEL /F /S /Q %CDS_DIR%\LOBBY_CONNECT.BLD )
|
||||
IF EXIST %CDS_DIR%\LOBBY_CONNECT.LKS ( DEL /F /S /Q %CDS_DIR%\LOBBY_CONNECT.LKS )
|
||||
type %CDS_DIR%\LOBBY_CONNECT.ARG > %CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG >> %CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
type %CDS_DIR%\LOBBY_CONNECT.FLS >> %CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.FLS >> %CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
type %CDS_DIR%\SC_DIFFERENT_DEPS.FLS >> %CDS_DIR%\LOBBY_CONNECT.BLD
|
||||
|
||||
type %CDS_DIR%\LOBBY_CONNECT.ARG > %CDS_DIR%\LOBBY_CONNECT.LKS
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG >> %CDS_DIR%\LOBBY_CONNECT.LKS
|
||||
type %CDS_DIR%\DLL_MAIN_CPP.OS >> %CDS_DIR%\LOBBY_CONNECT.LKS
|
||||
type %CDS_DIR%\LOBBY_CONNECT.OS >> %CDS_DIR%\LOBBY_CONNECT.LKS
|
||||
|
||||
REM GENERATE_INTERFACES_FILE
|
||||
IF EXIST %CDS_DIR%\GENERATE_INTERFACES_FILE.BLD ( DEL /F /S /Q %CDS_DIR%\GENERATE_INTERFACES_FILE.BLD )
|
||||
IF EXIST %CDS_DIR%\GENERATE_INTERFACES_FILE.LKS ( DEL /F /S /Q %CDS_DIR%\GENERATE_INTERFACES_FILE.LKS )
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG >> %CDS_DIR%\GENERATE_INTERFACES_FILE.BLD
|
||||
type %CDS_DIR%\GENERATE_INTERFACES_FILE.FLS >> %CDS_DIR%\GENERATE_INTERFACES_FILE.BLD
|
||||
|
||||
type %CDS_DIR%\NORMAL_ARGS.ARG > %CDS_DIR%\GENERATE_INTERFACES_FILE.LKS
|
|
@ -1,132 +0,0 @@
|
|||
import os
|
||||
|
||||
def files_from_dir(dir, extension, filter=[]):
|
||||
out = []
|
||||
for f in os.listdir(dir):
|
||||
if f.endswith(extension) and f not in filter:
|
||||
out.append(os.path.join(dir, f))
|
||||
return out
|
||||
|
||||
def convert_to_obj(files, obj_dir):
|
||||
out = []
|
||||
for f in files:
|
||||
out.append(os.path.join(obj_dir, os.path.splitext(os.path.basename(f))[0] + ".obj"))
|
||||
return out
|
||||
|
||||
def cl_line_obj(arguments, out_dir):
|
||||
return "rmdir /S /Q {0}\nmkdir {0}\ncl /Fo:{0}/ /c {1}\n".format(out_dir, ' '.join(arguments))
|
||||
|
||||
def cl_line_link(arguments, linker_arguments):
|
||||
return "cl /LD {} /link {}\n".format(' '.join(arguments), ' '.join(linker_arguments))
|
||||
|
||||
def cl_line_exe(arguments, linker_arguments):
|
||||
return "cl {} /link {}\n".format(' '.join(arguments), ' '.join(linker_arguments))
|
||||
|
||||
jobs = 4
|
||||
normal_build_args = ["/EHsc", "/Ox", "/MP{}".format(jobs)]
|
||||
|
||||
includes = ["ImGui", "overlay_experimental"]
|
||||
includes_32 = list(map(lambda a: '/I{}'.format(a), ["%PROTOBUF_X86_DIRECTORY%\\include\\"] + includes))
|
||||
includes_64 = list(map(lambda a: '/I{}'.format(a), ["%PROTOBUF_X64_DIRECTORY%\\include\\"] + includes))
|
||||
|
||||
debug_build_args = []
|
||||
release_build_args = ["/DEMU_RELEASE_BUILD", "/DNDEBUG"]
|
||||
steamclient_build_args = ["/DSTEAMCLIENT_DLL"]
|
||||
lobby_connect_args = ["/DNO_DISK_WRITES", "/DLOBBY_CONNECT"]
|
||||
|
||||
experimental_build_args = ["/DEMU_EXPERIMENTAL_BUILD", "/DCONTROLLER_SUPPORT", "/DEMU_OVERLAY"]
|
||||
steamclient_experimental_build_args = experimental_build_args + steamclient_build_args
|
||||
|
||||
normal_linker_libs = ["Iphlpapi.lib", "Ws2_32.lib", "rtlgenrandom.lib", "Shell32.lib"]
|
||||
experimental_linker_libs = ["opengl32.lib", "Winmm.lib"] + normal_linker_libs
|
||||
linker_32 = ['"%PROTOBUF_X86_LIBRARY%"']
|
||||
linker_64 = ['"%PROTOBUF_X64_LIBRARY%"']
|
||||
|
||||
controller_deps = ["controller/gamepad.c"]
|
||||
imgui_deps = files_from_dir("ImGui", ".cpp") + ["ImGui/backends/imgui_impl_dx9.cpp", "ImGui/backends/imgui_impl_dx10.cpp", "ImGui/backends/imgui_impl_dx11.cpp", "ImGui/backends/imgui_impl_dx12.cpp", "ImGui/backends/imgui_impl_win32.cpp", "ImGui/backends/imgui_impl_vulkan.cpp", "ImGui/backends/imgui_impl_opengl3.cpp", "ImGui/backends/imgui_win_shader_blobs.cpp"]
|
||||
proto_deps = list(map(lambda a: a.replace(".proto", ".pb.cc"), files_from_dir("dll", ".proto")))
|
||||
all_deps = proto_deps + files_from_dir("detours", ".cpp") + controller_deps + imgui_deps + files_from_dir("overlay_experimental/System", ".cpp")
|
||||
|
||||
sc_different_deps = ["flat.cpp", "dll.cpp"]
|
||||
steam_deps = files_from_dir("dll", ".cpp", sc_different_deps)
|
||||
overlay_deps = files_from_dir("overlay_experimental", ".cpp") + files_from_dir("overlay_experimental/windows", ".cpp")
|
||||
experimental_steam_deps = steam_deps + overlay_deps
|
||||
sc_different_deps = list(map(lambda a: "dll/" + a, sc_different_deps))
|
||||
|
||||
regular_files = []
|
||||
|
||||
head = """@echo off
|
||||
cd /d "%~dp0"
|
||||
rmdir /S /Q release
|
||||
mkdir release
|
||||
mkdir release\experimental
|
||||
mkdir release\experimental_steamclient
|
||||
mkdir release\debug_experimental
|
||||
mkdir release\debug_experimental_steamclient
|
||||
mkdir release\lobby_connect
|
||||
call build_set_protobuf_directories.bat
|
||||
"""
|
||||
|
||||
head_32bit = """"%PROTOC_X86_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\\net.proto
|
||||
call build_env_x86.bat
|
||||
cl dll/rtlgenrandom.c dll/rtlgenrandom.def
|
||||
"""
|
||||
|
||||
head_64bit = """"%PROTOC_X64_EXE%" -I.\dll\ --cpp_out=.\dll\ .\dll\\net.proto
|
||||
call build_env_x64.bat
|
||||
cl dll/rtlgenrandom.c dll/rtlgenrandom.def
|
||||
"""
|
||||
|
||||
footer = """
|
||||
copy Readme_release.txt release\Readme.txt
|
||||
xcopy /s files_example\* release\\
|
||||
copy Readme_experimental.txt release\experimental\Readme.txt
|
||||
copy Readme_debug.txt release\debug_experimental\Readme.txt
|
||||
copy steamclient_loader\ColdClientLoader.ini release\experimental_steamclient\\
|
||||
REM call build_win_lobby_connect.bat
|
||||
copy Readme_lobby_connect.txt release\lobby_connect\Readme.txt
|
||||
call build_win_find_interfaces.bat
|
||||
"""
|
||||
|
||||
out = head
|
||||
out += head_32bit
|
||||
|
||||
deps_folder = "deps"
|
||||
sc_deps_folder = "deps_sc"
|
||||
|
||||
def generate_common(include_arch, linker_arch, steam_api_name, steamclient_name):
|
||||
out = ""
|
||||
out += cl_line_obj(normal_build_args + release_build_args + include_arch + all_deps, deps_folder)
|
||||
out += cl_line_link(normal_build_args + release_build_args + include_arch + steam_deps + sc_different_deps + ["deps/net.pb.obj"] + linker_arch + normal_linker_libs, ["/debug:none", "/OUT:release\\{}".format(steam_api_name)])
|
||||
|
||||
debug_full_args = normal_build_args + debug_build_args + experimental_build_args + include_arch
|
||||
out += cl_line_obj(debug_full_args + experimental_steam_deps, sc_deps_folder)
|
||||
|
||||
debug_full_dll_args = debug_full_args + sc_different_deps + convert_to_obj(all_deps, deps_folder) + convert_to_obj(experimental_steam_deps, sc_deps_folder) + linker_arch + experimental_linker_libs
|
||||
out += cl_line_link(debug_full_dll_args, ["/OUT:release\debug_experimental\\{}".format(steam_api_name)])
|
||||
out += cl_line_link(steamclient_build_args + debug_full_dll_args, ["/OUT:release\debug_experimental_steamclient\\{}".format(steamclient_name)])
|
||||
|
||||
release_full_args = normal_build_args + release_build_args + experimental_build_args + include_arch
|
||||
out += cl_line_obj(release_full_args + experimental_steam_deps, sc_deps_folder)
|
||||
|
||||
release_full_dll_args = release_full_args + sc_different_deps + convert_to_obj(all_deps, deps_folder) + convert_to_obj(experimental_steam_deps, sc_deps_folder) + linker_arch + experimental_linker_libs
|
||||
out += cl_line_link(release_full_dll_args, ["/debug:none", "/OUT:release\experimental\\{}".format(steam_api_name)])
|
||||
out += cl_line_link(steamclient_build_args + release_full_dll_args, ["/debug:none", "/OUT:release\experimental_steamclient\\{}".format(steamclient_name)])
|
||||
out += cl_line_link(release_build_args + experimental_build_args + ["steamclient.cpp"] + normal_build_args, ["/debug:none", "/OUT:release\experimental\\{}".format(steamclient_name)])
|
||||
return out
|
||||
|
||||
out += generate_common(includes_32, linker_32, "steam_api.dll", "steamclient.dll")
|
||||
|
||||
out += cl_line_exe(files_from_dir("./", "lobby_connect.cpp") + files_from_dir("dll", "flat.cpp") + files_from_dir("dll", "dll.cpp") + lobby_connect_args + normal_build_args + release_build_args + includes_32 + proto_deps + steam_deps + normal_linker_libs + ["Comdlg32.lib", "user32.lib"], linker_32 + ["/debug:none", "/OUT:release\lobby_connect\lobby_connect.exe"])
|
||||
|
||||
out += cl_line_exe(files_from_dir("steamclient_loader", ".cpp") + ["advapi32.lib", "user32.lib"] + normal_build_args, ["/debug:none", "/OUT:release\experimental_steamclient\steamclient_loader.exe"])
|
||||
|
||||
out += head_64bit
|
||||
out += generate_common(includes_64, linker_64, "steam_api64.dll", "steamclient64.dll")
|
||||
|
||||
|
||||
out += footer
|
||||
|
||||
|
||||
with open("build_win_release_test.bat", "w") as f:
|
||||
f.write(out)
|
Loading…
Reference in a new issue