Files
2025-12-17 14:04:33 +01:00

88 lines
2.5 KiB
Markdown

# SAGA-ResExplorer
A small Windows-focused GUI tool to explore, extract, preview, and **repack** SAGA engine `.RES` archives (tested with **I Have No Mouth, and I Must Scream** via ScummVM).
## Features
- Browse extracted `.RES` contents in a tree (`RES → records`)
- Guess file types (WAV/PNG/MP3/OGG/FLAC/…)
- Preview:
- PNG viewer
- Audio playback (WAV via Windows `winsound`, other formats via VLC)
- Hex preview for unknown files
- Extract all `.RES` files using ScummVM tools (`saga_unpack.exe`)
- Repack `.RES` files and override specific records (for fandubs / audio replacements)
- Optional: install patched `.RES` back into the game folder with automatic `.bak` backup
## Requirements
- **Windows**
- Python 3.10+ recommended
- ScummVM tools (Windows build) from:
- https://www.scummvm.org/downloads/#tools
Optional (for MP3/OGG/FLAC playback in the inspector):
- VLC media player
- `python-vlc`:
```bat
py -m pip install python-vlc
> WAV playback works without VLC (uses the built-in `winsound` module).
## Setup
1. Download ScummVM tools from:
* [https://www.scummvm.org/downloads/#tools](https://www.scummvm.org/downloads/#tools)
2. Extract the tools archive somewhere on your PC.
3. Place the Python script from this repo (`res_browser.py`) **in the same folder** as the ScummVM tools `.exe` files (so it can find `saga_unpack.exe`), e.g.:
```
scummvm-tools-...\
saga_unpack.exe
...
res_browser.py
```
## Running
From the tools folder:
```bat
py res_browser.py
```
## Usage (IHNM example)
* Click **Choose Folder…**
* Select your game folder (the one containing `VOICES*.RES`), **or** the `ScummVM` folder from the GOG layout (the app will try to detect `..\ihnm.ini` and use its `path=`).
* Click **Extract All .RES**
* Extracted files go to: `<game folder>\extracted\<RES name>\`
* Find the line/record you want in the left tree and use **Play** in the inspector.
* To replace a line:
* Select the record (e.g. `123.bin`)
* Click **Override selected record…**
* A rebuilt file is written to: `<game folder>\patched_res\<RES name>.patched.res`
* To install:
* Click **Install patched RES…**
* The original `.RES` is backed up as `.bak`.
## Notes / Tips
* For safest compatibility, use **PCM WAV** (16-bit) for replacements.
* If you only want to replace one monologue/sequence, override just the relevant record(s) and install the patched `.RES`.
## License
This project is licensed under the **GNU General Public License v3.0 (GPL-3.0)**.