mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-06-02 18:19:18 -04:00
44db9bab77
* initial work
* more work
* progress
* Fixed slow fps
* Add Lywx changes
* Interp Works
* Test default tick/logic update
* Added missing include (#202)
* Added missing include
* More missing includes
---------
Co-authored-by: MegaMech <MegaMech@users.noreply.github.com>
* test
* Revert "test"
This reverts commit 1a810d74cc.
* Interp Item box
* Actually interpolate item box
* fix clouds
* interp player?
* Test 2
* Fix mistake
* tag and fix item boxes
* tag fake item box and whatever func_800696CC is
* these aren't needed
* tag karts
* Slightly better falling rocks(still needs work)
* Tag Smoke and Dust
* Removed unneeded code from falling_rock
* tag whatever func_80051ABC is
* add missing rotate x coord
* GrandPrixBallon/kart shadow
* Green shells tag, and added comments I neglected to add before.
* doesn't compile on win
* Fixes
* Disabled camera interpolation
* Balloons fixes
* progress
* set_transform_matrix compiles
* Compile setTransformMatrix
* More transforms interp
* Add more interps
* matrix
* Matrix multi interp
* Fix interpolation camera bug
* Missing includes needed for Linux.
* Excluded access to HM64 Labs on Switch.
* interpolation tags for various objects
* Bowser castle statue flame interpolated.
* tag hedgehogs
* cloud interpolation
* Interpolated smoke particles from shells
* cloud interpolation refactor
* Interpolated snowflakes
* Interpolated penguins, also added comment tags to places I missed.
* tag Snowman interpolation
* Interpolated player reflection(sherbet land)
* Forgot to uncomment stuff while testing
* better tag
* tag leaves
* Set the default FPS to 30
* tag hud
* Fixed "Match Refresh Rate" option
* adjust draw distance
* remove innecessary rock tag
* rag rocks
* better tag
* Tagged player rank placement in HUD
* Tagged Bat, Boos, and TrashBin(Banshee Boardwalk objects)
* Refactor render_screens and fix editor raycast
* better object interpolation
* shift is not needed here
* fix tag
* fix tags
* mole comments
* comment
* Changed how shell flames are interpolated.
* interpolated ended scene fireworks.
* Tagged star particles in the ending scene
* Shell flames handled better.
* this isn't needed
* Fix multiplayer cameras
* Fixed loading battle maps.
* Tagged battle balloons
* Some fixes for battle mode
* No longer needed changes toAFinishline with the changes mega made.
* Tag finishline
* fix to make it compile with cmake 3.31
* changed mtxf_multiplication() to fix vert explosion in Desert & DK parkway.(provided by Coco.)
* fix memory leaks, avoid invalidate texture (#207)
* Fixed macos
* More stupid fixes
* update with main and update torch and lus and enable action on this branch
* Update FrameInterpolation.h
* Update FrameInterpolation.cpp
* fix some memory leak
* Update torch
* Update torch
* update torch and lus
* reduce texture import
* don't use fork of torch and lus
* Update torch
* Update torch
---------
Co-authored-by: Lywx <kiritodev01@gmail.com>
* Refactor World::Courses to unique_ptr (#211)
* wip course unique ptr
* Track unique_ptr : This probably compiles
* Finish impl Courses as unique_ptr
* Fix error
* Fixes
* More fixes
* Cleanup
* Remove old vars
---------
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
* particle boat and train
* fix player particle interpolation
* add modify interpolation target fps in menu
* fix windows
* Update libultraship
* Fix logo interp
* Interp SetTextMatrix
* Fix freecam camera
* Clarify comment
* Clarify func
* fix linux compilation
* Update Thwomp.cpp
* Update Thwomp.h
* Update render.inc.c
* Update render.inc.c
* Update gbiMacro.c
* interp falling rock shadow
* Revert change that has no explanation
* Update code_80057C60.c
* Update code_80057C60.c
* Update GrandPrixBalloons.cpp
* Update Lakitu.cpp
* Update framebuffer_effects.c
* Update render_courses.c
---------
Co-authored-by: Sonic Dreamcaster <alejandro.asenjo88@gmail.com>
Co-authored-by: KiritoDv <kiritodev01@gmail.com>
Co-authored-by: sitton76 <58642183+sitton76@users.noreply.github.com>
Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
Co-authored-by: coco875 <59367621+coco875@users.noreply.github.com>
Co-authored-by: coco875 <pereira.jannin@gmail.com>
231 lines
8.3 KiB
YAML
231 lines
8.3 KiB
YAML
name: GenerateBuilds
|
|
|
|
on:
|
|
push:
|
|
branches: ["*"]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
generate-port-o2r:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: Install dependencies
|
|
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2.13
|
|
with:
|
|
key: ${{ runner.os }}-o2r-ccache-${{ github.ref }}-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-o2r-ccache-${{ github.ref }}
|
|
${{ runner.os }}-o2r-ccache-
|
|
- name: Cache build folders
|
|
uses: actions/cache@v4
|
|
with:
|
|
key: ${{ runner.os }}-o2r-build-${{ github.ref }}-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-o2r-build-${{ github.ref }}
|
|
${{ runner.os }}-o2r-build-
|
|
path: |
|
|
torch/cmake-build-release
|
|
- name: Generate spaghetti.o2r
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
make -C torch type=release -j3
|
|
torch/cmake-build-release/torch pack assets spaghetti.o2r o2r
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: spaghetti.o2r
|
|
path: spaghetti.o2r
|
|
retention-days: 1
|
|
|
|
build-windows:
|
|
needs: generate-port-o2r
|
|
runs-on: windows-2022
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Build
|
|
run: |
|
|
cmake -S . -B "build/x64" -G "Visual Studio 17 2022" -T v143 -A x64 -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build ./build/x64 --config Release --parallel 10
|
|
- name: Download spaghetti.o2r
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: spaghetti.o2r
|
|
path: ./build/x64/Release
|
|
- name: Create Package
|
|
run: |
|
|
mkdir spaghetti-release
|
|
mv build/x64/Release/Spaghettify.exe spaghetti-release/
|
|
mv build/x64/Release/spaghetti.o2r spaghetti-release/
|
|
mv config.yml spaghetti-release/
|
|
mv yamls spaghetti-release/
|
|
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mdqinc/SDL_GameControllerDB/master/gamecontrollerdb.txt" -OutFile "spaghetti-release/gamecontrollerdb.txt"
|
|
- name: Upload build
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: spaghetti-windows
|
|
path: spaghetti-release
|
|
|
|
build-macos:
|
|
needs: generate-port-o2r
|
|
runs-on: macOS-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Install dependencies
|
|
run: brew install sdl2 sdl2_net libpng glew ninja cmake libzip nlohmann-json tinyxml2 spdlog vorbis-tools
|
|
- name: Build
|
|
run: |
|
|
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build-cmake --config Release -j3
|
|
- name: Download spaghetti.o2r
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: spaghetti.o2r
|
|
path: ./build-cmake
|
|
- name: Create Package
|
|
run: |
|
|
mkdir spaghetti-release
|
|
mv build-cmake/Spaghettify spaghetti-release/
|
|
mv build-cmake/spaghetti.o2r spaghetti-release/
|
|
mv config.yml spaghetti-release/
|
|
mv yamls spaghetti-release/
|
|
wget -O spaghetti-release/gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
|
|
- name: Publish packaged artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: spaghetti-mac-x64
|
|
path: spaghetti-release
|
|
|
|
build-linux:
|
|
needs: generate-port-o2r
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Update machine
|
|
run: sudo apt update
|
|
- name: Install dependencies
|
|
run: sudo apt-get install gcc g++ git cmake ninja-build lsb-release libsdl2-dev libsdl2-net-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
|
|
- name: ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2.14
|
|
with:
|
|
key: linux-ccache-${{ github.ref }}-${{ github.sha }}
|
|
restore-keys: |
|
|
linux-ccache-${{ github.ref }}
|
|
linux-ccache-
|
|
- name: Cache build folders
|
|
uses: actions/cache@v4
|
|
with:
|
|
key: linux-build-${{ github.ref }}-${{ github.sha }}
|
|
restore-keys: |
|
|
linux-build-${{ github.ref }}
|
|
linux-build-
|
|
path: |
|
|
SDL2-2.30.3
|
|
tinyxml2-10.0.0
|
|
libzip-1.10.1
|
|
- name: Install latest SDL
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
if [ ! -d "SDL2-2.30.3" ]; then
|
|
wget https://www.libsdl.org/release/SDL2-2.30.3.tar.gz
|
|
tar -xzf SDL2-2.30.3.tar.gz
|
|
fi
|
|
cd SDL2-2.30.3
|
|
./configure --enable-hidapi-libusb
|
|
make -j 10
|
|
sudo make install
|
|
sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/
|
|
- name: Install latest tinyxml2
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
|
|
tar -xzf 10.0.0.tar.gz
|
|
cd tinyxml2-10.0.0
|
|
mkdir -p build
|
|
cd build
|
|
cmake ..
|
|
make
|
|
sudo make install
|
|
- name: Install libzip without crypto
|
|
run: |
|
|
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
|
if [ ! -d "libzip-1.10.1" ]; then
|
|
wget https://github.com/nih-at/libzip/releases/download/v1.10.1/libzip-1.10.1.tar.gz
|
|
tar -xzf libzip-1.10.1.tar.gz
|
|
fi
|
|
cd libzip-1.10.1
|
|
mkdir -p build
|
|
cd build
|
|
cmake .. -DENABLE_COMMONCRYPTO=OFF -DENABLE_GNUTLS=OFF -DENABLE_MBEDTLS=OFF -DENABLE_OPENSSL=OFF
|
|
make
|
|
sudo make install
|
|
sudo cp -av /usr/local/lib/libzip* /lib/x86_64-linux-gnu/
|
|
- name: Download spaghetti.o2r
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: spaghetti.o2r
|
|
path: ./build-cmake
|
|
- name: Build
|
|
run: |
|
|
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build-cmake --config Release -j3
|
|
(cd build-cmake && cpack -G External)
|
|
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
|
|
mv README.md readme.txt
|
|
mv build-cmake/*.appimage spaghetti.appimage
|
|
- name: Upload build
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Spaghettify-linux
|
|
path: |
|
|
spaghetti.appimage
|
|
config.yml
|
|
yamls
|
|
gamecontrollerdb.txt
|
|
|
|
build-switch:
|
|
needs: generate-port-o2r
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: devkitpro/devkita64:20241023
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y ninja-build
|
|
sudo apt-get remove -y cmake
|
|
git -C libultraship remote add nx https://github.com/Net64DD/libultraship.git
|
|
git -C libultraship fetch nx
|
|
git -C libultraship checkout nx/main-nx
|
|
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.sh -O /tmp/cmake.sh
|
|
sudo sh /tmp/cmake.sh --prefix=/usr/local/ --exclude-subdir
|
|
cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake
|
|
cmake --build build-switch --config Release -j3
|
|
wget -O gamecontrollerdb.txt https://github.com/mdqinc/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
|
|
mv README.md readme.txt
|
|
mv build-switch/*.nro Spaghettify.nro
|
|
- name: Upload build
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Spaghettify-switch
|
|
path: |
|
|
Spaghettify.nro
|
|
config.yml
|
|
assets
|
|
gamecontrollerdb.txt
|