PDA

View Full Version : EMI PS2 -> Windows


Gannet
04-12-2010, 05:33 AM
The PS2 version of EMI supposedly has a number of improvements over the Windows version. What I'd like to do is put these improvements back into the Windows version. I haven't had much success so far but here's what I've learnt...

Dialog:
• The PS2 version shows some extra lines of dialog between Guybrush and the catapult operator. There may be extra dialog elsewhere too, though I'm not sure.
• The extra dialog actually does exist in the Windows data but is unavailable in game due to a small error/oversight with regards to the number of lines of dialog displayed at any one time.
• It can be fixed by inserting the "_dialog.lua" script from the PS2 data into the Windows data, but this has a critical side-effect of the game getting stuck whenever you exit a conversation. Properly fixing it would involve editing and recompiling the script.
• The game uses a custom version of lua 3.1 with a modified bytecode. This means that while I can use luadump to decompile and then edit the script, the game won't accept it if I recompile with normal luac 3.1.

Models:
• The PS2 version supposedly has "9 times as many polys as the PC version"*.
• The format of the PS2 .meshb files is almost identical to the Windows ones. Once converted they can be put into the Windows data and the game will load them correctly.
• The actual difference observed in-game is negligible. Only a handful of meshes actually have (slightly) higher vertex counts, and none appear any better than the Windows ones.
• The PS2 version appears to render models more smoothly than the Windows version, giving the illusion of more polygons (not something that could be changed in the Windows version).

Video:
• The PS2 version has 640x448 mpeg-2 video with 48kHz uncompressed audio, while the Windows version has 640x480 bink video with 22kHz bink audio. The PS2 video suffers from less compression artifacts and the audio is noticeably better.
• With a few tools the PS2 video can be converted to the Windows format with reasonable success. The difference really isn't that great though, especially after recompression.
• If you really want the best quality you're better off just extracting the PS2 video and watching it in a separate player.

Sound:
• The PS2 version supposedly has higher quality sound than the Windows version due to "files that weren't as heavily compressed"*.
• Both the PS2 and Windows voices are 16.5kHz mono. The PS2 files are smaller than the Windows ones though, which implies heavier compression.
• Both the PS2 and Windows sound effects are (almost all) 22kHz mono. The PS2 files are compressed though while the Windows ones are not.
• The PS2 music is 24kHz while the Windows music is 44kHz.
• I can find no basis to the claim above. Perhaps she was thinking of the video when she said that.

Misc:
• The PS2 version includes a new easter egg mini-game called Monkey Invaders, and keeps track of moves you learn for Monkey Kombat so you can easily review them. This will likely all be script-based with lua so could in theory be added to the Windows version but as with the dialog mentioned above, an appropriate lua compiler would be needed to do this.
• The PS2 version uses a 3D model for the giant monkey head which animates open/closed, instead of being pre-rendered as part of the background image and using videos to open/close. This was because "NTSC does some interesting things to certain colors"*. On a PC I think the pre-rendered stuff is better.

Any help or more information regarding any of this would be much appreciated :)


* Shara Miller Interview, The SCUMM Bar (http://www.scummbar.com/resources/articles/index.php?newssniffer=readarticle&article=1003)

James Isaac
04-13-2010, 03:20 PM
Nice idea! Here's the specs from that thread, but I don't have the mesh viewer:

Escape from Monkey Island file specs v0.01
-------------------------------------------
by Benjamin Haisch aka john_doe (john_doe@techie.com)
If you have any questions regarding this text or found out new information just mail me.


Introduction
==============

In this text I try to describe the file formats of the 3d files used in Escape from Monkey Island.
These files are meshes (.meshb), skeletons (.sklb) and animations (.animb).
I haven't yet looked into the costume files (.cosb) which group all the above files together.

Note that I'm a newbie to 3d coding so many terms are probably wrong.


Contents
==========

0. Common definitons
1. Binary meshes (.meshb) specs
1.1 Notes about BoneInfoCount
2. Binary skeleton (.sklb) specs
3. Binary animation (.animb) specs
3.1 Note on bone operations:
3.2 Note on rotations:



0. Common definitons
======================

vector3d = float x,y,z
vector2d = float x,y

string:
long length
byte[length] string data



1. Binary meshes (.meshb) specs
=================================

These files contain the actual 3d model model data, i.e. vertices, normals, faces and texture coordinates and

optionally information which vertex is connected to which bone in the skeleton.

Start:
--------
string MeshName Name of the mesh
vector3d u[4] unknown (maybe for collision detection)

long numtex Number of textures used
string texname[numtex] Texture filenames (incl. path information)

long u unknown, is 0x13 in many files
long numvert Number of vertices or similar
vector3d vectors[numvert] Vertex data
vector3d normals[numvert] Normal data

byte size is numvert * 4 colormap for vertex coloring

vector2d texcoords[numvert] texture coords

long facedatacount Number of texture groups
(for faster texturing, switching textures
only once per texture)

repeated facedatacount times {
long flags usually 0x0304
long textureused 0= not textures; 1= textured
long texture Index of texture to be used
this is only stored if textureused=1
long facescount Number of faces
word faces[facescount] the faces data
}

long hasbones 0= mesh has no bones; 1= has bones

if hasbones=0 the file ends here, else there's some more to read:

long bonecount Number of bones
string bonename[bonecount] Names of the bones
(they refer to the names specified
in the skeleton file, .sklb)
long boneinfocount Number of "bone infos" (need a better name)
Stores for each vertex which bone it belongs to.

repeat boneinfocount times { See description below for more notes
long incval (Need better name)
long bone The bone the vertex belongs to.
I don't know yet if this index is into the skeleton
file or into the bonename array first and from
there to the correct bone in the skeleton.
float weight The weight the assiciated bone has to this vertex.
}

(Note: "Usually" means it's the same in all the files I checked.)


1.1 Notes about BoneInfoCount
-------------------------------

This is where the bone-vertex relations are stored.
Note that a vertex can be associated to more than one bone.
That's why boneinfocount and numvert may differ (but they may be the same, too).

If incval is one, then go to the next vertex. Otherwise if it's 0, then stay at the current vertex.

All weights added must equal to 1.0.


Example (from mk1.meshb):

BoneInfo[0]: Vertex= 0 IncVal= 1 Joint= 130 Weight= 1.000
BoneInfo[1]: Vertex= 1 IncVal= 1 Joint= 130 Weight= 1.000
BoneInfo[2]: Vertex= 2 IncVal= 1 Joint= 130 Weight= 0.871
BoneInfo[3]: Vertex= 2 IncVal= 0 Joint= 91 Weight= 0.129
BoneInfo[4]: Vertex= 3 IncVal= 1 Joint= 130 Weight= 1.000
BoneInfo[5]: Vertex= 4 IncVal= 1 Joint= 130 Weight= 1.000
BoneInfo[6]: Vertex= 5 IncVal= 1 Joint= 130 Weight= 0.749
BoneInfo[7]: Vertex= 5 IncVal= 0 Joint= 91 Weight= 0.251


Here the vertices 0, 1, 3, 4 are each linked to one bone (each with a weight of 1).
The vertices 2 and 5, however, are linked to two bones, each with different weight factors that add up to 1

(for each vertex).



2. Binary skeleton (.sklb) specs
==================================

These files store the skeleton of the model. Each bone is connected to several vertices of the mesh, so if one

bone is moved or rotated, so do the attached vertices.

string32 means it's a string with a constant size of 32 bytes, without any length byte.


Start:
--------
long bonecount Number of bones in the skeleton

repeat bonecount times {
string32 name Name of the bone
string32 parent Name of parent bone
vector3d position Initial position of the bone
vector3d rotation Initial rotation of the bone
float angle Initial rotation angle
}



3. Binary animation (.animb) specs
====================================

These files contain keyframe data. Each bone has its own keyframe chunk. Each chunk can either be a translation

or a rotation (maybe there are other types as well).


Definitions:
--------------
translation:
vector3d vec translation vector
float time time this translation is finished

rotation:
quaternion rot rotation quaternion
float time time this rotation is finished


Start:
--------
string name Name of the animation
float duration duration of this animation in seconds
long bones Number of animated bones (need another name)

repeat bones times {
string bonename Name of bone to be animated
This refers to the bone name stored in the skeleton
long operation Operation on this bone (see below)
long unk1 unknown (often 0x01)
long unk2 unknown (often 0x00)
long keyframes Number of keyframes of this bone

if operation=3
translation[keyframes] translations List of translations

if operation=4
rotation[keyframes] rotations List of rotations

}


3.1 Note on bone operations:
------------------------------

If operation is 3 this means the bone has to be translated according to the data.
If operation is 4 the bone has to be rotated instead.
Other keyframe types may be possible but I only found these two.


3.2 Note on rotations:
------------------------

I think the rotations are stored as quaternions but they might as well be just an axis as vector3d and an

rotation angle.

bgbennyboy
04-13-2010, 05:49 PM
Model viewer:
http://quick.mixnmojo.com/temp/emv-0.5beta.zip

Gannet
04-13-2010, 08:50 PM
Thanks guys, great to get that model viewer.
It doesn't open the PS2 mesh files. I took a look at the data and it seems to match the spec except for one differences: the faces data uses longs instead of words (seems everything in the PS2 data must be in multiples of 4). I'll try to convert it and then see if the model viewer and/or the game will load it.

Gannet
04-13-2010, 11:40 PM
Cool, it worked. Sadly though, the difference between the models seems to be negligible :/
Where did the idea of "9 times more polygons" come from? I've seen it mentioned on the forums here and on worldofmi.


Is there any information/tools available for working with the EMI voice files (.wVC inside the bundles)?

Radogol
04-15-2010, 05:37 AM
Cool, it worked. Sadly though, the difference between the models seems to be negligible :/

How about comparison screenshots, please?

Gannet
04-15-2010, 07:45 AM
I haven't looked at all the models but I've only spotted four so far that actually have different vertex counts. Here's Guybrush and Mr. Cheese. In the Windows data, Guybrush has 1036 vertices and Mr. Cheese has 1000. In the PS2 data, Guybrush has 1056 and Mr. Cheese 1156. Guybrush's cuffs and belt are slightly different and his boots are a slightly different colour. Mr. Cheese's hat is rendered slightly differently. That is all.

Thrik
04-15-2010, 07:52 AM
Could it be that the PS2 uses a different lighting method to give the illusion of smoother models, or it has some kind of 3D post-processing that smooths some of the vertices? When you look at the hair for example here on the PS2 it looks smoother:

http://images.psxextreme.com/screenshots/ps2_monkey_island/ps2_monkey_island_08.jpg

Radogol
04-15-2010, 08:11 AM
Windows meshes (http://dl.dropbox.com/u/522679/monkeyisland/Windows.jpg)
PS2 meshes (http://dl.dropbox.com/u/522679/monkeyisland/PS2.jpg)


You're right, the difference is minimal.

The movies are supposed to be much higher quality on the PS2, although I can't even begin to imagine the size of such a cutscene "patch".

Gannet
04-15-2010, 07:55 PM
@Thrik: Yeah, I'd bet that it just renders them more smoothly, which is not something that could be "fixed" in the Windows version. But I'm curious to know whether "nine times" has any basis or if it's just something random someone made up.

@Radogol: The voices are supposed to be better too. But without any tools that can even playback the files, I can't even verify if this is true or not let alone convert them across. (I tried Bink player but it only works for a couple of the shorter movies - the main cutscenes won't play).

[edit] Okay, I just played the cutscenes in-game and compared to the PS2 video, which plays in VLC. Yes, the PS2 video is higher quality (in terms of compression/artifacts, not model detail) but not hugely. Also, the PS2 video is only 640x448, presumably cut short to display the subtitles below it (in Windows, the subtitles are rendered on top of the video in fullscreen but in a window the video is shorter and they're rendered in the blank space below it). So you're probably losing more than you're gaining anyway.

James Isaac
04-16-2010, 02:10 PM
I'm sure I remember reading the "N times as many polygons" thing with official specs about the game too... but can't find anything with google, apart from this:

http://webcache.googleusercontent.com/search?q=cache:J8DuPT7mc8QJ:www.mixnmojo.com/features/read.php%3Farticle%3Descapefrommonkeyisland%26page %3D5+%229+times+as+many+polygons%22&cd=3&hl=en&ct=clnk
Re-rendered, allegedly smoother animations - This is something LEC touted endlessly when promoting the PS2 version, stating that there were "9 times as many polygons" in the character models (???) but honestly I've never noticed a difference. The generally blurrier nature of the PS2 version's visuals makes jagged edges around models much less of an issue than with the PC version, however.

SyntheticGerbil
04-16-2010, 07:40 PM
This is a great idea, I wouldn't mind a convergence of the best of these two versions at all.

Models:
• The PS2 version has been reported by some people to have "nine times more polygons" than the Windows version.
• The format of the PS2 .meshb files is almost identical to the Windows ones. Once converted they can be put into the Windows data and the game will load them correctly.
• The actual difference observed in-game is negligible. Only a handful of meshes actually have (slightly) higher vertex counts, and none appear any 'better' than the Windows ones.
• The PS2 version probably renders models more smoothly than the Windows version, giving the illusion of more polygons. This is not something that could be "fixed" in the Windows version.

I'm just curious for anyone who took the time to open the model files, can you list the differences you saw? Sounds like not even all characters or objects are improved.

You're right, the difference is minimal.

The movies are supposed to be much higher quality on the PS2, although I can't even begin to imagine the size of such a cutscene "patch".

Oh man, that's true, but maybe there's some kind of exe that could be make that would require you to have the PS2 disc and just rip them for you and place them over the PC files? I know that's more work, assuming this all happens, but it would be having to go through the agony the Scumm guys used to make you do to convert all the movies from the Feeble Files or download them as they now (sort of grey area) do.

@Radogol: The voices are supposed to be better too. But without any tools that can even playback the files, I can't even verify if this is true or not let alone convert them across. (I tried Bink player but it only works for a couple of the shorter movies - the main cutscenes won't play).

[edit] Okay, I just played the cutscenes in-game and compared to the PS2 video, which plays in VLC. Yes, the PS2 video is higher quality (in terms of compression/artifacts, not model detail) but not hugely. Also, the PS2 video is only 640x448, presumably cut short to display the subtitles below it (in Windows, the subtitles are rendered on top of the video in fullscreen but in a window the video is shorter and they're rendered in the blank space below it). So you're probably losing more than you're gaining anyway.

Hah, funny they didn't take the time to use their "9 times as many polys" models for the PS2 version's movies, but just used the same movie masters without compressing them as much. Can't say I'm surprised.

Gannet
04-16-2010, 07:54 PM
@James: Thanks, that's a helpful article. Down the bottom it linked to here (http://www.scummbar.com/resources/articles/index.php?newssniffer=readarticle&article=1003), which looks like the official source. It does make it rather confusing though, since I can find no evidence in the data to back up that claim. I'll keep looking though...

@SyntheticGerbil: The screenshots posted later show the differences. If/when I find anything more than that, I'll let you know ;)

SyntheticGerbil
04-16-2010, 08:04 PM
Ah crap, I completely missed that part. Sorry. :)

Thanks for the screenshots by the way, Gannet. It looks like they may have just chamfered some of the edges I'm guess, but it really doesn't make much of a difference of appearances besides it seems that they did it to get rid of some unnecessary hard shadows (not that I noticed in the first place).

Haha, definitely not 9 times more polys.

LogicDeLuxe
04-17-2010, 06:07 AM
@James: Thanks, that's a helpful article. Down the bottom it linked to here (http://www.scummbar.com/resources/articles/index.php?newssniffer=readarticle&article=1003), which looks like the official source.That's interesting.
What about the "files that weren't as heavily compressed"? Is there any difference in the music? Has it a higher bitrate, or is this just the videos?
And I'm told that it doesn't have iMuse? Is that true too?

Gannet
04-18-2010, 07:13 AM
The music on the Windows version comes in two types: 22kHz or 44kHz mp3s (you choose the quality in the settings). I haven't compared but I wouldn't think the PS2 version would have anything better than that. I believe that comment refers to the video and voice. As for iMuse, I can't determine that from the data but I'm happy believe what others say about it.


Updates on video:

The Windows videos are all in bink format but most have them have a SMUSH header - if I remove this the bink player is happy with it. Also, the PS2 video is not cut off at the bottom as I said earlier but simply squished a little (which is trivial to fix when recompressing with bink). It also has 48kHz uncompressed audio, compared to 22kHz bink audio in the Windows version. It does sound nicer :)

After a struggle I managed to convert the PS2 video to and put it into the Windows version. The result is reasonable though for some reason the audio had to be reduced to 30kHz because the bink compressor didn't like it any higher than that. I'm happy to write up detailed instructions if anyone wants it.

More interestingly though, I've discovered you can set a flag in the bink videos to make them play at double size. Go 36 bytes from the start of the bik header and change 0x00000000 to 0x00000040. If you've patched your exe to set the resolution to 1280x960 (or higher, but 1280x960 is best for the backgrounds and things) then this is really great :). The subtitles stay in their original location, which looks a bit odd, but if you really want you can disable them completely by removing the smush header (seems disabling subtitles in the settings makes the video not play at all on current versions of windows).

bgbennyboy
04-18-2010, 10:28 AM
Great find! That'll really help enhance the resolution patch!

s-island
04-18-2010, 11:18 AM
Also, the PS2 video is not cut off at the bottom as I said earlier but simply squished a littleAre you playing the PAL or NTSC version? This is a typical artifact that comes from porting games from NTSC to PAL on the cheap. PAL has about 100 extra lines of resolution so instead of re-rendering everything, they just put the original NTSC picture in the middle, leaving about 50 black lines on the top and bottom.

Longcat
04-18-2010, 12:17 PM
Great find! That'll really help enhance the resolution patch!


Seeee-weeeeeet!

bgbennyboy
04-18-2010, 02:29 PM
Gannet's delving into EMI also goes beyond this thread. He's sent me a fix so that windowed mode now works when EMI is patched into a higher resolution.
As a result I'm updating my EMI launcher and its resolution patch. It'll include the windowed fix, Gannet's 'double size' video patch and will let you choose a custom resolution, rather than the 4 pre-selected ones there are now.

The reason I'm posting this is because I also want there to be a decent list of common resolutions to choose from for non-expert users. There'll be the option to type in your own res, but I want to keep the dropdown list with the resolutions already in. Does anyone have a list of common resolutions that you think should be included? I don't want there to be so many that the choice is overwhelming, but there should be a reasonable selection for 4:3, 16:10 and 16:9 aspect ratios.

Longcat
04-18-2010, 02:49 PM
as long as there are 16:10 and 16:9 options, I'm happy. don't know about netbooks though, they sometimes have weird aspect ratios, but I guess they are not in the target audience. thanx for updating the patch bg, I'm really looking forward to playing this again at a reasonable resolution. I've stayed clear of the patch before because the videos still would play in a small window. and I love the idea of having a custom resolution input:)

Thank you both!

Gannet
04-18-2010, 06:56 PM
@s-island: Hm, I'm not sure. But I suspect it's to do with subtitles rather than an NTSC/PAL thing - the .til files are still 640x480.

@bgbennyboy: Put emphasis on 1280x960 - the videos are fullscreen, the backgrounds scale the nicest and the save thumbnails display properly. For different resolutions though, remember the fix to black out the background when a video is playing. Thanks heaps :)

Still looking for tools to work with the voice files...

bgbennyboy
04-18-2010, 08:14 PM
Gannet: I've emailed you about the 'black the background out' fix - I couldn't get it to work.

I'm not sure what info there is on the voice files floating around, from what I remember I think they use some sort of compression (VIMA?) in a wav container or something similar. I'm pretty sure that John_Doe's EMI Resource Viewer and one of the versions of SCUMM Revisited could play them back.

Gannet
04-18-2010, 09:55 PM
Hrm, haven't seen any email from you :/
Offset 0x22F9E reads 0x8002. It works for me if I change this to anything else (doesn't matter what the resolution is).

Scumm Rev 5 can extract the voice files but not play them. v3 download no longer works. EMI Resource Viewer 2.1 doesn't play them either and v2.6 download no longer works.
[edit] Okay, I may not be able to play the files but I can at least read the header. Both the Windows and PS2 voice files are 16538Hz 16-bit mono but the PS2 files are smaller than the Windows ones, implying more compression. So I can't see how the PS2 voice could be better.

bgbennyboy
04-19-2010, 01:20 PM
EMI Viewer 2.6 (http://quick.mixnmojo.com/temp/emi-viewer-2.6.zip)

I've dug out my PS2 copy of EMI and its a German PAL version. I can upload some files if you need to compare.

I tried changing 0x8002 to other values at that offset - none seemed to make any difference - the screen isn't blacked out. Are you sure that's the only value you changed?

[Edit] I've had a quick look at the PS2 voice files, I havent done anything more than just look at them in a hex editor but my guess is that they use the PS2 VAG format, which is an adpcm variant.

bgbennyboy
04-19-2010, 01:31 PM
Confirmed - it is VAG. Play it back with something like MFAudio. (http://www.zophar.net/utilities/ps2util/mfaudio-1-1.html) You'll need to strip the headers from the .scx file first (up to the VAGp header)

bgbennyboy
04-19-2010, 07:01 PM
Beta version of EMI Launcher - lets you choose a custom resolution, includes the "windowed mode with higher res" fix.

Doesn't include the 'black the background out' fix - I can't get it to work yet and doesn't yet include the 'double size' movies patch.

EMI Launcher 1.5 Beta. (http://quick.mixnmojo.com/temp/EMILauncher_1.5Beta.exe)

Gannet
04-20-2010, 12:40 AM
EMI Viewer 2.6 (http://quick.mixnmojo.com/temp/emi-viewer-2.6.zip)

I've dug out my PS2 copy of EMI and its a German PAL version. I can upload some files if you need to compare.
Thanks heaps, that's great a little app :)
I've got English NTSC. If you (or anyone else) see anything much different between mine and yours then it'd be great if you could upload them. Note there are art files in the root of the disc and also in subfolders by island - they seem quite redundant so I'm not sure which the game actually uses. I've found copies of guy.meshb in artall, melee/cdt and melee/wed.

Confirmed - it is VAG. Play it back with something like MFAudio. (http://www.zophar.net/utilities/ps2util/mfaudio-1-1.html) You'll need to strip the headers from the .scx file first (up to the VAGp header)
Ah, thanks. I had worked out that MFAudio could play them if I manually set the frequency and channels - didn't realise there was an extra header I needed to remove to make it work automatically. Anyway, the voices don't sound any different to me so I'll put that one to rest for now.

bgbennyboy
04-20-2010, 06:45 PM
The guy.meshb is identical, at first glance it doesn't look like anything is particularly different. I don't imagine that any of the assets apart from the text will have been changed.

Thanks for sending me your .exe, unfortunately i still get dont get the backgrounds blacked out for videos. Perhaps its somehow dependant on graphics card drivers.

I've updated EMI Launcher again so that it lets you play in windowed mode if you're using a higher resolution (link is the same as that above). If anyone can, I'd still appreciate some suggestions for what the 'built-in' resolutions in the drop-down list should be.

jp-30
04-20-2010, 06:49 PM
Don't suppose any of this will be transferable to Grim Fandango?

bgbennyboy
04-20-2010, 06:51 PM
Sadly not I think. I tried patching Grim into a higher resolution years ago. I think I've deleted the screenshot from my site but essentially - Manny could move around in the larger window - but the backgrounds didnt scale up and we're just shown in a 640x480 window in the corner.

Gannet
04-22-2010, 09:03 AM
The guy.meshb is identical, at first glance it doesn't look like anything is particularly different. I don't imagine that any of the assets apart from the text will have been changed.

Hm, thanks. Did you notice when playing if the models are smooth or not?

Anyone else who has the PS2 version, let me know :)

Radogol
04-22-2010, 02:57 PM
http://www.youtube.com/watch?v=7qY40P41Z2U - gameplay video from the PS2 version. The models LOOK smoother, but it's hard to tell with such a low resolution.

Gannet
04-22-2010, 07:07 PM
Here's a quick list of some common resolutions...

5:4
1280x1024

4:3 (not very common at all now but I think these two at least are important)
1024x768
1280x960

16:10
1280x800
1440x900
1680x1050
1920x1200

16:9
1366x768
1920x1080

Personally I would never use a ratio other than 4:3 because I hate stretching ;)


Does anyone know who made luadump?

TheJoe
06-26-2010, 10:47 PM
How much progress has been made with the cutscenes? Can they be incorporated into the launcher?

OzzieMonkey
06-26-2010, 11:33 PM
The only thing I really want to know is how adding the Monkey Kombat chart into the game is going. It would make that part of the game so much better.

Gannet
07-05-2010, 07:25 AM
Things like the monkey chart aren't possible unless someone makes a compatible lua compiler. I don't think it'll ever happen, sadly.

As for the cutscenes... any news, bgbennyboy?

bgbennyboy
07-05-2010, 02:25 PM
Whoops! I forgot about this. I shall sort it in the next few weeks, if I dont feel free to remind me and or chastise me.

Gannet
07-27-2010, 06:39 PM
*poke* ;)

bgbennyboy
07-31-2010, 08:58 AM
Whoops! I'll get back into this.

Longcat
08-05-2010, 11:29 AM
sweet:)

bgbennyboy
08-05-2010, 11:37 AM
Right now I'm trying to update the installer to stop the issue where it hangs when iterating through the drives.

If anyone has the problem where the installer just hangs when it loads please contact me - I need to test a fix with you and I cant reproduce the problem myself.

Longcat
08-05-2010, 08:50 PM
sorry, I'm on holiday right now, but I can help with testing once I get back home next week:P

Gannet
08-05-2010, 11:02 PM
Cool. Will the new installer install the patch.m4b file from the v1.2 CDs?

bgbennyboy
08-06-2010, 05:51 AM
I cant remember - did you send me a list of all the files on your cds so I could compare? I dont have access to all my email on this computer.

Gannet
08-06-2010, 06:47 AM
Yup - I'll send them to you again...

bgbennyboy
08-06-2010, 06:48 AM
Cheers :)

bgbennyboy
08-06-2010, 06:01 PM
I'm nearly done making changes to the installer but I'm still confused by your version of EMI. As far as I know V1.1 is the latest release and that version is the last patch that Lucasarts released. It would seem that you have some unknown version - not just the game with the patch slipstreamed but a version beyond that.

Just to clarify (and to record it here for anyone else in the future):

You have the English version of EMI
Its an official genuine release
The readme identifies it as v1.2 of EMI (and ingame in the gee-whiz screen)
Your version includes patch.m4b and secrets.m4b


If possible can you send me secrets.m4b, monkey4.exe and the readme? I'm particularly interested in secrets.m4b - your dir listing shows it to be an 8 byte file - but it doesn't exist in my EMI - either patched or unpatched.

Gannet
08-11-2010, 06:45 AM
This is off topic but I just found this really odd screenshot (http://i258.photobucket.com/albums/hh243/iMaGe_2008/EscapeMonkeyIsland3.jpg). Um, how do you get there?

unicornfoal
08-11-2010, 09:21 AM
This is off topic but I just found this really odd screenshot (http://i258.photobucket.com/albums/hh243/iMaGe_2008/EscapeMonkeyIsland3.jpg). Um, how do you get there?

That looks like the section of the dock that was cut out of the main game... the only time Guybrush is ever there in the final thing is at the very beginning, and he's not player-controlled at that point.
I'd have to assume this comes from a pre-release version or from some form of photoshopping. *shrugs*

LogicDeLuxe
08-11-2010, 09:30 AM
This is off topic but I just found this really odd screenshot (http://i258.photobucket.com/albums/hh243/iMaGe_2008/EscapeMonkeyIsland3.jpg). Um, how do you get there?It is in the demo version, iIrc. They probably removed it, since there is nothing to do there. There are more minor details which feel unfinished in it.

Longcat
09-04-2010, 08:12 AM
Was the installer ever updated? Is so, did you have any luck with the video?

bgbennyboy
09-05-2010, 06:34 AM
I've updated the installer with new cd-finding code. I started updating the launcher with the new patches, the higher res windowed mode patch works but the fix for blacking out the background while videos are playing never worked so I was messing with that.

However:
I forgot that the bink movies need to be patched for that black background fix to work and I need to finish updating the list of resolutions.

The "EMI Todo" folder is still sat on my desktop, I will get around to it, I'm just really busy at the moment.

Longcat
09-05-2010, 10:17 AM
Ok, great, thanx for the reply:) I'm really looking forward to this!

Udvarnoky
09-05-2010, 11:59 AM
It is in the demo version, iIrc. They probably removed it, since there is nothing to do there. There are more minor details which feel unfinished in it.

And even in the demo you couldn't sit on the barrel like that early screenshot showed - it was a completely useless environment, which is probably why it was cut. The Docks does have its own music though (which you can't hear in the EMI demo because it's all temp, CMI tunes), and it was shown for a split second in the final game during the in-game cutscene that takes place right after the pre-rendered cutscene of Guybrush and Elaine landing on Melee. And due to the way the camera is positioned, you also get a peak at the docks when you exit out the door of the LUA Bar's interior.

Gannet
09-05-2010, 11:06 PM
I forgot that the bink movies need to be patched for that black background fix to work and I need to finish updating the list of resolutions.
Nah, they were separate hacks. I tried EMI on a different computer recently and the black background fix didn't work on that one. Maybe it's just my computer :). In any case, you probably shouldn't bother with that one - just the x2 movie patches.

somaen
08-10-2011, 07:08 PM
Sorry about digging up a rather old thread, but I find this VERY interesting.

I have been digging at the meshb/sklb/animb-format for a while now, to try to add something usefull for it to Residual, but I was drawing blanks, the format-text in this thread looks like what I got, only MUCH better and more precise, so, I was wondering, if there was more information that was found, or.... a possibility that bgbennyboy would like to add his findings to residual-tools?

John Doe's gamefileformats-page seems down atm, so Im trying to scavenge as much known information as possible right now.

bgbennyboy
08-15-2011, 07:01 PM
Whoops. I forgot about this. Apologies for broken promises, the EMI todo folder is STILL sat on my desktop.

Somaen: I'll come on irc and send you all the stuff I have.

somaen
08-22-2011, 11:45 AM
Any idea when?

Udvarnoky
10-22-2014, 05:22 PM
Was looking at old threads and found this one again, three years later. Heh, any interest in continuing this effort, Benny? Grim's getting its official remastering next year; perhaps you can at least get us a version of EMI with decent-looking cutscenes. ;

bgbennyboy
10-27-2014, 06:39 PM
I er...still have that "EMI todo" folder on my pc.
You have guilted me into looking at this again. Today I've fixed up the EMI Launcher to make it play nice with Windows 8. I'll look at the cutscene patch and the installer cd detection bug soon. Hopefully I should be able to do a new release soon*

*soon = a period between 1 week and 3 years.

MrManager
10-30-2014, 12:22 AM
God, what are we paying you for, here?

Artisa
10-30-2014, 08:35 AM
Do you guys even get paid? :rolleyes:

Udvarnoky
10-30-2014, 11:44 AM
Haha! Our hosting provider doesn't even get paid, which I'm assuming is why we're down right now?

bgbennyboy
10-30-2014, 02:52 PM
Do you guys even get paid? :rolleyes:

Of course we do! Why else would I spend hours making a nocd patch for a 14 year old game :~

I think we can all agree though, that the downtime is Remi's fault.

Artisa
10-30-2014, 05:58 PM
Haha! Our hosting provider doesn't even get paid, which I'm assuming is why we're down right now?

That would be a good explanation. :halo2:

Of course we do! Why else would I spend hours making a nocd patch for a 14 year old game :~

Oh sorry, I must've misinterpreted that "I don't get paid so please donate" sign on the Quick n Easy site! :D

But on the rare occasion that I'm actually talking to the brain behind those programs, I'd like to take this opportunity to personally thank you for all the neato stuff you've made over the years! :D

Huz
10-30-2014, 09:31 PM
RIP Mojo, 1992-2014 :(

Artisa
10-31-2014, 11:15 AM
Wow it's still down, huh? :/

bgbennyboy
10-31-2014, 10:26 PM
It took bloody ages but I have made good on my constantly broken promises. I've updated both the EMI launcher and installer.

I now need people to test them, so I can release them officially. I'm using Windows 8.1 at the moment so it would be helpful if people could test them in older versions of Windows.
It would be particularly helpful if anyone with a non-English version of EMI could test it. I would especially like to know if the no cd patch works (in the options menu) and if the change resolution patch still works ok.

Remember the launcher comes packaged with the installer.

EMI Launcher 1.6 Test (http://quickandeasysoftware.net/temp/EMILauncher_1.6_Test.exe)

EMI Setup 1.2 Test (http://quickandeasysoftware.net/temp/Monkey4Setup_1.2_Test.exe)

Change list:

EMI Launcher:

Added a no cd patch. I resisted adding this for years due to concerns about piracy but now things have changed. The game is really old, its unavailable to buy and many computers no longer have a cd drive. I also needed to do this so I could add the cutscene patch. To enable to nocd patch go to the options menu.

Updated resolution patch to support common resolutions and custom resolutions. The list of resolutions now includes the most common 4:3, 16:9 and 16:10 resolutions. Or you can enter a custom resolution.

The game should now work in windowed mode when patched to a higher resolution. This doesn't work for every resolution but works fine for most 4:3 resolutions.

Cutscene movies now scale up to fill more of the screen. The patch now edits the movies to make them play at double size. This means that they should fill the screen at resolutions up to 1280x960.

Hint text at the bottom of the launcher now shows the resolution.

Added a few fixes to make the launcher work correctly in Windows 8.

Changed URL for the V1.1 update patches since Lucasarts no longer provides them.


EMI Setup (the installer):

Changed cd detection code to hopefully stop the infinite loop problem that some people got when it couldn't iterate through all their drives.

bgbennyboy
11-01-2014, 09:38 AM
I've just updated the downloads with some small fixes.
The resolution patch wasn't patching the videos appropriately and the launcher wasn't automatically prompting to run as admin.

Also if I hear "from the personal log of Guybrush Threepwood" ever again it'll be too soon

Artisa
11-01-2014, 10:42 AM
Also if I hear "from the personal log of Guybrush Threepwood" ever again it'll be too soon

:rofl: :rofl: :rofl:

That was really fast btw. :eek:

OzzieMonkey
11-01-2014, 08:53 PM
Great work there mate. Unfortunately the cd patch won't work because it can't find the file to update to 1.1. When I hit the button "Update game to version 1.1" it displays this error:
"File not found: ...://xfer.lfnetwork.com/worldofmi.com/patches/MonkeyUpda..."

bgbennyboy
11-01-2014, 08:58 PM
Cheers for trying it. The update download doesn't work because I changed the URL for it. It used to download it from Lucasarts, they removed it, so I changed to the downloads hosted by World of Monkey Island. Unfortunately WMI and Mojo are down at the moment :~

In the meantime the update can be downloaded here http://www.residualvm.org/downloads/

OzzieMonkey
11-01-2014, 09:21 PM
Cheers for trying it. The update download doesn't work because I changed the URL for it. It used to download it from Lucasarts, they removed it, so I changed to the downloads hosted by World of Monkey Island. Unfortunately WMI and Mojo are down at the moment :~

In the meantime the update can be downloaded here http://www.residualvm.org/downloads/

Yeah, I tried that, but what happens now is this:
"cannot create file "D:\Program Files (x86)\Lucasfilm\Monkey4\Monkey4.exe". Access is denied"

bgbennyboy
11-01-2014, 09:24 PM
When do you get that? With the launcher or the update? If its the update, right click and run it as administrator.

OzzieMonkey
11-01-2014, 09:41 PM
When do you get that? With the launcher or the update? If its the update, right click and run it as administrator.

I get that with the launcher after I've applied the update. I also tried running the launcher as administrator but that didn't work either.

bgbennyboy
11-01-2014, 10:05 PM
Thanks for this.To solve the problem some more info would be helpful.

What version of windows are you using?
What button do you press to produce that error message?

That message suggests that either the launcher can't get write access to that file or something else is using the file. I'll have a look at this tomorrow.

OzzieMonkey
11-02-2014, 12:16 AM
Thanks for this.To solve the problem some more info would be helpful.

What version of windows are you using?
What button do you press to produce that error message?

That message suggests that either the launcher can't get write access to that file or something else is using the file. I'll have a look at this tomorrow.

Sure, no worries.
I'm running Windows 7 Professional (64 bit)
The error message appears after I press "run without cds"

bgbennyboy
11-02-2014, 06:08 AM
I think I've fixed it. Sometimes Monkey4.exe is read only when the game is installed. The launcher now changes this if it finds it.

I've updated the downloads above with new versions.

OzzieMonkey
11-02-2014, 06:47 AM
I think I've fixed it. Sometimes Monkey4.exe is read only when the game is installed. The launcher now changes this if it finds it.

I've updated the downloads above with new versions.

Yep, that did the trick. Thanks man, love your work. Now I've just been testing the custom resolutions...is it meant to have strange cutting marks/lines on the screen for anything but default? I assume that's just a bug that hasn't been fixed yet?

bgbennyboy
11-02-2014, 06:48 AM
The screen tearing is just unavoidable. EMI wasn't designed to run at higher resolutions so it has problems like that when you force it.

Cheers for testing it.

Mafiozi
11-15-2014, 04:37 AM
Can you show us some photos or footage?

AndywinXp
11-15-2014, 08:22 AM
Hi Benny,
I've tried your installer: it works just fine.
I've tried your launcher: when I click on "play", nothing happens. I checked the task manager, Monkey4.exe is sitting there doing nothing and just keeps my cpu busy for no reason.

Thanks for your hard work,
Andrew

EDIT: I'm running Windows 8.1 x64, I have the Italian version

bgbennyboy
11-15-2014, 10:07 AM
Hi Benny,
I've tried your installer: it works just fine.
I've tried your launcher: when I click on "play", nothing happens. I checked the task manager, Monkey4.exe is sitting there doing nothing and just keeps my cpu busy for no reason.

Thanks for your hard work,
Andrew

EDIT: I'm running Windows 8.1 x64, I have the Italian version

Thanks for trying it. I really wanted people with different language versions to try it so thanks for that. I'd like to get it working for all versions not just English. If you could answer some of these questions it would be very helpful:

Before you clicked play:
Did you change the resolution?
Did you run the nocd patch?
Did you go into options and update the game to v1.1 ?
Does the game work if you just run Monkey4.exe without the launcher?
All of those things involve patching Monkey4.exe so its possible one of those are causing it to hang.

AndywinXp
11-15-2014, 04:21 PM
No problem! ;)

- Yes, I changed the resolution to 1366x786
- Yes, I did
- Yes, I did
- No, it doesn't, even with compatibility settings

bgbennyboy
11-16-2014, 06:29 AM
Thank you.
If Monkey4.exe doesnt work on its own then I suspect its a problem with the nocd patch. As the nocd patch is the only thing that directly changes that file.

If you go to options in the launcher and click "run without cd's" again - it should remove the patch. You'll also need to then change the resolution again.

So please try:
Disabling the nocd patch
Changing the resolution back to 640x480 default
Seeing if the game works
Changing the resolution to whatever you want
Seeing if the game works.

AndywinXp
11-16-2014, 11:56 AM
I've done everything you mentioned, still no dice :(

I might be able to "get" the english version, just to see if my pc is the problem or not. Could it be helpful?

bgbennyboy
11-16-2014, 01:00 PM
If none of that works then it suggests that the game just doesn't work on your computer. The nocd patch is the only thing that changes Monkey4.exe - once this is removed then Monkey4.exe should be just as it was when the game was installed.

If you have the time, then uninstall the game, reinstall it and don't even use the launcher. Try playing it just with Monkey4.exe - if it doesn't work then the problem is with your computer - not the launcher program.

bgbennyboy
11-22-2014, 02:47 PM
I've looked into this further and it looks like the Italian version of EMI is different to the other language versions. The Monkey4.exe is different compared to the other versions and my no-cd patch doesn't work on it.

I could probably fix this, but unfortunately I cant find a no-cd patch for v1.1 of the Italian version. If anyone finds one then let me know but until then, the no-cd function wont work for the Italian version.

I'm ready to do a proper release of the launcher and installer, I've was waiting to see if I could fix the Italian nocd problem first but I think I'll have to forget about that.

AndywinXp
11-30-2014, 11:31 AM
Wait! I've found this one, and I confirm it works with the Italian version:

https://mega.co.nz/#!2AcSyKoR!hezuWT3gJy6kxbtNNUsZRBHBJRMnHYEN6zV9DPh Quf8

No music though...

bgbennyboy
11-30-2014, 12:09 PM
Thanks for that. Unfortunately I cant use it with the launcher as its a crack for all versions - it works by replacing Monkey4.exe.

Here's the full explanation:
All versions of Monkey4.exe (except Italian) are 856kb.
The Brazilian, German, French and Spanish versions of Monkey4.exe are all identical.
The English version is slightly different but is still 856kb.
The Italian version is very different and is 1.13mb.

My no cd patch works by patching 4 locations in Monkey4.exe. This works for all versions - except Italian.

Most cracks (and the one that you've found) just replace Monkey4.exe with a cracked version (the 856kb version). Unfortunately I cant include Monkey4.exe in my launcher as that wouldn't be legal. The only thing I can do is patch Monkey4.exe myself - so I was hoping that someone had cracked the Italian version and I could look at their changes and use them to make a patch that would work specifically on the Italian version.

Sadly it looks like this isn't the case so people with the Italian version will just have to find and apply their own nocd patch.

Thank you very much for your help with this.

bgbennyboy
11-30-2014, 12:14 PM
If you find the music doesnt work its probably because that nocd patch doesn't change "FullMonkeyMap.imt" in the Textures folder.

You have to add this to FullMonkeyMap.imt

/*
.cueButton id 122 x 108 y 123 sync 0 type episode ""
.playFile trim 127 "S\7210.m4b"
.cueButton id 123 x 281 y 88 sync 0 type episode ""
.playFile trim 127 "S\1200.m4b"
.cueButton id 124 x 197 y 36 sync 0 type state ""
.playFile trim 127 "S\1195.m4b"
.cueButton id 125 x 55 y 30 sync 0 type episode ""
.playFile trim 127 "S\1215.m4b"
*/

/*
.cueButton id 66 x 320 y 248 sync 0 type state ""
.playFile trim 127 "C\4120.m4b"
.cueButton id 67 x 232 y 188 sync 1 type state ""
.playFile trim 127 "C\3102.m4b"
.cueButton id 68 x 287 y 283 sync 0 type state ""
.playFile trim 127 "C\4115.m4b"
.cueButton id 69 x 130 y 273 sync 2 type state ""
.playFile trim 127 "C\4100.m4b"
.cueButton id 70 x 526 y 223 sync 0 type state ""
.playFile trim 127 "C\3150.m4b"
.cueButton id 71 x 414 y 225 sync 0 type state ""
.playFile trim 127 "C\3145.m4b"
.cueButton id 72 x 197 y 227 sync 0 type state ""
.playFile trim 127 "C\4110.m4b"
.cueButton id 73 x 64 y 193 sync 0 type state ""
.playFile trim 127 "C\3140.m4b"
.cueButton id 74 x 622 y 80 sync 3 type state ""
.playFile trim 127 "C\3135.m4b"
.cueButton id 75 x 586 y 30 sync 3 type state ""
.playFile trim 127 "C\3120.m4b"
.cueButton id 76 x 461 y 121 sync 4 type state ""
.playFile trim 127 "C\3130.m4b"
.cueButton id 77 x 436 y 71 sync 4 type state ""
.playFile trim 127 "C\3115.m4b"
.cueButton id 78 x 244 y 121 sync 1 type state ""
.playFile trim 127 "C\3100.m4b"
.cueButton id 79 x 89 y 111 sync 5 type state ""
.playFile trim 127 "C\3125.m4b"
.cueButton id 80 x 92 y 79 sync 5 type state ""
.playFile trim 127 "C\3110.m4b"
.cueButton id 81 x 289 y 17 sync 6 type state ""
.playFile trim 127 "C\3105.m4b"
.cueButton id 82 x 185 y 164 sync 0 type episode ""
.playFile trim 127 "C\3210.m4b"
.cueButton id 83 x 380 y 261 sync 0 type episode ""
.playFile trim 127 "C\3200.m4b"
.cueButton id 84 x 469 y 260 sync 0 type episode ""
.playFile trim 127 "C\3205.m4b"
.cueButton id 85 x 405 y 304 sync 0 type state ""
.playFile trim 127 "C\3147.m4b"
.cueButton id 86 x 275 y 216 sync 0 type episode ""
.playFile trim 127 "C\4215.m4b"
.cueButton id 87 x 55 y 241 sync 0 type state ""
.playFile trim 127 "C\4105.m4b"
.cueButton id 88 x 325 y 65 sync 6 type state ""
.playFile trim 127 "C\3106.m4b"
.cueButton id 89 x 203 y 77 sync 6 type state ""
.playFile trim 127 "C\3107.m4b"
.cueButton id 90 x 68 y 309 sync 2 type state ""
.playFile trim 127 "C\4106.m4b"
*/

/*
.cueButton id 91 x 58 y 91 sync 1 type state ""
.playFile trim 127 "D\5145.m4b"
.cueButton id 92 x 401 y 235 sync 2 type state ""
.playFile trim 127 "D\5142.m4b"
.cueButton id 93 x 359 y 204 sync 2 type state ""
.playFile trim 127 "D\5141.m4b"
.cueButton id 94 x 583 y 341 sync 3 type state ""
.playFile trim 127 "D\5138.m4b"
.cueButton id 95 x 394 y 343 sync 3 type state ""
.playFile trim 127 "D\5137.m4b"
.cueButton id 96 x 500 y 291 sync 3 type state ""
.playFile trim 127 "D\5136.m4b"
.cueButton id 97 x 671 y 252 sync 0 type state ""
.playFile trim 127 "D\5170.m4b"
.cueButton id 98 x 207 y 232 sync 0 type episode ""
.playFile trim 127 "D\5205.m4b"
.cueButton id 99 x 50 y 229 sync 0 type state ""
.playFile trim 127 "D\5120.m4b"
.cueButton id 100 x 317 y 71 sync 0 type episode ""
.playFile trim 127 "D\5215.m4b"
.cueButton id 101 x 497 y 73 sync 0 type episode ""
.playFile trim 127 "D\5230.m4b"
.cueButton id 102 x 409 y 109 sync 0 type episode ""
.playFile trim 127 "D\5225.m4b"
.cueButton id 103 x 406 y 47 sync 0 type state ""
.playFile trim 127 "D\5117.m4b"
.cueButton id 104 x 92 y 123 sync 0 type state ""
.playFile trim 127 "D\5115.m4b"
.cueButton id 105 x 117 y 32 sync 0 type episode ""
.playFile trim 127 "D\5220.m4b"
.cueButton id 106 x 728 y 137 sync 0 type state ""
.playFile trim 127 "D\6105.m4b"
.cueButton id 107 x 730 y 89 sync 0 type state ""
.playFile trim 127 "D\6100.m4b"
.cueButton id 108 x 544 y 250 sync 0 type state ""
.playFile trim 127 "D\5165.m4b"
.cueButton id 109 x 586 y 196 sync 0 type state ""
.playFile trim 127 "D\5160.m4b"
.cueButton id 110 x 475 y 230 sync 0 type episode ""
.playFile trim 127 "D\5200.m4b"
.cueButton id 111 x 450 y 199 sync 2 type state ""
.playFile trim 127 "D\5140.m4b"
.cueButton id 112 x 377 y 306 sync 3 type state ""
.playFile trim 127 "D\5135.m4b"
.cueButton id 113 x 273 y 295 sync 0 type state ""
.playFile trim 127 "D\5155.m4b"
.cueButton id 114 x 321 y 249 sync 0 type state ""
.playFile trim 127 "D\5150.m4b"
.cueButton id 115 x 227 y 199 sync 0 type state ""
.playFile trim 127 "D\5130.m4b"
.cueButton id 116 x 140 y 232 sync 0 type state ""
.playFile trim 127 "D\5125.m4b"
.cueButton id 117 x 96 y 184 sync 0 type state ""
.playFile trim 127 "D\5110.m4b"
.cueButton id 118 x 144 y 72 sync 1 type state ""
.playFile trim 127 "D\5105.m4b"
.cueButton id 119 x 211 y 119 sync 0 type state ""
.playFile trim 127 "D\5100.m4b"
.cueButton id 120 x 737 y 195 sync 0 type state ""
.playFile trim 127 "D\6110.m4b"
.cueButton id 121 x 239 y 70 sync 0 type state ""
.playFile trim 127 "D\5106.m4b"
*/

AndywinXp
11-30-2014, 01:35 PM
Done, this still doesn't work, but thanks a lot for your work and your help anyway ;)