diff --git a/.gitea/scripts/ci.sh b/.gitea/scripts/ci.sh new file mode 100755 index 0000000..ea15882 --- /dev/null +++ b/.gitea/scripts/ci.sh @@ -0,0 +1,42 @@ +#!/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 --load "./deps/iw5-zones/zone/english/code_post_gfx_mp.ff" --menu-permissive --menu-no-optimization code_post_gfx_mp + +Linker -v --load "./deps/iw5-zones/zone/english/localized_ui_mp.ff" --menu-permissive --menu-no-optimization localized_ui_mp diff --git a/.gitea/workflows/link.yml b/.gitea/workflows/link.yml new file mode 100644 index 0000000..c66d861 --- /dev/null +++ b/.gitea/workflows/link.yml @@ -0,0 +1,42 @@ +name: link + +on: [push] + +env: + OAT_VERSION: "0.10.0" + +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: Make sure we have the deps + run: | + git submodule update --init --recursive + + - name: Link assets + uses: addnab/docker-run-action@v3 + with: + image: ubuntu:noble + 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: assets + path: | + zone_out/code_post_gfx_mp/code_post_gfx_mp.ff + zone_out/code_post_gfx_mp/localized_ui_mp.ff diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..d144a93 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "deps/iw5-zones"] + path = deps/iw5-zones + url = https://git.alterware.dev/AlterWare/iw5-zones.git diff --git a/deps/iw5-zones b/deps/iw5-zones new file mode 160000 index 0000000..d65f603 --- /dev/null +++ b/deps/iw5-zones @@ -0,0 +1 @@ +Subproject commit d65f60376c6a92185e7e47b6dd160ada44a6a600