On Mon, 03 Mar 2008 13:37:55 -0800
"G33K" <[EMAIL PROTECTED]> wrote:
> Sorry, it's been a while since I've been close to my workstation.
>
>
> > That look ok, but I wanted to wait and see if the dott
> > investigations turn up something better. You can commit it if you
> > want.
>
> I committed the workaround, but I'm still struggling with the Scumm
> tools to investigate and find a better solution. Could somebody help
> me again?
I took a look, using a costume from dott doesn't display the problem.
So I took a deeper look at how costume are working. So let's start with
that first. The costume render might be understood as a kind of multi
track player where each "limb" (sorry that name came from scummvm) is a
track.
When a new animation is set to be played the following can happen with
each track:
* It's set to play a new set of frame : track([2-8])
* It's set to play nothing : track()
* It's hidden (but still play) : track(STOP)
* It's made visible : track(START)
* No change is done : /*nothing*/
To solve our problem the talking head/lips animation must be in a
separate track that can be played with the stand animation. Then
talkStart just start the lips track and talkStop set it to play
nothing. To avoid having the lips animation playing while walking the
walk anim should hide the lips track and the stand one turn it visible
again.
I did some testing in openquest using the whole body anim for the lips
track and that seems to work well. However it might be preferable to
really cut out the head anim in a separate track for stand/talk anims.
To make things a bit easier I'm probably going to do some renaming in
the costume terminology/keywords:
* limb -> track
That should help understanding a bit.
* STOP -> HIDE
Stop displaying the track, but continue to play it.
* START -> SHOW
Display the track again, might do nothing if the track is not set to
play something.
* HIDE -> NONE
Display nothing for this frame (ie. empty frame).
* SKIP -> INC_COUNTER
Increase the anim counter. The counter is reset to 0 when a new
animation is set and increased by one every time this code is
"played". The scripts can query the counter state and use it to
synchronize them self with the animations.
Perhaps I also get to modify the costume compiler to remove the awkward
use of picture indexes :)
Albeu
_______________________________________________
ScummC-general mailing list
[email protected]
https://mail.gna.org/listinfo/scummc-general