MI1 CD, MI2 and DOTT make script-based color adjustments to the verb interface, depending on the videomode var...
MI1 VGA Floppy, LOOM VGA, INDY4 and SAMNMAX don't do that. It seems to me that it only applies to the games with the purple verbs interfaces. The fact alone that DOTT still checks the videomode for an EGA setting and sets colors accordingly (the same ones as in MI2) shows that these scripts most likely were just brought over from MI2 to MI1 CD and DOTT.
This also changes the talk delay to be the inverse value (which means the text speed),
like for the original games. This particular change has been tested to be working on all
SCUMM games in my possession, so we should not have any regressions and it accounts
for work already done for future original GUIs.
While that was the correct place to call the function as per the disasm, it currently
breaks the screenShake effect, so unless a good reason to do a proper refactor
comes along, let's just bring things the way they were before for v7.
Every functionality has been implemented (audio options, text options, saving and loading).
The only thing currently missing from the menu is the thumbnail handling.
The mouse cursors get dithered correctly now and due to earlier fixes SAMNMAX seems to be in as good a state as DOTT regarding EGA dithering mode, so I enable it. Also added a post-load fix for the palette and the mouse cursors.
Also include room palette fixes for games that were saved with a different video mode. Unfortunately the scripts make changes to the room palette based on VAR_VIDEOMODE. The original interpreter does not fix that.
This does not improve anything about these modes for v2 and v3, except:
- brighter CGA colors
- v2 will also get the more accurate Hercules mouse cursor
I will do improve v2/v3 as separate tasks. v3 seems to be mostly fine, anyway, except for the actors (we dither them just like the backgrounds, but that looks different in DOSBox).
Prevent "stuttering" from starting the music multiple times (which may now happen due to the improved savegame loading for v1-3).
Also add some more tweaks to minimize stuttering, like setting volume to 0 during loading.
The result now seems to match what I get when using an emulator.
Similar to what has been added for Loom, this tries to emulate the original (script driven) loading behavior for the rest of the v1-3 games.
This fixes bugs like the music not being restarted properly when loading a game (happens in MM and ZAK).
https://bugs.scummvm.org/ticket/4494 will not be fixed, though, since I don't support Mac with this fix.
The Mac games work differently, they don't have a save/load room but these Mac style menus instead. Someone would have to do examine the save scripts for these...
Unless a slow host machine was used, the previous calculation always yielded 0.
Also, by disasms, those two timers should be assigned exactly in the same way as VAR_TMR_1, 2 and 3.
The replacement music timer operates on real time, and is adjusted for
the expected length of the Loom overture in order to accommodate for
different recordings of it. It's completely independent of the SCUMM
engine's timer frequency.