Didero / ThimbleMonkey

An early version of a Python / PySide6 graphical program to view Return To Monkey Island files (and hopefully Thimbleweed Park files later)
Other
0 stars 0 forks source link

ThimbleMonkey

A Python 3 / PySide6 graphical program to view game files from Thimbleweed Park, Delores, and Return To Monkey Island.
This project is based very much on the work done over at Dinky Explorer. Thanks!

How to run

From release

Just double-click the executable. Easy! On the ARM version of MacOS (So M1, M2, and so on) you may have to run ThimbleMonkey through Rosetta. Select ThimbleMonkey in Finder, then open its Info screen by either pressing command + I, selecting 'File' and then 'Get Info', or right-clicking ThimbleMonkey and selecting 'Get Info'. Then check 'Open using Rosetta', close the Info window, and run ThimbleMonkey.

From Python scripts

Initial setup

This project needs some libraries, so you probably want to set up a virtual environment first, to keep these libraries out of your main Python install. There are some guides on the internet on how to do that, but briefly:
(Note: On MacOS and some Linux flavors, use 'python3' instead of 'python' for these steps)

Using ThimbleMonkey

Loading game files

First you need to know where the game files are stored.
You can find this location in Steam by right-clicking one of the supported games, selecting 'Manage' and then 'Browse Local Files'.
You can find this location in GOG Galaxy by right-clicking one of the supported games, selecting 'Manage Installation' and then 'Show folder'.
Once you know the location, there's two ways to load the game files:

Through the File menu:

Either method makes ThimbleMonkey load all the ggpack files from the game folder. This could take a little while.
The list on the left should have filled with a lot of filenames now. Double-click one to see the file contents on the right.
Some interesting file types: '.ktxbz' file are images, '.otf' and '.ttf' files are fonts, '.yack' files are conversation script files, and '.assets.bank' files contain sounds and music. But I'm sure every file has something interesting in it

Filtering the file list

On the bottom left, there is a 'Filter' textbox. Type a filename filter in here and press Enter or click the search button next to it, and the file list will be filtered on the entered text.
This filtering supports wildcards: '?' for a single character, '*' for multiple characters. Examples: 'Banner_?-hd.ktxbz' lists all the Banner image files, '*.ktxbz' lists all the image files

Closing tabs

You can open multiple files. They open in separate tabs.
Because images (files ending in '.ktxbz' or '.png') and soundbanks (file ending in '.assets.bank') can take up quite a bit of memory, you can easily close a single tab by clicking the 'X' on the right of the tab bar. The 'Tabs' menu contains options to close multiple tabs at once.

Saving data

There are two types of saving in ThimbleMonkey: saving data as-is, and saving converted data.
Saving data as-is is done by going to the 'File' menu and selecting 'Save...'. Selecting any of these options saves the applicable file(s) just as they are stored in the game files. For instance, an RtMI image will be saved as a .ktxbz file
Saving converted data is done by going to the 'File' menu and selecting 'Convert and save...'. Selecting any of these options saves the applicable file(s) in a way that other programs can read. For instance, an RtMI image will be saved as a PNG file
The four options in either menu are:

Converting and saving a lot of files at once can use a large amount of memory and CPU, so in that case a warning will pop up asking if you're sure. This allows you to cancel out to narrow your filter or close some open tabs, or to proceed if you're sure

Limitations

I hope ThimbleMonkey can be useful and/or fun to you!