Opened 3 months ago
Last modified 2 months ago
#15301 new defect
ADL: Mystery House: Barely seen title screen
Reported by: | eriktorbjorn | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | Engine: ADL |
Version: | Keywords: | ||
Cc: | Game: |
Description (last modified by )
When starting the game Mystery House, there is a slight flicker before the first room is displayed. This is a title screen that I never even realized was there:
You can see it for yourself by adding this patch:
diff --git a/engines/adl/hires1.cpp b/engines/adl/hires1.cpp index d3b95b9a6d4..4660f76acd7 100644 --- a/engines/adl/hires1.cpp +++ b/engines/adl/hires1.cpp @@ -248,10 +248,16 @@ void HiRes1Engine::runIntro() { inputString(); } + // Scroll the start game prompt out of sight + for (int i = 0; i < 3; i++) + _display->scrollUp(); + _display->renderText(); + stream.reset(_files->createReadStream(IDS_HR1_EXE_1)); stream->seek(0x1800); static_cast<Display_A2 *>(_display)->loadFrameBuffer(*stream); _display->renderGraphics(); + delay(3000); _display->setMode(Display::kModeMixed);
So perhaps we should add a delay here? But there are so many versions of the game that I'm hesitant to even make this a pull request. I've only been able to test it with the Public Domain version. There's one included in the Roberta Williams Anthology. Another one can be found in the IF Archive at http://www.ifarchive.org/indexes/if-archive/games/appleII/ though you have to change the name of the file from mystery.dsk to mysthous.dsk for ScummVM to recognize it.
Attachments (2)
Change History (7)
by , 3 months ago
Attachment: | scummvm-hires1-apple2-00000.png added |
---|
comment:1 by , 3 months ago
Description: | modified (diff) |
---|
comment:3 by , 3 months ago
I also noticed that the original apparently didn't scroll the "ENTER G FOR GAME..." prompt away, so that leads to an even simpler patch:
diff --git a/engines/adl/hires1.cpp b/engines/adl/hires1.cpp index d3b95b9a6d4..4b24eae324f 100644 --- a/engines/adl/hires1.cpp +++ b/engines/adl/hires1.cpp @@ -252,6 +252,7 @@ void HiRes1Engine::runIntro() { stream->seek(0x1800); static_cast<Display_A2 *>(_display)->loadFrameBuffer(*stream); _display->renderGraphics(); + delay(3000); _display->setMode(Display::kModeMixed);
comment:4 by , 2 months ago
For a while, I thought there was a similar thing in Time Zone, after the menu, but that turned out to be just a flash of the same title screen again. This seems to happen in the original as well, but I think it's more distracting the way ScummVM does it. So perhaps that should be changed?
Something like this seems to help:
diff --git a/engines/adl/hires5.cpp b/engines/adl/hires5.cpp index 8a14b0ab24f..01d390d5e44 100644 --- a/engines/adl/hires5.cpp +++ b/engines/adl/hires5.cpp @@ -251,6 +251,7 @@ void HiRes5Engine::runIntro() { inputKey(); + _graphics->clearScreen(); display->home(); display->setMode(Display::kModeText);
by , 2 months ago
Attachment: | simplescreenrecorder-2024-09-13_19.45.41.mp4 added |
---|
You can play the game in Apple II emulation on https://archive.org/details/mm_Mystery_House
I feel comfortable saying this since the game is public domain.
The title screen is visible there, because of the speed of emulation. (It's also gratifying to see that the bugginess of the game isn't because of ScummVM. It really is that way.)