Opened 13 years ago

Closed 13 years ago

Last modified 21 months ago

#8788 closed patch

KYRA: Hof: Zanthia chat fix for towns and floppy versions

Reported by: athrxx Owned by: lordhoto
Priority: normal Component: Engine: Kyra
Keywords: Cc:
Game: Kyrandia 2

Description

This patch implements the opcode 0x80 used for many of Zanthia's talks in the towns and floppy versions. There are some fixes for text displayer, too.

I do not know if/how opcode 0x80 is implemented for the talkie version. I just realized that I don't have a disasm for the talkie executables maindos.exe/mainwin.exe. Please check this yourself (I presume that you do have a disasm). It would make sense if it looked like this:

objectChat(stackPosString(0), stackPos(1), stackPos(3), stackPos(3));

instead of:

objectChat(stackPosString(0), stackPos(1));

Florian

Ticket imported from: #1880670. Ticket imported from: patches/893.

Attachments (2)

zanthiaTalk.patch (3.4 KB ) - added by athrxx 13 years ago.
Hof: Zanthia chat fix for towns and floppy versions
zanthiaTalk_V2.patch (3.1 KB ) - added by athrxx 13 years ago.
new version

Download all attachments as: .zip

Change History (9)

by athrxx, 13 years ago

Attachment: zanthiaTalk.patch added

Hof: Zanthia chat fix for towns and floppy versions

comment:1 by athrxx, 13 years ago

Owner: set to lordhoto

comment:2 by lordhoto, 13 years ago

Basically the talkie version opcode 0x80 prints "OLD TC_CHARACTER_SAYS() SCRIPT CALL IN USE!". I would add a warning if it's called in the talkie version and just use your implementation for non talkie version.

Is that change in chatCalcDuration according to the floppy disasm? At least my CD version definitely just uses << 3 here. Not MIN though, but MAX ;-).

What's the matter for the o2t_setShapeFlag change? Is it a dummy opcode for the floppy and towns version?

comment:3 by athrxx, 13 years ago

That change in chatCalcDuration comes from disasm. I just checked that the talkie version does not have a text speed config control. So the difference makes sense. We'll have to check for the talkie flag here.

o2t_setShapeFlag opcode is indeed a dummy opcode for towns/floppy.

by athrxx, 13 years ago

Attachment: zanthiaTalk_V2.patch added

new version

comment:4 by athrxx, 13 years ago

Here is a new version of the patch (which also takes into account that the voice playing issues have been fixed already) File Added: zanthiaTalk_V2.patch

comment:5 by lordhoto, 13 years ago

Thanks for the patch, committed with some slight simplification and a compile fix.

comment:6 by lordhoto, 13 years ago

Status: newclosed

comment:7 by digitall, 21 months ago

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