Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modifying MANIAC-V2 corrupts it #16

Open
dwatteau opened this issue Dec 31, 2020 · 3 comments
Open

Modifying MANIAC-V2 corrupts it #16

dwatteau opened this issue Dec 31, 2020 · 3 comments
Assignees
Labels
bug Something isn't working game corruption One of the ScummTR tools corrupts a game

Comments

@dwatteau
Copy link
Owner

dwatteau commented Dec 31, 2020

When just applying this to MANIAC-PC-V2, without any other change:

scummrp -gp maniacv2 . -od DUMP # export
scummrp -gp maniacv2 . -id DUMP # reimport the same dump

scummrp seems to corrupt the game, because right after this, the game always starts in demo mode, at least in ScummVM. This problem also happens with the 0.4.0 scummrp.exe executable.

With a more verbose export, the following warnings appear:

17.LFL should actually end at 0x1F3B
Removed (33, 0x3E77) from the index
Removed (41, 0x160F) from the index
OIv2_0395 might actually be OIv2_0547 (unlikely)

but the first warning about 17.LFL is different on the French version of Maniac Mansion v2.

Removed (17, 0x1F3B) from the index
Removed (33, 0x3E77) from the index
Removed (41, 0x160F) from the index
OIv2_0395 might actually be OIv2_0547 (unlikely)

It appears that the original English v2 version of Maniac Mansion has more script bugs than the one already discovered in #12.

This ScummRP bug is potentially responsible for the fact that PR #14 still doesn't completely fix our ScummTR bug with the same variant of the game.

@dwatteau dwatteau added the bug Something isn't working label Dec 31, 2020
@dwatteau dwatteau self-assigned this Dec 31, 2020
@dwatteau dwatteau changed the title ScummRP corrupts MANIAC-PC-V2-EN Modifying MANIAC-PC-V2-EN corrupts it Feb 5, 2022
@dwatteau dwatteau pinned this issue Feb 5, 2022
@dwatteau dwatteau added the game corruption One of the ScummTR tools corrupts a game label Feb 21, 2022
@dwatteau dwatteau changed the title Modifying MANIAC-PC-V2-EN corrupts it Modifying MANIAC-V2 corrupts it Feb 26, 2022
@dwatteau
Copy link
Owner Author

So, the bug is not only in the English V2 version of Maniac Mansion; I can also reproduce it with my French V2 version (included in my DOTT CDs). I think some Italian translators hit this bug, too.

dwatteau added a commit that referenced this issue Feb 26, 2022
The corruption bug that makes Maniac Mansion always play in Demo mode inside
ScummVM after calling ScummTR doesn't only happen in the English V2 version;
I can also reproduce it with the French V2 version (from my DOTT CD).

So, this is likely a ScummRP/ScummTR bug. Let's just reject any modification
to a MANIAC-V2 game for now, then.

AFAIK, all versions of ScummTR so far have this bug.

MANIAC-V1 looks OK, ZAK-V2 looks OK too.

Issue #16.
@dwatteau
Copy link
Owner Author

There's probably something wrong in the V2 parser. Zak appears OK, but it still gives some warnings and has some FIXMEs. Reimporting an official translation inside Zak also produces different LFL files.

AFAIK, scummtr always behaved this way.

So, we probably have a bug or some limitations here, but I don't know how to fix that. ScummTR 0.5.1 will just disable support for MANIAC-V2 modifications.

@dwatteau
Copy link
Owner Author

dwatteau commented Aug 7, 2022

Someone on oldgamesitalia reported that this bug makes the Italian Amiga version glitch in some way, unless you fix some offsets:

https://www.oldgamesitalia.net/forum/index.php?s=&showtopic=18982&view=findpost&p=385373

to fix the bug [with the Italian Maniac V2 Amiga version], you must substitute the following 4 bytes in file 45.LFL

offset 2a: from FF to 92
offset 2b: from FF to eb
offset 2c: from FF to 92
offset 2d: from FF to eb

basically, xor with ff (e.g. $eb92 xor $ffff = $146d) the offsets from which the graphics of object 8 and object 9 that make up the animation of the first character start

I got the correct values from the English version (or some other version)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working game corruption One of the ScummTR tools corrupts a game
Projects
None yet
Development

No branches or pull requests

1 participant