Skip to content

Commit 7e53599

Browse files
committed
Merge branch 'develop' into sm64plus-camera-port
2 parents 1ef374a + c105626 commit 7e53599

196 files changed

Lines changed: 9060 additions & 3036 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/linux.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Linux Validation
2-
on: [pull_request]
2+
3+
on:
4+
pull_request:
5+
branches: [ "*" ]
36

47
jobs:
58
build:
@@ -12,6 +15,8 @@ jobs:
1215
run: sudo apt update
1316
- name: Install dependencies
1417
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libpng-dev libsdl2-net-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev libboost-dev libopengl-dev libogg-dev libvorbis-dev
18+
- name: Install python dependencies
19+
run: pip3 install cryptography --break-system-packages
1520
- name: Install latest SDL
1621
run: |
1722
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
@@ -32,9 +37,15 @@ jobs:
3237
cmake ..
3338
make
3439
sudo make install
40+
- name: Setup Python
41+
uses: actions/setup-python@v5
42+
with:
43+
python-version: '3.12'
44+
- name: Install Python dependencies
45+
run: pip install -r libultraship/requirements.txt
3546
- name: Build
3647
run: |
37-
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
48+
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE=$(which python3)
3849
cmake --build build-cmake -j
3950
- name: Create Package
4051
run: |

.github/workflows/mac.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ jobs:
4242
sudo installer -pkg ./MacPorts-2.11.5-14-Sonoma.pkg -target /
4343
fi
4444
echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
45+
- name: Install Python dependencies
46+
run: python3 -m pip install -r libultraship/requirements.txt --break-system-packages || python3 -m pip install -r libultraship/requirements.txt
4547
- name: Install dependencies
4648
run: |
4749
brew uninstall --ignore-dependencies libpng
@@ -50,7 +52,7 @@ jobs:
5052
- name: Build (Universal)
5153
run: |
5254
export PATH="/usr/lib/ccache:/opt/homebrew/opt/ccache/libexec:/usr/local/opt/ccache/libexec:$PATH"
53-
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
55+
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DPython3_EXECUTABLE=$(which python3)
5456
cmake --build build-cmake --config Release --parallel 10
5557
- name: Create Package
5658
run: |

.github/workflows/main.yml

Lines changed: 66 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: GenerateBuilds
2+
23
on:
34
push:
45

@@ -55,9 +56,28 @@ jobs:
5556
- uses: actions/checkout@v4
5657
with:
5758
submodules: recursive
59+
- name: Setup MSVC
60+
uses: ilammy/msvc-dev-cmd@v1
61+
- name: Setup Python
62+
uses: actions/setup-python@v5
63+
with:
64+
python-version: '3.12'
65+
- name: Install Python dependencies
66+
run: pip install -r libultraship/requirements.txt
67+
- name: Cache vcpkg
68+
uses: actions/cache@v4
69+
with:
70+
key: ${{ runner.os }}-vcpkg-x64-static-${{ hashFiles('CMakeLists.txt', 'cmake/automate-vcpkg.cmake') }}
71+
restore-keys: |
72+
${{ runner.os }}-vcpkg-x64-static-
73+
path: |
74+
build/x64/vcpkg
75+
build/x64/vcpkg_installed
76+
build/x64/vcpkg/downloads
5877
- name: Build
5978
run: |
60-
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
79+
$env:VCPKG_ROOT=""
80+
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
6181
cmake --build ./build/x64 --config Release --parallel 10
6282
- name: Download ghostship.o2r
6383
uses: actions/download-artifact@v4
@@ -66,20 +86,30 @@ jobs:
6686
path: ./build/x64/Release
6787
- name: Create Package
6888
run: |
69-
mkdir ghostship-release
70-
mkdir ghostship-release/debug
71-
mv build/x64/Release/Ghostship.exe ghostship-release/
72-
mv build/x64/Release/ghostship.o2r ghostship-release/
73-
mv build/x64/Release/*.pdb ghostship-release/debug/
74-
mv README.md ghostship-release/readme.txt
75-
mv config.yml ghostship-release/
76-
mv assets ghostship-release/
77-
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "ghostship-release/gamecontrollerdb.txt"
89+
mkdir debug
90+
if (-Not (Test-Path "build/x64/Release/.tcc")) { Write-Error "ERROR: .tcc not found in build/x64/Release/"; exit 1 }
91+
mv build/x64/Release/.tcc .tcc
92+
mv build/x64/Release/Ghostship.exe .
93+
mv build/x64/Release/tcc.dll .
94+
mv build/x64/Release/ghostship.o2r .
95+
mv build/x64/Release/*.pdb debug/
96+
mv README.md readme.txt
97+
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "gamecontrollerdb.txt"
7898
- name: Upload build
7999
uses: actions/upload-artifact@v4
80100
with:
81101
name: Ghostship-windows
82-
path: ghostship-release
102+
include-hidden-files: true
103+
path: |
104+
.tcc
105+
Ghostship.exe
106+
tcc.dll
107+
ghostship.o2r
108+
debug
109+
readme.txt
110+
config.yml
111+
assets
112+
gamecontrollerdb.txt
83113
84114
build-macos:
85115
needs: generate-port-o2r
@@ -122,6 +152,8 @@ jobs:
122152
sudo installer -pkg ./MacPorts-2.11.5-14-Sonoma.pkg -target /
123153
fi
124154
echo "/opt/local/bin:/opt/local/sbin" >> "$GITHUB_PATH"
155+
- name: Install Python dependencies
156+
run: python3 -m pip install -r libultraship/requirements.txt --break-system-packages || python3 -m pip install -r libultraship/requirements.txt
125157
- name: Install dependencies
126158
run: |
127159
brew uninstall --ignore-dependencies libpng
@@ -130,7 +162,7 @@ jobs:
130162
- name: Build (Universal)
131163
run: |
132164
export PATH="/usr/lib/ccache:/opt/homebrew/opt/ccache/libexec:/usr/local/opt/ccache/libexec:$PATH"
133-
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
165+
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DPython3_EXECUTABLE=$(which python3)
134166
cmake --build build-cmake --config Release --parallel 10
135167
- name: Download ghostship.o2r
136168
uses: actions/download-artifact@v4
@@ -141,12 +173,16 @@ jobs:
141173
run: |
142174
(cd build-cmake && cpack)
143175
mv _packages/*.dmg Ghostship.dmg
176+
ls -la build-cmake/.tcc || (echo "ERROR: .tcc not found in build-cmake/" && exit 1)
177+
cp -r build-cmake/.tcc .tcc
144178
mv README.md readme.txt
145179
- name: Publish packaged artifacts
146180
uses: actions/upload-artifact@v4
147181
with:
148182
name: Ghostship-mac
183+
include-hidden-files: true
149184
path: |
185+
.tcc
150186
Ghostship.dmg
151187
readme.txt
152188
- name: Save Cache MacPorts
@@ -222,33 +258,46 @@ jobs:
222258
make
223259
sudo make install
224260
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
261+
- name: Setup Python
262+
uses: actions/setup-python@v5
263+
with:
264+
python-version: '3.12'
265+
- name: Install Python dependencies
266+
run: pip install -r libultraship/requirements.txt
225267
- name: Download ghostship.o2r
226268
uses: actions/download-artifact@v4
227269
with:
228270
name: ghostship.o2r
229271
path: ./build-cmake
230272
- name: Build
231273
run: |
232-
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
274+
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE=$(which python3)
233275
cmake --build build-cmake --config Release -j3
234276
(cd build-cmake && cpack -G External)
235-
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/refs/heads/master/gamecontrollerdb.txt
277+
wget -O gamecontrollerdb.txt https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt
236278
mv README.md readme.txt
237279
mv build-cmake/*.appimage ghostship.appimage
280+
ls -la build-cmake/.tcc || (echo "ERROR: .tcc not found in build-cmake/" && exit 1)
281+
cp -r build-cmake/.tcc .tcc
238282
- name: Upload build
239283
uses: actions/upload-artifact@v4
240284
with:
241285
name: Ghostship-linux
286+
include-hidden-files: true
242287
path: |
288+
.tcc
243289
ghostship.appimage
290+
config.yml
291+
readme.txt
292+
assets
244293
gamecontrollerdb.txt
245294
246295
build-switch:
247296
if: false
248297
needs: generate-port-o2r
249298
runs-on: ubuntu-latest
250299
container:
251-
image: devkitpro/devkita64:20241023
300+
image: devkitpro/devkita64:20260219
252301
steps:
253302
- uses: actions/checkout@v4
254303
with:
@@ -258,9 +307,9 @@ jobs:
258307
sudo apt-get update
259308
sudo apt-get install -y ninja-build
260309
sudo apt-get remove -y cmake
261-
git -C libultraship remote add nx https://github.com/YoshiCrystal9/libultraship.git
310+
git -C libultraship remote add nx https://github.com/Net64DD/libultraship.git
262311
git -C libultraship fetch nx
263-
git -C libultraship checkout nx/main-nx
312+
git -C libultraship checkout nx/main-nx-nightly
264313
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh
265314
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
266315
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake

.github/workflows/switch.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
if: false
77
runs-on: ubuntu-latest
88
container:
9-
image: devkitpro/devkita64:20241023
9+
image: devkitpro/devkita64:20260219
1010
steps:
1111
- uses: actions/checkout@v4
1212
with:
@@ -16,9 +16,9 @@ jobs:
1616
sudo apt-get update
1717
sudo apt-get install -y ninja-build
1818
sudo apt-get remove -y cmake
19-
git -C libultraship remote add nx https://github.com/YoshiCrystal9/libultraship.git
19+
git -C libultraship remote add nx https://github.com/Net64DD/libultraship.git
2020
git -C libultraship fetch nx
21-
git -C libultraship checkout nx/main-nx
21+
git -C libultraship checkout nx/main-nx-nightly
2222
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh
2323
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
2424
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake

.github/workflows/windows.yml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Windows Validation
2-
on: [pull_request]
2+
3+
on:
4+
pull_request:
5+
branches: [ "*" ]
36

47
jobs:
58
build:
@@ -8,10 +11,29 @@ jobs:
811
- uses: actions/checkout@v4
912
with:
1013
submodules: recursive
14+
- name: Setup MSVC
15+
uses: ilammy/msvc-dev-cmd@v1
16+
- name: Setup Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: '3.12'
20+
- name: Install Python dependencies
21+
run: pip install -r libultraship/requirements.txt
22+
- name: Cache vcpkg
23+
uses: actions/cache@v4
24+
with:
25+
key: ${{ runner.os }}-vcpkg-x64-static-${{ hashFiles('CMakeLists.txt', 'cmake/automate-vcpkg.cmake') }}
26+
restore-keys: |
27+
${{ runner.os }}-vcpkg-x64-static-
28+
path: |
29+
build/x64/vcpkg
30+
build/x64/vcpkg_installed
31+
build/x64/vcpkg/downloads
1132
- name: Build
1233
run: |
13-
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
14-
cmake --build ./build/x64
34+
$env:VCPKG_ROOT=""
35+
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release -DPython3_EXECUTABLE="$(python -c 'import sys; print(sys.executable)')"
36+
cmake --build ./build/x64 --config Release --parallel 10
1537
- name: Upload build
1638
uses: actions/upload-artifact@v4
1739
with:

.gitignore

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,11 @@ node_modules
100100
mods/
101101
randomizer/
102102
!/src/port/mods/
103-
saves/
103+
saves/
104+
workspace/*
105+
!workspace/template
106+
workspace/template/output/*
107+
!workspace/template/output/manifest.json
108+
*.pem
109+
.tcc
110+
mods-*

0 commit comments

Comments
 (0)