- Using SCUMM 0.82 (latest build)
- F1-F4 keys to switch between characters don't work.
Also, the shortcut for push (i.e. "q"), which works
fine at the beginning of the game, stops working after
the first time one switches to a character on Mars.
- Language is English
- Running on WinXP
- Attached is a savegame where keys don't work (F1-F4
aswell as q)
Save game where keys don't work
Logged In: YES
user_id=34715
Please add comments to existing bug report, instead of
adding another bug report, next time.
There are no F1 - F8 shortcuts in the FM-TOWNS version of
Zak McKracken.
Logged In: YES
user_id=1492337
Why wouldn't F1-F4 work just like in the original? And why
are F1-F4 listed as active keys in the help menu if they are
not supposed to work? Also, why does "q" no longer work
after the first time one switches to a character on Mars. Thx.
Logged In: YES
user_id=166507
Kirben, any idea on what should we do with this report?
Logged In: YES
user_id=34715
The F1 - F8 shortcuts aren't available in the FM-TOWNS
version of the game, they don't exist in the scripts. So
should be removed from the help section for FM-TOWNS
version.
The manual for the game is only in Japanese, so I'm not
sure what other keyboard shortcuts the original verison
offered.
I'm can reproduce the issue with the 'q' keyboard shortcut
failing, after switching to Mars for first time. I will
check if that occurs in the original game too.
Logged In: YES
user_id=166507
What is the status of this item?
Logged In: YES
user_id=34715
The 'q' keyboard shortcut failing,after switching to Mars
for first time, is ScummVM specific and still occurs
Logged In: YES
user_id=12935
Verb shortcuts are set by scripts... Maybe we interpret something wrong there.
Or maybe there is a script error, but the original interpreter hard coded some
keyboard shortcuts (which would seem odd, but could still be the case...)
Logged In: YES
user_id=12935
Originator: NO
Background: The V1/V2 versions of the games didn't have to set verb hotkeys, rather, those were statically assigned by the engine.
So when they updated the scripts for V3, they had to insert the require opcodes to set the keyboard opcodes. From the looks of it, they simply "forgot" to do that in several cases. To take the "Push" verb as an example, consider this excerpt from some of the Zak FM-TOWNS script dumps I have sitting on my HD (and note that the New() verb opcode will reset everything in that verb, including the hotkey):
./script-107.txt:[02A6] (7A) VerbOps(1,[New(),Text("Push"),On()])
./script-118.txt:[011C] (7A) VerbOps(1,[New(),Text("Push"),Key(113),SetXY(0,152),On()])
./script-143.txt:[0016] (7A) VerbOps(1,[New(),Text("Push"),SetXY(0,152),On()])
./script-15.txt:[01DF] (7A) VerbOps(1,[New(),Text("Push"),On()])
./script-164.txt:[0126] (7A) VerbOps(1,[New(),Text("Push"),SetXY(0,152),On()])
./script-165.txt:[03B2] (7A) VerbOps(1,[New(),Text("Push"),SetXY(0,152),On()])
./script-23.txt:[01FE] (7A) VerbOps(1,[New(),Text("Push"),Key(113),SetXY(0,152),On()])
./script-36.txt:[0000] (7A) VerbOps(1,[New(),Text("Push"),Key(113),SetXY(0,152),On()])
As such, either the problem occurs with the original engine, too (I am not sure whether Kirben meant that he confirmed the problem did *not* occur in the original); or we need to handle the verbops differently for Zak TOWNS. Maybe the "key" value is *not* reset by verbOps.New() ?
Logged In: YES
user_id=34715
Originator: NO
To be clear, the problem doesn't occur when using the original game under Unz (FM-TOWNS emulator).
I checked disassembly and the verb key is always reset to 0 for new verbs.
Logged In: YES
user_id=991970
Originator: NO
Revision 26288 (patch #1687013 - Zak FM-Towns: F1-F4 person switching) fixed the F1-F4 keys
I too get the problem with the "q" key. For me, it happens whenever I switch to another character. It gets fixed if I walk into Lou's Loans (where some of the verbs are changed) and then go outside.
Logged In: YES
user_id=166507
Originator: NO
What is the status of this item?
Logged In: YES
user_id=34715
Originator: NO
Unchanged, the 'q' keyboard shortcut still fails, after switching to Mars for the first time.
Logged In: YES
user_id=12935
Originator: NO
As I previously stated, the only thing I can think of is that maybe they used a modified engine which did never reset the "key" value of a verb, resp. they still used hard coded hotkey assignments, like in the V1/V2 version of the game.
We could implement a workaround based on that assumption. And/or maybe somebody could check the original code (via disasm).
I have investigated this a bit.
o5_verbOps() case 9 (SO_VERB_NEW) works slightly different in SCUMM 3 FM TOWNS (I don't know about DOS). I think I have fixed this (at least I matched the code with disasm).
This won't fix old savegames, though (since the verb states and their broken key values will be restored from the save game).
Could you test whether the key shortcuts still get broken when switching characters for the first time?
At least for me this doesn't happen in the latest revision.
F1-F4 work as do the keyboard shortcuts, before, while and after switching to Mars (Leslie, Melissa).
I haven't tested it while actually being on Mars with Zak.
If that is needed too i will play along until i get there
Okay, then I'll close this as fixed.
Thanks for testing, Raziel.
(No need to have Zak on Mars. The bug should have occured as soon as characters get switched for the first time)