Load AI difficulty data at runtime from AI.ini

This commit is contained in:
Chris Danford
2003-04-21 02:41:10 +00:00
parent cc9bf8677a
commit e15dcc2ab5
29 changed files with 412 additions and 228 deletions
+2 -38
View File
@@ -58,7 +58,6 @@ ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
for( p=0; p<NUM_PLAYERS; p++ )
{
m_iSelectedCharacter[p] = 0;
m_iSelectedLevelIndex[p] = 0;
if( GAMESTATE->IsHumanPlayer(p) )
m_SelectionRow[p] = CHOOSING_HUMAN_CHARACTER;
}
@@ -103,12 +102,6 @@ ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
m_AttackIcons[p][i][j].SetXY( fX, fY );
this->AddChild( &m_AttackIcons[p][i][j] );
}
m_sprLevelCursor[p].Load( THEME->GetPathToG("ScreenSelectCharacter level cursor") );
int iLevelIndex = m_iSelectedLevelIndex[p];
m_sprLevelCursor[p].SetXY( LEVEL_CURSOR_X(p,iLevelIndex), LEVEL_CURSOR_Y(p,iLevelIndex) );
m_sprLevelCursor[p].Load( THEME->GetPathToG("ScreenSelectCharacter level cursor") );
this->AddChild( &m_sprLevelCursor[p] );
}
m_sprExplanation.Load( THEME->GetPathToG("ScreenSelectCharacter explanation") );
@@ -183,11 +176,9 @@ PlayerNumber ScreenSelectCharacter::GetAffectedPlayerNumber( PlayerNumber pn )
switch( m_SelectionRow[pn] )
{
case CHOOSING_HUMAN_CHARACTER:
case CHOOSING_HUMAN_LEVEL:
return pn;
break;
case CHOOSING_CPU_CHARACTER:
case CHOOSING_CPU_LEVEL:
return CPU_PLAYER[pn];
break;
default:
@@ -206,10 +197,6 @@ void ScreenSelectCharacter::BeforeRowChange( PlayerNumber pn )
case CHOOSING_HUMAN_CHARACTER:
m_sprCharacterArrows[pnAffected].SetEffectNone();
break;
case CHOOSING_CPU_LEVEL:
case CHOOSING_HUMAN_LEVEL:
m_sprLevelCursor[pnAffected].SetEffectNone();
break;
}
}
@@ -222,10 +209,6 @@ void ScreenSelectCharacter::AfterRowChange( PlayerNumber pn )
case CHOOSING_HUMAN_CHARACTER:
m_sprCharacterArrows[pnAffected].SetEffectGlowShift();
break;
case CHOOSING_CPU_LEVEL:
case CHOOSING_HUMAN_LEVEL:
m_sprLevelCursor[pnAffected].SetEffectGlowShift();
break;
}
}
@@ -254,13 +237,6 @@ void ScreenSelectCharacter::AfterValueChange( PlayerNumber pn )
m_AttackIcons[pnAffected][i][j].Load( pnAffected, character.m_sAttacks[i][j] );
}
break;
case CHOOSING_CPU_LEVEL:
case CHOOSING_HUMAN_LEVEL:
{
int iLevelIndex = m_iSelectedLevelIndex[pnAffected];
m_sprLevelCursor[pnAffected].SetXY( LEVEL_CURSOR_X(pnAffected,iLevelIndex), LEVEL_CURSOR_Y(pnAffected,iLevelIndex) );
}
break;
case FINISHED_CHOOSING:
; // do nothing
break;
@@ -303,13 +279,6 @@ void ScreenSelectCharacter::Move( PlayerNumber pn, int deltaValue )
AfterValueChange(pn);
m_soundChange.PlayRandom();
break;
case CHOOSING_CPU_LEVEL:
case CHOOSING_HUMAN_LEVEL:
m_iSelectedLevelIndex[pnAffected] += deltaValue;
CLAMP( m_iSelectedLevelIndex[pnAffected], 0, NUM_ATTACK_LEVELS-1 );
AfterValueChange(pn);
m_soundChange.PlayRandom();
break;
}
}
@@ -324,15 +293,9 @@ void ScreenSelectCharacter::MenuStart( PlayerNumber pn )
switch( m_SelectionRow[pn] )
{
case CHOOSING_HUMAN_CHARACTER:
m_SelectionRow[pn] = CHOOSING_HUMAN_LEVEL;
break;
case CHOOSING_HUMAN_LEVEL:
m_SelectionRow[pn] = GAMESTATE->AnyPlayersAreCpu() ? CHOOSING_CPU_CHARACTER : FINISHED_CHOOSING;
break;
case CHOOSING_CPU_CHARACTER:
m_SelectionRow[pn] = CHOOSING_CPU_LEVEL;
break;
case CHOOSING_CPU_LEVEL:
m_SelectionRow[pn] = FINISHED_CHOOSING;
break;
}
@@ -354,7 +317,6 @@ void ScreenSelectCharacter::MenuStart( PlayerNumber pn )
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
GAMESTATE->m_sAttacks[p][i][j] = character.m_sAttacks[i][j];
GAMESTATE->m_MaxAttackLevel[p] = (AttackLevel)m_iSelectedLevelIndex[p];
}
m_Menu.m_MenuTimer.Stop();
@@ -371,7 +333,9 @@ void ScreenSelectCharacter::MenuBack( PlayerNumber pn )
void ScreenSelectCharacter::TweenOffScreen()
{
for( int p=0; p<NUM_PLAYERS; p++ )
{
m_sprCharacter[p].Command( CHARACTER_OFF_COMMAND(p) );
}
m_sprExplanation.Command( EXPLANATION_OFF_COMMAND );
}