m64p_error main_core_state_query(m64p_core_param param, int *rval) { if (rval == NULL) return M64ERR_INPUT_ASSERT; switch (param) { case M64CORE_EMU_STATE: if (!g_EmulatorRunning) *rval = M64EMU_STOPPED; else if (rompause) *rval = M64EMU_PAUSED; else *rval = M64EMU_RUNNING; break; case M64CORE_VIDEO_MODE: if (!VidExt_VideoRunning()) *rval = M64VIDEO_NONE; else if (VidExt_InFullscreenMode()) *rval = M64VIDEO_FULLSCREEN; else *rval = M64VIDEO_WINDOWED; break; case M64CORE_SAVESTATE_SLOT: *rval = savestates_get_slot(); break; case M64CORE_SPEED_FACTOR: *rval = l_SpeedFactor; break; default: return M64ERR_INPUT_INVALID; } return M64ERR_SUCCESS; }
m64p_error main_core_state_query(m64p_core_param param, int *rval) { if (rval == NULL) return M64ERR_INPUT_ASSERT; switch (param) { case M64CORE_EMU_STATE: if (!g_EmulatorRunning) *rval = M64EMU_STOPPED; else if (rompause) *rval = M64EMU_PAUSED; else *rval = M64EMU_RUNNING; break; case M64CORE_SAVESTATE_SLOT: *rval = savestates_get_slot(); break; case M64CORE_SPEED_FACTOR: *rval = l_SpeedFactor; break; default: return M64ERR_INPUT_INVALID; } return M64ERR_SUCCESS; }