SCUMM Revisited 3
Currently, it's been a long time since the last SCUMM Revisited update.
Why? Because a lot of work is being put into SCUMM Revisited 3.
SCUMMRev 3 is a total rewrite of SCUMM Revisited, changing the internal
architecture quite a bit in order to achieve new things. So, what's new?
Here's a list of what's done and being done. Oh yes, don't bother asking
me when it will be out, because I honestly do not know. I have lots of
things to attend to lately, and SCUMM Revisited sadly isn't the top
- Improved the text viewer
(for viewing scripts and... text...) a lot, adding syntax highlighting,
the ability to print, search, save as RTF or HTML (useful for the
syntax highlighting mainly) and lots of other such features.
- Made a text extraction plugin - for extracting text resources from any game (dialogue lines in scripts, object names).
- Added floating point (single and double precision) conversion to
the hex viewer - works the same as the old hex, decimal and binary
- Most files from Dark Forces, Tie Fighter,
Jedi Knight, The Infernal Machine,
Behind the Magic etc. can be analyzed.
More Star Wars games might be analyzable, but I haven't got any
of them, so I can't test whether they are. All images from BtM
can be extracted (they're standard JPEG files). The video sequences
are the same format as in Grim Fandango (although they use more,
and different, codecs).
- A lot of the stuff mentioned below has been implemented since the last
update of this page. Also added many internal features (for plugins).
- A totally new user interface (well, when you first open SCUMMRev, it
looks pretty much the same structure-wise), where all the different panels
can be placed where you want them, rather than where I want them :) Take
a look at the current screenshots below (click the images to view full
The first one is pretty much how you'll see it when it first opens. The other
one is just an example of how you can rearrange the stuff... All panels
(except for the explorer treeview) can be detached from the main window and
work as floating windows instead. They can be placed close to anywhere on
the main window etc. In short, pretty much like Office97/2000 or Internet
Explorer 4/5 toolbars. There are still some issues that need to be solved in
this panel area (such as automatic (as well as more userfriendly) resizing).
For now, I've moved on to other stuff. Also notice the toolbars with nice,
- Support for User-made plugins! Yep, SCUMM Revisited is now plugin
customizable. All information and decoder parts of SCUMM Revisited 3 are done
as plugins (i.e., the info shown in Specific Block Info, as well as image,
audio, script etc. decoders). In addition, users can make SCUMM Revisited
internal tools, which will be automatically implemented into the SCUMM
Revisited user interface.
Some examples of these, which will be made for
the initial release are: A GRIMovie.exe SMUSH file extractor, for extracting
and analyzing the Grim Fandango trailer animation file in SCUMM Revisited; A
Dig/CMI cutscene starting IACT locator, which will find the starts of cutscene
audio blocks - this is especially handy for The Dig cutscenes, where there is
an IACT block for each piece of dialogue spoken, each sound effect and each
piece of music, meaning that you have to find the first block in such a cue
in order to extract it or play it through SCUMM Revisited.
The plugins work through a relatively simple API, based on COM-like interfaces
(IEnvironment, IPluginManager, IAnalyzer, IPlugin, IInformer, IAudioDecoder
etc.), meaning that plugins can be written in most modern languages, including
C, C++, Object Pascal (Delphi), or even Visual Basic... :) Or so I hope.
- Analyzing speed (the time it takes from you click the plus next to a
button until you see the result) has increased significantly for most file
types. A new concept of analyzing is the Block Spec Cache, which stores each
block type it finds during a single analyze, in order to be faster at
analyzing blocks with lots of subblocks of the same type (say, LFLF in the
LECF block, Crea in MONSTER.SOU files etc.) Global cache can also be turned
on from the options, in order to keep the cache for all analyzes within a
- Annotation loading performance has been increased about 20 times
(or more!). This is especially noticeable with huge annotation files (such
as the complete annotations of all voice files in CMI bundles, which will
be uploaded to the page at the release of SCUMMRev3, thanks to a couple of
very hard-working people. More on that later :). These huge files, on my
computer, have gone from taking around 3 minutes to load down to less than
4 seconds! Well, we can't really compare, as the way they're loaded is
completely different, the difference being that now, when you open a file,
all annotations are immediately loaded. This, for the above mentioned
annotations takes less than 4 seconds. All analyzing from then on takes the
same amount of time as when no annotations are applied. In SCUMM Revisited
2.x, annotations were searched for (on disk) every time they were needed
for a block, causing analyzing of the root block in a voice bundle to take
as much as 3 minutes.
- Support for Bookmarks has finally been added. This allows you
to bookmark a specific block (in the style of Internet Explorer favorites),
and with a single click of a menu item (or a double click of the bookmark
file stored on disc, see below) get back to the file and block you bookmarked.
File, I say? Yes. File. Each bookmark is saved as a small file, in the same
fashion as Internet Explorer's favorites (.url). These files can be placed
anywhere you wish, but SCUMM Revisited places them automatically in a folder
called Bookmarks (and its subfolders), which means they'll show up in the
bookmarks menu (notice the screen shot above) - completely similar to
Internet Explorer favorites, yes. Oh yes, it looks like this:
- Support for DirectSound (probably minimum DirectX 5, maybe 6.x),
in order to allow immediate playback of large audio files (streaming audio,
rather than decompressing it all to disk and then playing it back), thereby
saving disk space as well as making it all a bit faster :)
- Improved search engine, both faster, more reliable, and with more
features. You can now search for actual block names, rather than just text
(the option was always there in 2.x, but never worked). More features will
be added in terms of what to do with the search results - maybe (MAYBE) even
a batch decoder. You can also choose to only search through the currently
selected block and its subblocks.
- You can sort the blocks in the Explorer Treeview by four different
criteria: Name (alphabetic sort), Type (alphabetic sort by block type), Size
and Offset (the one it used to be). This only sorts within each node of the
tree, i.e., you can't use this to get all RMIM blocks side by side, as
they're children of different ROOM nodes. You can, however, sort voice bundle
files by size, in order to get the longest pieces of dialogue, or the Grim
data bundle files by type in order to get all .wavs in one place. Should make
life easier for some of us :)
- You can now associate SCUMM Revisited with the SCUMM file types,
meaning that you can register SCUMM Revisited with, say, .001 files, in
order to automatically open and analye a file when it's double clicked in
Windows Explorer, or wherever. Also, bookmark files (see above) can obviously
be associated with SCUMM Revisited. All of this can be done from a nice
options panel, looking like... this:
- Drag and Drop support has been implemented. That means, you can
drag a file from Windows Explorer (or wherever) to SCUMM Revisited's Explorer
Tree, to have it analyzed, or drag a block from SCUMM Revisited's Explorer to
Windows Explorer in order to file dump it.
- For users who simply don't want Internet Explorer on their system, but
still want the convenience of a single help file, SCUMM Revisited now supports
the Win95 WinHelp. HTMLHelp users can also change back to WinHelp
documentation, if they want, from the options.
- Both the WinHelp and HTMLHelp documentation should be context sensitive,
which means that you can press F1 anywhere in SCUMMRev to get help on the
particular part you're looking at.
- A nice splash screen has been added, as plugin loading may take a
bit of time (currently, SCUMM Revisited 3 is just as fast at loading as
v2.x), and in order to give feedback about plugin loading. The splash screen
can be turned off from the options.
- Improved Hex Viewer, allowing more features to examine the hex,
such as an internal XOR drop down list, allowing you to instantly change the
decryption value. Also, a search dialog, and other stuff to make
things easier. It's also faster (and less disk space consuming), as it
doesn't need to dump the block to disk before viewing it.
- There is now a close file menu item to allow you to close the file
without having to load a new file or close the program. Proves important in
relation to some of the other features in SCUMMRev3.
- And much more!
Among the new stuff that can be extracted is:
- The Dig cutscene music.
- Grim Fandango cutscene music.
- Some cutscene frames.
- The Dig, CMI and Grim Fandango fonts.
- Maniac Mansion and Zak McKracken game files can now be analyzed.
- EGA game images.
- Maniac Mansion and Zak McKracken images.
- Better CMI script decompilation (I hope).
- Possibly some older game script decompilation.