Skip to content

Commit

Permalink
Merge branch 'slippi' into testing/playback-debug-fast
Browse files Browse the repository at this point in the history
  • Loading branch information
JLaferri committed Sep 7, 2023
2 parents e03a700 + 44a12d7 commit cdf6911
Show file tree
Hide file tree
Showing 59 changed files with 5,759 additions and 1,511 deletions.
107 changes: 82 additions & 25 deletions .github/workflows/pr-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:
- "**.md"

jobs:

skip_duplicates:
name: Skip Duplicate Runs
runs-on: ubuntu-latest
Expand All @@ -25,8 +26,24 @@ jobs:
concurrent_skipping: "same_content"
do_not_skip: '["push", "workflow_dispatch", "schedule"]'

# goal is to prevent merges when the commit is not from the main branch, builds should still succeed
check_rust_commit:
needs: [skip_duplicates]
if: ${{ needs.skip_duplicates.outputs.should_skip != 'true' }}
name: Verify SlippiRustExtensions Commit is in Main
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Main Branch Check
shell: bash
run: |
git submodule update --init Externals/SlippiRustExtensions
cd Externals/SlippiRustExtensions
commit_id=$(git rev-parse HEAD)
git branch --contains $commit_id | grep main
windows:
needs: skip_duplicates
needs: [skip_duplicates]
if: ${{ needs.skip_duplicates.outputs.should_skip != 'true' }}
strategy:
fail-fast: false
Expand All @@ -46,7 +63,20 @@ jobs:
runs-on: windows-2019
steps:
- name: "Checkout"
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- id: rust_ver
name: Grab Rust Version
shell: bash
run: echo "rust_ver=$(sed -rn 's/^channel = "(.*)"/\1/p' ./Externals/SlippiRustExtensions/rust-toolchain.toml)" >> "$GITHUB_OUTPUT"
- name: "Install Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ steps.rust_ver.outputs.rust_ver }} # Pin to our specific Rust version.
rustflags: "" # Disable default injection of warnings = errors.
- name: "(SlippiRustExtensions) Run cargo test"
run: cargo test --all --all-features --manifest-path=Externals/SlippiRustExtensions/Cargo.toml
- name: "Remove Redistributable"
shell: cmd
run: |
Expand All @@ -56,7 +86,7 @@ jobs:
- name: "Setup MSBuild"
uses: microsoft/setup-msbuild@v1
- name: Cache DXSDK_Jun10.exe
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ./Tools/DX/
key: ${{ runner.os }}
Expand Down Expand Up @@ -115,13 +145,13 @@ jobs:
move $FILE_NAME ..\..\artifact\
- name: "Publish"
if: success()
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact_name }}
path: "./artifact/"

linux:
needs: skip_duplicates
needs: [skip_duplicates]
if: ${{ needs.skip_duplicates.outputs.should_skip != 'true' }}
strategy:
fail-fast: false
Expand All @@ -138,7 +168,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: "Checkout"
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- name: 'Fetch Git Tags'
Expand Down Expand Up @@ -191,6 +221,17 @@ jobs:
qtbase5-private-dev \
libxxf86vm-dev \
x11proto-xinerama-dev
- id: rust_ver
name: Grab Rust Version
shell: bash
run: echo "rust_ver=$(sed -rn 's/^channel = "(.*)"/\1/p' ./Externals/SlippiRustExtensions/rust-toolchain.toml)" >> "$GITHUB_OUTPUT"
- name: "Install Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ steps.rust_ver.outputs.rust_ver }} # Pin to our specific Rust version.
rustflags: "" # Disable default injection of warnings = errors.
- name: "(SlippiRustExtensions) Run cargo test"
run: cargo test --all --all-features --manifest-path=Externals/SlippiRustExtensions/Cargo.toml
- name: "Build ${{ matrix.build_type }} Dolphin"
if: success()
working-directory: ${{ github.workspace }}
Expand All @@ -216,13 +257,13 @@ jobs:
mv "${FILE_NAME}" ./artifact/
- name: "Publish"
if: success()
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact_name }}
path: "./artifact/"

macOS:
needs: skip_duplicates
needs: [skip_duplicates]
if: ${{ needs.skip_duplicates.outputs.should_skip != 'true' }}
strategy:
fail-fast: false
Expand All @@ -239,7 +280,7 @@ jobs:
runs-on: macos-11
steps:
- name: "Checkout"
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- name: 'Fetch Git Tags'
Expand All @@ -250,15 +291,15 @@ jobs:
echo "GIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "GIT_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
echo "CURR_DATE=$(date +%Y-%m-%d)" >> $GITHUB_ENV
- name: "Install 10.14 SDK"
if: success()
shell: bash
working-directory: ${{ github.workspace }}
run: |
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.14.sdk.tar.xz
tar -xf MacOSX10.14.sdk.tar.xz
rm MacOSX10.14.sdk.tar.xz
sudo mv MacOSX10.14.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
# - name: "Install 10.14 SDK"
# if: success()
# shell: bash
# working-directory: ${{ github.workspace }}
# run: |
# wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.14.sdk.tar.xz
# tar -xf MacOSX10.14.sdk.tar.xz
# rm MacOSX10.14.sdk.tar.xz
# sudo mv MacOSX10.14.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
- name: "Download and Install prerequisites"
if: success()
shell: bash
Expand All @@ -274,6 +315,17 @@ jobs:
sound-touch \
hidapi \
python@3.10
- id: rust_ver
name: Grab Rust Version
shell: bash
run: echo "rust_ver=$(sed -rn 's/^channel = "(.*)"/\1/p' ./Externals/SlippiRustExtensions/rust-toolchain.toml)" >> "$GITHUB_OUTPUT"
- name: "Install Rust"
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ steps.rust_ver.outputs.rust_ver }} # Pin to our specific Rust version.
rustflags: "" # Disable default injection of warnings = errors.
- name: "(SlippiRustExtensions) Run cargo test"
run: cargo test --all --all-features --manifest-path=Externals/SlippiRustExtensions/Cargo.toml
- name: "Build ${{ matrix.build_type }} Dolphin"
if: success()
shell: bash
Expand All @@ -298,14 +350,10 @@ jobs:
mkdir -p ~/private_keys/
echo '${{ secrets.APPLE_CONNECT_API_KEY }}' > ~/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_ID }}.p8
/usr/bin/codesign -f -s "${{ secrets.APPLE_IDENTITY_HASH }}" --deep --options runtime --entitlements Source/Core/DolphinWX/Entitlements.plist ./build/Binaries/Slippi\ Dolphin.app
- name: "Package, Sign and Notarize Netplay Release DMG"
if: success() && env.CERTIFICATE_MACOS_APPLICATION != null
- name: "Package ${{ matrix.build_type }} Release DMG"
if: success()
shell: bash
working-directory: ${{ github.workspace }}
env:
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
CERTIFICATE_MACOS_APPLICATION: ${{ secrets.CERTIFICATE_MACOS_APPLICATION }}
run: |
rm build/Binaries/traversal_server
chmod +x Tools/create-dmg/run.sh
Expand All @@ -323,11 +371,20 @@ jobs:
"${{ env.FILE_NAME }}.dmg" \
"./build/Binaries/"
mv "${{ env.FILE_NAME }}.dmg" artifact/
- name: "Sign and Notarize ${{ matrix.build_type }} Release DMG"
if: success() && env.CERTIFICATE_MACOS_APPLICATION != null
shell: bash
working-directory: ${{ github.workspace }}
env:
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
CERTIFICATE_MACOS_APPLICATION: ${{ secrets.CERTIFICATE_MACOS_APPLICATION }}
run: |
/usr/bin/codesign -f -s "${{ secrets.APPLE_IDENTITY_HASH }}" --deep --options runtime ./artifact/${{ env.FILE_NAME }}.dmg
chmod +x Tools/notarize_netplay.sh && ./Tools/notarize_netplay.sh ./artifact/${{ env.FILE_NAME }}.dmg
- name: "Publish"
if: success()
uses: actions/upload-artifact@v2-preview
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.artifact_name }}
path: "./artifact/"
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ Externals/SlippiLib/CMakeCache.txt
Externals/SlippiLib/CMakeFiles/
Externals/SlippiLib/Makefile
Externals/SlippiLib/cmake_install.cmake

# The rust build directory, just ignore it
Externals/SlippiRustExtensions/target

Ishiiruka.pro
Source/.idea/
Source/enc_temp_folder/
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@
path = Externals/Qt
url = https://github.com/dolphin-emu/ext-win-qt.git
branch = master
[submodule "Externals/SlippiRustExtensions"]
path = Externals/SlippiRustExtensions
url = https://github.com/project-slippi/slippi-rust-extensions.git
11 changes: 7 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ if(APPLE)
# Note that the SDK determines the maximum version of which optional
# features can be used, not the minimum required version to run.
set(OSX_MIN_VERSION "10.13")
set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk")
# set(CMAKE_OSX_SYSROOT "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk")
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13")
set(TARGET_FLAGS "${TARGET_FLAGS} -mmacosx-version-min=${OSX_MIN_VERSION}")
# Do not warn about frameworks that are not available on all architectures.
Expand Down Expand Up @@ -586,14 +586,17 @@ if(ENCODE_FRAMEDUMPS)

endif()

message("Using static Corrosion from Externals for Rust linking support")
add_subdirectory(Externals/corrosion)

if(NOT ANDROID)
set(PORTAUDIO_FOUND TRUE)
add_definitions(-DHAVE_PORTAUDIO=1)

if(NOT APPLE)
set(CMAKE_REQUIRED_LIBRARIES portaudio)
CHECK_CXX_SOURCE_RUNS(
"#include <portaudio.h>
set(CMAKE_REQUIRED_LIBRARIES portaudio)
CHECK_CXX_SOURCE_RUNS(
"#include <portaudio.h>
int main(int argc, char **argv)
{ if(Pa_GetVersion() >= 1890) return 0; else return 1; }"
SYSTEM_PORTAUDIO)
Expand Down
Binary file modified Data/Sys/GameFiles/GALE01/GameSetup.dat
Binary file not shown.
67 changes: 62 additions & 5 deletions Data/Sys/GameSettings/GALE01r2.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,11 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm
C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm
38600000 987E25FF
807E00B0 00000000
C21A4CB4 00000004 #Common/AllocBuffer.asm
38600080 3D808037
618CF1E4 7D8903A6
4E800421 906DAFC4
38000000 00000000
C20055F8 0000000F #Common/GetIsFollower.asm
7C0802A6 90010004
9421FF20 BE8100B0
Expand Down Expand Up @@ -2040,11 +2045,6 @@ BA8100B0 800100E4
800100E4 382100E0
7C0803A6 2C1E0000
60000000 00000000
C21A4CB4 00000004 #Online/Core/EXIFileLoad/AllocBuffer.asm
38600080 3D808037
618CF1E4 7D8903A6
4E800421 906DAFC4
38000000 00000000
C20163FC 0000001B #Online/Core/EXIFileLoad/GetFileSize.asm
7C7E1B78 7C0802A6
90010004 9421FF20
Expand Down Expand Up @@ -2194,6 +2194,63 @@ C2019608 0000000F #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
618C9618 7D8903A6
4E800420 38600000
60000000 00000000
C238E910 0000001A #Online/Core/Music/StartSong.asm
7C0802A6 90010004
9421FF54 BE81007C
7C7E1B78 3D808034
618C7364 7D8903A6
4E800421 7C7D1B78
7FC3F378 38810008
3D808033 618C7C60
7D8903A6 4E800421
2C030000 41820044
3BE10048 3BFF001F
57FF0034 386000D6
987F0000 80610038
907F0001 8061003C
907F0005 7FE3FB78
38800009 38A00001
3D808000 618C55F0
7D8903A6 4E800421
38610008 3D808033
618C7CD4 7D8903A6
4E800421 7FA3EB78
3D808034 618C738C
7D8903A6 4E800421
7FC3F378 BA81007C
800100B0 382100AC
7C0803A6 800DA998
60000000 00000000
C20236EC 0000000B #Online/Core/Music/Stop.asm
7C0802A6 90010004
9421FF9C BE810034
3BE10008 3BFF001F
57FF0034 386000D7
987F0000 7FE3FB78
38800001 38A00001
3D808000 618C55F0
7D8903A6 4E800421
BA810034 80010068
38210064 7C0803A6
38000000 00000000
C20249F0 00000011 #Online/Core/Music/VolumeChange.asm
4800000C 4E800021
00000000 900D81E8
7C0802A6 90010004
9421FF9C BE810034
4BFFFFE5 7FC802A6
808D81E8 807E0000
7C032000 4182003C
909E0000 3BE10008
3BFF001F 57FF0034
386000D8 987F0000
989F0001 7FE3FB78
38800002 38A00001
3D808000 618C55F0
7D8903A6 4E800421
BA810034 80010068
38210064 7C0803A6
60000000 00000000
C21D4578 00000003 #Online/Core/PreventFileAlarms/FreezeStadium.asm
FFE00890 3D80801D
618C4FD8 7D8903A6
Expand Down
Loading

0 comments on commit cdf6911

Please sign in to comment.