jestar jokin

news . games . music . software

News

News is posted as a blog, click here to access it.

Games

Battle School

Made for a friendly competition on the Something Awful forums. I made the unit art and animations, and a few of the sound effects.

Music

MySpace

Check out my page on MySpace.

Software & Code

Scummbler

Title: Scummbler
Description:

A SCUMM script compiler with support for SCUMM V3, V4, and V5. It can parse text files as output from ScummVM's descumm tool. Very useful for hacking existing LucasArts adventure games. Check out the manual for more information.

This tool is licensed under the MIT license.

Version: v2 r15 (2011/07/12) v2 r15 (2011/07/12)
  • Fix "drawObject" in V3-4.
  • Fix "getState" instruction's syntax.
  • "debug?" instruction renamed to "debug".
  • "PutCodeInString" - add support for a missing 2nd argument (as output by descumm).
  • Restructure code path structure, separate out some tests.
  • Added some tests based on my attempt to parse MI1 global scripts.
  • Change license to MIT license.
  • Update build scripts.
  • Update to the manual - change info for "getState", add support e-mail to contact list.
>> History
License:

MIT license

Source:

Python Source (118.26 KB)

Requires Python 2.5 (and modified PyParsing 1.5.1+, included in the source package)

Binaries:

Win32 Executable (1.64 MB)

Documentation:

Manual (HTML)

An online copy of the Scummbler manual.

Other:

Tests (70.29 KB)

A suite of example scripts that can be used to test the operation of Scummbler. It contains all the scripts from the block of room 4 of MI2, some scripts from other games, and a couple with Scummbler-specific tests. NOTE: these tests are probably outdated now.

 

ScummPacker

Title: ScummPacker
Description:

Pack and unpack resource files for LucasArts games, opening up the possibilites for modifying the games (manipulating graphics, adding new rooms, replacing SCUMM scripts, etc). Supports the following games:

  • Day of the Tentacle
  • Indiana Jones and the Last Crusade (VGA)
  • Loom (CD)
  • Monkey Island 1 (EGA)
  • Monkey Island 1 (VGA)
  • Monkey Island 1 (CD)
  • Monkey Island 2
  • Sam and Max Hit the Road
  • Zak McKracken and the Alien Mindbenders (FM-TOWNS)
Version: v3 r1a (2011/05/21) v3 r1a (2011/05/21)
  • Re-build for Win32 Binaries.
>> History
License:

MIT license

Source:

Python Source (88.91 KB)

Requires Python 2.5

Binaries:

Win32 Executable (1.69 MB)

Documentation:

Manual (HTML)

An online copy of the ScummPacker manual.

 

ScummSpeaks

Title: ScummSpeaks
Description:

A tool to assist in adding or replacing speech to the old LucasArts adventure games that make use of MONSTER.SOU or *.BUN sound resources. Useful in re-dubbing the game for translation. It only works on sound resources that have been compressed using the ScummVM tools; as such, the games will only be playable using ScummVM.

This tool works on text extracted with scummtr; this program is included in the Win32 Binaries package for ScummSpeaks. Note that the text must be extracted with particular settings.

Currently, ScummSpeaks only supports modifying MONSTER.SOU or .BUN files that have been compressed to another format, using the ScummVM tools.

You can also theoretically use it to add speech to games that never originally had it! Check out this video on YouTube of speech in Monkey Island 2, with your typical puerile humour text modifications. It's pretty rough with a few script errors, but I did the hack before I made ScummSpeaks or Scummbler, so I was manually hex-editing scripts and copy-pasting longs strings of arbitrary numbers to play the speech.

Here's a better hack, demonstrating a text-to-speech proof of concept, which is necessary for a few areas of the game where variables are used instead of hard-coded strings.

Screenshots:
Version: v3 r5 (2012/02/12) v3 r5 (2012/02/12)
  • Add (hacky) suport for Curse of Monkey Island (CoMI) - note that you should only use the exported BUN file, and ignore the TAB file (because the sound files are split across two BUN files, and while you can load the one LANGUAGE.TAB file which contains mappings for both BUN files, you can only load one BUN file at a time into ScummSpeaks).
  • Import/Export Sync and Marker metadata as list of bytes for V7+ resources (.BUN).
  • Fix default value for LipSynch metadata in older resources (<= V6, MONSTER.SOU)
>> History
License:

Public Domain

Source:

Python Source (62.87 KB)

Requires Python 2.5, wxPython 2.8+, Mutagen

Binaries:

Win32 Executable (5.07 MB)

Documentation:

Manual (HTML)

An online copy of the ScummSpeaks manual.

 

SCUMM Image Encoder

Title: SCUMM Image Encoder
Description:

A background graphics compressor/decompressor for SCUMM v2, v5 and v6 resources.

For V5/6, it only compresses losslessly and without transparency. Normally, it leaves lots of room for the basic EGA palette and any colours used by sprites (an advanced system would reconcile all sprites used in a room and their colours with the background's palette), so backgrounds are limited to 160 colours by default, but this can be configured. Images must be PNG, and requires game resources contained within an "LFLF" directory as dumped/accepted by ScummPacker.

For V2, it works on resources output from scummrp.

There is also experimental support for V1 resources, including object images, as output by scummrp; however, it does not look like scummrp can insert the generated resources back into the original games files. I'm not sure why. Note that scummrp also does not output the common colour palette; you can use the included v1col_extract and v1col_insert tools to get this information.

Full instructions are available in the Readme.txt file included.

Version: v2 r2 (2012/02/12) v2 r2 (2012/02/12)
  • Add support for encoding/decoding V2 graphics.
  • Add experimental support for encoding/decoding V1 graphics.
  • Big code restructure.
  • Add tests & example images/resources.
>> History
License:

MIT license

Source:

Python Source (358.02 KB)

Requires Python 2.5, Python Imaging Library

Binaries:

Win32 Executable (1.88 MB)

Documentation:

 

DRO Trimmer

Title: DRO Trimmer
Description:

A tool to modify DRO files, the raw OPL (i.e. Adlib) recordings output from DOSBox, supporting all versions of the DRO format. Pretty simple. It just loads up the data into a table, and you can delete instructions as you see fit.

It also has the ability to play DRO files within the editor, so you can listen to the song from any point, and see how your edits sound straight away. It also has a command-line executable, "dro_player.exe", for playing DRO songs.

There's a little bit of magic for V1 files, as sometimes DOSBox likes to record long (bogus) delays before the register initialization, which screws up the sounds of instruments. DRO Trimmer can detect these bogus delays and remove them automatically when the file is loaded. This does not occur for V2 files, since I don't think they suffer the same issue.

This tool is licensed under the MIT license.

The DRO Trimmer source code repository, wiki, and issue tracker is available on BitBucket:
https://bitbucket.org/jestar_jokin/dro-trimmer

Screenshots:
Version: v3 r6 (2012/05/14) v3 r6 (2012/05/14)
  • Add keyboard shortcuts:
    • CTRL-F for Find Register
    • CTRL-I for DRO Info
    • CTRL-SHIFT-S for Save As
    • CTRL-S for Save
    • CTRL-O for Open DRO
    • CTRL-H for Help
    • Spacebar to start & stop music playback (from selected pos.)
  • Prevent multiple "Find Register" dialogs from opening. (Would cause unexpected behaviour)
  • Fix issue where using "Find Register" function would not deselect found occurrances (introduced in v3 r4).
>> History
License:

MIT license

Source:

Python Source (29.12 KB)

With player: Requires Python 2.7, wxPython 2.6+, PyOPL 1.2, PyAudio 0.2.3

Without player: Requires Python 2.5, wxPython 2.6+

Optional: Python for Windows' win32api, for displaying the application icon in Windows

Binaries:

Win32 Executable (5.46 MB)

Requires Microsoft Visual C++ 2008 runtime

Documentation:

Other:

Example DRO files (238.32 KB)

A selection of trimmed and untrimmed DRO files, taken from the following games:

  • Dune
  • Hard Nova
  • Hyperspeed
  • Indiana Jones and the Fate of Atlantis
  • Lord of the Rings
  • Populous
  • Princess Maker 2

 

Contact me here
jestar jokin 2007-2012