Tools for extracting and editing Coktel Vision game resources.
- Extract and rebuild game archives
- Extract or inject game texts
- Extract or inject game fonts
- Extract or inject game graphics
- Decompile game scripts (experimental)
- Adi 1
- Adi 2
- Adi 4 (DEV6)
- Adi 5 (DEV7)
- Adibou 1
- Adibou 2 (DEV6)
- Adibou 3 (DEV7)
- Adibou présente series (DEV7)
- Adiboud'chou series (DEV7)
- Asterix Operation Getafix
- A.G.E
- Bargon Attack
- English Fever (DEV7)
- E.S.S. Mega
- Inca
- Inca 2
- Galactic Empire
- Geisha
- Goblins 1
- Gobliins 2
- Gobliiins 3
- Woodruff
- Croustibat
- Fascination
- Paris Paker 1990
- Playtoons series (DEV6)
- Le pays des pierres Magiques (DEV7)
- Ween: The Prophecy
- Once Upon series
- Urban Runner (DEV6)
- Nathan Vacances series (DEV7)
You can download the latest version of the program below. The program is a single executable file with no additional dependencies required.
Linux: Download for Linux
Windows: Download for Windows
macOS: Download for macOS
Note: If the download links do not work, please check the repository for the latest versions or report an issue.
The tool can be used in both interactive and non-interactive modes. The game directory is the folder where your game files are located. If you don't specify it, the current working directory (the directory the program was run from) will be used.
Run the tool without any arguments to enter interactive mode:
boozook [GAME_PATH]
Tip: You can drag and drop the game directory onto the executable file to start in interactive mode easily.
You will be prompted to select actions and options through a series of menus.
This mode is considered advanced and is recommended for users familiar with command-line interfaces and scripting.
Specify command-line arguments to run the tool non-interactively, so it can be used in scripts.
The CLI flags specify which resources are selected for extracting. For example, the command:
boozook --fonts --archive
extracts fonts and archives and ignores other resources.
For a comprehensive list of all available options and their use cases, refer to the documentation or use the help command:
boozook --help
Texts are exported from .cat
and .tot
files into .csv
files.
-
-t, --texts
: Extract or inject texts.boozook /path/to/game/directory --texts
-
-i, --allowed
: Allow only specific patterns to be modified.boozook /path/to/game/directory --texts --allowed "*.ISR" "*.CAT"
-
-k, --keys
: Replace text by keyboard key position (custom encoding used for the official Hebrew translation of some games).boozook /path/to/game/directory --texts --keys
Graphics are exported from .ext
and .tot
files into .png
files.
-
-g, --graphics
: Extract or inject graphics.boozook /path/to/game/directory --graphics
Raw files are extracted from archives, usually STK, ITK, LTK, JTK, and can be configured by the patterns flag.
-
-a, --archive
: Extract or rebuild game archives.boozook /path/to/game/directory --archive
-
-p, --patterns
: File patterns to consider as archives to extract.boozook /path/to/game/directory --archive --patterns "*.ITK" "*.STK"
Fonts are extracted from .let
files to .png
files with the characters displayed on a 16x16 grid.
-
-f, --fonts
: Extract or inject fonts.boozook /path/to/game/directory --fonts
The same command used to extract resources can also be used to rebuild them by adding the -r
flag.
Example Use Case
Suppose you want to translate a game. Here are the steps for both interactive and non-interactive modes:
-
Extract Resources:
- Drag and drop the game directory onto the executable file to start in interactive mode.
- Select "Extract" from the menu.
- Select "Fonts" and "Texts" by pressing the space bar.
- Press "a" to display the advanced options menu, if needed.
- Press "Enter" to start the extraction process.
CSV files will be created with the texts and PNG files with the font, which you will need to edit.
-
Edit the Font:
- Edit the PNG files of the font as needed.
-
Edit the Texts:
- Edit the texts in the CSV files as needed.
-
Inject Resources:
- Drag and drop the game directory onto the executable file again to start in interactive mode.
- Select "Inject" from the menu.
- Select "Fonts" and "Texts" by pressing the space bar and then "Enter".
Copy the created files over into the original game directory to apply the changes.
This is the same example, executed in non-interactive mode:
-
Extract Resources:
boozook /path/to/game/directory --texts --fonts
CSV files will be created with the texts and PNG files with the font, which you will need to edit.
-
Edit the Font:
- Edit the PNG files of the font as needed.
-
Edit the Texts:
- Edit the texts in the CSV files as needed.
-
Inject Resources:
boozook /path/to/game/directory --texts --fonts -r
Copy the created files over into the original game directory to apply the changes.
Additional options for the program are available with this flag.
Warning: These features may have bugs, incomplete implementations, and potential changes in behavior.
--experimental
: Enable experimental features including script decompilation.
For a comprehensive list of all available options and their use cases, including experimental options, refer to the documentation or use the help command along with the --experimental
modifier:
boozook --experimental --help
Tip: You can also run experimental features in interactive mode for easier discovery.
boozook --experimental
-
-s, --scripts
: Decompile game scripts.boozook /path/to/game/directory --experimental --scripts
You can also specify specific patterns for scripts to decompile:
boozook /path/to/game/directory --experimental --scripts INTRO*.TOT
-
-l, --lang
: Language to focus on message hints in decompiled scripts.boozook /path/to/game/directory --experimental --scripts *.TOT --lang en
-
-e, --exported
: Only decompile exported functions (similar todegob
of ScummVM Tools), rather than attempt complete decompilation.boozook /path/to/game/directory --experimental --scripts *.TOT --exported
-
Note: Text options are also considered for scripts.
boozook /path/to/game/directory --experimental --scripts *.TOT --lang he --keys
Feel free to submit issues, fork the repository, and send pull requests. Contributions are always welcome!
This tool has already been used to translate several games successfully. Here are some examples:
- Croustibat: Translated into German.
- Gobliins 2: Translated into Hebrew.
- Ween: The Prophecy: Translated into Hebrew.
We encourage you to share your user-created mods, translations, and improvements in the issues section of this repository to inspire and collaborate with other users. Please feel free to let us know and expand the above list.
Important: While we encourage the sharing of your mods, please do not share the original game files.
If you encounter any bugs or use cases that aren't met by the current capabilities of this program, please report them in the issues section of this repository. When reporting a bug, include detailed information such as the steps to reproduce the issue and any error messages received. If you have suggestions for improvements based on specific tasks or workflows you would like to accomplish, feel free to share those as well.
To develop or contribute to this project, you can clone the repository and set it up using Python >= 3.12 and Poetry (a tool for dependency management and packaging in Python).
See "Running Development Version" below for detailed instructions.
-
Clone the Repository:
git clone https://github.com/adventurebrew/boozook.git
-
Navigate to the Project Directory:
cd boozook
-
Ensure you have Python >= 3.12 installed: You can check your Python version by running:
python --version
-
Install Dependencies:
poetry install
-
Activate poetry shell:
poetry shell
Now you have boozook
program available to execute from your shell, with ability to modify the program locally.
For more information about the technical details of the games supported by Boozook, please refer to the ScummVM wiki page on the Gob engine.
This project is licensed under the GPL-3.0 License, which allows you to use, modify, and distribute the software, ensuring that any derivative works remain open and licensed under GPL-3.0. See the LICENSE
file for more details.
Disclaimer: This project is a fan-made initiative and is not affiliated with, endorsed by, or associated with the copyright holders of the original Coktel Vision games. All trademarks and registered trademarks are the property of their respective owners.