Jump to content

Home

EFMI High Resolution


jeunealbert

Recommended Posts

So the fix is to either make it allocate a bigger buffer, stop it loading that image data or patch the function that takes the screenshot and saves the data so that it takes a normal sized screenshot originally.

 

Hmm..

Link to comment
Share on other sites

  • Replies 70
  • Created
  • Last Reply

Hi bgbennyboy,

 

was hacking the savegame files always successful?

I thought, it wasn't possible, until I noticed, I was doing something wrong (off by one - arghh!)

Well if you could confirm that, I'd stop immediately fiddling with debugging monkey4.exe and start writing a new monkey.exe.

Since the launcher dialog on the harddrive gets started by autostart, it'd be a good thing to replace it with something, that's not simply starting monkey4.exe, but keeps running in background, watching file changes in the savegame directory and correcting them.

Link to comment
Share on other sites

Hiya :)

 

Yeah it was and thats what I was starting to do :) A new launcher that lets you choose the res, then patches monkey4.exe and runs the new exe along with a few new options on the launcher like windowed mode.

 

I was then gonna have it scan the saves in the background correcting them as they changed. I then thought that it might create a large overhead and not work well if there were a large number of saves, so I then thought about having a hotkey to fix saves, say F12, that you press before you go into the save screen.

 

Anyway, yes, I put that on hold because you seemed to be making good progress and Serge is having a look through the assembly right now, a fix to make it save or load right is much better than fixing the saves so i'm waiting to see if that works before I do it :)

Link to comment
Share on other sites

Well, I thought of using a file change notification event and implementing a handler for it, the thread goes sleeping and will only be executed, when changes occur. So there will be not too much overhead, since only changed files will be affected.

 

But I think, I will wait for Serge too.

Link to comment
Share on other sites

Originally posted by jeunealbert

Nice to hear that, bgbennyboy!

I go stuck at that, I disassembled monkey4.exe with http://www.geocities.com/~sangcho/disasm.zip,

which gives a nice output, there are two functions worth looking at: lua_save and sputLua_ThumbnailFromScreen, but I don't know enough about assembly language to really figure it out.

Why disassemble it when you can use programs like OllyDbg to push the memory while its... in memory? That's how I hacked out the "CD-ROM drive check", I even changed the installation process of EMI so when I install the Full Install from the special backups it will let me play through the entire game with music without having to ever use the CDs again. And it fully uninstalls too. That, AND my custom backup CD is patched to version 1.1.

 

Anyhow, I tried changing the bytes in Olly, but the resolution was still 640x480. :confused:

Link to comment
Share on other sites

1280x960 would be better, because that keeps in ratio with the original, meaning for every background pixel in 640x480 there are exactly two across and two down. 960 would be 00 C3 (I think). Olly is far more useful for things like this than a HEX editor. All I did was search for 480 (as a constant) and changed them...

 

Anyhow EMI actually looks pretty good at that resolution with its 3D graphics. I'm not saying I'm a fan of the game, because let's face it CMI looks better in gameplay then EMI ever did - AND EMI isn't point'n'clic :(

 

I'm gunna have another punt at it a bit later, I'll let you know of the results esp regarding savegames, but I think I might know how to at least have it save and load its own without any problems (it will still be incompatible with savegames saved in 648x480). That would be better than having a loader-file.

Link to comment
Share on other sites

Originally posted by Xippion

1280x960 would be better, because that keeps in ratio with the original, meaning for every background pixel in 640x480 there are exactly two across and two down.

No, it would be not.

Textures sizes have to be a power of two with at least 64x64.

So they surely fit better in 1024 then 960.

 

Anyway 960 would be C0 03, 00 C3 would give only 195.

Link to comment
Share on other sites

I can't see any differences between the two resolutions, but I will keep 1280x1024, since this is the native resolution of my display.

Aspect ratio shouldn't be any problem, the difference is too small to be noticed.

 

Savegames should be compatible though, image preview is 512x256x3 for both.

Link to comment
Share on other sites

History will teach us nothing

 

Originally posted by jeunealbert

Well, I thought of using a file change notification event and implementing a handler for it, the thread goes sleeping and will only be executed, when changes occur. So there will be not too much overhead, since only changed files will be affected.

 

But I think, I will wait for Serge too.

 

In other words, anyone should know by now, don't wait for Serge ;)

 

- Serge

Link to comment
Share on other sites

Hey, don't get upset, Serge.

I would've waited for you to check the assembly before starting to write a launcher, but all of a sudden, I knew, where to look in the exe.

It's offset D600: mov edx, 100

and offset D617: mov edx, 80

 

Right now I'm checking everything before I'll provide a patch.

Link to comment
Share on other sites

OK, I think it works.

 

Copy the exe into the same directory as monkey4.exe.

Start it from a command prompt with desired x- and y-resolution (e.g. monkeyres 800 600.)

There are no sanity checks, so only use reasonable values (even 0 0 work and monkey4.exe will not complain!)

And 320x200 is possible for all retro freaks;-)

I only tried it until 1280x1024, there will be problems with higher resolutions.

Savegames are interchangeable between resolutions, but the load screen only looks good for the higher resolutions, but see yourself.

 

http://www.freiling.org/monkeyres.exe

 

But of cause I have to tell you: you're using this program at your own risk, don't blame me, if it burns your pc, drinks your grog supply or impregnates your girlfriend;-)

Link to comment
Share on other sites

You need v1.1, it will not work with any other version.

Runtime error 5 means file access denied.

Monkey4.exe might be flagged read-only, opened by another process or you have insufficient privileges.

You might want to check in taskmanager, if monkey4.exe is still running, it likes to do so...

Link to comment
Share on other sites

No worries jeune! That comment was referring to my starting on projects (from SCRAMM to numerous versions of SCUMMRev) that were never finished. A kind of disclaimer to make you go on - not wait. So it's fine :) (and I see now that the title is easy to miss. :p - was meant to be read: "History will teach us nothing, in other words...")

 

- Serge

Link to comment
Share on other sites

Patch doesnt work for me either, it applies but then EMI crashes as soon as it loads. Huz and I appear to have different exe's from you. Perhaps if you detailed what you changed we can try and work out a new patch.

Link to comment
Share on other sites

Originally posted by jeunealbert

Runtime error 5 means file access denied.

Monkey4.exe might be flagged read-only

Ah yes, that was the problem. The installer for the v1.1 patch seems to make it read-only, for some reason.

 

Anyway, your patch still doesn't work - EFMI now crashes on startup.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...