wackman/README.md
2025-11-06 22:52:56 +01:00

49 lines
2.5 KiB
Markdown

# 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