diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cf4fd0e6a1..aef68fedc5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -42,11 +42,11 @@ jobs: with: release: true - - name: ReleaseWin2000 build - id: build-releasewin2000 + - name: ReleaseXP build + id: build-releasexp uses: ./ with: - releasewin2000: true + releasexp: true - name: Debug build id: build-debug @@ -54,40 +54,40 @@ jobs: with: debug: true - - name: DebugLog build - id: build-debuglog + - name: DebugLogXP build + id: build-debuglogxp uses: ./ with: - debuglog: true + debuglogxp: true - - name: DebugLogMini build - id: build-debuglogmini + - name: DebugLogMiniXP build + id: build-debuglogminixp uses: ./ with: - debuglogmini: true + debuglogminixp: true - name: Prepare artifact run: | : mkdir -p cnc-ddraw-release - mkdir -p cnc-ddraw-releasewin2000 + mkdir -p cnc-ddraw-releasexp mkdir -p cnc-ddraw-debug - mkdir -p cnc-ddraw-debuglog - mkdir -p cnc-ddraw-debuglogmini + mkdir -p cnc-ddraw-debuglogxp + mkdir -p cnc-ddraw-debuglogminixp cp "${{ steps.build-release.outputs.release }}" cnc-ddraw-release - cp "${{ steps.build-releasewin2000.outputs.releasewin2000 }}" cnc-ddraw-releasewin2000 + cp "${{ steps.build-releasexp.outputs.releasexp }}" cnc-ddraw-releasexp cp "${{ steps.build-debug.outputs.debug }}" cnc-ddraw-debug cp "${{ steps.build-debug.outputs.debug-pdb }}" cnc-ddraw-debug - cp "${{ steps.build-debuglog.outputs.debuglog }}" cnc-ddraw-debuglog - cp "${{ steps.build-debuglog.outputs.debuglog-pdb }}" cnc-ddraw-debuglog + cp "${{ steps.build-debuglogxp.outputs.debuglogxp }}" cnc-ddraw-debuglogxp + cp "${{ steps.build-debuglogxp.outputs.debuglogxp-pdb }}" cnc-ddraw-debuglogxp - cp "${{ steps.build-debuglogmini.outputs.debuglogmini }}" cnc-ddraw-debuglogmini - cp "${{ steps.build-debuglogmini.outputs.debuglogmini-pdb }}" cnc-ddraw-debuglogmini + cp "${{ steps.build-debuglogminixp.outputs.debuglogminixp }}" cnc-ddraw-debuglogminixp + cp "${{ steps.build-debuglogminixp.outputs.debuglogminixp-pdb }}" cnc-ddraw-debuglogminixp shell: bash @@ -98,11 +98,11 @@ jobs: path: cnc-ddraw-release retention-days: 14 - - name: Upload artifacts cnc-ddraw-releasewin2000 + - name: Upload artifacts cnc-ddraw-releasexp uses: actions/upload-artifact@v4 with: - name: cnc-ddraw-releasewin2000 - path: cnc-ddraw-releasewin2000 + name: cnc-ddraw-releasexp + path: cnc-ddraw-releasexp retention-days: 14 - name: Upload artifacts cnc-ddraw-debug @@ -112,16 +112,16 @@ jobs: path: cnc-ddraw-debug retention-days: 14 - - name: Upload artifacts cnc-ddraw-debuglog + - name: Upload artifacts cnc-ddraw-debuglogxp uses: actions/upload-artifact@v4 with: - name: cnc-ddraw-debuglog - path: cnc-ddraw-debuglog + name: cnc-ddraw-debuglogxp + path: cnc-ddraw-debuglogxp retention-days: 14 - - name: Upload artifacts cnc-ddraw-debuglogmini + - name: Upload artifacts cnc-ddraw-debuglogminixp uses: actions/upload-artifact@v4 with: - name: cnc-ddraw-debuglogmini - path: cnc-ddraw-debuglogmini + name: cnc-ddraw-debuglogminixp + path: cnc-ddraw-debuglogminixp retention-days: 14 diff --git a/action.yml b/action.yml index 0b1e1cc3c4..8917b6db77 100644 --- a/action.yml +++ b/action.yml @@ -24,20 +24,20 @@ inputs: description: 'Set to true to enable building with Release configuration' required: true - releasewin2000: - description: 'Set to true to enable building with ReleaseWin2000 configuration' + releasexp: + description: 'Set to true to enable building with ReleaseXP configuration' required: true debug: description: 'Set to true to enable building with Debug configuration' required: true - debuglog: - description: 'Set to true to enable building with DebugLog configuration' + debuglogxp: + description: 'Set to true to enable building with DebugLogXP configuration' required: true - debuglogmini: - description: 'Set to true to enable building with DebugLogMini configuration' + debuglogminixp: + description: 'Set to true to enable building with DebugLogMiniXP configuration' required: true # Outputs are always using Windows directory separator (`\`) @@ -47,9 +47,9 @@ outputs: description: 'Full path to ddraw.dll built with Release configuration' value: ${{ steps.build-release.outputs.ddraw-dll }} - releasewin2000: - description: 'Full path to ddraw.dll built with ReleaseWin2000 configuration' - value: ${{ steps.build-releasewin2000.outputs.ddraw-dll }} + releasexp: + description: 'Full path to ddraw.dll built with ReleaseXP configuration' + value: ${{ steps.build-releasexp.outputs.ddraw-dll }} debug: description: 'Full path to ddraw.dll built with Debug configuration' @@ -58,19 +58,19 @@ outputs: description: 'Full path to ddraw.pdb built with Debug configuration' value: ${{ steps.build-debug.outputs.ddraw-pdb }} - debuglog: - description: 'Full path to ddraw.dll built with DebugLog configuration' - value: ${{ steps.build-debuglog.outputs.ddraw-dll }} - debuglog-pdb: - description: 'Full path to ddraw.pdb built with DebugLog configuration' - value: ${{ steps.build-debuglog.outputs.ddraw-pdb }} + debuglogxp: + description: 'Full path to ddraw.dll built with DebugLogXP configuration' + value: ${{ steps.build-debuglogxp.outputs.ddraw-dll }} + debuglogxp-pdb: + description: 'Full path to ddraw.pdb built with DebugLogXP configuration' + value: ${{ steps.build-debuglogxp.outputs.ddraw-pdb }} - debuglogmini: - description: 'Full path to ddraw.dll built with DebugLogMini configuration' - value: ${{ steps.build-debuglogmini.outputs.ddraw-dll }} - debuglogmini-pdb: - description: 'Full path to ddraw.pdb built with DebugLogMini configuration' - value: ${{ steps.build-debuglogmini.outputs.ddraw-pdb }} + debuglogminixp: + description: 'Full path to ddraw.dll built with DebugLogMiniXP configuration' + value: ${{ steps.build-debuglogminixp.outputs.ddraw-dll }} + debuglogminixp-pdb: + description: 'Full path to ddraw.pdb built with DebugLogMiniXP configuration' + value: ${{ steps.build-debuglogminixp.outputs.ddraw-pdb }} runs: using: 'composite' @@ -82,8 +82,8 @@ runs: if [[ "${{ runner.os }}" != "Windows" ]]; then echo "[ERROR] This action can only be used on Windows" exit 1 - elif [[ "${{ inputs.release }}" != "true" ]] && [[ "${{ inputs.releasewin2000 }}" != "true" ]] && [[ "${{ inputs.debug }}" != "true" ]] && [[ "${{ inputs.debuglog }}" != "true" ]] && [[ "${{ inputs.debuglogmini }}" != "true" ]]; then - echo "[ERROR] At least one of following inputs must be set to 'true' -- 'release', 'releasewin2000', 'debug', 'debuglog', 'debuglogmini'" + elif [[ "${{ inputs.release }}" != "true" ]] && [[ "${{ inputs.releasexp }}" != "true" ]] && [[ "${{ inputs.debug }}" != "true" ]] && [[ "${{ inputs.debuglogxp }}" != "true" ]] && [[ "${{ inputs.debuglogminixp }}" != "true" ]]; then + echo "[ERROR] At least one of following inputs must be set to 'true' -- 'release', 'releasexp', 'debug', 'debuglogxp', 'debuglogminixp'" exit 1 # elif [[ ! -f "$(cygpath --unix "$GITHUB_ACTION_PATH/cnc-ddraw.sln")" ]]; then @@ -115,7 +115,7 @@ runs: # # echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=Release -p:Platform=x86 -p:PlatformToolset=v141_xp + "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=Release -p:Platform=x86 -p:PlatformToolset=v143 # echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/Release/ddraw.dll")" >> $GITHUB_OUTPUT @@ -124,17 +124,17 @@ runs: shell: bash # Creating empty `PostBuild.cmd` to avoid false-positive build error - - name: Build ReleaseWin2000 - id: build-releasewin2000 + - name: Build ReleaseXP + id: build-releasexp run: | - if [[ "${{ inputs.releasewin2000 }}" == "true" ]]; then - echo ::group::Build ReleaseWin2000 + if [[ "${{ inputs.releasexp }}" == "true" ]]; then + echo ::group::Build ReleaseXP # # echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=ReleaseWin2000 -p:Platform=x86 -p:PlatformToolset=v141_xp + "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=ReleaseXP -p:Platform=x86 -p:PlatformToolset=v141_xp # - echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/ReleaseWin2000/ddraw.dll")" >> $GITHUB_OUTPUT + echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/ReleaseXP/ddraw.dll")" >> $GITHUB_OUTPUT echo "::endgroup::" fi @@ -150,7 +150,7 @@ runs: # # echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=Debug -p:Platform=x86 -p:PlatformToolset=v141_xp + "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=Debug -p:Platform=x86 -p:PlatformToolset=v143 # echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/Debug/ddraw.dll")" >> $GITHUB_OUTPUT echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/Debug/ddraw.pdb")" >> $GITHUB_OUTPUT @@ -160,38 +160,38 @@ runs: shell: bash # Creating empty `PostBuild.cmd` to avoid false-positive build error - - name: Build DebugLog - id: build-debuglog + - name: Build DebugLogXP + id: build-debuglogxp run: | : - if [[ "${{ inputs.debuglog }}" == "true" ]]; then - echo "::group::Build DebugLog" + if [[ "${{ inputs.debuglogxp }}" == "true" ]]; then + echo "::group::Build DebugLogXP" # # echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=DebugLog -p:Platform=x86 -p:PlatformToolset=v141_xp + "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=DebugLogXP -p:Platform=x86 -p:PlatformToolset=v141_xp # - echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLog/ddraw.dll")" >> $GITHUB_OUTPUT - echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLog/ddraw.pdb")" >> $GITHUB_OUTPUT + echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogXP/ddraw.dll")" >> $GITHUB_OUTPUT + echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogXP/ddraw.pdb")" >> $GITHUB_OUTPUT echo "::endgroup::" fi shell: bash # Creating empty `PostBuild.cmd` to avoid false-positive build error - - name: Build DebugLogMini - id: build-debuglogmini + - name: Build DebugLogMiniXP + id: build-debuglogminixp run: | : - if [[ "${{ inputs.debuglogmini }}" == "true" ]]; then - echo "::group::Build DebugLogMini" + if [[ "${{ inputs.debuglogminixp }}" == "true" ]]; then + echo "::group::Build DebugLogMiniXP" # # echo "@echo off" > "$GITHUB_ACTION_PATH/sfall/PostBuild.cmd" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=DebugLogMini -p:Platform=x86 -p:PlatformToolset=v141_xp + "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=DebugLogMiniXP -p:Platform=x86 -p:PlatformToolset=v141_xp # - echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogMini/ddraw.dll")" >> $GITHUB_OUTPUT - echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogMini/ddraw.pdb")" >> $GITHUB_OUTPUT + echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogMiniXP/ddraw.dll")" >> $GITHUB_OUTPUT + echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/DebugLogMiniXP/ddraw.pdb")" >> $GITHUB_OUTPUT echo "::endgroup::" fi diff --git a/cnc-ddraw.sln b/cnc-ddraw.sln index 1b867f0704..c579c3bc7d 100644 --- a/cnc-ddraw.sln +++ b/cnc-ddraw.sln @@ -8,19 +8,22 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 - DebugLog|x86 = DebugLog|x86 - DebugLogMini|x86 = DebugLogMini|x86 + DebugLogMiniXP|x86 = DebugLogMiniXP|x86 + DebugLogXP|x86 = DebugLogXP|x86 Release|x86 = Release|x86 + ReleaseXP|x86 = ReleaseXP|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {96094551-5D52-4EBD-BE4C-5291A03507FC}.Debug|x86.ActiveCfg = Debug|Win32 {96094551-5D52-4EBD-BE4C-5291A03507FC}.Debug|x86.Build.0 = Debug|Win32 - {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLog|x86.ActiveCfg = DebugLog|Win32 - {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLog|x86.Build.0 = DebugLog|Win32 - {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogMini|x86.ActiveCfg = DebugLogMini|Win32 - {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogMini|x86.Build.0 = DebugLogMini|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogMiniXP|x86.ActiveCfg = DebugLogMini|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogMiniXP|x86.Build.0 = DebugLogMini|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogXP|x86.ActiveCfg = DebugLog|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.DebugLogXP|x86.Build.0 = DebugLog|Win32 {96094551-5D52-4EBD-BE4C-5291A03507FC}.Release|x86.ActiveCfg = Release|Win32 {96094551-5D52-4EBD-BE4C-5291A03507FC}.Release|x86.Build.0 = Release|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.ReleaseXP|x86.ActiveCfg = ReleaseXP|Win32 + {96094551-5D52-4EBD-BE4C-5291A03507FC}.ReleaseXP|x86.Build.0 = ReleaseXP|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/cnc-ddraw.vcxproj b/cnc-ddraw.vcxproj index 8a22c6a1e0..62cd509a37 100644 --- a/cnc-ddraw.vcxproj +++ b/cnc-ddraw.vcxproj @@ -13,6 +13,10 @@ Debug Win32 + + ReleaseXP + Win32 + Release Win32 @@ -112,17 +116,24 @@ cnc_ddraw - 7.0 + 10.0 {96094551-5D52-4EBD-BE4C-5291A03507FC} DynamicLibrary true - v141_xp + v143 MultiByte + DynamicLibrary + false + v143 + true + MultiByte + + DynamicLibrary false v141_xp @@ -153,6 +164,9 @@ + + + @@ -172,6 +186,12 @@ false ddraw + + $(SolutionDir)bin\ReleaseXP\ + $(SolutionDir)bin\ReleaseXP\ + false + ddraw + $(SolutionDir)bin\DebugLog\ $(SolutionDir)bin\DebugLog\ @@ -201,7 +221,7 @@ -if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" ( +if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" ( copy "$(TargetPath)" "$(LocalDebuggerWorkingDirectory)$(TargetFileName)" ) @@ -228,7 +248,34 @@ if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" -if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" ( +if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" ( + copy "$(TargetPath)" "$(LocalDebuggerWorkingDirectory)$(TargetFileName)" +) + + + + + + Level2 + + + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreaded + inc;src\detours + + + Windows + true + true + winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ddraw.def + + + +if NOT "$(LocalDebuggerWorkingDirectory)" == "$(ProjectDir)" if exist "$(LocalDebuggerCommand)" if exist "$(LocalDebuggerWorkingDirectory)" ( copy "$(TargetPath)" "$(LocalDebuggerWorkingDirectory)$(TargetFileName)" )