void one_frame_callback() { try { GraphicsFrameStart(); assert(lobster::g_vm); lobster::g_vm->OneMoreFrame(); // If this returns, we didn't hit a gl_frame() again and exited normally. EngineExit(0); } catch (string &s) { if (s != "SUSPEND-VM-MAINLOOP") { // An actual error. Output(OUTPUT_ERROR, s.c_str()); EngineExit(1); } } }
~EngineLoopCleanupGuard() { EngineExit(); }