mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Update to 2S2H 1.0.1
This commit is contained in:
@@ -1 +1 @@
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev libzip-dev zipcmp zipmerge ziptool nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
|
||||
libusb-dev libusb-1.0-0-dev libsdl2-dev libsdl2-net-dev libpng-dev libglew-dev nlohmann-json3-dev libtinyxml2-dev libspdlog-dev ninja-build
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Call the original gtar executable with sudo for macports cache restoration to root folder
|
||||
exec sudo /opt/homebrew/bin/gtar.orig "$@"
|
||||
+179
-217
@@ -98,74 +98,8 @@ jobs:
|
||||
# source-dir: _packages
|
||||
# destination-dir: ./
|
||||
|
||||
# generate-2ship-otr:
|
||||
# runs-on: ubuntu-22.04
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# with:
|
||||
# submodules: true
|
||||
# - name: ccache
|
||||
# uses: hendrikmuhs/ccache-action@v1.2.11
|
||||
# with:
|
||||
# key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-otr-ccache-${{ github.ref }}
|
||||
# ${{ runner.os }}-otr-ccache
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# sudo apt-get update
|
||||
# sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
|
||||
# - name: Cache build folders
|
||||
# uses: actions/cache@v4
|
||||
# with:
|
||||
# key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-otr-build-${{ github.ref }}
|
||||
# ${{ runner.os }}-otr-build
|
||||
# path: |
|
||||
# build-cmake
|
||||
# SDL2-2.28.5
|
||||
# tinyxml2-10.0.0
|
||||
# - name: Install latest SDL
|
||||
# run: |
|
||||
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
# if [ ! -d "SDL2-2.28.5" ]; then
|
||||
# wget https://www.libsdl.org/release/SDL2-2.28.5.tar.gz
|
||||
# tar -xzf SDL2-2.28.5.tar.gz
|
||||
# fi
|
||||
# cd SDL2-2.28.5
|
||||
# ./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: |
|
||||
# sudo apt-get remove libtinyxml2-dev
|
||||
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
# if [ ! -d "tinyxml2-10.0.0" ]; then
|
||||
# wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
|
||||
# tar -xzf 10.0.0.tar.gz
|
||||
# fi
|
||||
# cd tinyxml2-10.0.0
|
||||
# mkdir -p build
|
||||
# cd build
|
||||
# cmake ..
|
||||
# make
|
||||
# sudo make install
|
||||
# - name: Generate 2ship.o2r
|
||||
# run: |
|
||||
# export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
# cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
# cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
|
||||
# - uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: 2ship.o2r
|
||||
# path: 2ship.o2r
|
||||
# retention-days: 1
|
||||
|
||||
build-macos:
|
||||
# needs: generate-2ship-otr
|
||||
runs-on: macos-14
|
||||
generate-2ship-otr:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -173,99 +107,24 @@ jobs:
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.13
|
||||
with:
|
||||
create-symlink: true
|
||||
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
key: ${{ runner.os }}-otr-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-14-ccache-${{ github.ref }}
|
||||
${{ runner.os }}-14-ccache
|
||||
- name: Cache MacPorts
|
||||
id: cache-macports
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /opt/local/
|
||||
key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-macports
|
||||
- name: Install MacPorts (if necessary)
|
||||
run: |
|
||||
if [ -d /opt/local/ ]; then
|
||||
echo "MacPorts already installed"
|
||||
else
|
||||
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
|
||||
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
|
||||
fi
|
||||
echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew uninstall --ignore-dependencies libpng
|
||||
sudo port install $(cat .github/workflows/macports-deps.txt)
|
||||
brew install ninja
|
||||
# - name: Download 2ship.o2r
|
||||
# uses: actions/download-artifact@v4
|
||||
# with:
|
||||
# name: 2ship.o2r
|
||||
# path: build-cmake/mm
|
||||
- name: Build 2Ship
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
||||
cmake --build build-cmake --config Release --target Generate2ShipOtr --parallel 10
|
||||
cmake --build build-cmake --config Release --parallel 10
|
||||
(cd build-cmake && cpack)
|
||||
|
||||
mv _packages/*.dmg 2Ship.dmg
|
||||
mv README.md readme.txt
|
||||
# - name: Upload build
|
||||
# if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: 2ship-mac
|
||||
# path: |
|
||||
# 2Ship.dmg
|
||||
# readme.txt
|
||||
- name: Zip build
|
||||
run: |
|
||||
mkdir -p _release
|
||||
zip -qq _release/2ship-mac.zip 2ship.dmg readme.txt
|
||||
- name: Upload build
|
||||
if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
|
||||
uses: ryand56/r2-upload-action@latest
|
||||
with:
|
||||
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
||||
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
||||
r2-bucket: ${{ secrets.R2_BUCKET }}
|
||||
source-dir: _release
|
||||
destination-dir: ./
|
||||
|
||||
build-linux:
|
||||
# needs: generate-2ship-otr
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
${{ runner.os }}-otr-ccache-${{ github.ref }}
|
||||
${{ runner.os }}-otr-ccache-
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.11
|
||||
with:
|
||||
key: linux-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
linux-ccache-${{ github.ref }}
|
||||
linux-ccache
|
||||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) libzip-dev zipcmp zipmerge ziptool
|
||||
- name: Cache build folders
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
key: linux-build-${{ github.ref }}-${{ github.sha }}
|
||||
key: ${{ runner.os }}-otr-build-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
linux-build-${{ github.ref }}
|
||||
linux-build
|
||||
${{ runner.os }}-otr-build-${{ github.ref }}
|
||||
${{ runner.os }}-otr-build-
|
||||
path: |
|
||||
build-cmake
|
||||
SDL2-2.28.5
|
||||
SDL2_net-2.2.0
|
||||
tinyxml2-10.0.0
|
||||
- name: Install latest SDL
|
||||
run: |
|
||||
@@ -293,28 +152,160 @@ jobs:
|
||||
cmake ..
|
||||
make
|
||||
sudo make install
|
||||
- name: Install latest SDL_net
|
||||
- name: Generate 2ship.o2r
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
if [ ! -d "SDL2_net-2.2.0" ]; then
|
||||
wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz
|
||||
tar -xzf SDL2_net-2.2.0.tar.gz
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: 2ship.o2r
|
||||
retention-days: 1
|
||||
|
||||
build-macos:
|
||||
needs: generate-2ship-otr
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.13
|
||||
with:
|
||||
create-symlink: true
|
||||
key: ${{ runner.os }}-14-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-14-ccache-${{ github.ref }}
|
||||
${{ runner.os }}-14-ccache-
|
||||
# Needed to apply sudo for macports cache restore
|
||||
- name: Install gtar wrapper
|
||||
run: |
|
||||
sudo mv /opt/homebrew/bin/gtar /opt/homebrew/bin/gtar.orig
|
||||
sudo cp .github/workflows/gtar /opt/homebrew/bin/gtar
|
||||
sudo chmod +x /opt/homebrew/bin/gtar
|
||||
- name: Cache MacPorts
|
||||
id: cache-macports
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: /opt/local/
|
||||
key: ${{ runner.os }}-14-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-14-macports-
|
||||
- name: Install MacPorts (if necessary)
|
||||
run: |
|
||||
if [ command -v port &>/dev/null ]; then
|
||||
echo "MacPorts already installed"
|
||||
else
|
||||
wget https://github.com/macports/macports-base/releases/download/v2.9.3/MacPorts-2.9.3-14-Sonoma.pkg
|
||||
sudo installer -pkg ./MacPorts-2.9.3-14-Sonoma.pkg -target /
|
||||
fi
|
||||
cd SDL2_net-2.2.0
|
||||
./configure
|
||||
echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew uninstall --ignore-dependencies libpng
|
||||
sudo port install $(cat .github/workflows/macports-deps.txt)
|
||||
brew install ninja
|
||||
- name: Download 2ship.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: build-cmake/mm
|
||||
- name: Build 2Ship
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
||||
cmake --build build-cmake --config Release --parallel 10
|
||||
(cd build-cmake && cpack)
|
||||
|
||||
mv _packages/*.dmg 2Ship.dmg
|
||||
mv README.md readme.txt
|
||||
- name: Upload build
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: 2ship-mac
|
||||
path: |
|
||||
2Ship.dmg
|
||||
readme.txt
|
||||
|
||||
build-linux:
|
||||
needs: generate-2ship-otr
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y $(cat .github/workflows/apt-deps.txt)
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.13
|
||||
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: Download 2ship.o2r
|
||||
# uses: actions/download-artifact@v4
|
||||
# with:
|
||||
# name: 2ship.o2r
|
||||
# path: build-cmake/mm
|
||||
- name: Install latest tinyxml2
|
||||
run: |
|
||||
sudo apt-get remove libtinyxml2-dev
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
if [ ! -d "tinyxml2-10.0.0" ]; then
|
||||
wget https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz
|
||||
tar -xzf 10.0.0.tar.gz
|
||||
fi
|
||||
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 2ship.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: build-cmake/mm
|
||||
- name: Build 2Ship
|
||||
run: |
|
||||
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
|
||||
cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_REMOTE_CONTROL=1
|
||||
cmake --build build-cmake --config Release --target Generate2ShipOtr -j3
|
||||
cmake --build build-cmake --config Release -j3
|
||||
(cd build-cmake && cpack -G External)
|
||||
|
||||
@@ -323,32 +314,16 @@ jobs:
|
||||
env:
|
||||
CC: gcc-12
|
||||
CXX: g++-12
|
||||
# Temporarily replaced with an upload to R2 until we go public
|
||||
# - name: Upload build
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: 2ship-linux
|
||||
# path: |
|
||||
# 2ship.appimage
|
||||
# readme.txt
|
||||
# Remove Zip step when uploading directly to GH artifactory
|
||||
- name: Zip build
|
||||
run: |
|
||||
mkdir -p _release
|
||||
zip -qq _release/2ship-linux.zip 2ship.appimage readme.txt
|
||||
- name: Upload build
|
||||
if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
|
||||
uses: ryand56/r2-upload-action@latest
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
||||
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
||||
r2-bucket: ${{ secrets.R2_BUCKET }}
|
||||
source-dir: _release
|
||||
destination-dir: ./
|
||||
name: 2ship-linux
|
||||
path: |
|
||||
2ship.appimage
|
||||
readme.txt
|
||||
|
||||
build-windows:
|
||||
# needs: generate-2ship-otr
|
||||
needs: generate-2ship-otr
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
@@ -359,60 +334,47 @@ jobs:
|
||||
with:
|
||||
submodules: true
|
||||
- name: ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2.11
|
||||
uses: hendrikmuhs/ccache-action@v1.2.13
|
||||
with:
|
||||
variant: sccache
|
||||
max-size: "1G"
|
||||
key: ${{ runner.os }}-ccache-${{ github.ref }}-${{ github.sha }}
|
||||
key: ${{ runner.os }}-ccache1-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-ccache-${{ github.ref }}
|
||||
${{ runner.os }}-ccache
|
||||
${{ runner.os }}-ccache1-${{ github.ref }}
|
||||
${{ runner.os }}-ccache1-
|
||||
- name: Cache build folder
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
save-always: true
|
||||
key: ${{ runner.os }}-build-${{ github.ref }}-${{ github.sha }}
|
||||
key: ${{ runner.os }}-build1-${{ github.ref }}-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-build-${{ github.ref }}
|
||||
${{ runner.os }}-build
|
||||
${{ runner.os }}-build1-${{ github.ref }}
|
||||
${{ runner.os }}-build1-
|
||||
path: |
|
||||
build-windows
|
||||
vcpkg
|
||||
- name: Configure Developer Command Prompt
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
# - name: Download 2ship.o2r
|
||||
# uses: actions/download-artifact@v4
|
||||
# with:
|
||||
# name: 2ship.o2r
|
||||
# path: build-windows/mm
|
||||
- name: Download 2ship.o2r
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: 2ship.o2r
|
||||
path: build-windows/mm
|
||||
- name: Build 2Ship
|
||||
env:
|
||||
env:
|
||||
VCPKG_ROOT: ${{github.workspace}}/vcpkg
|
||||
run: |
|
||||
set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH"
|
||||
cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release
|
||||
cmake --build build-windows --config Release --target Generate2ShipOtr --parallel 10
|
||||
cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
|
||||
cmake --build build-windows --config Release --parallel 10
|
||||
|
||||
(cd build-windows && cpack)
|
||||
cd ..
|
||||
mv _packages/*.zip _packages/2ship-windows.zip
|
||||
# Temporarily replaced with an upload to R2 until we go public
|
||||
# - name: Unzip package
|
||||
# run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows
|
||||
# - name: Upload build
|
||||
# if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: 2ship-windows
|
||||
# path: 2ship-windows
|
||||
- name: Unzip package
|
||||
run: Expand-Archive -Path _packages/2ship-windows.zip -DestinationPath 2ship-windows
|
||||
- name: Upload build
|
||||
if: ${{ startsWith(github.ref, 'refs/heads/develop') }}
|
||||
uses: ryand56/r2-upload-action@latest
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
r2-account-id: ${{ secrets.R2_ACCOUNT_ID }}
|
||||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
||||
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
||||
r2-bucket: ${{ secrets.R2_BUCKET }}
|
||||
source-dir: _packages
|
||||
destination-dir: ./
|
||||
name: 2ship-windows
|
||||
path: 2ship-windows
|
||||
|
||||
@@ -48,8 +48,9 @@ jobs:
|
||||
|
||||
return allArtifacts.data.artifacts.reduce((acc, item) => {
|
||||
if (item.name === "assets") return acc;
|
||||
if (item.name === "2ship.o2r") return acc;
|
||||
acc += `
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip?h=20a00267c7ffeb2eb80ab31f356f2ba5f120f43c)`;
|
||||
- [${item.name}.zip](https://nightly.link/${context.repo.owner}/${context.repo.repo}/actions/artifacts/${item.id}.zip)`;
|
||||
return acc;
|
||||
}, '### Build Artifacts');
|
||||
- id: 'add-to-pr'
|
||||
|
||||
@@ -8,5 +8,10 @@ if(MSVC)
|
||||
|
||||
set_target_properties("${PROPS_TARGET}" PROPERTIES MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
||||
set_config_specific_property("DEFAULT_CXX_EXCEPTION_HANDLING" "/EHsc")
|
||||
set_config_specific_property("DEFAULT_CXX_DEBUG_INFORMATION_FORMAT" "/Zi")
|
||||
endif()
|
||||
|
||||
if (CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache|sccache")
|
||||
set_config_specific_property("DEFAULT_CXX_DEBUG_INFORMATION_FORMAT" "/Z7")
|
||||
else()
|
||||
set_config_specific_property("DEFAULT_CXX_DEBUG_INFORMATION_FORMAT" "/Zi")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -79,7 +79,6 @@ execute_process(
|
||||
--executable=$<TARGET_FILE:2ship>
|
||||
$<$<BOOL:$<TARGET_PROPERTY:2ship,APPIMAGE_DESKTOP_FILE>>:--desktop-file=$<TARGET_PROPERTY:2ship,APPIMAGE_DESKTOP_FILE>>
|
||||
$<$<BOOL:$<TARGET_PROPERTY:2ship,APPIMAGE_ICON_FILE>>:--icon-file=$<TARGET_PROPERTY:2ship,APPIMAGE_ICON_FILE>>
|
||||
--exclude-library "*libcrypto*"
|
||||
--output=appimage
|
||||
# --verbosity=2
|
||||
)
|
||||
|
||||
@@ -17,7 +17,7 @@ if(SYSTEM_NAME MATCHES "Windows")
|
||||
if(NOT ONLY2SHIPOTR AND EXISTS ${SOURCE_DIR}/OTRExporter/mm.zip)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy mm.zip ${TARGET_DIR}/mm.o2r)
|
||||
endif()
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/o2r)
|
||||
if(EXISTS ${SOURCE_DIR}/OTRExporter/2ship.o2r)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy 2ship.o2r ${TARGET_DIR})
|
||||
endif()
|
||||
endif()
|
||||
@@ -1,6 +1,5 @@
|
||||
set(CVAR_VSYNC_ENABLED "${CVAR_PREFIX_SETTING}.VsyncEnabled" CACHE STRING "")
|
||||
set(CVAR_Z_FIGHTING_MODE "${CVAR_PREFIX_SETTING}.ZFightingMode" CACHE STRING "")
|
||||
set(CVAR_DISABLE_CLOSE_COLOR_WRAP "${CVAR_PREFIX_SETTING}.DisableCloseColorWrap" CACHE STRING "")
|
||||
set(CVAR_NEW_FILE_DROPPED "${CVAR_PREFIX_GENERAL}.NewFileDropped" CACHE STRING "")
|
||||
set(CVAR_DROPPED_FILE "${CVAR_PREFIX_GENERAL}.DroppedFile" CACHE STRING "")
|
||||
set(CVAR_INTERNAL_RESOLUTION "${CVAR_PREFIX_SETTING}.InternalResolution" CACHE STRING "")
|
||||
@@ -17,7 +16,6 @@ set(CVAR_STATS_WINDOW_OPEN "${CVAR_PREFIX_WINDOW}.Stats" CACHE STRING "")
|
||||
set(CVAR_ENABLE_MULTI_VIEWPORTS "${CVAR_PREFIX_SETTING}.EnableMultiViewports" CACHE STRING "")
|
||||
set(CVAR_LOW_RES_MODE "${CVAR_PREFIX_SETTING}.LowResMode" CACHE STRING "")
|
||||
set(CVAR_SIMULATED_INPUT_LAG "${CVAR_PREFIX_SETTING}.SimulatedInputLag" CACHE STRING "")
|
||||
set(CVAR_ALT_ASSETS "${CVAR_PREFIX_ENHANCEMENT}.AltAssets" CACHE STRING "")
|
||||
set(CVAR_GAME_OVERLAY_FONT "${CVAR_PREFIX_SETTING}.OverlayFont" CACHE STRING "")
|
||||
set(CVAR_MENU_BAR_OPEN "${CVAR_PREFIX_SETTING}.OpenMenuBar" CACHE STRING "")
|
||||
set(CVAR_PREFIX_CONTROLLERS "${CVAR_PREFIX_SETTING}.Controllers" CACHE STRING "")
|
||||
|
||||
+16
-5
@@ -5,16 +5,23 @@ set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
|
||||
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version")
|
||||
|
||||
project(2s2h VERSION 1.0.0 LANGUAGES C CXX)
|
||||
project(2s2h VERSION 1.0.1 LANGUAGES C CXX)
|
||||
include(CMake/2ship-cvars.cmake)
|
||||
include(CMake/lus-cvars.cmake)
|
||||
set(PROJECT_BUILD_NAME "Rika Alfa" CACHE STRING "")
|
||||
set(PROJECT_BUILD_NAME "Rika Bravo" CACHE STRING "")
|
||||
set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "")
|
||||
|
||||
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT 2ship)
|
||||
|
||||
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/MP>)
|
||||
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/utf-8>)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
if (CMAKE_C_COMPILER_LAUNCHER MATCHES "ccache|sccache")
|
||||
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT Embedded)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Windows|Linux")
|
||||
if(NOT DEFINED BUILD_CROWD_CONTROL)
|
||||
set(BUILD_CROWD_CONTROL OFF)
|
||||
@@ -24,6 +31,9 @@ endif()
|
||||
# Enable the Gfx debugger in LUS to use libgfxd from ZAPDTR
|
||||
set(GFX_DEBUG_DISASSEMBLER ON)
|
||||
|
||||
# Tell LUS we're using F3DEX_GBI_2 (in a way that doesn't break libgfxd)
|
||||
set(USE_F3DEX2 ON)
|
||||
|
||||
################################################################################
|
||||
# Set target arch type if empty. Visual studio solution generator provides it.
|
||||
################################################################################
|
||||
@@ -52,6 +62,7 @@ elseif ("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
||||
set(VCPKG_TRIPLET x64-windows-static)
|
||||
set(VCPKG_TARGET_TRIPLET x64-windows-static)
|
||||
endif()
|
||||
|
||||
vcpkg_bootstrap()
|
||||
vcpkg_install_packages(zlib bzip2 libzip libpng sdl2 sdl2-net glew glfw3 nlohmann-json tinyxml2 spdlog)
|
||||
endif()
|
||||
@@ -111,7 +122,7 @@ set_property(TARGET 2ship PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/2s2hI
|
||||
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/linux/2s2h.sh" DESTINATION . COMPONENT appimage)
|
||||
install(FILES "${CMAKE_SOURCE_DIR}/2ship.o2r" DESTINATION . COMPONENT ship)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/mm/2ship.o2r" DESTINATION . COMPONENT ship)
|
||||
install(TARGETS ZAPD DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/mm/assets/extractor/" DESTINATION ./assets/extractor COMPONENT extractor)
|
||||
install(DIRECTORY "${CMAKE_SOURCE_DIR}/mm/assets/xml/" DESTINATION ./assets/extractor/xmls COMPONENT extractor)
|
||||
@@ -148,7 +159,7 @@ add_custom_target(
|
||||
# CMake versions prior to 3.17 do not have the rm command, use remove instead for older versions
|
||||
COMMAND ${CMAKE_COMMAND} -E $<IF:$<VERSION_LESS:${CMAKE_VERSION},3.17>,remove,rm> -f mm.zip 2ship.o2r
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --non-interactive --xml-root ../mm/assets/xml --custom-otr-file 2ship.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/mm/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMENT "Running asset extraction..."
|
||||
DEPENDS ZAPD
|
||||
@@ -170,7 +181,7 @@ add_custom_target(
|
||||
# CMake versions prior to 3.17 do not have the rm command, use remove instead for older versions
|
||||
COMMAND ${CMAKE_COMMAND} -E $<IF:$<VERSION_LESS:${CMAKE_VERSION},3.17>,remove,rm> -f 2ship.o2r
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter/extract_assets.py -z "$<TARGET_FILE:ZAPD>" --norom --custom-otr-file 2ship.o2r "--custom-assets-path" ${CMAKE_CURRENT_SOURCE_DIR}/mm/assets/custom --port-ver "${CMAKE_PROJECT_VERSION}"
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLY2SHIPOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/copy-existing-otrs.cmake
|
||||
COMMAND ${CMAKE_COMMAND} -DSYSTEM_NAME=${CMAKE_SYSTEM_NAME} -DTARGET_DIR="$<TARGET_FILE_DIR:ZAPD>" -DSOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR} -DONLY2SHIPOTR=On -P ${CMAKE_CURRENT_SOURCE_DIR}/CMake/copy-existing-otrs.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter
|
||||
COMMENT "Generating 2ship.o2r..."
|
||||
DEPENDS ZAPD
|
||||
|
||||
+1
-1
Submodule OTRExporter updated: 5495b80e35...e8f93ff692
@@ -45,5 +45,3 @@ Picto box images render black. <br>
|
||||
<h3>Build Instructions:</h3>
|
||||
1. Edit the app/build.gradle file to point to your ndk folder. NDK 26+ tested as working.<br>
|
||||
2. Open the project in android studio and build.<br>
|
||||
|
||||
|
||||
|
||||
+1
-1
Submodule ZAPDTR updated: 7d257b0d7d...24ca939d54
+1
-1
Submodule libultraship updated: 76ce9a8a3a...7dd40ea028
@@ -20,8 +20,6 @@
|
||||
#include "include/global.h"
|
||||
#include "include/z64audio.h"
|
||||
|
||||
bool ShouldClearTextureCacheAtEndOfFrame = false;
|
||||
|
||||
namespace BenGui {
|
||||
// MARK: - Delegates
|
||||
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
#include "2s2h/DeveloperTools/WarpPoint.h"
|
||||
#include "HudEditor.h"
|
||||
|
||||
extern bool ShouldClearTextureCacheAtEndOfFrame;
|
||||
|
||||
extern "C" {
|
||||
#include "z64.h"
|
||||
#include "functions.h"
|
||||
@@ -184,11 +182,15 @@ void DrawSettingsMenu() {
|
||||
"form of anti-aliasing");
|
||||
#endif
|
||||
#ifndef __WIIU__
|
||||
if (UIWidgets::CVarSliderInt("MSAA: %d", CVAR_MSAA_VALUE, 1, 8, 1)) {
|
||||
if (UIWidgets::CVarSliderInt((CVarGetInteger(CVAR_MSAA_VALUE, 1) == 1) ? "Anti-aliasing (MSAA): Off"
|
||||
: "Anti-aliasing (MSAA): %d",
|
||||
CVAR_MSAA_VALUE, 1, 8, 1)) {
|
||||
Ship::Context::GetInstance()->GetWindow()->SetMsaaLevel(CVarGetInteger(CVAR_MSAA_VALUE, 1));
|
||||
};
|
||||
UIWidgets::Tooltip(
|
||||
"Activates multi-sample anti-aliasing when above 1x up to 8x for 8 samples for every pixel");
|
||||
"Activates MSAA (multi-sample anti-aliasing) from 2x up to 8x, to smooth the edges of rendered "
|
||||
"geometry.\n"
|
||||
"Higher sample count will result in smoother edges on models, but may reduce performance.");
|
||||
#endif
|
||||
|
||||
{ // FPS Slider
|
||||
@@ -440,14 +442,14 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::CVarCheckbox(
|
||||
"Pause Menu Save", "gEnhancements.Saving.PauseSave",
|
||||
{ .tooltip = "Re-introduce the pause menu save system. Pressing B in the pause menu will give you the "
|
||||
"option to create an Owl Save from your current location.\n\nWhen loading back into the "
|
||||
"game, you will be placed either at the entrance of the dungeon you saved in, or in South "
|
||||
"Clock Town." });
|
||||
"option to create a persistent Owl Save from your current location.\n\nWhen loading back "
|
||||
"into the game, you will be placed either at the entrance of the dungeon you saved in, or "
|
||||
"in South Clock Town." });
|
||||
if (UIWidgets::CVarCheckbox(
|
||||
"Autosave", "gEnhancements.Saving.Autosave",
|
||||
{ .tooltip = "Automatically create owl saves on the chosen interval.\n\nWhen loading back into the "
|
||||
"game, you will be placed either at the entrance of the dungeon you saved in, or in "
|
||||
"South Clock Town." })) {
|
||||
{ .tooltip = "Automatically create a persistent Owl Save on the chosen interval.\n\nWhen loading "
|
||||
"back into the game, you will be placed either at the entrance of the dungeon you "
|
||||
"saved in, or in South Clock Town." })) {
|
||||
RegisterAutosave();
|
||||
}
|
||||
UIWidgets::CVarSliderInt("Autosave Interval (minutes): %d", "gEnhancements.Saving.AutosaveInterval", 1, 60,
|
||||
@@ -534,10 +536,8 @@ void DrawEnhancementsMenu() {
|
||||
}
|
||||
|
||||
if (UIWidgets::BeginMenu("Modes")) {
|
||||
if (UIWidgets::CVarCheckbox("Play As Kafei", "gModes.PlayAsKafei",
|
||||
{ .tooltip = "Requires scene reload to take effect." })) {
|
||||
UpdatePlayAsKafeiSkeletons();
|
||||
}
|
||||
UIWidgets::CVarCheckbox("Play As Kafei", "gModes.PlayAsKafei",
|
||||
{ .tooltip = "Requires scene reload to take effect." });
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
if (UIWidgets::BeginMenu("Player Movement")) {
|
||||
|
||||
@@ -59,9 +59,9 @@ extern "C" void HudEditor_ModifyRectPosValuesFromBase(s16 baseX, s16 baseY, s16*
|
||||
*rectTop = baseY + (offsetFromBaseY * CVarGetFloat(hudEditorElements[hudEditorActiveElement].scaleCvar, 1.0f));
|
||||
}
|
||||
|
||||
extern "C" void HudEditor_ModifyRectPosValues(s16* rectLeft, s16* rectTop) {
|
||||
s16 offsetFromBaseX = *rectLeft - hudEditorElements[hudEditorActiveElement].defaultX;
|
||||
s16 offsetFromBaseY = *rectTop - hudEditorElements[hudEditorActiveElement].defaultY;
|
||||
void HudEditor_ModifyRectPosValuesFloat(f32* rectLeft, f32* rectTop) {
|
||||
f32 offsetFromBaseX = *rectLeft - hudEditorElements[hudEditorActiveElement].defaultX;
|
||||
f32 offsetFromBaseY = *rectTop - hudEditorElements[hudEditorActiveElement].defaultY;
|
||||
*rectLeft = CVarGetInteger(hudEditorElements[hudEditorActiveElement].xCvar,
|
||||
hudEditorElements[hudEditorActiveElement].defaultX) +
|
||||
(offsetFromBaseX * CVarGetFloat(hudEditorElements[hudEditorActiveElement].scaleCvar, 1.0f));
|
||||
@@ -78,6 +78,16 @@ extern "C" void HudEditor_ModifyRectPosValues(s16* rectLeft, s16* rectTop) {
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void HudEditor_ModifyRectPosValues(s16* rectLeft, s16* rectTop) {
|
||||
f32 newLeft = *rectLeft;
|
||||
f32 newTop = *rectTop;
|
||||
|
||||
HudEditor_ModifyRectPosValuesFloat(&newLeft, &newTop);
|
||||
|
||||
*rectLeft = (s16)newLeft;
|
||||
*rectTop = (s16)newTop;
|
||||
}
|
||||
|
||||
extern "C" void HudEditor_ModifyRectSizeValues(s16* rectWidth, s16* rectHeight) {
|
||||
*rectWidth *= CVarGetFloat(hudEditorElements[hudEditorActiveElement].scaleCvar, 1.0f);
|
||||
*rectHeight *= CVarGetFloat(hudEditorElements[hudEditorActiveElement].scaleCvar, 1.0f);
|
||||
@@ -90,16 +100,13 @@ extern "C" void HudEditor_ModifyTextureStepValues(s16* dsdx, s16* dtdy) {
|
||||
|
||||
// Modify matrix values based on the identity matrix (0,0) centered on the screen
|
||||
extern "C" void HudEditor_ModifyMatrixValues(f32* transX, f32* transY) {
|
||||
*transX = (f32)(SCREEN_WIDTH / 2) + *transX;
|
||||
*transY = (f32)(SCREEN_HEIGHT / 2) - *transY;
|
||||
*transX = ((f32)SCREEN_WIDTH / 2) + *transX;
|
||||
*transY = ((f32)SCREEN_HEIGHT / 2) - *transY;
|
||||
|
||||
s16 newX = *transX;
|
||||
s16 newY = *transY;
|
||||
HudEditor_ModifyRectPosValuesFloat(transX, transY);
|
||||
|
||||
HudEditor_ModifyRectPosValues(&newX, &newY);
|
||||
|
||||
*transX = (f32)newX - (SCREEN_WIDTH / 2);
|
||||
*transY = (f32)(SCREEN_HEIGHT / 2) - newY;
|
||||
*transX = *transX - ((f32)SCREEN_WIDTH / 2);
|
||||
*transY = ((f32)SCREEN_HEIGHT / 2) - *transY;
|
||||
}
|
||||
|
||||
extern "C" void HudEditor_ModifyKaleidoEquipAnimValues(s16* ulx, s16* uly, s16* shrinkRate) {
|
||||
|
||||
@@ -180,6 +180,8 @@ bool Checkbox(const char* _label, bool* value, const CheckboxOptions& options) {
|
||||
if (window->SkipItems)
|
||||
return false;
|
||||
|
||||
ImGui::BeginDisabled(options.disabled);
|
||||
|
||||
bool above = options.labelPosition == LabelPosition::Above;
|
||||
bool lpFar = options.labelPosition == LabelPosition::Far;
|
||||
bool right = options.alignment == ComponentAlignment::Right;
|
||||
@@ -210,19 +212,15 @@ bool Checkbox(const char* _label, bool* value, const CheckboxOptions& options) {
|
||||
|
||||
ImGui::ItemSize(total_bb, style.FramePadding.y);
|
||||
if (!ImGui::ItemAdd(total_bb, id)) {
|
||||
IMGUI_TEST_ENGINE_ITEM_INFO(id, label,
|
||||
g.LastItemData.StatusFlags | ImGuiItemStatusFlags_Checkable |
|
||||
(*value ? ImGuiItemStatusFlags_Checked : 0));
|
||||
ImGui::EndDisabled();
|
||||
return false;
|
||||
}
|
||||
|
||||
bool hovered, held;
|
||||
bool pressed = ImGui::ButtonBehavior(total_bb, id, &hovered, &held);
|
||||
bool hovered, held, pressed;
|
||||
pressed = ImGui::ButtonBehavior(total_bb, id, &hovered, &held);
|
||||
if (pressed) {
|
||||
*value = !(*value);
|
||||
ImGui::MarkItemEdited(id);
|
||||
}
|
||||
ImGui::BeginDisabled(options.disabled);
|
||||
PushStyleCheckbox(options.color);
|
||||
ImVec2 checkPos = pos;
|
||||
ImVec2 labelPos = pos;
|
||||
|
||||
+20
-33
@@ -101,6 +101,7 @@ OTRGlobals* OTRGlobals::Instance;
|
||||
GameInteractor* GameInteractor::Instance;
|
||||
|
||||
extern "C" char** cameraStrings;
|
||||
bool prevAltAssets = false;
|
||||
std::vector<std::shared_ptr<std::string>> cameraStdStrings;
|
||||
|
||||
Color_RGB8 kokiriColor = { 0x1E, 0x69, 0x1B };
|
||||
@@ -148,6 +149,8 @@ OTRGlobals::OTRGlobals() {
|
||||
// tell LUS to reserve 3 SoH specific threads (Game, Audio, Save)
|
||||
context =
|
||||
Ship::Context::CreateInstance("2 Ship 2 Harkinian", appShortName, "2ship2harkinian.json", archiveFiles, {}, 3);
|
||||
prevAltAssets = CVarGetInteger("gAltAssets", 0);
|
||||
context->GetResourceManager()->SetAltAssetsEnabled(prevAltAssets);
|
||||
|
||||
#ifndef __ANDROID__
|
||||
// Override LUS defaults
|
||||
@@ -409,25 +412,6 @@ extern "C" void OTRExtScanner() {
|
||||
}
|
||||
}
|
||||
|
||||
std::string SanitizePath(std::string stringValue) {
|
||||
// Add backslashes.
|
||||
for (auto i = stringValue.begin();;) {
|
||||
auto const pos =
|
||||
std::find_if(i, stringValue.end(), [](char const c) { return '\\' == c || '\'' == c || '"' == c; });
|
||||
if (pos == stringValue.end()) {
|
||||
break;
|
||||
}
|
||||
i = std::next(stringValue.insert(pos, '\\'), 2);
|
||||
}
|
||||
|
||||
// Removes others.
|
||||
stringValue.erase(std::remove_if(stringValue.begin(), stringValue.end(),
|
||||
[](char const c) { return '\n' == c || '\r' == c || '\0' == c || '\x1A' == c; }),
|
||||
stringValue.end());
|
||||
|
||||
return stringValue;
|
||||
}
|
||||
|
||||
void Ben_ProcessDroppedFiles(std::string filePath) {
|
||||
SPDLOG_INFO("Processing dropped file: {}", filePath);
|
||||
|
||||
@@ -510,9 +494,6 @@ extern "C" void InitOTR() {
|
||||
CVarClear("gLetItSnow");
|
||||
}
|
||||
|
||||
// BENTODO Once we have a proper fix for the color cominber, remove this
|
||||
CVarRegisterInteger(CVAR_DISABLE_CLOSE_COLOR_WRAP, 1);
|
||||
|
||||
srand(now);
|
||||
#ifdef ENABLE_CROWD_CONTROL
|
||||
CrowdControl::Instance = new CrowdControl();
|
||||
@@ -585,8 +566,6 @@ extern "C" uint64_t GetUnixTimestamp() {
|
||||
return now;
|
||||
}
|
||||
|
||||
extern bool ShouldClearTextureCacheAtEndOfFrame;
|
||||
|
||||
extern "C" void Graph_StartFrame() {
|
||||
#ifndef __WIIU__
|
||||
using Ship::KbScancode;
|
||||
@@ -669,7 +648,7 @@ extern "C" void Graph_StartFrame() {
|
||||
#endif
|
||||
case KbScancode::LUS_KB_TAB: {
|
||||
// Toggle HD Assets
|
||||
CVarSetInteger(CVAR_ALT_ASSETS, !CVarGetInteger(CVAR_ALT_ASSETS, 0));
|
||||
CVarSetInteger("gAltAssets", !CVarGetInteger("gAltAssets", 0));
|
||||
// ShouldClearTextureCacheAtEndOfFrame = true;
|
||||
break;
|
||||
}
|
||||
@@ -677,7 +656,7 @@ extern "C" void Graph_StartFrame() {
|
||||
#endif
|
||||
|
||||
if (CVarGetInteger(CVAR_NEW_FILE_DROPPED, 0)) {
|
||||
std::string filePath = SanitizePath(CVarGetString(CVAR_DROPPED_FILE, ""));
|
||||
std::string filePath = CVarGetString(CVAR_DROPPED_FILE, "");
|
||||
if (!filePath.empty()) {
|
||||
GameInteractor::Instance->ExecuteHooks<GameInteractor::OnFileDropped>(filePath);
|
||||
}
|
||||
@@ -758,12 +737,16 @@ extern "C" void Graph_ProcessGfxCommands(Gfx* commands) {
|
||||
audio.cv_from_thread.wait(Lock);
|
||||
}
|
||||
}
|
||||
//
|
||||
// if (ShouldClearTextureCacheAtEndOfFrame) {
|
||||
// gfx_texture_cache_clear();
|
||||
// Ship::SkeletonPatcher::UpdateSkeletons();
|
||||
// ShouldClearTextureCacheAtEndOfFrame = false;
|
||||
//}
|
||||
|
||||
bool curAltAssets = CVarGetInteger("gAltAssets", 0);
|
||||
if (prevAltAssets != curAltAssets) {
|
||||
prevAltAssets = curAltAssets;
|
||||
Ship::Context::GetInstance()->GetResourceManager()->SetAltAssetsEnabled(curAltAssets);
|
||||
gfx_texture_cache_clear();
|
||||
// TODO: skeleton patch, hooks
|
||||
// SOH::SkeletonPatcher::UpdateSkeletons();
|
||||
// GameInteractor::Instance->ExecuteHooks<GameInteractor::OnAssetAltChange>();
|
||||
}
|
||||
|
||||
// OTRTODO: FIGURE OUT END FRAME POINT
|
||||
/* if (OTRGlobals::Instance->context->GetWindow()->lastScancode != -1)
|
||||
@@ -797,6 +780,10 @@ extern "C" uint16_t OTRGetPixelDepth(float x, float y) {
|
||||
return wnd->GetPixelDepth(x, adjustedY);
|
||||
}
|
||||
|
||||
extern "C" bool ResourceMgr_IsAltAssetsEnabled() {
|
||||
return Ship::Context::GetInstance()->GetResourceManager()->IsAltAssetsEnabled();
|
||||
}
|
||||
|
||||
extern "C" uint32_t ResourceMgr_GetNumGameVersions() {
|
||||
return Ship::Context::GetInstance()->GetResourceManager()->GetArchiveManager()->GetGameVersions().size();
|
||||
}
|
||||
@@ -1238,7 +1225,7 @@ extern "C" SkeletonHeader* ResourceMgr_LoadSkeletonByName(const char* path, Skel
|
||||
pathStr = pathStr.substr(sOtr.length());
|
||||
}
|
||||
|
||||
bool isAlt = CVarGetInteger(CVAR_ALT_ASSETS, 0);
|
||||
bool isAlt = ResourceMgr_IsAltAssetsEnabled();
|
||||
|
||||
if (isAlt) {
|
||||
pathStr = Ship::IResource::gAltAssetPrefix + pathStr;
|
||||
|
||||
@@ -172,6 +172,7 @@ void RegisterCameraFreeLook() {
|
||||
case CAM_FUNC_JUMP3:
|
||||
case CAM_FUNC_BATTLE1:
|
||||
case CAM_FUNC_UNIQUE2:
|
||||
case CAM_FUNC_UNIQUE3:
|
||||
if (Camera_CanFreeLook(camera)) {
|
||||
Camera_FreeLook(camera);
|
||||
*should = false;
|
||||
|
||||
@@ -26,13 +26,33 @@ void RegisterInfiniteCheats() {
|
||||
}
|
||||
|
||||
if (CVarGetInteger("gCheats.InfiniteConsumables", 0)) {
|
||||
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
|
||||
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
|
||||
AMMO(ITEM_BOMBCHU) = CUR_CAPACITY(UPG_BOMB_BAG);
|
||||
AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS);
|
||||
AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS);
|
||||
AMMO(ITEM_MAGIC_BEANS) = 20;
|
||||
AMMO(ITEM_POWDER_KEG) = 1;
|
||||
if (INV_CONTENT(ITEM_BOW) == ITEM_BOW) {
|
||||
AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_BOMB) == ITEM_BOMB) {
|
||||
AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_BOMBCHU) == ITEM_BOMBCHU) {
|
||||
AMMO(ITEM_BOMBCHU) = CUR_CAPACITY(UPG_BOMB_BAG);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_DEKU_STICK) == ITEM_DEKU_STICK) {
|
||||
AMMO(ITEM_DEKU_STICK) = CUR_CAPACITY(UPG_DEKU_STICKS);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_DEKU_NUT) == ITEM_DEKU_NUT) {
|
||||
AMMO(ITEM_DEKU_NUT) = CUR_CAPACITY(UPG_DEKU_NUTS);
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_MAGIC_BEANS) == ITEM_MAGIC_BEANS) {
|
||||
AMMO(ITEM_MAGIC_BEANS) = 20;
|
||||
}
|
||||
|
||||
if (INV_CONTENT(ITEM_POWDER_KEG) == ITEM_POWDER_KEG) {
|
||||
AMMO(ITEM_POWDER_KEG) = 1;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user