Use Init() for all screens, so we can set state before the base class

members are loaded--they'll see resets, score finalization, etc.  It
also results in smaller code, due to a g++ bug that causes constructors
to be emitted several times.
This commit is contained in:
Glenn Maynard
2005-02-23 06:29:05 +00:00
parent 1213a2c9b0
commit b51b0cfb4c
100 changed files with 349 additions and 42 deletions
+6 -1
View File
@@ -31,6 +31,11 @@ REGISTER_SCREEN_CLASS( ScreenSelectDifficulty );
ScreenSelectDifficulty::ScreenSelectDifficulty( CString sClassName ) : ScreenSelect( sClassName )
{
m_CurrentPage = PAGE_1;
}
void ScreenSelectDifficulty::Init()
{
ScreenSelect::Init();
FOREACH_PlayerNumber( p )
{
@@ -38,7 +43,7 @@ ScreenSelectDifficulty::ScreenSelectDifficulty( CString sClassName ) : ScreenSel
m_bChosen[p] = false;
}
unsigned c; // GCC is bitching again.
unsigned c;
for( c=0; c<m_aGameCommands.size(); c++ )
{
if( (int)c < NUM_CHOICES_ON_PAGE_1 )