/* This function is called on exit */ void cleanup(void) { write_config_file(); write_saved_games(); shutdown_audio(); winsys_shutdown(); }
static void engine_handle_cmd(struct android_app* app, int32_t cmd) { engine* e = (engine*)app->userData; switch (cmd) { case APP_CMD_SAVE_STATE: LOGDw("engine_handle_cmd", "APP_CMD_SAVE_STATE"); e->app->savedState = malloc(sizeof(struct saved_state)); *((struct saved_state*)e->app->savedState) = e->state; e->app->savedStateSize = sizeof(struct saved_state); break; case APP_CMD_INIT_WINDOW: LOGDw("engine_handle_cmd", "APP_CMD_INIT_WINDOW"); if (e->app->window != NULL) { LOGD("call_order", "APP_CMD_INIT_WINDOW"); first_init(e); } break; case APP_CMD_START: LOGDw("engine_handle_cmd", "APP_CMD_START"); ANativeActivity_setWindowFlags(app->activity, AWINDOW_FLAG_KEEP_SCREEN_ON, 0); break; case APP_CMD_TERM_WINDOW: LOGDw("engine_handle_cmd", "APP_CMD_TERM_WINDOW"); gles_term_display(&g_sc); break; case APP_CMD_GAINED_FOCUS: LOGDw("engine_handle_cmd", "APP_CMD_GAINED_FOCUS"); kill_all_touch_circles(); draw_frame(); e->animating = 1; break; case APP_CMD_LOST_FOCUS: LOGDw("engine_handle_cmd", "APP_CMD_LOST_FOCUS"); kill_all_touch_circles(); draw_frame(); e->animating = 0; if (sles_init_called)wake_from_paused = TRUE; // タッチの円形全部無効スべき pause_all_voices(); usleep(5000000); shutdown_audio(); // join_control_loop(); // e->app->destroyRequested = 1; // RvA break; case APP_CMD_STOP: LOGDw("engine_handle_cmd", "APP_CMD_STOP"); break; case APP_CMD_DESTROY: LOGDw("engine_handle_cmd", "APP_CMD_DESTROY"); break; } }