void moveBossScoreAtr() { int btn = getButtonState(); if ( bsCnt == 128 ) addScore(bsAdd); if ( bsCnt > 600 || (bsCnt > 160 && mnp && (btn & PAD_BUTTON1)) ) { if ( status != STAGE_CLEAR ) { gotoNextScene(); } else { setHiScore(1); initTitle(); } return; } if ( btn == 0 ) { mnp = 1; } bsCnt++; }
void initStageState(int stg) { float rb; int rn, sn; int i; scene = -1; rn = stg/SAME_RANK_STAGE_NUM; sn = stg%SAME_RANK_STAGE_NUM; if ( sn == SAME_RANK_STAGE_NUM-1 ) { seed = rand(); } else { seed = stg*10357 + 5449 + mode*947; } rank = 0.1; rb = 0; for ( i=0 ; i<rn ; i++ ) { rb += RANK_UP_BASE; rank += rb; } if ( stg >= STAGE_NUM || stg < 0 ) rank = 0; gotoNextScene(); }
void wyDirector::drawFrame() { // process auto release pool wyClearAutoReleasePool(); // check frame rate setting, but neglect it if in screenshot mode #ifndef WY_CFLAG_SCREENSHOT_MODE if(m_maxFrameRate > 0) { int64_t now = wyUtils::currentTimeMillis(); m_savedDelta += now - m_lastFrameTime; m_lastFrameTime = now; if(m_savedDelta < m_minFrameInterval) { // sleep to save power usleep((m_minFrameInterval - m_savedDelta) * 1000); // recalculate saved delta now = wyUtils::currentTimeMillis(); m_savedDelta += now - m_lastFrameTime; m_lastFrameTime = now; m_savedDelta %= m_minFrameInterval; } else { m_savedDelta %= m_minFrameInterval; } } #endif // need check texture? if(m_needCheckTexture) { gTextureManager->invalidateAllTextures(); m_needCheckTexture = false; } // set default state glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_COLOR_ARRAY); glDisableClientState(GL_TEXTURE_COORD_ARRAY); glDisable(GL_TEXTURE_2D); // if we have next scene to set, reset delta time if(!m_UIPaused) { if(m_nextScene != NULL) { m_nextDeltaTimeZero = true; } } // calculate global delta calculateDeltaTime(); // if in screenshot mode, use 60fps always #ifdef WY_CFLAG_SCREENSHOT_MODE m_delta = 1.f / 60.f; #endif if (!m_UIPaused) { // update scheduler and actions if(!m_paused) { gScheduler->tickLocked(m_delta * m_tickFactor); } // to avoid flicker, nextScene MUST be here: after tick and before draw if(m_nextScene != NULL) { gotoNextScene(); } } if(!m_paused) { // draw the scene if(m_runningScene != NULL) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); m_runningScene->visit(); } /* * can't move action tick before visit running scene. sometimes the internal * state may not consistent because scheduler already updated before visit. * an example is: move a particle system with an action, can see particle system * shaked consistently. */ if(!m_UIPaused) gActionManager->tick(m_delta * m_tickFactor); #ifndef WY_CFLAG_SCREENSHOT_MODE // calcuate fps or not // but don't calculate fps if in screenshot mode if(m_calculateFPS) calculateFPS(); // show fps or not // but don't show fps if in screenshot mode if(m_displayFPS) showFPS(); // make screenshot if(m_makeScreenshot) { m_makeScreenshot = false; // make screenshot wyUtils::makeScreenshot(m_screenshotPath, m_screenshotRect); // notify notifyDirectorScreenCaptured(); // free path wyFree((void*)m_screenshotPath); m_screenshotPath = NULL; } #endif // #ifndef WY_CFLAG_SCREENSHOT_MODE } // make screenshot #ifdef WY_CFLAG_SCREENSHOT_MODE char fsPath[128]; sprintf(fsPath, "/sdcard/WiEngine/%06d.png", sScreenshotFrameIndex++); const char* path = wyUtils::mapLocalPath(fsPath); wyUtils::makeScreenshot(path); wyFree((void*)path); #endif // #ifdef WY_CFLAG_SCREENSHOT_MODE // process events gEventDispatcher->processEventsLocked(); }
void cTitle::update() { fontAlpha(); gotoNextScene(); }