# wackman Bunch of scripts to assist in running WACCA on linux **WARNING:** I made these scripts for personal use. Use with your own discretion. **ANOTHER WARNING:** The data for WACCA S (1.50) from archive.org is corrupted. The game will not work with this version. ## Requirements - [vhditools](https://github.com/libyal/libvhdi) (Build from git, otherwise vhdimount will complain about missing VHDI subsystem) - [umu-launcher](https://github.com/Open-Wine-Components/umu-launcher) - [fsdecrypt](https://gitea.tendokyu.moe/beerpsi/fsdecrypt) - [aria2c](https://aria2.github.io/) - udisks2 - [MercuryModder](https://github.com/szymex73/MercuryModder) (**Optional:** only required for injecting charts into the game) - [metra](https://git.drgn.moe/BlackDragon/metra) (**Optional:** Only required for injecting english translations into the game) - [mangohud](https://github.com/flightlessmango/MangoHud) (**Optional:** Only required if you want to have a FPS counter) ## Configuration Configuration is done with the `.config` file, an example can be found in `.config.example` ## Folder structure - imagestore: - index.csv: File containing all versions of the game with their respective archive.org links - app: Folder containing source .app files - vhd: Folder containing decrypted .vhd files - misc: - customcharts: Folder containing custom charts for MercuryModder to inject - translations: Folder containing .toml files like [this](https://gitea.tendokyu.moe/Raymonf/WACCA-en_US/) that contain translations for the game - ICF1: File that is required by the game - segatools.zip: File that is required by the game ## What do the scripts do? ### ./init.sh - check_prereqs: Check if requirements are installed - get_required_app: Get a list of required .app files - import_from_ins: Check for the presence of a SEGA_INS drive and pulls game files from it - extract_apps: - Download .app from archive.org with aria2c (Only if `AIRGAP=false` in .config) - Extract the .vhd from the .app with fsdecrypt - patchbin: Normalize the parent filename of the .vhd so that vhdimount wont freak out - mount: - Make required folders in \$WORKDIR/\$VERSION - Mount the blockdevice that `vhdimount` presents in \$WORKDIR/\$VERSION/dev - Mount the NTFS partition from the mounted blockdevice in \$WORKDIR/\$VERSION/lower - Mount an overlayfs consisting of the \$WORKDIR/\$VERSION/lower at \$WORKDIR/\$VERSION/game - apply_patches: Apply scripts from the ./patches dir that configure the game to work ### ./launch.sh - Launches the game ### ./unmount.sh - Unmounts the game files