[Scummvm-devel] Issues with kyrandia engine

Johannes Schickel lordhoto at scummvm.org
Mon Jun 7 16:02:04 CEST 2010


On 06/07/2010 03:31 PM, yotam barnoy wrote:
>
> OK. That explains it. I think the limit to 30FPS was added by Joost a
> while ago (following the example in the wiki).
> The new PSP code keeps track of 'dirty' surfaces and only updates if
> it's necessary, and the 30FPS limit has been kept to protect against
> update spamming (which happens with SCI).
>
>    

Aha, back in the days I added this because Joost didn't want to add a 
limitation like that IIRC (my memory could be wrong though) :-P.

>
> I think you're right -- the updates for the animations arrive less
> than 1/30th of a second after the previous ones, and since they're
> single updates, they get ignored by the FPS limit code.
>
> What do you think is a reasonable solution? Would it be OK to go back
> to the old way of doing things ie. a steady stream of calls to
> updateScreen(), or are other ports now expecting this unique behavior?
>    

I am not sure... actually it's trivial to make KYRA spam updateScreen 
calls too (at least in most occasions ;-), just remove the 
"needRealUpdate" logic in engines/kyra/screen.cpp lines 208 - 230. You 
might want to try that and report whether that fixes the animation bugs 
you mention too (since there a much longer gap should be between two 
updateScreen calls). Though I have the feeling that making the engines 
just spam updateScreen to "work around" such backend "issues", does not 
sound too nice in my ears too.

// Johannes




More information about the Scummvm-devel mailing list