CorsixTH icon indicating copy to clipboard operation
CorsixTH copied to clipboard

Staff animation glitch when resting on sofa

Open lewri opened this issue 4 years ago • 7 comments

Observed graphical issue. The animations for the doctor getting up/sitting down (and maybe other staff) appear to be glitchy when resting on a sofa.

Should be reproducable on any game where staff are resting. Happening on 0.64 rc1 and trunk. I imagine we didn't apply any graphics changes in rc2...

lewri avatar Jun 13 '20 15:06 lewri

Can you include the screenshot. For these issues a screenshot is the best way to communicate.

TheCycoONE avatar Jun 13 '20 15:06 TheCycoONE

I believe this one might require a recording. But I'll do my best to get on it

lewri avatar Jun 13 '20 20:06 lewri

Here you go

https://www.dropbox.com/s/1p24vm6g1ds7gea/0pyqa-j01g0.webm?dl=0

lewri avatar Jun 13 '20 20:06 lewri

Thanks! Does it always happen when another staff walks in front of the sofa like that? If so I believe it's the same cause as https://github.com/CorsixTH/CorsixTH/issues/1255 - the patch in that ticket would fix it - but cause lots of other glitches. Just speculation as I haven't looked closely at these again yet.

TheCycoONE avatar Jun 14 '20 01:06 TheCycoONE

Nope. This effect can happen even if they're the only person in the room.

It also only happens in that orientation.

Edit: Also confirmed on handymen, so the bug likely relates to the action than a specific animation/sprite?

lewri avatar Jun 15 '20 14:06 lewri

This looks to be a frame desync complicated by using the object with split animations.

The staff member in this case is a junior doctor. Entity.tick has these junior staff tick at half the rate (self.slow_animation). But also seems to call Entity.tick from Staff.tick and this operates on only one animation not two. Unlike the Object.tick which handles split animations. and that allows them to desync.

I haven't yet worked out a nice simple resolution

mugmuggy avatar Feb 27 '22 11:02 mugmuggy

This looks to be a frame desync complicated by using the object with split animations.

The staff member in this case is a junior doctor. Entity.tick has these junior staff tick at half the rate (self.slow_animation). But also seems to call Entity.tick from Staff.tick and this operates on only one animation not two. Unlike the Object.tick which handles split animations. and that allows them to desync.

I haven't yet worked out a nice simple resolution

Actually the glitch was happening on a consultant, if that changes things? But I do think it might happen with every speed of NPC

lewri avatar Feb 28 '22 20:02 lewri

Merged into meta

lewri avatar Mar 30 '24 22:03 lewri