From b5cabbafdeac40471298a9fb56cbe94a952a9f4a Mon Sep 17 00:00:00 2001 From: egornovivan Date: Wed, 13 Mar 2024 16:59:35 +0500 Subject: [PATCH] Fix build Win2000 --- .github/workflows/build.yml | 51 ++++++++++++++++++++++++++++++------- Makefile | 2 +- action.yml | 35 +++++++++++++++++++------ 3 files changed, 70 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 510f05a..fb3de3b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -84,8 +84,12 @@ jobs: cp LICENSE cnc-ddraw-release/LICENSE.txt cp README.md cnc-ddraw-release/README.txt - mkdir -p cnc-ddraw-release-pdb - cp "${{ steps.build-release.outputs.release-pdb }}" cnc-ddraw-release-pdb + if [[ -f "${{ steps.build-release.outputs.release-pdb }}" ]]; then + + mkdir -p cnc-ddraw-release-pdb + cp "${{ steps.build-release.outputs.release-pdb }}" cnc-ddraw-release-pdb + + fi fi @@ -96,8 +100,12 @@ jobs: cp LICENSE cnc-ddraw-releasewin2000/LICENSE.txt cp README.md cnc-ddraw-releasewin2000/README.txt - mkdir -p cnc-ddraw-releasewin2000-pdb - cp "${{ steps.build-releasewin2000.outputs.releasewin2000-pdb }}" cnc-ddraw-releasewin2000-pdb + if [[ -f "${{ steps.build-releasewin2000.outputs.releasewin2000-pdb }}" ]]; then + + mkdir -p cnc-ddraw-releasewin2000-pdb + cp "${{ steps.build-releasewin2000.outputs.releasewin2000-pdb }}" cnc-ddraw-releasewin2000-pdb + + fi fi @@ -105,7 +113,12 @@ jobs: mkdir -p cnc-ddraw-debug cp "${{ steps.build-debug.outputs.debug }}" cnc-ddraw-debug - cp "${{ steps.build-debug.outputs.debug-pdb }}" cnc-ddraw-debug + + if [[ -f "${{ steps.build-debug.outputs.debug-pdb }}" ]]; then + + cp "${{ steps.build-debug.outputs.debug-pdb }}" cnc-ddraw-debug + + fi fi @@ -113,7 +126,12 @@ jobs: mkdir -p cnc-ddraw-debuglog cp "${{ steps.build-debuglog.outputs.debuglog }}" cnc-ddraw-debuglog - cp "${{ steps.build-debuglog.outputs.debuglog-pdb }}" cnc-ddraw-debuglog + + if [[ -f "${{ steps.build-debuglog.outputs.debuglog-pdb }}" ]]; then + + cp "${{ steps.build-debuglog.outputs.debuglog-pdb }}" cnc-ddraw-debuglog + + fi fi @@ -121,7 +139,12 @@ jobs: mkdir -p cnc-ddraw-debuglogmini cp "${{ steps.build-debuglogmini.outputs.debuglogmini }}" cnc-ddraw-debuglogmini - cp "${{ steps.build-debuglogmini.outputs.debuglogmini-pdb }}" cnc-ddraw-debuglogmini + + if [[ -f "${{ steps.build-debuglogmini.outputs.debuglogmini-pdb }}" ]]; then + + cp "${{ steps.build-debuglogmini.outputs.debuglogmini-pdb }}" cnc-ddraw-debuglogmini + + fi fi @@ -179,7 +202,12 @@ jobs: cp -r glsl-shaders-master cnc-ddraw-release/Shaders 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-release.zip" ".\cnc-ddraw-release\*" - 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-release-pdb.zip" ".\cnc-ddraw-release-pdb\*" + + if [[ -f "${{ steps.build-release.outputs.release-pdb }}" ]]; then + + 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-release-pdb.zip" ".\cnc-ddraw-release-pdb\*" + + fi fi @@ -187,7 +215,12 @@ jobs: cp -r glsl-shaders-master cnc-ddraw-releasewin2000/Shaders 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-releasewin2000.zip" ".\cnc-ddraw-releasewin2000\*" - 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-releasewin2000-pdb.zip" ".\cnc-ddraw-releasewin2000-pdb\*" + + if [[ -f "${{ steps.build-releasewin2000.outputs.releasewin2000-pdb }}" ]]; then + + 7z a -tzip -mm=Deflate -mfb=258 -mpass=15 "cnc-ddraw-releasewin2000-pdb.zip" ".\cnc-ddraw-releasewin2000-pdb\*" + + fi fi diff --git a/Makefile b/Makefile index 20da2fb..fcb25cd 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ WINDRES ?= windres LDFLAGS = -Wl,--enable-stdcall-fixup -s -CFLAGS = -Iinc -O2 -march=pentium4 -Wall +CFLAGS = -Iinc -O2 -march=i486 -Wall LIBS = -lgdi32 -lwinmm -lpsapi -ldbghelp -lole32 FILES = src/IDirect3D/IDirect3D.c \ diff --git a/action.yml b/action.yml index fa1bf5b..15c34e9 100644 --- a/action.yml +++ b/action.yml @@ -99,20 +99,36 @@ runs: fi shell: bash + - name: Prepare w64devkit + id: w64devkit + run: | + if [[ "${{ inputs.releasewin2000 }}" == "true" ]]; then + echo "::group::Prepare w64devkit" + + cd "$GITHUB_ACTION_PATH" + curl -Ls -o "$GITHUB_ACTION_PATH/w64devkit.zip" "$(curl -s https://api.github.com/repos/FunkyFr3sh/w64devkit/releases/latest | grep browser_download_url | cut -d '"' -f 4)" + 7z x "w64devkit.zip" + + echo "path=$(cygpath --windows "$GITHUB_ACTION_PATH/w64devkit/bin/")" >> $GITHUB_OUTPUT + + echo "::endgroup::" + fi + shell: bash + - name: Prepare RAD Studio id: radstudio run: | if [[ "${{ inputs.releaseconfig }}" == "true" ]] || [[ "${{ inputs.debugconfig }}" == "true" ]]; then echo "::group::Prepare RAD Studio" - + if [[ ! -d "$GITHUB_ACTION_PATH/Embarcadero" ]]; then - + cd "$GITHUB_ACTION_PATH" curl -o "$GITHUB_ACTION_PATH/Embarcadero.7z" "https:/www.googleapis.com/drive/v3/files/1SjvOu3yOnsoRtivNgIhsBV8nA2DQXJmt?alt=media&key=AIzaSyAA9ERw-9LZVEohRYtCWka_TQc6oXmvcVU" 7z x "Embarcadero.7z" - + fi - + echo "allusersprofile=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT echo "appdata=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT echo "bcb=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT @@ -137,7 +153,7 @@ runs: echo "programdata=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT echo "public=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT echo "userprofile=$(cygpath --windows "$GITHUB_ACTION_PATH/Embarcadero/Studio/23.0/")" >> $GITHUB_OUTPUT - + echo "::endgroup::" fi shell: bash @@ -176,13 +192,16 @@ runs: if [[ "${{ inputs.releasewin2000 }}" == "true" ]]; then echo "::group::Build ReleaseWin2000" - "${{ steps.msbuild.outputs.exe }}" "$GITHUB_ACTION_PATH/cnc-ddraw.sln" -p:Configuration=ReleaseWin2000 -p:Platform=x86 -p:PlatformToolset=v141_xp + make clean + make - echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/ReleaseWin2000/ddraw.dll")" >> $GITHUB_OUTPUT - echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/bin/ReleaseWin2000/ddraw.pdb")" >> $GITHUB_OUTPUT + echo "ddraw-dll=$(cygpath --windows "$GITHUB_ACTION_PATH/ddraw.dll")" >> $GITHUB_OUTPUT + echo "ddraw-pdb=$(cygpath --windows "$GITHUB_ACTION_PATH/ddraw.pdb")" >> $GITHUB_OUTPUT echo "::endgroup::" fi + env: + PATH: ${{ steps.w64devkit.outputs.path }} shell: bash - name: Build Debug