LucasForums

LucasForums (http://www.lucasforums.com/index.php)
-   SCUMM (http://www.lucasforums.com/forumdisplay.php?f=363)
-   -   Monkey Island 2 - Special Edition (http://www.lucasforums.com/showthread.php?t=204625)

bgbennyboy 07-06-2010 06:52 PM

Monkey Island 2 - Special Edition
 
We'll be needing a new thread for MI2:SE.

Obviously the files are still encrypted on steam right now, and I probably wont be around when the game is first unlocked. So for those who are, this might help. Obviously its only based on assumptions from looking at the encrypted preloaded files:


The Pak file:
It looks a lot smaller than expected - my guess is that its compressed in a similar manner to the xbox version of MI1SE. If thats the case then running XBDecompress on it might do the trick.
Try and have a poke around using Monkey Island Explorer it might work, if the format is the same.

The audio:
The audio is still in standard wavebanks/soundbanks so its likely that jott's modified UnXwb tool will work just fine. Assuming that everything's in the same format (xwma) then this automated solution might work.


[Edit] See later posts
See this post to extract the music
See this post to browse and extract the .pak

TheJoe 07-06-2010 07:03 PM

Monkey Explorer tells me it's not a valid bundle, xbdecompress says it wasn't compressed normally.

bgbennyboy 07-06-2010 07:04 PM

Steam hasn't unlocked the game yet so the files are all still encrypted by steam.

TheJoe 07-06-2010 07:11 PM

Oh - I thought they only encrypted the main .exe. Well then. My comment is moot.

bgbennyboy 07-06-2010 08:12 PM

I've had a look a the pak file in the iphone version. The format seems the same except in the file records: the dword for offset in namedir is wrong. It doesnt point to a valid filename in the namedir.

Monkey Mania 07-06-2010 09:11 PM

Dr Fred: Let's get cracking!

bgbennyboy 07-07-2010 01:14 PM

UnXWB recognises the music (in musicnew at least) as ADP format - which I think is some ADPCM variant.

The pak file format isnt quite the same, as I said previously, the offset in namedir entries are wrong

TheJoe 07-07-2010 01:30 PM

I was able to open the pak in Monkey Explorer, but the preview shows everything corrupted.
Quote:

DDS Decode failed! _coffin-skin/costumes_a03.dxt
DDS Decode failed! e_maphelphowto_bundle_pk_a02.dxt
Hope that's helpful in some way.

bgbennyboy 07-07-2010 01:52 PM

Music - I've tried various tools to decode it, even the AdpcmEncode.exe that comes with the directx sdk but no luck so far
[Edit] See later posts

bgbennyboy 07-07-2010 02:46 PM

Sorted it! They really are just generic MS ADPCM!
Unpack the files with UnXwb - play them back with something like VLC

Monkey Mania 07-07-2010 02:58 PM

Any luck on the pak file?

MusiclyInspired 07-07-2010 04:00 PM

Well, it seems like opening the PAK file with Monkey Island Explorer views the files properly but the graphics are all garbled. Also, a friend of mine tried extracting the music files and opened them in audacity. While you can see the waveform, audacity will not play them, apparently.

MusiclyInspired 07-07-2010 04:08 PM

Hmmm, it seems that all the musical transitions are controlled by the MI2_MUSIC_IMPLEMENTATION.csv file located in the AUDIO folder. I wonder if you can mess with it...

Also, I can't seem to find the original game files in the PAK...

bgbennyboy 07-07-2010 04:10 PM

I've put together a package to automate the decoding of the MI2 music.
Instructions are in the readme but the process is basically this:
  • Drag and drop an .xwb file onto the file named DECODEAUDIO
  • It'll take a few minutes to complete, the new files will be in the "Decoded" folder.
  • I've only tested it with MusicNew.xwb as my brain is fried, but I assume it'll work for some of the others.
  • See the readme for more information.
Download it here.

[Edit] Updated the download with a new version that is a lot quicker (thanks to Meelkee)


[Edit 2] Use the latest version of Monkey Island Explorer instead.

Tecman 07-07-2010 04:20 PM

Awesome, thanks.

Was just writing on how to do it "manually" with Audacity, FFmpeg and LAME and using multiple export, but this is much more user friendly. :) Although that does output .mp3s instead of .wavs like here, so people will still have to use some converting software, but no biggie.

MusiclyInspired 07-07-2010 04:23 PM

What? It creates MP3s? Are the source files MP3s or is the encoding done after the extraction? I'd rather have WAVs so I can convert to the superior OGG format or whatever else I want without quality degradation.

bgbennyboy 07-07-2010 04:25 PM

Read the readme...and my post. It creates wav's ¬¬

MusiclyInspired 07-07-2010 04:26 PM

Ah, I misunderstood Tecman's post...

Serge 07-07-2010 05:08 PM

Just in case you haven't already done it, bg (I can't tell from the thread), the filename table offsets in .PAK should simply be ignored completely - the entries of the filename table are actually stored in the same order as the entires of the file offsets/size table, so for the first file, start from the beginning of the name table and just read the name up until the null terminator. For the next file, read from there until the next, etc.

Still no idea where the hell those name table offsets come from, but since monkey1.pak had the file table in the same order as the actual file content (while monkey2.pak doesn't), there's probably a bug there, and they never actually use the filename table offsets in either game.

Serge 07-07-2010 05:30 PM

... and the image data in the .dxt files is gzipped.

Monkey Mania 07-07-2010 06:26 PM

Any way to re-inject audio data?

bgbennyboy 07-07-2010 07:52 PM

Quote:

Originally Posted by Serge (Post 2737637)
Just in case you haven't already done it, bg (I can't tell from the thread), the filename table offsets in .PAK should simply be ignored completely - the entries of the filename table are actually stored in the same order as the entires of the file offsets/size table, so for the first file, start from the beginning of the name table and just read the name up until the null terminator. For the next file, read from there until the next, etc.

Still no idea where the hell those name table offsets come from, but since monkey1.pak had the file table in the same order as the actual file content (while monkey2.pak doesn't), there's probably a bug there, and they never actually use the filename table offsets in either game.

Thanks for that Serge, I've only really looked at the audio stuff this evening :)


Thanks to Serge I've updated Monkey Island Explorer to support MI2-SE. Its not fully optimised or anything yet - but it'll work for browsing the pak and extracting images and files.

It'll also work with the Xbox (if you use the XBDecompress tool) and iPhone versions should you feel the need to delve into them.

Get it here.

TheJoe 07-07-2010 08:25 PM

Beautiful. Works nicely. MI2:SE works without the pakfile being there, too, so you can extract it and be done with it like the original.

Interestingly enough, despite there being obvious changes to it, the original classic files are, like MISE, binary identical to the original CD version of MI2. I've checked the game in ScummVM and the credit sequence is still there, so it looks like it's being automatically skipped.

A .wav in the music file is SE_CreditsSequence.wav. This makes me believe that the titles are in there somewhere, and are just being skipped straight away.

edit:
Done some more poking around. Found the list of names for the dancing monkey scene and three xml costume reference files known as:

160_monkey-stop-skin.costume.xml
161_monkey-dance-skin.costume.xml
162_opening-credit-guybrush.costume.xml

What do we think about that?

Also:
http://thejoe.co.uk/stuff/dancinmonkeys.png

OzzieMonkey 07-08-2010 03:29 AM

Quote:

Originally Posted by TheJoe (Post 2737707)
Beautiful. Works nicely. MI2:SE works without the pakfile being there, too, so you can extract it and be done with it like the original.

Interestingly enough, despite there being obvious changes to it, the original classic files are, like MISE, binary identical to the original CD version of MI2. I've checked the game in ScummVM and the credit sequence is still there, so it looks like it's being automatically skipped.

A .wav in the music file is SE_CreditsSequence.wav. This makes me believe that the titles are in there somewhere, and are just being skipped straight away.

edit:
Done some more poking around. Found the list of names for the dancing monkey scene and three xml costume reference files known as:

160_monkey-stop-skin.costume.xml
161_monkey-dance-skin.costume.xml
162_opening-credit-guybrush.costume.xml

What do we think about that?

Also:
http://thejoe.co.uk/stuff/dancinmonkeys.png

So essentially you're saying that the full opening sequence is available, but it's just being blocked? Ok, then how do we go about fixing that?

Monkey Mania 07-08-2010 03:34 AM

It seems the graphics use a different kind of compression. Any ideas?

Kenko 07-08-2010 06:50 AM

Quote:

Originally Posted by TheJoe (Post 2737707)
What do we think about that?

Is there a voice-file too?

Serge 07-08-2010 06:57 AM

Quote:

Originally Posted by Monkey Mania (Post 2737786)
It seems the graphics use a different kind of compression. Any ideas?

Quote:

Originally Posted by Serge
... and the image data in the .dxt files is gzipped.

I.e., "DXT5" [width] [height] [gzipped (and DXT5 compressed) data]

elTee 07-08-2010 07:37 AM

I wonder, would it be possible to rename the two music files and swap them around - would this enable the SE music in classic mode, or cause epic failure? I can't try it out til later - but the classic version music is balls.

Kenko 07-08-2010 08:13 AM

I found the backgrounds for the opening credits, rooms\images\103_open-cred\, but they are not in SE graphics.

And song exists and is called "mx154_SE_OpeningCredits_nl"

I was also going to look for the speech, but they are all named "000000XX", so it won't be easy to find, if they recorded it.

EDIT: Are they named like that because the decoder doesn't work properly with Speech.xwb, or are they supposed to be like that?

s-island 07-08-2010 08:21 AM

Quote:

I wonder, would it be possible to rename the two music files and swap them around - would this enable the SE music in classic mode, or cause epic failure? I can't try it out til later - but the classic version music is balls.
Or one cold record the MT-32 tracks properly, if it's possible to write a new .xwb file.

OzzieMonkey 07-08-2010 08:24 AM

Quote:

Originally Posted by elTee (Post 2737835)
I wonder, would it be possible to rename the two music files and swap them around - would this enable the SE music in classic mode, or cause epic failure? I can't try it out til later - but the classic version music is balls.

That would be really awesome if we could do that. If someone figures it out, please tell us!

elTee 07-08-2010 09:19 AM

Quote:

Originally Posted by s-island (Post 2737845)
Or one cold record the MT-32 tracks properly, if it's possible to write a new .xwb file.

Yeah, if we can write a new .wxb that would be the ultimate. I wouldn't want to manufacture all those tracks though :)

s-island 07-08-2010 09:52 AM

Hah, maybe SurplusGamer will get his MP3 soundtrack. ;

TheJoe 07-08-2010 10:11 AM

Quote:

Originally Posted by s-island (Post 2737845)
Or one cold record the MT-32 tracks properly, if it's possible to write a new .xwb file.

I can't get MT-32 tracks, but I can record the music with Shan's soundfont which is very close to it. I would need a lot of time though since I only know how to do it in Linux which I don't have installed right now.


Also, yes. I believe the credit sequence is being locked away. I did even more poking and found interface files for the map pieces that surround the credits. They are, however, unfinished, copied straight from the original game. This leads me to believe that they gave up halfway through adding them.

LogicDeLuxe 07-08-2010 10:33 AM

I wonder, what would happen, if we hack the scripts in monkey2.001 to force the game into easy mode?
Quote:

Originally Posted by Kenko (Post 2737844)
And song exists

Obviously enough. It is playing in the main menu. :)

Laserschwert 07-08-2010 11:04 AM

Quote:

Originally Posted by LogicDeLuxe (Post 2737875)
Obviously enough. It is playing in the main menu. :)

But the file playing in the main menu is named "MUS_menu". The file named "OpeningCredits" is identical, but not used in the game ;)

Jenni 07-08-2010 11:18 AM

Quote:

Originally Posted by elTee (Post 2737835)
I wonder, would it be possible to rename the two music files and swap them around - would this enable the SE music in classic mode, or cause epic failure? I can't try it out til later - but the classic version music is balls.

I just tried that, and it doesn't work unfortunately. :( The classic version just goes silent, except for speech.

Kenko 07-08-2010 11:29 AM

Quote:

Originally Posted by TheJoe (Post 2737870)
I did even more poking and found interface files for the map pieces that surround the credits. They are, however, unfinished, copied straight from the original game. This leads me to believe that they gave up halfway through adding them.

I found those too, but I didn't see the credit text.

I hope there is a way to "unlock" the opening credits.

TheJoe 07-08-2010 11:41 AM

Quote:

Originally Posted by Kenko (Post 2737889)
I found those too, but I didn't see the credit text.

I hope there is a way to "unlock" the opening credits.

I believe the credits are in art\ui\credits\title.credits.xml.

Edit:
Looking at the unencrypted sections of the file, it looks like those are actually the MISE credits. Poo.

Also, in the 'remonkeyed' credits, Tim Schafer's name is misspelled with an extra 'F'. I tried removing it, but that obviously failed because of the encryption or whatever. Anyway to mess around with these XMLs?

Kenko 07-08-2010 11:53 AM

Quote:

Originally Posted by TheJoe (Post 2737896)
Edit:
Looking at the unencrypted sections of the file, it looks like those are actually the MISE credits. Poo.

I wonder why they are there.

Also I finally finished decoding all the 7157 speech-files. Too bad they don't have proper names :(


All times are GMT -4. The time now is 07:01 PM.

Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
LFNetwork, LLC ©2002-2011 - All rights reserved.