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; }
int calc_account(Uint32 steps) { blink+=steps; if (spNetC4AGetStatus() > 0) { right_after_status = 1; return 0; } if (right_after_status) { if (spNetC4AGetTaskResult() == 0) { mode = nextMode; askMode = last_task+7; } else { askMode = 6; spStopKeyboardInput(); } } right_after_status = 0; if (askMode) { switch ( askMode ) { case 1: if ( spGetInput()->button[SP_BUTTON_START_NOWASD] ) { spGetInput()->button[SP_BUTTON_START_NOWASD] = 0; if (spNetC4ADeleteAccount(&profile,1,TIME_OUT) == 0) { right_after_status = 1; last_task = 2; } nextMode = 0; sprintf(longName,""); sprintf(shortName,""); sprintf(password,""); sprintf(mail,""); askMode = 0; switch (line) { case 0: spPollKeyboardInput(shortName,3,SP_PRACTICE_OK_NOWASD_MASK); break; case 1: spPollKeyboardInput(longName,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 2: spPollKeyboardInput(password,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 3: spPollKeyboardInput(mail,256,SP_PRACTICE_OK_NOWASD_MASK); break; } } if ( spGetInput()->button[SP_PRACTICE_CANCEL_NOWASD] ) { spGetInput()->button[SP_PRACTICE_CANCEL_NOWASD] = 0; askMode = 0; switch (line) { case 0: spPollKeyboardInput(shortName,3,SP_PRACTICE_OK_NOWASD_MASK); break; case 1: spPollKeyboardInput(longName,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 2: spPollKeyboardInput(password,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 3: spPollKeyboardInput(mail,256,SP_PRACTICE_OK_NOWASD_MASK); break; } } break; default: if ( spGetInput()->button[SP_PRACTICE_OK_NOWASD] ) { spGetInput()->button[SP_PRACTICE_OK_NOWASD] = 0; askMode = 0; switch (line) { case 0: spPollKeyboardInput(shortName,3,SP_PRACTICE_OK_NOWASD_MASK); break; case 1: spPollKeyboardInput(longName,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 2: spPollKeyboardInput(password,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 3: spPollKeyboardInput(mail,256,SP_PRACTICE_OK_NOWASD_MASK); break; } } } return 0; } if ( spGetInput()->button[SP_PRACTICE_CANCEL_NOWASD] ) { spGetInput()->button[SP_PRACTICE_CANCEL_NOWASD] = 0; spStopKeyboardInput(); return 1; } int i; for (i = 0; shortName[i] != 0; i++) { if ('a' <= shortName[i] && shortName[i] <= 'z') shortName[i] += 'A'-'a'; } if ((spGetVirtualKeyboardState() == SP_VIRTUAL_KEYBOARD_ALWAYS && spGetInput()->button[SP_BUTTON_R_NOWASD]) || (spGetVirtualKeyboardState() != SP_VIRTUAL_KEYBOARD_ALWAYS && spGetInput()->axis[1] > 0)) { line = (line + 1) % 4; spGetInput()->button[SP_BUTTON_R_NOWASD] = 0; if (spGetVirtualKeyboardState() != SP_VIRTUAL_KEYBOARD_ALWAYS) spGetInput()->axis[1] = 0; blink = 0; switch (line) { case 0: spPollKeyboardInput(shortName,3,SP_PRACTICE_OK_NOWASD_MASK); break; case 1: spPollKeyboardInput(longName,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 2: spPollKeyboardInput(password,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 3: spPollKeyboardInput(mail,256,SP_PRACTICE_OK_NOWASD_MASK); break; } } if ((spGetVirtualKeyboardState() == SP_VIRTUAL_KEYBOARD_ALWAYS && spGetInput()->button[SP_BUTTON_L_NOWASD]) || (spGetVirtualKeyboardState() != SP_VIRTUAL_KEYBOARD_ALWAYS && spGetInput()->axis[1] < 0)) { line = (line + 3) % 4; spGetInput()->button[SP_BUTTON_L_NOWASD] = 0; if (spGetVirtualKeyboardState() != SP_VIRTUAL_KEYBOARD_ALWAYS) spGetInput()->axis[1] = 0; blink = 0; switch (line) { case 0: spPollKeyboardInput(shortName,3,SP_PRACTICE_OK_NOWASD_MASK); break; case 1: spPollKeyboardInput(longName,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 2: spPollKeyboardInput(password,256,SP_PRACTICE_OK_NOWASD_MASK); break; case 3: spPollKeyboardInput(mail,256,SP_PRACTICE_OK_NOWASD_MASK); break; } } if ( spGetInput()->button[SP_BUTTON_START_NOWASD] ) { spGetInput()->button[SP_BUTTON_START_NOWASD] = 0; if (check_shortname()) { askMode = 2; spStopKeyboardInput(); } else if (check_longname()) { askMode = 3; spStopKeyboardInput(); } else if (check_password()) { askMode = 4; spStopKeyboardInput(); } else if (check_mail()) { askMode = 5; spStopKeyboardInput(); } else { if (mode == 0) { if (spNetC4ACreateProfile(&profile,longName,shortName,password,mail,TIME_OUT) == 0) { right_after_status = 1; last_task = 0; } nextMode = 1; } else { if (spNetC4AEditProfile(&profile,longName,shortName,password,mail,TIME_OUT) == 0) { right_after_status = 1; last_task = 1; } nextMode = 1; } } } if ( mode == 1 && spGetInput()->button[SP_BUTTON_SELECT_NOWASD] ) { spGetInput()->button[SP_BUTTON_SELECT_NOWASD] = 0; askMode = 1; spStopKeyboardInput(); } return 0; }