mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-06 11:15:46 -06:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cfa26bf146 | |||
| bfbbb71752 | |||
| 979f736f54 | |||
| 5a7f6a4c10 | |||
| b66c9ce135 | |||
| f5363516c3 |
211
.github/workflows/build.yaml
vendored
211
.github/workflows/build.yaml
vendored
@@ -6,9 +6,61 @@ permissions:
|
||||
contents: write
|
||||
|
||||
env:
|
||||
RUST_TOOLCHAIN: 1.88.0
|
||||
RUST_TOOLCHAIN: 1.86.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
target: x86_64-unknown-linux-gnu
|
||||
artifact_name: pacman
|
||||
- os: macos-13
|
||||
target: x86_64-apple-darwin
|
||||
artifact_name: pacman
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-gnu
|
||||
artifact_name: pacman.exe
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust Toolchain
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
target: ${{ matrix.target }}
|
||||
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Vcpkg
|
||||
run: |
|
||||
cargo install cargo-vcpkg
|
||||
cargo vcpkg -v build
|
||||
- name: Build
|
||||
run: cargo build --release
|
||||
|
||||
- name: Install Cargo Binstall
|
||||
uses: cargo-bins/cargo-binstall@main
|
||||
|
||||
- name: Acquire Package Version
|
||||
shell: bash
|
||||
run: |
|
||||
cargo binstall toml-cli -y
|
||||
PACKAGE_VERSION=$(toml get ./Cargo.toml package.version --raw)
|
||||
echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "pacman-${{ env.PACKAGE_VERSION }}-${{ matrix.target }}"
|
||||
path: ./target/release/${{ matrix.artifact_name }}
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
||||
wasm:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
@@ -50,160 +102,3 @@ jobs:
|
||||
|
||||
- name: Deploy
|
||||
uses: actions/deploy-pages@v4
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
TARGET: x86_64-unknown-linux-gnu
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust Toolchain (Linux)
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
target: ${{ env.TARGET }}
|
||||
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Vcpkg
|
||||
run: |
|
||||
cargo install cargo-vcpkg
|
||||
cargo vcpkg build
|
||||
|
||||
- name: Build
|
||||
run: cargo build --release
|
||||
|
||||
- name: Assemble Archive
|
||||
run: |
|
||||
mkdir /tmp/example/
|
||||
cp ./target/release/pacman /tmp/example/
|
||||
chmod a+x /tmp/example/pacman
|
||||
mkdir /tmp/example/assets
|
||||
cp ./assets/TerminalVector.ttf ./assets/fruit.png /tmp/example/assets
|
||||
|
||||
- name: Install Cargo Binstall
|
||||
uses: cargo-bins/cargo-binstall@main
|
||||
|
||||
- name: Acquire Package Version
|
||||
run: |
|
||||
cargo binstall toml-cli -y
|
||||
PACKAGE_VERSION=$(toml get ./Cargo.toml package.version --raw)
|
||||
echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "pacman-${{ env.PACKAGE_VERSION }}-${{ env.TARGET }}"
|
||||
path: /tmp/example/
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
||||
macos:
|
||||
runs-on: macos-13
|
||||
env:
|
||||
TARGET: x86_64-apple-darwin
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust Toolchain (MacOS)
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
target: ${{ env.TARGET }}
|
||||
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Vcpkg
|
||||
run: |
|
||||
cargo install cargo-vcpkg
|
||||
cargo vcpkg build
|
||||
|
||||
- name: Build
|
||||
run: cargo build --release
|
||||
|
||||
- name: Assemble Archive
|
||||
run: |
|
||||
mkdir /tmp/example/
|
||||
cp ./target/release/pacman /tmp/example/
|
||||
mkdir /tmp/example/assets
|
||||
cp ./assets/TerminalVector.ttf ./assets/fruit.png /tmp/example/assets
|
||||
|
||||
- name: Install Cargo Binstall
|
||||
uses: cargo-bins/cargo-binstall@main
|
||||
|
||||
- name: Acquire Package Version
|
||||
run: |
|
||||
cargo binstall toml-cli -y
|
||||
PACKAGE_VERSION=$(toml get ./Cargo.toml package.version --raw)
|
||||
echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "pacman-${{ env.PACKAGE_VERSION }}-${{ env.TARGET }}"
|
||||
path: /tmp/example/
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
||||
windows:
|
||||
env:
|
||||
TARGET: x86_64-pc-windows-gnu
|
||||
SDL2: 2.30.2
|
||||
SDL2_TTF: 2.22.0
|
||||
SDL2_MIXER: 2.8.0
|
||||
SDL2_IMAGE: 2.8.2
|
||||
# SDL2_GFX: 1.0.4
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Rust (Windows)
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
target: ${{ env.TARGET }}
|
||||
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Vcpkg
|
||||
run: |
|
||||
cargo install cargo-vcpkg
|
||||
cargo vcpkg build
|
||||
|
||||
- name: Build
|
||||
run: cargo build --release
|
||||
|
||||
- name: Prepare Archive
|
||||
run: |
|
||||
New-Item -Type Directory ./release/
|
||||
Move-Item -Path ./target/release/pacman.exe -Destination ./release/
|
||||
Move-Item -Path ./SDL2.dll, ./SDL2_image.dll, ./SDL2_ttf.dll, ./SDL2_mixer.dll, ./SDL2_gfx.dll -Destination ./release/
|
||||
New-Item -Type Directory ./release/assets/
|
||||
Move-Item -Path ./assets/TerminalVector.ttf, ./assets/fruit.png -Destination ./release/assets/
|
||||
|
||||
- name: Install Cargo Binstall
|
||||
uses: cargo-bins/cargo-binstall@main
|
||||
|
||||
- name: Acquire Package Version
|
||||
run: |
|
||||
cargo binstall toml-cli -y
|
||||
PACKAGE_VERSION=$(toml get ./Cargo.toml package.version --raw)
|
||||
echo "PACKAGE_VERSION=${PACKAGE_VERSION}" >> $env:GITHUB_ENV
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "pacman-${{ env.PACKAGE_VERSION }}-${{ env.TARGET }}"
|
||||
path: ./release/
|
||||
retention-days: 7
|
||||
if-no-files-found: error
|
||||
|
||||
@@ -35,7 +35,7 @@ default-features = false
|
||||
features = ["ttf","image","gfx","mixer","static-link","use-vcpkg"]
|
||||
|
||||
[package.metadata.vcpkg]
|
||||
dependencies = ["sdl2", "sdl2-image[libjpeg-turbo,tiff,libwebp]", "sdl2-ttf", "sdl2-gfx", "sdl2-mixer"]
|
||||
dependencies = ["sdl2", "sdl2-image", "sdl2-ttf", "sdl2-gfx", "sdl2-mixer"]
|
||||
git = "https://github.com/microsoft/vcpkg"
|
||||
rev = "2024.05.24" # release 2024.05.24 # to check for a new one, check https://github.com/microsoft/vcpkg/releases
|
||||
|
||||
|
||||
19
src/asset.rs
19
src/asset.rs
@@ -31,6 +31,25 @@ pub enum Asset {
|
||||
// Add more as needed
|
||||
}
|
||||
|
||||
impl Asset {
|
||||
pub fn path(&self) -> &str {
|
||||
use Asset::*;
|
||||
match self {
|
||||
Wav1 => "wav/1.ogg",
|
||||
Wav2 => "wav/2.ogg",
|
||||
Wav3 => "wav/3.ogg",
|
||||
Wav4 => "wav/4.ogg",
|
||||
Pacman => "32/pacman.png",
|
||||
Pellet => "24/pellet.png",
|
||||
Energizer => "24/energizer.png",
|
||||
Map => "map.png",
|
||||
FontKonami => "font/konami.ttf",
|
||||
GhostBody => "32/ghost_body.png",
|
||||
GhostEyes => "32/ghost_eyes.png",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(target_os = "emscripten"))]
|
||||
mod imp {
|
||||
use super::*;
|
||||
|
||||
Reference in New Issue
Block a user