![]() |
Monkey Island Special Edition - File Formats
I'll be posting here about the file formats in MI:SE.
So far: The sounds and music are in xbox wavebanks so should be easy to extract. The rest of the resources are in Monkey1.pak - which seems to be unencrypted so far (I can see an offset table and name directory anyway) |
Images seem to be DXT textures, unfortunately they arent embedded in dds files for easy viewing
|
Hopefully getting voices on the old art won't be too hard.
Here's hoping. |
Do you think we could get it to play without steam?
|
Quote:
|
Yeah, I'm waiting for that, untill now only Direct2Drive in US and Canada
|
Update - Serge has put together a quick dumper for the Monkey1.pak. Meanwhile I'm knocking up a quick dumper for the wavebank music.
|
Cool.
|
I'm having problems with the audio atm, some of the audio dumps correctly as pcm wav's, however some appears to be WMA from the format tag but doesnt play back. Either they arent WMA and my understanding of the format tag is incorrect or there's some sort of added obfuscation on the wma files
|
Finished the bulk of "Remonkeyed Explorer" which opens the main resource file and allows you to save all the files inside. Should be out later this week (probably Friday).
Examples of contents inside the .pak file: The original monkey1.001 and monkey1.000 files (unchanged) from the Monkey Madness CD-ROM version Backgrounds Costumes (i.e. character art) Room definitions (in some binary encoded XML - not looking into that before Friday) Fonts (stored as PNG) Shaders (.fx files) tweaks.txt (containing some settings for strange things in the engine) hints.csv (binary file with all the hints) etc. No music or speech - that's in the separate xwb files (which BG is working on). I've managed to "decode" the backgrounds and costumes to .dds (really just a matter of adding the DDS header with width/height etc.) - probably adding decoding from DDS to PNG format before Friday, although I'm not sure that I'll make it combine the various tiles that make up a single background in that short amount of time. Various examples and screenshots (please don't hotlink - my bandwidth can't take it): http://www.jither.net/media/images/remonkeyed.png (screenshot) http://www.jither.net/media/images/woohoo.png (first tile of background art I got decoded) http://www.jither.net/media/images/ghostpig.png (a random costume decoded) Oh yes, it's "Remonkeyed Explorer", because apparently an internal name for the Special Edition is "Remonkeyed Game". :) |
If the original 001 and 000 files are unchanged, that explains why there are no voices in classic mode and that the SE was just made to be in sync with the original game.
|
Nah, I think (as I did before the game came out) that it's always the original game running, and the new art is "projected onto it".
|
I find it annoying that the old art version runs in completely full screen mode, compared to the old dos version which had some black bars around it. Just makes it look ultra blocky. Wonder why that is.
And there seems to be some music bugs in the old art version as well, like voodoo house music keeps playing after you leave the voodoo house sometimes. So they must have done something to the old game files I think. |
Nothing was done to the old game files (they're binary identical), but since the SCUMM engine running it has had to be updated, there are probably bugs inthere.
|
Ahh, yeah that would explain it.
|
Might add that the "projected art" "theory" (I'm quite sure it's accurate) means that there are hacks done in various spots to expand the original game.
I.e., the addition of Spiffy's close-up, the different readings of insult lines, depending on whether they're decided right by the script or not, etc. |
If it's possible to extract graphics from the game, would it be possible to edit those files, and put them back in the game?
|
Most likely, yes. As long as they have the correct format, and correct layout, it'd be as simple as replacing the files. Since the (DXT) graphics are deterministic in size (always compressed 1:4), if they keep the same layout, they keep the same file size and the file offsets in the rest of the file don't change, so there shouldn't even be a problem if there's hacky hardcoded direct offsets in the .exe (which is unlikely these days anyway).
Not something I'm looking into for a while, but I'll probably release some specs when I get back from vacation in a few weeks (if BG or someone else hasn't already). It's even likely, as in GrimE, that just placing the new art in the proper subfolder, with the proper name, in the correct format, might just mean it's loaded into the game. Since that's easier (and very unlikely not to be implemented) while developing. If it's not turned off on release. |
Just for fun, by the way, here's most of Guybrush's costume:
http://www.jither.net/media/images/guybrush.png http://www.jither.net/media/images/guybrush2.png http://www.jither.net/media/images/guyho.png |
Mh, do I smell "hair patch"?
|
I hope so :)
It looks like the 2.5.gb PC download WAS for all the hires artwork... The game must to able to run at some insane resolutions! |
Well, the .PAK is around 1.2GB and 99.999% of that space is taken up by images - mostly split up into 1024x1024 texture tiles (like the ones posted above). Such a tile is a bit over 1MB, if compressed - saw a few 4MB tiles which may be uncompressed RGB.
The remaining data is mostly 500 byte-65KB description files, shader scripts, some PNG textures and the two original resource files from Monkey Madness. |
Look like we are in for some interesting patches :D
Although I wouldn't want to change Guybrush myself. Love him. Cool to fix the Scumm Bar sign (smiley face) and the crappy text on Stan's sign though. |
Hi everyone !
Serge, do you intend to release your tool to unpack Monkey1.pak ? It would be useful for foreigners like me, as I'm french I could put the Monkey1.000 and Monkey1.001 files from the original french version. Thanks :)... |
Hello,
I just discovered this thread. Just wanted to throw in, that I also wrote a little tool to dump the Monkey1.pak file and write out DDS textures. Serge already started a proper GUI which would ultimately allow easier modding I suppose. Anyway, here is my (hackish) source in plain C: http://slexy.org/view/s21wNL2X3x Sample image (copyright LucasArts): http://i36.tinypic.com/b8wby9.jpg @Serge, two questions though: Do you plan to release the source code of your tool? And do you know what the table at 0x28 (referred at 0x8) is for? I also haven't looked at the binary xml yet... |
Just a note:
The game seems to run fine without the Monkey1.pak when all files are extracted in the same directory (such as my little tool does). |
Very interesting.
I wonder if that will help to get voices when you switch to the old art in some way. |
Which means changing files without repacking, yay!
|
Thanks for the dumper and source jott. Lets all try not to duplicate each other's work here. Lets try and post what we are working on/discover so we don't overlap.
[Edit] If it runs without the pak thats excellent news! Dont even have to write a pak compiler. |
Quote:
Quote:
As for 0x28 - no idea yet. Did all this rather quickly last night, so when it worked, I actually stopped looking at the package format and focused on the DXT stuff. Fast enough to not find any file count in the format either, which means at the moment, it simply reads the offset table until it reaches the known position of the name table. And yes, Remonkeyed Explorer also decodes all files to the same folders if wanted (that's what the "Use original subfolder" checkbox is there for). Great news that unpackaged resource use wasn't disabled for the release :) |
Continuing the division of labour - I'll work on a quick 'texture replacer' program, for the moaners who want to do a guybrush "hair patch".
I'd also appreciate any input from anyone on the audio for the new music inside the soundbanks. The format tag identifies it as WMA (from what I know about the format tag) but It doesnt look like WMA. Either its not WMA or its encrypted/obfuscated somehow. |
About that "hair patch" thing.
I wonder if the people who want to fix this knows how much work they'll actually have to do. Guybrush does have quite a few elaborate animations he goes trough during the course of the game. Not gonna be a small job to animate the new hair on all of them. |
Speaking of duplicate work, bgbennyboy...
Here is a little tool to convert DDS back to DXT: http://slexy.org/view/s2laFdoAjF So here is a shot of a modded Monkey Island SE: http://i33.tinypic.com/2v2a4jm.jpg All seems to work out nicely... though some manual steps are needed ATM. |
Nice one Jott :)
I'll be doing a GUI tool, like I usually do. If you are working on a similar app please let me know and I'll stop and concentrate on something else :) |
The best thing would of course be if the game uses the files from the PAK file, with the exception of files that are also contained separately in the game folder. But I guess the PAK is the game's first choice, so separate files would be ignored.
|
Incredible work guys, hopefully these 'exploits' won't be patched on Steam.
|
I had a very brief look at the audio files. I used this program to extract the files from the wavebanks. The .WAV-files seem to play without doing anything to them. The .WMA-files do not as bg says. Opened them in a hex editor and concluded that most of the start with the hex values 09 00 00 03 (I was looking at the MusicNew.xwb file). Also opened up some .WMA-files i had lying on my HD. Many of them has this byte pattern (09 00 00 03) at what seems to be the end of the header or the beginning of the data. I don't know exactly how this program (unxwb) extracts the files but maybe the .WMA-files are stored without the header and it needs to be reconstructed somehow? I don't know, maybe this could give some ideas. I don't have time to look into at it at the moment.
|
@Laserschwert:
The PAK file is indeed the fallback! So just putting files in the right directory will replace them in-game. @bgbennyboy: No, I'm not working on any GUI. Maybe I'll try to find out something about the XML later. |
Quote:
|
@Tomas - good to see you again! Everyones coming out of the woodwork recently :)
The idea about the WMA just missing a header sounds reasonable, I'll try and find time to look at it again this weekend. |
| All times are GMT -4. The time now is 10:25 AM. |
Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.