void CCredits::Update() { // Sanity checks... if (!g_pLTClient) return; if (m_Credits.size() <= 0) return; // Clear the screen... if (m_bClearScreen) { g_pLTClient->ClearScreen(NULL, CLEARSCREEN_SCREEN); } // Update the current credit... CCredit* pCredit = GetCredit(m_iCredit); if (!pCredit) return; if (pCredit->Update()) { AdvanceCredit(); } }
void CCredits::BackupCredit(int nState) { m_iCredit--; if(m_iCredit < 0) m_iCredit = 0; CCredit* pCredit = GetCredit(m_iCredit); if (pCredit) pCredit->SetState(nState); }
void CCredits::AdvanceCredit(int nState) { m_iCredit++; if(m_iCredit >= m_Credits.size()) { m_iCredit = 0; m_bDone = LTTRUE; } CCredit* pCredit = GetCredit(m_iCredit); if (pCredit) pCredit->SetState(nState); }
void CCredits::AdvanceCredit(int nState) { m_iCredit++; if(m_iCredit >= m_cCredits) { m_iCredit = 0; if (IsIntro()) m_bDone = DTRUE; } CCredit* pCredit = GetCredit(m_iCredit); if (pCredit) pCredit->SetState(nState); }
void CCredits::Term() { // Term all the credits... for (int i = 0; i < MAX_CREDITS; i++) { CCredit* pCredit = GetCredit(i); if (pCredit) pCredit->Term(); } // Clear all members... CCredit::TermStaticInfo(); Clear(); }
void CCredits::AddCredit(char* sText) { // Sanity checks... if (!m_pClientDE) return; // Add the credit... CCredit* pCredit = GetCredit(m_cCredits); if (!pCredit) return; if (!pCredit->Init(m_pClientDE, sText)) return; // Inc our credit counter... m_cCredits++; }
void CCredits::HandleInput(int vkey) { // Handle various keys... switch (vkey) { case VK_UP: { if (IsIntro()) break; IncSpeed(); break; } case VK_DOWN: { if (IsIntro()) break; DecSpeed(); break; } case VK_HOME: { if (IsIntro()) break; s_fSpeed = 1.0; break; } case VK_RETURN: case VK_SPACE: case VK_NEXT: { if (IsIntro() || IsDemoIntro()) { CCredit* pCredit = GetCredit(m_iCredit); if (pCredit) { if (pCredit->GetState() == CS_HOLDIN) { pCredit->SetState(CS_FADEOUT); } } } else { AdvanceCredit(CS_HOLDIN); } break; } case VK_PRIOR: { if (IsIntro() || IsDemoIntro()) break; BackupCredit(CS_HOLDIN); break; } case VK_PAUSE: { if (IsIntro() || IsDemoIntro()) break; s_bPause ^= 1; break; } case VK_ESCAPE: { // ExitToMainMenu(); break; } } }