> There is a big bug left, one can use the terminal several times. > I had the (trivial) fix in my tree, but I lost it when doing some other > commit. For me that's the only release critical thing left.
Fixed it. It was a trivial one indeed. > > The thing that bugged me most was the walk/talk anim overlap, but it > > might need some lengthy analysis of the original scripts to find a > > solution. > > Sadly, I haven't nailed down the problem either. I suspect that happend > when the stop_talking and walking anims are launched during the same > frame. A debugger would be of great help here, but sadly scvm is not > that far yet :/ (althought actors can walk around since some times :) I thought we already had the problem nailed down. Here's an old description from November: > > If you talk, and > > then start walking, the walk anim is applied while the speech text > > continues. The problem is, when the text ends, the talkStop anim is > > applied and overrides the walk anim while the guy is still on the move, > > so he slides across the ground. In other words, 2 scripts are running in parallel: 1. If you provoke a speech response, a talk script is started. It fires the talkStart anim and displays the speech. However, if the mouse script isn't suspended, a second command can be given immediately. 2. If you start walking now (while the speech is still displayed), the walk script fires the walk anim, overriding the talkStart anim. However, the talk script is still running. 3. Once the time for the speech runs out, the talk script fires the talkStop anim, overriding the walk anim. 4. The walk script still moves the character around, but it doesn't restart the walk anim. The character now seems to slide across the ground. One old suggestion was to block all walks while the character is talking: > You must prevent the actor > from walking if an animation is still playing. I suppose just adding a > waitForAnimation() before the walkActorTo() should do the trick. That would be rather annoying though, as you'd have to wait through every boring little comment before being able to try out something new. It's not the way the original games handle the problem either, I think. If you play DOTT and provoke a two-sentence response, try start walking before the second sentence starts. You can see that no talkStart anim is fired when the character is walking. Instead, only the speech of the second sentence is displayed, without any special animation. The mouth stays closed, but it doesn't show, because there's enough movement in the arms and legs to distract the audience. One possible fix would thus be to disable talkStart and talkStop while the character is walking, maybe setting them to NULL or to walk. I hope we find a cleaner solution in the original scripts, though. I'll try to play around with the scripts a bit, but as you said, it's hardly release-critical. If more important bugs still show up, let me know. :) -- http://www.fastmail.fm - The way an email service should be _______________________________________________ ScummC-general mailing list [email protected] https://mail.gna.org/listinfo/scummc-general
