//=========================================================================== void EnterMessageLoop() { MSG message; while (GetMessage(&message,0,0,0)) { TranslateMessage(&message); DispatchMessage(&message); Timer_StopTimer(); while ((mode == MODE_RUNNING) || (mode == MODE_STEPPING)) { if (PeekMessage(&message,0,0,0,PM_REMOVE)) { if (message.message == WM_QUIT) return; TranslateMessage(&message); DispatchMessage(&message); } else if (mode == MODE_STEPPING) DebugContinueStepping(); else { ContinueExecution(); if (fullspeed) ContinueExecution(); } } } while (PeekMessage(&message,0,0,0,PM_REMOVE)); }
//=========================================================================== void EnterMessageLoop(void) { MSG message; PeekMessage(&message, NULL, 0, 0, PM_NOREMOVE); while (message.message!=WM_QUIT) { if (PeekMessage(&message, NULL, 0, 0, PM_REMOVE)) { TranslateMessage(&message); DispatchMessage(&message); while ((g_nAppMode == MODE_RUNNING) || (g_nAppMode == MODE_STEPPING)) { if (PeekMessage(&message,0,0,0,PM_REMOVE)) { if (message.message == WM_QUIT) return; TranslateMessage(&message); DispatchMessage(&message); } else if (g_nAppMode == MODE_STEPPING) { DebugContinueStepping(); } else { ContinueExecution(); if (g_nAppMode != MODE_DEBUG) { if (g_bFullSpeed) ContinueExecution(); } } } } else { if (g_nAppMode == MODE_DEBUG) DebuggerUpdate(); else if ((g_nAppMode == MODE_LOGO) || (g_nAppMode == MODE_PAUSED)) Sleep(100); // Stop process hogging CPU } } }