int main(int argc, char *argv[]) { GFraMe_ret rv; GFraMe_wndext ext; ext.atlas = "new-atlas-2"; ext.atlasWidth = 256; ext.atlasHeight = 256; ext.flags = 0; // Init the framework rv = GFraMe_init(320, 240, 640, 480, "com.gfmgamecorner", "BugSquasher", GFraMe_window_resizable, &ext, 60, 1, 0); GFraMe_assertRet(rv == GFraMe_ret_ok, "Failed to init the framework", _exit); #ifndef GFRAME_MOBILE setIcon(); #endif // Init the audio player rv = GFraMe_audio_player_init(); GFraMe_assertRet(rv == GFraMe_ret_ok, "Failed to init the audio", _exit); // Load the textures rv = global_init(); GFraMe_assertRet(rv == GFraMe_ret_ok, "Failed to create global stuff", _exit); GFraMe_audio_player_play_bgm(&gl_song, 0.625); // TODO clear events (there may be a few frames issued) // Run the main loop gl_running = 1; while (gl_running) { ms_loop(); ps_loop(); gos_loop(); } _exit: #ifdef GFRAME_MOBILE GFraMe_log("asd"); GFraMe_log_close(); GFraMe_log("qwe"); #endif GFraMe_audio_player_clear(); global_clear(); GFraMe_quit(); return rv; }
int main(int argc, char *argv[]) { GFraMe_ret rv; GFraMe_save sv, *pSv; GFraMe_wndext ext; int zoom, lang; state st; ext.atlas = "atlas"; ext.atlasWidth = 256; ext.atlasHeight = 256; ext.flags = GFraMe_wndext_none; //ext.flags = GFraMe_wndext_scanline; rv = GFraMe_init ( SCR_W, SCR_H, WND_W, WND_H, ORG, NAME, GFraMe_window_none, // GFraMe_window_fullscreen &ext, FPS, 1, // Log to file 0 // Log append ); GFraMe_assertRet(rv == GFraMe_ret_ok, "Init failed", __ret); setIcon(); // Set the bg color GFraMe_set_bg_color(0x22, 0x20, 0x34, 0xff); // Set the actual game dimensions pSv = 0; rv = GFraMe_save_bind(&sv, CONFFILE); GFraMe_assertRet(rv == GFraMe_ret_ok, "Error opening file", __ret); pSv = &sv; rv = GFraMe_save_read_int(&sv, "zoom", &zoom); if (rv == GFraMe_ret_ok) { // Switch the resolution if (zoom != 0 && zoom != 2) { GFraMe_ret rv; rv = GFraMe_screen_set_window_size(SCR_W*zoom, SCR_H*zoom); if (rv == GFraMe_ret_ok) GFraMe_screen_set_pixel_perfect(0, 1); } else if (zoom == 0) { GFraMe_ret rv; rv = GFraMe_screen_setFullscreen(); if (rv == GFraMe_ret_ok) GFraMe_screen_set_pixel_perfect(0, 1); } } // Check if the language was stored (and load it) rv = GFraMe_save_read_int(&sv, "lang", &lang); if (rv == GFraMe_ret_ok) { if (lang == EN_US) { gl_lang = EN_US; } else if (lang == PT_BR) { gl_lang = PT_BR; } } else { gl_lang = EN_US; } GFraMe_save_close(&sv); pSv = 0; rv = GFraMe_audio_player_init(); GFraMe_assertRet(rv == GFraMe_ret_ok, "Audio player init failed", __ret); rv = gl_init(); GFraMe_assertRet(rv == GFraMe_ret_ok, "global init failed", __ret); GFraMe_controller_init(1); st = MENUSTATE; // st = CREDITS; while (gl_running) { switch (st) { case MENUSTATE: st = menustate(); break; case NEW_PLAYSTATE: st = playstate(0); break; case CNT_PLAYSTATE: st = playstate(1); break; case OPTIONS: st = options(); break; case DEMO: st = demo(); break; case CREDITS: st = credits(); break; default: rv = 123; GFraMe_assertRet(0, "Invalid state!", __ret); } } rv = 0; __ret: if (pSv) GFraMe_save_close(pSv); GFraMe_audio_player_pause(); GFraMe_audio_player_clear(); gl_clean(); GFraMe_controller_close(); GFraMe_quit(); return rv; }