add variables for workout
This commit is contained in:
@@ -48,6 +48,10 @@ void GameCommand::Init()
|
|||||||
m_sSoundPath = "";
|
m_sSoundPath = "";
|
||||||
m_vsScreensToPrepare.clear();
|
m_vsScreensToPrepare.clear();
|
||||||
m_bDeletePreparedScreens = false;
|
m_bDeletePreparedScreens = false;
|
||||||
|
m_iWeightPounds = -1;
|
||||||
|
m_iAddToAllCourseEntryMeters = -100;
|
||||||
|
m_iStopCourseAtSeconds = -1;
|
||||||
|
m_bAutoAdjustMeterDuringCorse = false;
|
||||||
|
|
||||||
m_bClearBookkeepingData = false;
|
m_bClearBookkeepingData = false;
|
||||||
m_bClearMachineStats = false;
|
m_bClearMachineStats = false;
|
||||||
@@ -118,6 +122,14 @@ bool GameCommand::DescribesCurrentMode( PlayerNumber pn ) const
|
|||||||
return false;
|
return false;
|
||||||
if( m_SortOrder != SORT_INVALID && GAMESTATE->m_PreferredSortOrder != m_SortOrder )
|
if( m_SortOrder != SORT_INVALID && GAMESTATE->m_PreferredSortOrder != m_SortOrder )
|
||||||
return false;
|
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;
|
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" )
|
else if( sName == "unlock" )
|
||||||
{
|
{
|
||||||
m_iUnlockIndex = atoi( sValue );
|
m_iUnlockIndex = atoi( sValue );
|
||||||
@@ -600,6 +632,15 @@ void GameCommand::Apply( const vector<PlayerNumber> &vpns ) const
|
|||||||
UNLOCKMAN->UnlockCode( m_iUnlockIndex );
|
UNLOCKMAN->UnlockCode( m_iUnlockIndex );
|
||||||
if( m_sSoundPath != "" )
|
if( m_sSoundPath != "" )
|
||||||
SOUND->PlayOnce( THEME->GetPathToS( 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
|
/* 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. */
|
* stop music between preparing screens and loading screens. */
|
||||||
@@ -739,7 +780,11 @@ bool GameCommand::IsZero() const
|
|||||||
m_pCharacter != NULL ||
|
m_pCharacter != NULL ||
|
||||||
m_CourseDifficulty != DIFFICULTY_INVALID ||
|
m_CourseDifficulty != DIFFICULTY_INVALID ||
|
||||||
!m_sSongGroup.empty() ||
|
!m_sSongGroup.empty() ||
|
||||||
m_SortOrder != SORT_INVALID
|
m_SortOrder != SORT_INVALID ||
|
||||||
|
m_iWeightPounds != -1 ||
|
||||||
|
m_iAddToAllCourseEntryMeters != -1 ||
|
||||||
|
m_iStopCourseAtSeconds != -1 ||
|
||||||
|
m_bAutoAdjustMeterDuringCorse
|
||||||
)
|
)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ public:
|
|||||||
CString m_sSoundPath; // "" for no sound
|
CString m_sSoundPath; // "" for no sound
|
||||||
vector<CString> m_vsScreensToPrepare;
|
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_bClearBookkeepingData;
|
||||||
bool m_bClearMachineStats;
|
bool m_bClearMachineStats;
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ GameState::GameState()
|
|||||||
m_pPlayerState[p]->m_PlayerNumber = p;
|
m_pPlayerState[p]->m_PlayerNumber = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Don't reset yet; let the first screen do it, so we can
|
/* Don't reset yet; let the first screen do it, so we can
|
||||||
* use PREFSMAN and THEME. */
|
* use PREFSMAN and THEME. */
|
||||||
// Reset();
|
// Reset();
|
||||||
@@ -194,6 +195,10 @@ void GameState::Reset()
|
|||||||
ASSERT( m_pCurCharacters[p] );
|
ASSERT( m_pCurCharacters[p] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_iAddToAllCourseEntryMeters = 0;
|
||||||
|
m_iStopCourseAtSeconds = -1;
|
||||||
|
m_bAutoAdjustMeterDuringCorse = false;
|
||||||
|
|
||||||
LIGHTSMAN->SetLightsMode( LIGHTSMODE_ATTRACT );
|
LIGHTSMAN->SetLightsMode( LIGHTSMODE_ATTRACT );
|
||||||
|
|
||||||
ApplyCmdline();
|
ApplyCmdline();
|
||||||
|
|||||||
@@ -265,6 +265,13 @@ public:
|
|||||||
// PlayerState
|
// PlayerState
|
||||||
//
|
//
|
||||||
PlayerState* m_pPlayerState[NUM_PLAYERS];
|
PlayerState* m_pPlayerState[NUM_PLAYERS];
|
||||||
|
|
||||||
|
//
|
||||||
|
// Workout stuff
|
||||||
|
//
|
||||||
|
int m_iAddToAllCourseEntryMeters; // 0 == no change
|
||||||
|
int m_iStopCourseAtSeconds; // -1 == don't stop early
|
||||||
|
bool m_bAutoAdjustMeterDuringCorse;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ struct PlayerState
|
|||||||
|
|
||||||
for( int i=0; i<NUM_INVENTORY_SLOTS; i++ )
|
for( int i=0; i<NUM_INVENTORY_SLOTS; i++ )
|
||||||
m_Inventory[i].MakeBlank();
|
m_Inventory[i].MakeBlank();
|
||||||
|
|
||||||
|
m_iWeightPounds = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -89,6 +91,11 @@ struct PlayerState
|
|||||||
// Used in Battle
|
// Used in Battle
|
||||||
//
|
//
|
||||||
Attack m_Inventory[NUM_INVENTORY_SLOTS];
|
Attack m_Inventory[NUM_INVENTORY_SLOTS];
|
||||||
|
|
||||||
|
//
|
||||||
|
// Used in Workout
|
||||||
|
//
|
||||||
|
int m_iWeightPounds; // -1 == no weight set
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user