/* this is the plugin entry point */ enum plugin_status plugin_start(const void* parameter) { (void)parameter; int ret; rb->lcd_setfont(FONT_SYSFIXED); #if LCD_DEPTH > 1 rb->lcd_set_backdrop(NULL); #endif #ifdef HAVE_LCD_COLOR rb->lcd_set_background(LCD_BLACK); rb->lcd_set_foreground(LCD_WHITE); #endif /* Turn off backlight timeout */ backlight_ignore_timeout(); rb->srand( *rb->current_tick ); configfile_load(CFG_FILE, config, 1, 0); chopper_load(true); ret = chopGameLoop(); configfile_save(CFG_FILE, config, 1, 0); rb->lcd_setfont(FONT_UI); /* Turn on backlight timeout (revert to settings) */ backlight_use_settings(); return ret; }
static void global_setup (void) { setup_stack (&parse_stack, parse_stack_buffer, sizeof (parse_stack_buffer)); setup_display (); setup_sgf (); set_defaults(); if (configfile_load(SETTINGS_FILENAME, config, sizeof(config)/sizeof(*config), SETTINGS_MIN_VERSION ) < 0) { /* If the loading failed, save a new config file (as the disk is already spinning) */ /* set defaults again just in case (don't know if they can ever * be messed up by configfile_load, and it's basically free anyway) */ set_defaults(); configfile_save(SETTINGS_FILENAME, config, sizeof(config)/sizeof(*config), SETTINGS_VERSION); } }
static void global_cleanup (void) { cleanup_sgf (); configfile_save(SETTINGS_FILENAME, config, sizeof(config)/sizeof(*config), SETTINGS_VERSION); }
enum plugin_status plugin_start(const void* parameter) { (void)parameter; configfile_load(CONFIG_FILE_NAME, config, 1, 0); highscore_load(SCORE_FILE, highscores, NUM_SCORES); rb->lcd_clear_display(); ingame = false; while(snake_game_loop() == 0) ; configfile_save(CONFIG_FILE_NAME, config, 1, 0); highscore_save(SCORE_FILE, highscores, NUM_SCORES); return PLUGIN_OK; }