diff --git a/.gitea/scripts/ci.sh b/.gitea/scripts/ci.sh new file mode 100755 index 0000000..89b35fb --- /dev/null +++ b/.gitea/scripts/ci.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Validate OAT version +if [[ -z "$OAT_VERSION" ]]; then + echo "No OAT version was specified, please set the OAT_VERSION environment variable." + exit 1 +fi + +# Make sure we have cURL (and file for debugging) +dpkg --add-architecture i386 +apt-get update +apt-get install -y curl file libstdc++-13-dev:i386 + +# Construct the download URL +DOWNLOAD_URL="https://github.com/Laupetin/OpenAssetTools/releases/download/v${OAT_VERSION}/oat-linux.tar.gz" + +echo "Downloading OAT from: $DOWNLOAD_URL" + +# Define temporary directory +TEMP_DIR="/tmp/oat_download" + +# Create temporary directory if it doesn't exist +mkdir -p "$TEMP_DIR" + +# Download the tar.gz file to the temporary directory +curl -L -o "${TEMP_DIR}/oat-linux.tar.gz" "$DOWNLOAD_URL" + +# Extract the contents of the tar.gz file +tar -xzf "${TEMP_DIR}/oat-linux.tar.gz" -C "${TEMP_DIR}" + +# Copy the executables to /usr/local/bin and make them executable +cp "${TEMP_DIR}/Linker" "${TEMP_DIR}/Unlinker" /usr/local/bin/ +chmod +x /usr/local/bin/Linker /usr/local/bin/Unlinker + +# Clean up temporary directory +rm -rf "$TEMP_DIR" + +echo "OpenAssetTools version $OAT_VERSION has been installed." + +Linker -v arena diff --git a/.gitea/workflows/link.yml b/.gitea/workflows/link.yml new file mode 100644 index 0000000..8934cc9 --- /dev/null +++ b/.gitea/workflows/link.yml @@ -0,0 +1,37 @@ +name: link + +on: [push] + +env: + OAT_VERSION: "0.10.1" + +jobs: + link-linux: + name: Link assets on Linux + runs-on: ubuntu-latest + + steps: + - name: Check out files + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + # NOTE - If LFS ever starts getting used for storing zones, switch this to true! + lfs: false + + - name: Link assets + uses: addnab/docker-run-action@v3 + with: + image: ubuntu:mantic + options: --volumes-from=${{ env.JOB_CONTAINER_NAME }} + run: | + cd ${{ github.workspace }} + export OAT_VERSION=${{ env.OAT_VERSION }} + ./.gitea/scripts/ci.sh + + - name: Upload assets + uses: actions/upload-artifact@v3 + with: + name: arena + path: | + zone_out/arena/mod.ff diff --git a/.github/workflows/link-linux.yml b/.github/workflows/link-linux.yml deleted file mode 100644 index 6a0d64c..0000000 --- a/.github/workflows/link-linux.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: link - -on: [push] - -jobs: - link-linux: - name: Link assets on Linux - runs-on: ubuntu-latest - - steps: - - name: Check out files - uses: actions/checkout@main - - - name: Setup OAT - uses: diamante0018/setup-oat@main - with: - version: "0.8.3" - - - name: Link assets - run: | - Linker -v arena - - - name: Upload mod.ff - uses: actions/upload-artifact@main - with: - name: arena - path: | - zone_out/arena/mod.ff diff --git a/README.md b/README.md index d9fe802..e3d95ca 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PlutoIW5Arena: A mod for Plutonium.pw +# IW5 Arena: A mod for Plutonium.pw and IW5-Mod ## Build diff --git a/zone_raw/arena/maps/mp/gametypes/arena.gscbin b/zone_raw/arena/maps/mp/gametypes/arena.gscbin new file mode 100644 index 0000000..4d050e8 Binary files /dev/null and b/zone_raw/arena/maps/mp/gametypes/arena.gscbin differ diff --git a/zone_raw/arena/maps/mp/gametypes/gtnw.gscbin b/zone_raw/arena/maps/mp/gametypes/gtnw.gscbin new file mode 100644 index 0000000..7080b8e Binary files /dev/null and b/zone_raw/arena/maps/mp/gametypes/gtnw.gscbin differ diff --git a/zone_raw/arena/zone_source/arena.zone b/zone_raw/arena/zone_source/arena.zone index dd04089..e85dfa6 100644 --- a/zone_raw/arena/zone_source/arena.zone +++ b/zone_raw/arena/zone_source/arena.zone @@ -8,8 +8,8 @@ localize,mod rawfile,maps/mp/gametypes/_gametypes.txt // Gamemode scripts -rawfile,maps/mp/gametypes/arena.gsc -rawfile,maps/mp/gametypes/gtnw.gsc +scriptfile,maps/mp/gametypes/arena +scriptfile,maps/mp/gametypes/gtnw // Copied from war.recipe rawfile,mp/recipes/arena.recipe