mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-24 14:49:53 -06:00
fix up framestep too
This commit is contained in:
@ -461,10 +461,10 @@ void EmuThread::sendMessage(Message msg)
|
|||||||
msgMutex.unlock();
|
msgMutex.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmuThread::waitMessage()
|
void EmuThread::waitMessage(int num)
|
||||||
{
|
{
|
||||||
if (QThread::currentThread() == this) return;
|
if (QThread::currentThread() == this) return;
|
||||||
msgSemaphore.acquire();
|
msgSemaphore.acquire(num);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EmuThread::waitAllMessages()
|
void EmuThread::waitAllMessages()
|
||||||
@ -537,6 +537,10 @@ void EmuThread::handleMessages()
|
|||||||
emit windowEmuStop();
|
emit windowEmuStop();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case msg_EmuFrameStep:
|
||||||
|
emuStatus = emuStatus_FrameStep;
|
||||||
|
break;
|
||||||
|
|
||||||
case msg_InitGL:
|
case msg_InitGL:
|
||||||
emuInstance->initOpenGL();
|
emuInstance->initOpenGL();
|
||||||
useOpenGL = true;
|
useOpenGL = true;
|
||||||
@ -610,8 +614,10 @@ void EmuThread::emuExit()
|
|||||||
|
|
||||||
void EmuThread::emuFrameStep()
|
void EmuThread::emuFrameStep()
|
||||||
{
|
{
|
||||||
//if (emuPauseStack < emuPauseStackPauseThreshold) emit windowEmuPause();
|
if (emuPauseStack < emuPauseStackPauseThreshold)
|
||||||
emuStatus = emuStatus_FrameStep;
|
sendMessage(msg_EmuPause);
|
||||||
|
sendMessage(msg_EmuFrameStep);
|
||||||
|
waitAllMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EmuThread::emuIsRunning()
|
bool EmuThread::emuIsRunning()
|
||||||
|
@ -63,6 +63,7 @@ public:
|
|||||||
msg_EmuPause,
|
msg_EmuPause,
|
||||||
msg_EmuUnpause,
|
msg_EmuUnpause,
|
||||||
msg_EmuStop,
|
msg_EmuStop,
|
||||||
|
msg_EmuFrameStep,
|
||||||
|
|
||||||
msg_InitGL,
|
msg_InitGL,
|
||||||
msg_DeInitGL,
|
msg_DeInitGL,
|
||||||
@ -78,7 +79,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
void sendMessage(Message msg);
|
void sendMessage(Message msg);
|
||||||
void waitMessage();
|
void waitMessage(int num = 1);
|
||||||
void waitAllMessages();
|
void waitAllMessages();
|
||||||
|
|
||||||
void sendMessage(MessageType type)
|
void sendMessage(MessageType type)
|
||||||
|
Reference in New Issue
Block a user