Opened 17 years ago

Closed 17 years ago

Last modified 6 years ago

#8739 closed patch

KYRA: more sequence player code

Reported by: athrxx Owned by: vinterstum
Priority: normal Component: Engine: Kyra
Version: Keywords:
Cc: Game:


Here is some more sequence player code for Hand of Fate. The outro is now mostly in. It can be tested by switching the two lines in KyraEngine_v2::go(). The scrolling screen with the names of the voice actors is still missing.

This time I used both disasms of the FM-Towns and DOS executables. There are some important differences here. After realizing this I also reworked the intro code using the DOS disasm. The problem with the cut off sub sequences (especially Marco) is mostly solved for the DOS version. As you will notice the sub sequences simply get unloaded much later than those in the FM-Towns version. I still don't get how the Towns version is supposed to work (but it looks fine with UNZ).

I have commented out the line that stops voice playback in Sound::voicePlay(), because some sentences and sfx will be cut off otherwise. The behaviour is still not the same as it should be: multiple speech/sfx files gets played simultaneously where the orginal seems to "queue" them.

I tried to stick to vinterstum's advise. At least, I managed to avoid hex numbers this time ;-)


Ticket imported from: #1824376. Ticket imported from: patches/844.

Attachments (1)

kyra2sequence.patch (93.6 KB ) - added by athrxx 17 years ago.
HoF sequence player patch

Download all attachments as: .zip

Change History (7)

by athrxx, 17 years ago

Attachment: kyra2sequence.patch added

HoF sequence player patch

comment:1 by athrxx, 17 years ago

Owner: set to vinterstum

comment:2 by vinterstum, 17 years ago

Nice! :)

I'll take a look over the weekend.

comment:3 by athrxx, 17 years ago

I just notice that the Talkie-flag is not yet switched on for the DOS version of Kyra 2 in the official 'detection.cpp' file. You might want to add this, since I use that flag quite a bit. I forgot to add this in the patch since my own detection file contains too much experimental stuff atm.

The line in detection.cpp will have to look like this:

#define KYRA2_CD_FLAGS FLAGS(false, false, true, false, Kyra::GI_KYRA2)


comment:4 by vinterstum, 17 years ago

Perfect, thanks :)


comment:5 by vinterstum, 17 years ago

Status: newclosed

comment:6 by digitall, 6 years ago

Component: Engine: Kyra
Note: See TracTickets for help on using tickets.