summaryrefslogtreecommitdiffstats
path: root/source/opendingux/port.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/opendingux/port.c')
-rw-r--r--source/opendingux/port.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/source/opendingux/port.c b/source/opendingux/port.c
index 6fd4229..70e9844 100644
--- a/source/opendingux/port.c
+++ b/source/opendingux/port.c
@@ -133,10 +133,20 @@ void ReGBA_LoadRTCTime(struct ReGBA_RTC* RTCData)
bool ReGBA_IsRenderingNextFrame()
{
- if (UserFrameskip == 0) /* automatic */
- return FastForwardControl < 60 && AudioFrameskipControl == 0;
-
- return FastForwardControl < 60 && UserFrameskipControl == 0; /* manual, draw this frame */
+ if (FastForwardFrameskip != 0) /* fast-forwarding */
+ {
+ if (UserFrameskip != 0) /* fast-forwarding on user frameskip */
+ return FastForwardFrameskipControl == 0 && UserFrameskipControl == 0;
+ else /* fast-forwarding on automatic frameskip */
+ return FastForwardFrameskipControl == 0 && AudioFrameskipControl == 0;
+ }
+ else
+ {
+ if (UserFrameskip != 0) /* user frameskip */
+ return UserFrameskipControl == 0;
+ else /* automatic frameskip */
+ return AudioFrameskipControl == 0;
+ }
}
const char* GetFileName(const char* Path)