add variables for workout

This commit is contained in:
Chris Danford
2005-01-31 02:00:00 +00:00
parent ab685bebbf
commit b5cf0b87eb
5 changed files with 70 additions and 2 deletions
+46 -1
View File
@@ -48,6 +48,10 @@ void GameCommand::Init()
m_sSoundPath = "";
m_vsScreensToPrepare.clear();
m_bDeletePreparedScreens = false;
m_iWeightPounds = -1;
m_iAddToAllCourseEntryMeters = -100;
m_iStopCourseAtSeconds = -1;
m_bAutoAdjustMeterDuringCorse = false;
m_bClearBookkeepingData = false;
m_bClearMachineStats = false;
@@ -118,6 +122,14 @@ bool GameCommand::DescribesCurrentMode( PlayerNumber pn ) const
return false;
if( m_SortOrder != SORT_INVALID && GAMESTATE->m_PreferredSortOrder != m_SortOrder )
return false;
if( m_iWeightPounds != -1 && GAMESTATE->m_pPlayerState[pn]->m_iWeightPounds != m_iWeightPounds )
return false;
if( m_iAddToAllCourseEntryMeters != -100 && GAMESTATE->m_iAddToAllCourseEntryMeters != m_iAddToAllCourseEntryMeters )
return false;
if( m_iStopCourseAtSeconds != -1 && GAMESTATE->m_iStopCourseAtSeconds != m_iStopCourseAtSeconds )
return false;
if( m_bAutoAdjustMeterDuringCorse && !GAMESTATE->m_bAutoAdjustMeterDuringCorse )
return false;
return true;
}
@@ -250,6 +262,26 @@ void GameCommand::Load( int iIndex, const Commands& cmds )
}
}
else if( sName == "weight" )
{
m_iWeightPounds = atoi( sValue );
}
else if( sName == "addtoallcourseentrymeters" )
{
m_iAddToAllCourseEntryMeters = atoi( sValue );
}
else if( sName == "stopcourseatseconds" )
{
m_iStopCourseAtSeconds = atoi( sValue );
}
else if( sName == "autoadjustmeterduringcorse" )
{
m_bAutoAdjustMeterDuringCorse = !!atoi( sValue );
}
else if( sName == "unlock" )
{
m_iUnlockIndex = atoi( sValue );
@@ -600,6 +632,15 @@ void GameCommand::Apply( const vector<PlayerNumber> &vpns ) const
UNLOCKMAN->UnlockCode( m_iUnlockIndex );
if( m_sSoundPath != "" )
SOUND->PlayOnce( THEME->GetPathToS( m_sSoundPath ) );
if( m_iWeightPounds != -1 )
FOREACH_CONST( PlayerNumber, vpns, pn )
GAMESTATE->m_pPlayerState[*pn]->m_iWeightPounds = m_iWeightPounds;
if( m_iAddToAllCourseEntryMeters != -100 )
GAMESTATE->m_iAddToAllCourseEntryMeters = m_iAddToAllCourseEntryMeters;
if( m_iStopCourseAtSeconds != -1 )
GAMESTATE->m_iStopCourseAtSeconds = m_iStopCourseAtSeconds;
if( m_bAutoAdjustMeterDuringCorse )
GAMESTATE->m_bAutoAdjustMeterDuringCorse = m_bAutoAdjustMeterDuringCorse;
/* If we're going to stop music, do so before preparing new screens, so we don't
* stop music between preparing screens and loading screens. */
@@ -739,7 +780,11 @@ bool GameCommand::IsZero() const
m_pCharacter != NULL ||
m_CourseDifficulty != DIFFICULTY_INVALID ||
!m_sSongGroup.empty() ||
m_SortOrder != SORT_INVALID
m_SortOrder != SORT_INVALID ||
m_iWeightPounds != -1 ||
m_iAddToAllCourseEntryMeters != -1 ||
m_iStopCourseAtSeconds != -1 ||
m_bAutoAdjustMeterDuringCorse
)
return false;
+5 -1
View File
@@ -58,7 +58,11 @@ public:
int m_iUnlockIndex; // -1 for no unlock
CString m_sSoundPath; // "" for no sound
vector<CString> m_vsScreensToPrepare;
bool m_bDeletePreparedScreens;
bool m_bDeletePreparedScreens;
int m_iWeightPounds; // -1 == none specified
int m_iAddToAllCourseEntryMeters; // -100 == not specified
int m_iStopCourseAtSeconds; // -1 == none specified
bool m_bAutoAdjustMeterDuringCorse;
bool m_bClearBookkeepingData;
bool m_bClearMachineStats;
+5
View File
@@ -64,6 +64,7 @@ GameState::GameState()
m_pPlayerState[p]->m_PlayerNumber = p;
}
/* Don't reset yet; let the first screen do it, so we can
* use PREFSMAN and THEME. */
// Reset();
@@ -194,6 +195,10 @@ void GameState::Reset()
ASSERT( m_pCurCharacters[p] );
}
m_iAddToAllCourseEntryMeters = 0;
m_iStopCourseAtSeconds = -1;
m_bAutoAdjustMeterDuringCorse = false;
LIGHTSMAN->SetLightsMode( LIGHTSMODE_ATTRACT );
ApplyCmdline();
+7
View File
@@ -265,6 +265,13 @@ public:
// PlayerState
//
PlayerState* m_pPlayerState[NUM_PLAYERS];
//
// Workout stuff
//
int m_iAddToAllCourseEntryMeters; // 0 == no change
int m_iStopCourseAtSeconds; // -1 == don't stop early
bool m_bAutoAdjustMeterDuringCorse;
};
+7
View File
@@ -42,6 +42,8 @@ struct PlayerState
for( int i=0; i<NUM_INVENTORY_SLOTS; i++ )
m_Inventory[i].MakeBlank();
m_iWeightPounds = -1;
}
@@ -89,6 +91,11 @@ struct PlayerState
// Used in Battle
//
Attack m_Inventory[NUM_INVENTORY_SLOTS];
//
// Used in Workout
//
int m_iWeightPounds; // -1 == no weight set
};
#endif