From 304012bba79ba09f2a2b11b7d0d5416d87ee135e Mon Sep 17 00:00:00 2001 From: Andrew Wong Date: Fri, 25 Jul 2003 05:25:23 +0000 Subject: [PATCH] add option to automatically generate unlocks from unlocks.dat --- stepmania/src/ScreenUnlock.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ScreenUnlock.cpp b/stepmania/src/ScreenUnlock.cpp index 5cb9ff28a1..14ef529ddc 100644 --- a/stepmania/src/ScreenUnlock.cpp +++ b/stepmania/src/ScreenUnlock.cpp @@ -36,6 +36,7 @@ #define ICON_COMMAND THEME->GetMetric ("ScreenUnlock", "UnlockIconCommand") #define TIME_TO_DISPLAY THEME->GetMetricF("ScreenUnlock", "TimeToDisplay") #define POINTS_ZOOM THEME->GetMetricF("ScreenUnlock","PointsZoom") +#define USE_UNLOCKS_DAT THEME->GetMetricI("ScreenUnlock","UseUnlocksDat") ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock") { @@ -64,7 +65,14 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock") // get pertaining songentry LOG->Trace("UnlockScreen: Searching for %s", DISPLAYED_SONG(i).c_str()); - SongEntry *pSong = GAMESTATE->m_pUnlockingSys->FindLockEntry( DISPLAYED_SONG(i) ); + CString SongTitle = DISPLAYED_SONG(i); + if (USE_UNLOCKS_DAT == 1) + { + if (i <= GAMESTATE->m_pUnlockingSys->m_SongEntries.size() ) + SongTitle = GAMESTATE->m_pUnlockingSys->m_SongEntries[i-1].m_sSongName; + } + + SongEntry *pSong = GAMESTATE->m_pUnlockingSys->FindLockEntry( SongTitle ); if( pSong == NULL) { @@ -110,6 +118,13 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock") text->SetHorizAlign( Actor::align_left ); CString DisplayedSong = DISPLAYED_SONG(i); + if (USE_UNLOCKS_DAT == 1) + { + if (i <= GAMESTATE->m_pUnlockingSys->m_SongEntries.size() ) + DisplayedSong = GAMESTATE->m_pUnlockingSys->m_SongEntries[i-1].m_sSongName; + } + + DisplayedSong.MakeUpper(); SongEntry *pSong = GAMESTATE->m_pUnlockingSys->FindLockEntry(DisplayedSong); @@ -233,6 +248,12 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock") NewText->SetHorizAlign( Actor::align_left ); CString DisplayedSong = DISPLAYED_SONG(NextIcon); + if (USE_UNLOCKS_DAT == 1) + { + if (NextIcon <= GAMESTATE->m_pUnlockingSys->m_SongEntries.size() ) + DisplayedSong = GAMESTATE->m_pUnlockingSys->m_SongEntries[NextIcon-1].m_sSongName; + } + DisplayedSong.MakeUpper(); SongEntry *pSong = GAMESTATE->m_pUnlockingSys->FindLockEntry(DisplayedSong);