Compare commits

..
Author SHA1 Message Date
Vasilii Rogin 0ee6c264c2 Comment cpack for macos 2025-09-09 21:45:50 +03:00
Vasilii Rogin 462063ca85 Temporarely disable cmake cache on Windows 2025-09-09 21:39:06 +03:00
Vasilii Rogin f17c61efa6 Expect signed apk 2025-09-09 21:38:50 +03:00
Vasilii Rogin e996107403 Change secrets for android signing 2025-09-09 21:38:28 +03:00
Vasilii Rogin 933e5bf822 Use unsigned version 2025-09-09 21:30:10 +03:00
Vasilii Rogin e084300713 Comment cpack 2025-09-09 21:28:02 +03:00
Vasilii Rogin 325c86ddfc Remove prerelease 2025-09-09 21:21:34 +03:00
Vasilii Rogin 324957526f Add more ls -laR 2025-09-09 21:20:41 +03:00
Vasilii Rogin acd5d979c9 Bump windows cache 2025-09-09 21:19:10 +03:00
Vasilii Rogin c2cd174516 Add ls -laR to debug 2025-09-09 21:17:29 +03:00
Vasilii Rogin 4cb451de51 Fix cpack 2025-09-09 21:15:40 +03:00
Vasilii Rogin 33c2cf268d Rename steps 2025-09-09 21:10:01 +03:00
Vasilii Rogin b47af8de8d Adding release 2025-09-09 21:05:16 +03:00
Vasilii Rogin efd4f9e434 Add debug suffixes 2025-09-09 21:00:38 +03:00
Vasilii Rogin 2d0a2047ba Add debug prefixes 2025-09-09 20:58:23 +03:00
Vasilii Rogin 87e1d1f11b Merge pull request #256 from fallout2-ce/ci_add_wait_for_deployment
Mark CI as done when preview is actually deployed
2025-09-08 08:04:44 +03:00
Vasilii Rogin 5d17e0ef89 Update deployment status AFTER website is actually deployed 2025-09-07 13:05:33 +03:00
Vasilii Rogin 2bf08228c5 Add step to ensure that deployment went well 2025-09-07 12:46:33 +03:00
6 changed files with 439 additions and 61 deletions
+384
View File
@@ -0,0 +1,384 @@
name: Build
on:
push:
branches:
- main
pull_request: # TODO: Remove this after debugging
types:
- opened
- synchronize
defaults:
run:
shell: bash
jobs:
android:
name: Android Release
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v4
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
cache: gradle
- name: Cache cmake build
uses: actions/cache@v4
with:
path: os/android/app/.cxx
key: android-cmake-v101
- name: Setup signing config
if: env.KEYSTORE_FILE_BASE64 != '' && env.KEYSTORE_PROPERTIES_FILE_BASE64 != ''
run: |
cd os/android
echo "$KEYSTORE_FILE_BASE64" | base64 --decode > release.keystore
echo "$KEYSTORE_PROPERTIES_FILE_BASE64" | base64 --decode > release-keystore.properties
env:
KEYSTORE_FILE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_FILE_BASE64 }}
KEYSTORE_PROPERTIES_FILE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_PROPERTIES_FILE_BASE64 }}
- name: Build
run: |
cd os/android
./gradlew assembleRelease
- name: Change apk file name
run: |
ls -laR .
mv os/android/app/build/outputs/apk/release/app-release.apk os/android/app/build/outputs/apk/release/fallout2-ce.apk
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.apk
path: os/android/app/build/outputs/apk/release/fallout2-ce.apk
retention-days: 7
ios:
name: iOS Release
runs-on: macos-14
steps:
- name: Clone
uses: actions/checkout@v4
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: ios-cmake-v101
- name: Configure
run: |
cmake --preset ios
- name: Build
run: |
cmake --build --preset ios-release
- name: Pack
run: |
ls -laR .
cd out/build/ios
# cpack -C Release # No need, we already have .ipa
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.ipa
path: out/build/ios/fallout2-ce.ipa
retention-days: 7
linux:
name: Linux ${{ matrix.arch }} Release
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
arch:
- x86
- x64
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies (x86)
if: matrix.arch == 'x86'
run: |
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install g++-multilib libsdl2-dev:i386 zlib1g-dev:i386
- name: Dependencies (x64)
if: matrix.arch == 'x64'
run: |
sudo apt update
sudo apt install libsdl2-dev zlib1g-dev
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: linux-${{ matrix.arch }}-cmake-v101
- name: Configure
run: |
cmake --preset linux-${{ matrix.arch }}-release
- name: Build
run: |
cmake --build --preset linux-${{ matrix.arch }}-release
- name: Change executable file name
run: |
mv out/build/linux-${{ matrix.arch }}-release/fallout2-ce out/build/linux-${{ matrix.arch }}-release/fallout2-ce-linux-${{ matrix.arch }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-${{ matrix.arch }}
path: out/build/linux-${{ matrix.arch }}-release/fallout2-ce-linux-${{ matrix.arch }}
retention-days: 7
linux-armhf:
name: Linux armhf Release
runs-on: ubuntu-22.04-arm
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies
run: |
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libsdl2-dev:armhf zlib1g-dev:armhf
- name: Configure
run: |
cmake \
-B build \
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
-D FALLOUT_VENDORED=OFF \
-D CMAKE_SYSTEM_PROCESSOR=arm \
-D CMAKE_C_COMPILER=arm-linux-gnueabihf-gcc \
-D CMAKE_CXX_COMPILER=arm-linux-gnueabihf-g++ \
# EOL
- name: Build
run: cmake --build build
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-armhf
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-armhf
path: build/fallout2-ce-linux-armhf
retention-days: 7
linux-arm64:
name: Linux arm64 Release
runs-on: ubuntu-22.04-arm
steps:
- name: Clone
uses: actions/checkout@v4
- name: Dependencies
run: |
sudo apt update
sudo apt install libsdl2-dev zlib1g-dev
- name: Configure
run: cmake -B build -D CMAKE_BUILD_TYPE=RelWithDebInfo -D FALLOUT_VENDORED=OFF
- name: Build
run: cmake --build build
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-arm64
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-arm64
path: build/fallout2-ce-linux-arm64
retention-days: 7
macos:
name: macOS Release
runs-on: macos-14
steps:
- name: Clone
uses: actions/checkout@v4
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: macos-cmake-v101
- name: Configure
run: |
cmake --preset macos
- name: Build
run: |
cmake --build --preset macos-release
- name: Pack
run: |
ls -laR .
cd out/build/macos
# cpack -C Release # There is already .dmg in the folder
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-macos.dmg
path: out/build/macos/Fallout II Community Edition.dmg
retention-days: 7
windows:
name: Windows ${{ matrix.arch }} Release
runs-on: windows-2025
strategy:
fail-fast: false
matrix:
include:
- arch: x86
generator-platform: Win32
- arch: x64
generator-platform: x64
steps:
- name: Clone
uses: actions/checkout@v4
- name: Install Visual Studio 2019 Build Tools with v141_xp
shell: cmd
run: |
choco install visualstudio2019buildtools -y --package-parameters="'--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --add Microsoft.VisualStudio.Component.VC.v141.xp --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.10240 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --add Microsoft.VisualStudio.Component.WinXP'"
# - name: Cache cmake build
# uses: actions/cache@v4
# with:
# path: out
# key: windows-${{ matrix.arch }}-cmake-v101
- name: Configure
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --preset windows-${{ matrix.arch }}
- name: Build
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --build --preset windows-${{ matrix.arch }}-release
- name: Change executable file name
run: |
mv out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-windows-${{ matrix.arch }}
path: out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
retention-days: 7
release:
name: Release Continuous build
runs-on: ubuntu-latest
needs: [android, ios, linux, linux-armhf, linux-arm64, macos, windows]
permissions: write-all
steps:
- name: Fetch artifacts
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: actions/download-artifact@v4.1.7
with:
path: artifacts/
- name: Remove old release
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: dev-drprasad/delete-tag-and-release@v0.2.1
with:
delete_release: true
tag_name: continious
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Move unpacked artifacts to root folder
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
run: |
ls -Rlah .
find .
cd artifacts/
for folder in *; do
if [[ -d "$folder" && "$folder" != "." ]]; then
echo "Processing $folder"
mv "$folder" "$folder.dir"
cd "$folder.dir"
for file in *; do
if [ -f "$file" ]; then
if [ -f "../$file" ]; then
echo "ERROR: Duplicate artifact file name $file"
exit 1
fi
if [ -d "../$file" ]; then
echo "ERROR: Duplicate artifact folder $file"
exit 1
fi
echo "Moving $file"
mv "$file" "../$file"
fi
done
cd ..
rm -rf "$folder.dir"
fi
done
ls -Rlah .
find .
cd ../
- name: Allow GitHub to process removed release for few seconds
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
run: |
sleep 20s
- name: Upload new release
if: ${{ always() && github.ref == 'refs/heads/main' && github.event_name == 'push' }}
uses: softprops/action-gh-release@v0.1.15
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: artifacts/*
tag_name: continious
draft: false
prerelease: false
name: Fallout2-CE Continuous Build
+26
View File
@@ -86,6 +86,10 @@ jobs:
SITE_BASE: ${{ steps.set-path.outputs.SITE_BASE }}
F2_GAME_VERSION: Game=${{github.event.pull_request.head.sha || github.sha }}
- name: Place hash file
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
run: echo "$GITHUB_SHA" > fallout2-ce-ems/dist/site_hash.txt
- name: Install rsync (required for the next step)
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
run: |
@@ -101,6 +105,28 @@ jobs:
clean: false
single-commit: true
- name: Check that site is deployed
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
run: |
URL="$SITE_ORIGIN""$SITE_BASE""site_hash.txt"
echo "Expecting $GITHUB_SHA from $URL"
for i in `seq 1 80`; do
got="$(curl -fsSL --max-time 10 "$URL" | tr -d '\r\n' || true)"
if [ "$got" = "$GITHUB_SHA" ]; then
echo "âś… Match on attempt $i: ${got}"
exit 0
fi
echo "Received $got, waiting"
sleep 5
done
exit 1
env:
SITE_ORIGIN: https://${{ github.repository_owner }}.github.io
SITE_BASE: ${{ steps.set-path.outputs.SITE_BASE }}
- name: Update deployment status
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
uses: bobheadxi/deployments@v1
+27 -25
View File
@@ -106,13 +106,13 @@ jobs:
- name: Change apk file name
run: |
mv os/android/app/build/outputs/apk/debug/app-debug.apk os/android/app/build/outputs/apk/debug/fallout2-ce.apk
mv os/android/app/build/outputs/apk/debug/app-debug.apk os/android/app/build/outputs/apk/debug/fallout2-ce-debug.apk
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-debug.apk
path: os/android/app/build/outputs/apk/debug/fallout2-ce.apk
path: os/android/app/build/outputs/apk/debug/fallout2-ce-debug.apk
retention-days: 7
ios:
@@ -142,12 +142,13 @@ jobs:
run: |
cd out/build/ios
cpack -C Debug
mv fallout2-ce.ipa fallout2-ce-debug.ipa
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce.ipa
path: out/build/ios/fallout2-ce.ipa
name: fallout2-ce-debug.ipa
path: out/build/ios/fallout2-ce-debug.ipa
retention-days: 7
linux:
@@ -200,7 +201,7 @@ jobs:
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-${{ matrix.arch }}
name: fallout2-ce-linux-${{ matrix.arch }}-debug
path: out/build/linux-${{ matrix.arch }}-debug/fallout2-ce-linux-${{ matrix.arch }}
retention-days: 7
@@ -235,13 +236,13 @@ jobs:
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-armhf
mv build/fallout2-ce build/fallout2-ce-linux-armhf-debug
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-armhf
path: build/fallout2-ce-linux-armhf
name: fallout2-ce-linux-armhf-debug
path: build/fallout2-ce-linux-armhf-debug
retention-days: 7
linux-arm64:
@@ -266,13 +267,13 @@ jobs:
- name: Change executable file name
run: |
mv build/fallout2-ce build/fallout2-ce-linux-arm64
mv build/fallout2-ce build/fallout2-ce-linux-arm64-debug
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-linux-arm64
path: build/fallout2-ce-linux-arm64
name: fallout2-ce-linux-arm64-debug
path: build/fallout2-ce-linux-arm64-debug
retention-days: 7
macos:
@@ -302,12 +303,13 @@ jobs:
run: |
cd out/build/macos
cpack -C Debug
mv "Fallout II Community Edition.dmg" "Fallout II Community Edition Debug.dmg"
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-macos.dmg
path: out/build/macos/Fallout II Community Edition.dmg
name: fallout2-ce-macos-debug.dmg
path: out/build/macos/Fallout II Community Edition Debug.dmg
retention-days: 7
windows:
@@ -333,11 +335,11 @@ jobs:
run: |
choco install visualstudio2019buildtools -y --package-parameters="'--add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.v141.x86.x64 --add Microsoft.VisualStudio.Component.VC.v141.xp --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.10240 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.WinXP --add Microsoft.VisualStudio.Component.WinXP'"
- name: Cache cmake build
uses: actions/cache@v4
with:
path: out
key: windows-${{ matrix.arch }}-cmake-v101
# - name: Cache cmake build
# uses: actions/cache@v4
# with:
# path: out
# key: windows-${{ matrix.arch }}-cmake-v102
- name: Configure
shell: cmd
@@ -349,22 +351,22 @@ jobs:
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\Common7\Tools\VsDevCmd.bat" ^
&& cmake --build --preset windows-${{ matrix.arch }}-release
&& cmake --build --preset windows-${{ matrix.arch }}-debug
- name: Change executable file name
run: |
mv out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
mv out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce.exe out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce-${{ matrix.arch }}-debug.exe
- name: Upload
uses: actions/upload-artifact@v4
with:
name: fallout2-ce-windows-${{ matrix.arch }}
path: out/build/windows-${{ matrix.arch }}/RelWithDebInfo/fallout2-ce-${{ matrix.arch }}.exe
name: fallout2-ce-windows-${{ matrix.arch }}-debug
path: out/build/windows-${{ matrix.arch }}/Debug/fallout2-ce-${{ matrix.arch }}-debug.exe
retention-days: 7
release:
name: Release Continuous build
name: Debug Release Continuous build
runs-on: ubuntu-latest
needs: [android, ios, linux, linux-armhf, linux-arm64, macos, windows]
permissions: write-all
@@ -380,7 +382,7 @@ jobs:
uses: dev-drprasad/delete-tag-and-release@v0.2.1
with:
delete_release: true
tag_name: continious
tag_name: continious-debug
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -429,7 +431,7 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: artifacts/*
tag_name: continious
tag_name: continious-debug
draft: false
prerelease: true
name: Fallout2-CE Continuous Build
+2 -26
View File
@@ -1,7 +1,6 @@
#include "mouse.h"
#include "color.h"
#include "debug.h"
#include "dinput.h"
#include "input.h"
#include "kb.h"
@@ -54,10 +53,6 @@ static unsigned char* _mouse_fptr = nullptr;
// 0x51E2A0
static double gMouseSensitivity = 1.0;
static double gMouseSensitivityDpiHorizontal = 1.0;
static double gMouseSensitivityDpiVertical = 1.0;
double gMouseSensitivityScale2Xoption = 1.0;
// 0x51E2AC
static int last_buttons = 0;
@@ -459,8 +454,8 @@ void _mouse_info()
}
// Adjust for mouse senstivity.
x = (int)(x * gMouseSensitivity * gMouseSensitivityDpiHorizontal * gMouseSensitivityScale2Xoption);
y = (int)(y * gMouseSensitivity * gMouseSensitivityDpiVertical * gMouseSensitivityScale2Xoption);
x = (int)(x * gMouseSensitivity);
y = (int)(y * gMouseSensitivity);
_mouse_simulate_input(x, y, buttons);
@@ -681,25 +676,6 @@ void mouseSetSensitivity(double value)
if (value >= 1.0 && value <= 2.5) {
gMouseSensitivity = value;
}
gMouseSensitivityDpiHorizontal = 1.0;
gMouseSensitivityDpiVertical = 1.0;
if (gSdlWindow) {
int displayIndex = SDL_GetWindowDisplayIndex(gSdlWindow);
float ddpi, hdpi, vdpi;
if (SDL_GetDisplayDPI(displayIndex, &ddpi, &hdpi, &vdpi) == 0) {
hdpi /= 96.0f; // 96 is standard DPI
vdpi /= 96.0f; // 96 is standard DPI
gMouseSensitivityDpiHorizontal = 1 / hdpi;
gMouseSensitivityDpiVertical = 1 / vdpi;
debugPrint("Mouse DPI scaling: horizontal = %.2f, vertical = %.2f", hdpi, vdpi);
debugPrint("Mouse DPI sensitivity: horizontal = %.2f, vertical = %.2f", gMouseSensitivityDpiHorizontal, gMouseSensitivityDpiVertical);
} else {
debugPrint("Mouse DPI sensitivity is not available, SDL_GetDisplayDPI failed");
}
} else {
debugPrint("Mouse DPI sensitivity is not available, SDL window is null");
}
}
void mouseGetPositionInWindow(int win, int* x, int* y)
-1
View File
@@ -54,7 +54,6 @@ void mouseGetWheel(int* x, int* y);
void convertMouseWheelToArrowKey(int* keyCodePtr);
int mouse_get_last_buttons();
extern double gMouseSensitivityScale2Xoption;
} // namespace fallout
#endif /* FALLOUT_MOUSE_H_ */
-9
View File
@@ -6,7 +6,6 @@
#include <SDL.h>
#include "config.h"
#include "debug.h"
#include "draw.h"
#include "interface.h"
#include "memory.h"
@@ -187,14 +186,6 @@ int _GNW95_init_mode_ex(int width, int height, int bpp)
_zero_mem = _GNW95_zero_vid_mem;
_mouse_blit = _GNW95_ShowRect;
if (scale != 1) {
gMouseSensitivityScale2Xoption = 1.0 / scale;
debugPrint("Mouse sensitivity adjusted according to scale into %f\n", gMouseSensitivityScale2Xoption);
} else {
gMouseSensitivityScale2Xoption = 1.0;
debugPrint("Mouse sensitivity not adjusted for 2X scale\n");
}
return 0;
}