/* 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 int chopHandleEvent (GR_EVENT *event) { switch (event->type) { case GR_EVENT_TYPE_TIMER: chopGameLoop(); break; case GR_EVENT_TYPE_KEY_UP: if(event->keystroke.ch == '\r') bPlayerPressingUp = 0; break; case GR_EVENT_TYPE_KEY_DOWN: if(bWaitingToStart == 1) { iPlayerSpeedY = 5; bWaitingToStart = 0; } switch (event->keystroke.ch) { case '\r': /* Wheel button */ bPlayerPressingUp = 1; break; case 'm': /* Menu button */ pz_close_window (chopWindow); GrDestroyTimer (chopTimer); GrDestroyGC(chopGC); break; default: break; } break; /* key down */ } return 1; }