Community

SCI Programming => SCI Development Tools => Topic started by: Daventry on December 13, 2018, 03:10:29 AM

Title: QFG1 VGA
Post by: Daventry on December 13, 2018, 03:10:29 AM
Restored graphics inside Kobolds cave. Unused image of Talking Kobold.
https://youtu.be/HPQ6ctT4jdM
Title: Re: QFG1 VGA
Post by: OmerMor on December 13, 2018, 01:10:12 PM
Very nice!
Can you share your patch?
Maybe you can send scummvm a pull request for adding that through scummvm as well?

Next you might want to add the missing ending flying carpet scene...
Title: Re: QFG1 VGA
Post by: EricOakford on December 13, 2018, 08:35:37 PM
I got a better idea: an all-out QFG1VGA fixpack, to borrow a term from the modding community. I already laid down the foundation in the QFG1VGA decompile by fixing some of the old script bugs (some relating to wrong message tuples or death icons). Some of the bugs were actually already fixed by the time the Macintosh version came out in 1994. We can implement the fixes from that.
Title: Re: QFG1 VGA
Post by: Daventry on December 14, 2018, 12:27:58 AM
OmerMor
I haven't tested the whole game completely. Because the main script (0.scr) is affected. A SCIcompanion sometimes makes errors in logic when decompiling. I was thinking about adding a final scene with a flying carpet. But there's a lot we need to change (adding), maybe someday. I don't know the procedure to add corrections to the ScummVM. The patch is attached.

EricOakford
What program can view (edit) resources from the Mac version?
ScummVM already fixed 12 bugs of the scripts.
 41, "moving to castle gate",
 55, "healer's hut, no delay for buy/steal",
 73, "brutus script freeze glitch",
 77, "white stag dagger throw animation glitch",
 96, "funny room script bug fixed",
210, "cheetaur description fixed",
215, "fight event issue",
216, "weapon master event issue",
299, "speedtest",
331, "moving to crusher",
814, "window text temp space",
814, "dialog header offset",
Title: Re: QFG1 VGA
Post by: OmerMor on December 14, 2018, 11:39:52 AM
I already laid down the foundation in the QFG1VGA decompile by fixing some of the old script bugs (some relating to wrong message tuples or death icons).

Did you document your work by any chance?
Some ScummVm folks regularly fix script bugs (at a very rapid pace lately), and such a list could help them out.
Title: Re: QFG1 VGA
Post by: EricOakford on December 14, 2018, 09:24:27 PM
I did, and those notes are present in my decompile of QFG1VGA.

Some examples:
Script 814, death procedure
Code: [Select]
(procedure (Die message title cel loop view &tmp temp0 temp1 temp2 temp3 temp4 temp5 temp6 temp7 [msgStr 150] [temp128 50] [temp178 4] [temp182 4])
;increased msgStr from 120 to 150, so that really long death messages don't overflow into the title.
The two death messages that overflow into the title are getting attacked by the ghosts in the graveyard, and the previously-unattainable death message regarding that drunk Brigand in the dining hall, as noted below:
From the Rm95 init:
Code: [Select]
(drunk init: setPri: 12 stopUpd:)
;Replaced addToPic: with stopUpd: to make the drunk clickable, as is the case in the Macintosh version.

The Macintosh version also fixed the bug where you could infinitely sell mushrooms to the healer even after she has enough.
Title: Re: QFG1 VGA
Post by: EricOakford on February 22, 2019, 11:52:07 AM
And here is a new and improved decompile of QFG1VGA! It uses more original Sierra names for procedures and defines, and one new major addition -- message defines!
Of course, I did come across a bug in SCICompanion: saving message files corrupts them. That's because the messages in this game are stored in RESOURCE.000, rather then in RESOURCE.MSG.

2/24/2019 UPDATE: I now have a debug script ready for QFG1VGA! It seems to work quite well with the game at first. It just needs to be tested thoroughly. The zip file also has the modified scripts to accommodate the new debug mode. Just plop the 298.* patch files into the game directory, and start playing!

2/25/2019 UPDATE: Updated decompile and debug script. Fixed a few bugs, and implemented most of the speed bug fixes.
The debug script now has options for inventory quantity, setting time and date, and learning spells.