StateMenu::~StateMenu() { spFontDelete( fontDark ); spFontDelete( fontBright ); spResetAxisState(); spResetButtonsState(); }
int StateMenu::update(Uint32 delta) { StateBase::update( delta ); if ( inputLag.isStopped() ) { if ( spGetInput()->axis[1] > 0 ) choice = std::min( --choice, entries.size()-1 ); else if ( spGetInput()->axis[1] < 0 ) { ++choice; if ( choice > entries.size()-1 ) choice = 0; } inputLag.start( MENU_INPUT_LAG ); } if ( spGetInput()->axis[1] == 0 ) { inputLag.stop(); } if ( spGetInput()->button[SP_BUTTON_B] || spGetInput()->button[SP_BUTTON_Y] || spGetInput()->button[SP_BUTTON_START] ) { spResetButtonsState(); if ( entries[choice].targetState == stWave ) message = "waves/test.txt"; return entries[choice].targetState; } return 0; }
StateHighscores::~StateHighscores() { spFontDelete( fontW ); spFontDelete( fontB ); spResetAxisState(); spResetButtonsState(); }
int StateScore::update( Uint32 delta ) { StateBase::update( delta ); if ( caretTimer.stopped() && state == 0 ) { caret = !caret; caretTimer.start( SCORE_CARET_BLINK_TIME ); } if ( spGetInput()->button[SP_BUTTON_START] #ifdef MOBILE_DEVICE || spGetInput()->button[SP_BUTTON_B] || spGetInput()->button[SP_BUTTON_Y] #endif || name[strlen(name)-1] == '\n' // Enter key was pressed ) { if ( state == 0 && name[0] != 0 ) { spResetButtonsState(); spStopKeyboardInput(); state = 1; caret = false; if (name[strlen(name)-1] == '\n') name[strlen(name)-1] = '\0'; file.addScore( name, score, run->info.timecode ); if ( run ) { run->info.name = name; run->info.score = score; run->saveToFile( FOLDER_REPLAY "/" + Utility::numToStr( run->info.timecode ) + EXTENSION_REPLAY ); } } else { spResetButtonsState(); spStopKeyboardInput(); return stMenu; } } return 0; }
StateScore::~StateScore() { spDeleteSurface( killFrame ); spFontDelete( scoreText ); spResetAxisState(); spResetButtonsState(); delete run; if ( nameBkup[0] != 0 ) strcpy( name, nameBkup ); }