Opened 6 years ago
Closed 6 years ago
#10846 closed defect (fixed)
QFG4: Reading 5, Card lands on pile and falls through previous card
Reported by: | Vhati | Owned by: | bluegr |
---|---|---|---|
Priority: | low | Component: | Engine: SCI |
Version: | Keywords: | SCI32 original has-pull-request | |
Cc: | Game: | Quest for Glory 4 |
Description
ScummVM 2.1.0git4278-gd31e37683c (Dec 13 2018 04:20:25)
Windows 7 64bit
QFG4 CD (English)
The fortune teller's fifth reading deals all its cards to the center pile, periodically fading out to clear the table. Magda talks about each of the rituals.
For the Sense Ritual (beginning with a pseudo-tarot eye card)... Then "The Falling Tower"... "Six of Swords" lands on top then falls through and below the tower.
The original interpreter also does this.
File - 5kb MD5 - Full MD5
RESOURCE.000 - 263dce4aa34c49d3ad29bec889007b1c - 1364ba69e3c0abb68cc0170650a56692
RESOURCE.AUD - c39521bffb1d8b19a57394866184a0ca - 71098b9e97e20c8941c0e4812d5f906f
RESOURCE.MAP - aba367f2102e81782d961b14fbe3d630 - 801a04cc6aa5d437681a2dd0b6545248
RESOURCE.SFX - 3cf95e09dab8b11d675e0537e18b499a - 7c858d7253f86dab4cc6066013c5ecec
Change History (6)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Quick and dirty way to skip to reading 5.
- Create a new character.
- Set plot flags for having seen previous readings (297, 298, 299, 300).
- vv g 518 120
- Teleport into the tarot room.
- room 475
comment:3 by , 6 years ago
Each card is created and placed by sSetTheSignificator, with local0 used to pass the desired card view as an argument. The resulting object is stored in local1.
script 475 - sFifthReading::changeState()
(29 # "The Falling Tower" (= loc0_myCardView 1031) (g0_hero setScript: sSetTheSignificator) ) (30 (g91_gloryMessager say: 1 6 69 0 self) ) (31 # "Six of Swords" (= loc0_myCardView 1048) (g0_hero setScript: sSetTheSignificator) ) (32 (loc1_myCard setPri: 1) (g91_gloryMessager say: 1 6 68 0 self) ) (33 (g0_hero setScript: sFadeIt) )
script 475 - sSetTheSignificator::changeState()
(0 (UpdatePlane ((g2_myCurrentRoom plane?) back: 29 picture: -1 yourself:) ) ((= loc1_myCard (aTurnCard new:)) view: local0 posn: 148 189 init: moveSpeed: 0 setPri: 12 setStep: 30 10 setScaler: Scaler 100 100 189 0 ) (= seconds 2) ) (1 (loc1_myCard moveSpeed: 0 setStep: 30 10 setScaler: Scaler 100 35 189 110 setMotion: MoveTo 145 110 self ) ) (2 (= seconds 1)) (3 ((g2_myCurrentRoom script?) cue:) (sSetTheSignificator dispose:) )
When a card is initially dealt, it has priority 12.
After it lands, setPri() assigns something lower (0,1,2).
"The Falling Tower" is not getting assigned a new priority.
"Six of Swords" is getting assigned priority 1.
Assigning a higher priority to Swords would require making room.
"push1" is one byte. "pushi 13" is two.
So would inserting the missing low priority send to Tower.
However, by dropping the setPri() for "Six of Swords" altogether, they'll both have priority 12. The most recent one will be displayed on top. This is followed by a table-clearing fade, so there will be no other low-priority cards to worry about.
comment:4 by , 6 years ago
Keywords: | has-pull-request added |
---|
Pull Request: SCI32: Fix QFG4 tarot readings
comment:5 by , 6 years ago
Summary: | QFG4: Reading 5, Card lands on pile and falls through → QFG4: Reading 5, Card lands on pile and falls through previous card |
---|
comment:6 by , 6 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Thanks for your work! The pull request has been merged, so this can be closed now
Occurs in the floppy edition under ScummVM, and its original interpreter, too.
QFG4 Floppy 1.1a + note patch (English)
File - 5kb MD5 - Full MD5
RESOURCE.000 - f64fd6aa3977939a86ff30783dd677e1 - ff42260a665995a85aeb277ad80aac8a
RESOURCE.MAP - d10a4cc177d2091d744e2ad8c049b0ae - 3695b1b0a1d15f3d324ea9f0cc325245
RESOURCE.SFX - 3cf95e09dab8b11d675e0537e18b499a - 7c858d7253f86dab4cc6066013c5ecec