Add StepsTypeInfo and return the structure rather than having GameManager methods for each piece of data

This commit is contained in:
Chris Danford
2008-03-24 04:39:24 +00:00
parent 36c553b0a3
commit 077a1a3b85
18 changed files with 93 additions and 98 deletions
+3 -3
View File
@@ -83,7 +83,7 @@ void CatalogXml::Save( LoadingWindow *loading_window )
FOREACH_CONST( StepsType, vStepsTypesToShow, st ) FOREACH_CONST( StepsType, vStepsTypesToShow, st )
{ {
XNode* p3 = p2->AppendChild( "StepsType" ); XNode* p3 = p2->AppendChild( "StepsType" );
p3->AppendAttr( "StepsType", GAMEMAN->StepsTypeToString(*st) ); p3->AppendAttr( "StepsType", GAMEMAN->GetStepsTypeInfo(*st).szName );
int iNumStepsInGroupAndStepsType[NUM_Difficulty]; int iNumStepsInGroupAndStepsType[NUM_Difficulty];
ZERO( iNumStepsInGroupAndStepsType ); ZERO( iNumStepsInGroupAndStepsType );
@@ -297,8 +297,8 @@ void CatalogXml::Save( LoadingWindow *loading_window )
XNode* pNode2 = pNode->AppendChild( "StepsType" ); XNode* pNode2 = pNode->AppendChild( "StepsType" );
FOREACH_CONST( StepsType, vStepsTypesToShow, iter ) FOREACH_CONST( StepsType, vStepsTypesToShow, iter )
{ {
XNode* pNode3 = pNode2->AppendChild( "StepsType", GAMEMAN->StepsTypeToString(*iter) ); XNode* pNode3 = pNode2->AppendChild( "StepsType", GAMEMAN->GetStepsTypeInfo(*iter).szName );
pNode3->AppendAttr( "DisplayAs", GAMEMAN->StepsTypeToLocalizedString(*iter) ); pNode3->AppendAttr( "DisplayAs", GAMEMAN->GetStepsTypeInfo(*iter).GetLocalizedString() );
} }
} }
+3 -3
View File
@@ -387,7 +387,7 @@ void EditMenu::OnRowValueChanged( EditMenuRow row )
// fall through // fall through
case ROW_STEPS_TYPE: case ROW_STEPS_TYPE:
m_textValue[ROW_STEPS_TYPE].SetText( GAMEMAN->StepsTypeToLocalizedString(GetSelectedStepsType()) ); m_textValue[ROW_STEPS_TYPE].SetText( GAMEMAN->GetStepsTypeInfo(GetSelectedStepsType()).GetLocalizedString() );
{ {
Difficulty dcOld = Difficulty_Invalid; Difficulty dcOld = Difficulty_Invalid;
@@ -476,7 +476,7 @@ void EditMenu::OnRowValueChanged( EditMenuRow row )
// fall through // fall through
case ROW_STEPS: case ROW_STEPS:
{ {
RString s = DifficultyToLocalizedString(GetSelectedDifficulty()); RString s = DifficultyToLocalizedString( GetSelectedDifficulty() );
// UGLY. "Edit" -> "New Edit" // UGLY. "Edit" -> "New Edit"
switch( EDIT_MODE.GetValue() ) switch( EDIT_MODE.GetValue() )
@@ -501,7 +501,7 @@ void EditMenu::OnRowValueChanged( EditMenuRow row )
case ROW_SOURCE_STEPS_TYPE: case ROW_SOURCE_STEPS_TYPE:
m_textLabel[ROW_SOURCE_STEPS_TYPE].SetVisible( GetSelectedSteps() ? false : true ); m_textLabel[ROW_SOURCE_STEPS_TYPE].SetVisible( GetSelectedSteps() ? false : true );
m_textValue[ROW_SOURCE_STEPS_TYPE].SetVisible( GetSelectedSteps() ? false : true ); m_textValue[ROW_SOURCE_STEPS_TYPE].SetVisible( GetSelectedSteps() ? false : true );
m_textValue[ROW_SOURCE_STEPS_TYPE].SetText( GAMEMAN->StepsTypeToLocalizedString(GetSelectedSourceStepsType()) ); m_textValue[ROW_SOURCE_STEPS_TYPE].SetText( GAMEMAN->GetStepsTypeInfo(GetSelectedSourceStepsType()).GetLocalizedString() );
m_vpSourceSteps.clear(); m_vpSourceSteps.clear();
m_vpSourceSteps.push_back( StepsAndDifficulty(NULL,Difficulty_Invalid) ); // "blank" m_vpSourceSteps.push_back( StepsAndDifficulty(NULL,Difficulty_Invalid) ); // "blank"
+1 -1
View File
@@ -45,7 +45,7 @@ LuaXType( RadarCategory );
RString StepsTypeToString( StepsType st ) RString StepsTypeToString( StepsType st )
{ {
RString s = GAMEMAN->StepsTypeToString( st ); RString s = GAMEMAN->GetStepsTypeInfo( st ).szName;
/* foo-bar -> Foo_Bar */ /* foo-bar -> Foo_Bar */
s.Replace('-','_'); s.Replace('-','_');
for( size_t i = 0; i < s.size(); ++i ) for( size_t i = 0; i < s.size(); ++i )
+9
View File
@@ -43,6 +43,15 @@ const RString& RadarCategoryToLocalizedString( RadarCategory cat );
LuaDeclareType( RadarCategory ); LuaDeclareType( RadarCategory );
enum StepsTypeCategory
{
StepsTypeCategory_Single,
StepsTypeCategory_Double,
StepsTypeCategory_Couple,
StepsTypeCategory_Routine,
};
enum StepsType enum StepsType
{ {
STEPS_TYPE_DANCE_SINGLE = 0, STEPS_TYPE_DANCE_SINGLE = 0,
+42 -63
View File
@@ -35,44 +35,44 @@ enum
// BMS reader needs 16 tracks for beat-double7 // BMS reader needs 16 tracks for beat-double7
}; };
RString StepsTypeInfo::GetLocalizedString() const
static struct
{ {
const char *szName; if( THEME->HasString( "StepsType", szName ) )
int iNumTracks; return THEME->GetString( "StepsType", szName );
bool bAllowAutogen; return szName;
} const g_StepsTypes[NUM_StepsType] = { }
{ "dance-single", 4, true },
{ "dance-double", 8, true }, static const StepsTypeInfo g_StepsTypeInfos[NUM_StepsType] = {
{ "dance-couple", 8, true }, { "dance-single", 4, true, StepsTypeCategory_Single },
{ "dance-solo", 6, true }, { "dance-double", 8, true, StepsTypeCategory_Double },
{ "dance-routine", 8, false }, { "dance-couple", 8, true, StepsTypeCategory_Couple },
{ "pump-single", 5, true }, { "dance-solo", 6, true, StepsTypeCategory_Single },
{ "pump-halfdouble", 6, true }, { "dance-routine", 8, false, StepsTypeCategory_Routine },
{ "pump-double", 10, true }, { "pump-single", 5, true, StepsTypeCategory_Single },
{ "pump-couple", 10, true }, { "pump-halfdouble", 6, true, StepsTypeCategory_Double },
{ "ez2-single", 5, true }, // Single: TL,LHH,D,RHH,TR { "pump-double", 10, true, StepsTypeCategory_Double },
{ "ez2-double", 10, true }, // Double: Single x2 { "pump-couple", 10, true, StepsTypeCategory_Couple },
{ "ez2-real", 7, true }, // Real: TL,LHH,LHL,D,RHL,RHH,TR { "ez2-single", 5, true, StepsTypeCategory_Single }, // Single: TL,LHH,D,RHH,TR
{ "para-single", 5, true }, { "ez2-double", 10, true, StepsTypeCategory_Double }, // Double: Single x2
{ "para-versus", 10, true }, { "ez2-real", 7, true, StepsTypeCategory_Single }, // Real: TL,LHH,LHL,D,RHL,RHH,TR
{ "ds3ddx-single", 8, true }, { "para-single", 5, true, StepsTypeCategory_Single },
{ "bm-single5", 6, true }, // called "bm" for backward compat { "ds3ddx-single", 8, true, StepsTypeCategory_Single },
{ "bm-double5", 12, true }, // called "bm" for backward compat { "bm-single5", 6, true, StepsTypeCategory_Single }, // called "bm" for backward compat
{ "bm-single7", 8, true }, // called "bm" for backward compat { "bm-double5", 12, true, StepsTypeCategory_Double }, // called "bm" for backward compat
{ "bm-double7", 16, true }, // called "bm" for backward compat { "bm-single7", 8, true, StepsTypeCategory_Single }, // called "bm" for backward compat
{ "maniax-single", 4, true }, { "bm-double7", 16, true, StepsTypeCategory_Double }, // called "bm" for backward compat
{ "maniax-double", 8, true }, { "maniax-single", 4, true, StepsTypeCategory_Single },
{ "techno-single4", 4, true }, { "maniax-double", 8, true, StepsTypeCategory_Double },
{ "techno-single5", 5, true }, { "techno-single4", 4, true, StepsTypeCategory_Single },
{ "techno-single8", 8, true }, { "techno-single5", 5, true, StepsTypeCategory_Single },
{ "techno-double4", 8, true }, { "techno-single8", 8, true, StepsTypeCategory_Single },
{ "techno-double5", 10, true }, { "techno-double4", 8, true, StepsTypeCategory_Double },
{ "pnm-five", 5, true }, // called "pnm" for backward compat { "techno-double5", 10, true, StepsTypeCategory_Double },
{ "pnm-nine", 9, true }, // called "pnm" for backward compat { "pnm-five", 5, true, StepsTypeCategory_Single }, // called "pnm" for backward compat
{ "guitar-five", 5, true }, { "pnm-nine", 9, true, StepsTypeCategory_Single }, // called "pnm" for backward compat
{ "karaoke", 1, false }, { "guitar-five", 5, true, StepsTypeCategory_Single }, // 5 frets, no wail
{ "lights-cabinet", NUM_CabinetLight, false }, // XXX disable lights autogen for now { "karaoke", 1, false, StepsTypeCategory_Single },
{ "lights-cabinet", NUM_CabinetLight, false, StepsTypeCategory_Single }, // XXX disable lights autogen for now
}; };
@@ -2596,7 +2596,7 @@ const Style *GameManager::GetFirstCompatibleStyle( const Game *pGame, int iNumPl
if( (*s)->m_StepsType == st ) if( (*s)->m_StepsType == st )
return *s; return *s;
FAIL_M( ssprintf("No compatible styles for %s - %s with %d player%s.", pGame->m_szName, FAIL_M( ssprintf("No compatible styles for %s - %s with %d player%s.", pGame->m_szName,
StepsTypeToString(st).c_str(), iNumPlayers, iNumPlayers==1?"":"s") ); GetStepsTypeInfo(st).szName, iNumPlayers, iNumPlayers==1?"":"s") );
return NULL; return NULL;
} }
@@ -2652,16 +2652,10 @@ bool GameManager::IsGameEnabled( const Game *pGame ) const
return NOTESKIN->DoNoteSkinsExistForGame( pGame ); return NOTESKIN->DoNoteSkinsExistForGame( pGame );
} }
int GameManager::StepsTypeToNumTracks( StepsType st ) const StepsTypeInfo &GameManager::GetStepsTypeInfo( StepsType st ) const
{ {
ASSERT_M( st < NUM_StepsType, ssprintf("%i", st) ); ASSERT_M( st < NUM_StepsType, ssprintf("%i", st) );
return g_StepsTypes[st].iNumTracks; return g_StepsTypeInfos[st];
}
bool GameManager::CanAutoGenStepsType( StepsType st )
{
ASSERT_M( st < NUM_StepsType, ssprintf("%d", st) );
return g_StepsTypes[st].bAllowAutogen;
} }
StepsType GameManager::StringToStepsType( RString sStepsType ) StepsType GameManager::StringToStepsType( RString sStepsType )
@@ -2679,27 +2673,12 @@ StepsType GameManager::StringToStepsType( RString sStepsType )
sStepsType = "para-single"; sStepsType = "para-single";
for( int i=0; i<NUM_StepsType; i++ ) for( int i=0; i<NUM_StepsType; i++ )
if( g_StepsTypes[i].szName == sStepsType ) if( g_StepsTypeInfos[i].szName == sStepsType )
return StepsType(i); return StepsType(i);
return StepsType_Invalid; return StepsType_Invalid;
} }
RString GameManager::StepsTypeToString( StepsType st )
{
ASSERT_M( st < NUM_StepsType, ssprintf("%i", st) );
return g_StepsTypes[st].szName;
}
RString GameManager::StepsTypeToLocalizedString( StepsType st )
{
RString s = StepsTypeToString( st );
if( THEME->HasString( "StepsType", s ) )
return THEME->GetString( "StepsType", s );
else
return s;
}
RString GameManager::StyleToLocalizedString( const Style* style ) RString GameManager::StyleToLocalizedString( const Style* style )
{ {
RString s = style->m_szName; RString s = style->m_szName;
@@ -2738,7 +2717,7 @@ const Style* GameManager::GameAndStringToStyle( const Game *game, RString sStyle
class LunaGameManager: public Luna<GameManager> class LunaGameManager: public Luna<GameManager>
{ {
public: public:
static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString(Enum::Check<StepsType>(L, 1)) ); return 1; } static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->GetStepsTypeInfo(Enum::Check<StepsType>(L, 1)).GetLocalizedString() ); return 1; }
static int GetFirstStepsTypeForGame( T* p, lua_State *L ) static int GetFirstStepsTypeForGame( T* p, lua_State *L )
{ {
Game *pGame = Luna<Game>::check( L, 1 ); Game *pGame = Luna<Game>::check( L, 1 );
+10 -4
View File
@@ -10,6 +10,15 @@ struct lua_State;
#include "GameConstantsAndTypes.h" #include "GameConstantsAndTypes.h"
#include "GameInput.h" #include "GameInput.h"
struct StepsTypeInfo
{
const char *szName;
int iNumTracks;
bool bAllowAutogen; // allow this type to be autogen'd to other types
StepsTypeCategory m_StepsTypeCategory; // what is the most basic StyleType this is used with?
RString GetLocalizedString() const;
};
class GameManager class GameManager
{ {
public: public:
@@ -31,11 +40,8 @@ public:
int GetIndexFromGame( const Game* pGame ) const; int GetIndexFromGame( const Game* pGame ) const;
const Game* GetGameFromIndex( int index ) const; const Game* GetGameFromIndex( int index ) const;
static int StepsTypeToNumTracks( StepsType st ); const StepsTypeInfo &GetStepsTypeInfo( StepsType st ) const;
static bool CanAutoGenStepsType( StepsType st );
static StepsType StringToStepsType( RString sStepsType ); static StepsType StringToStepsType( RString sStepsType );
static RString StepsTypeToString( StepsType st );
static RString StepsTypeToLocalizedString( StepsType st );
static const Game* StringToGameType( RString sGameType ); static const Game* StringToGameType( RString sGameType );
const Style* GameAndStringToStyle( const Game* pGame, RString sStyle ); const Style* GameAndStringToStyle( const Game* pGame, RString sStyle );
static RString StyleToLocalizedString( const Style* s ); static RString StyleToLocalizedString( const Style* s );
+1 -1
View File
@@ -613,7 +613,7 @@ static bool LoadFromBMSFile( const RString &sPath, const NameToData_t &mapNameTo
} }
int iNumNewTracks = GameManager::StepsTypeToNumTracks( out.m_StepsType ); int iNumNewTracks = GAMEMAN->GetStepsTypeInfo( out.m_StepsType ).iNumTracks;
vector<int> iTransformNewToOld; vector<int> iTransformNewToOld;
iTransformNewToOld.resize( iNumNewTracks, -1 ); iTransformNewToOld.resize( iNumNewTracks, -1 );
+2 -2
View File
@@ -190,9 +190,9 @@ static RString GetSMNotesTag( const Song &song, const Steps &in, bool bSavingCac
lines.push_back( "" ); lines.push_back( "" );
// Escape to prevent some clown from making a comment of "\r\n;" // Escape to prevent some clown from making a comment of "\r\n;"
lines.push_back( ssprintf("//---------------%s - %s----------------", lines.push_back( ssprintf("//---------------%s - %s----------------",
GameManager::StepsTypeToString(in.m_StepsType).c_str(), SmEscape(in.GetDescription()).c_str()) ); GAMEMAN->GetStepsTypeInfo(in.m_StepsType).szName, SmEscape(in.GetDescription()).c_str()) );
lines.push_back( song.m_vsKeysoundFile.empty() ? "#NOTES:" : "#NOTES2:" ); lines.push_back( song.m_vsKeysoundFile.empty() ? "#NOTES:" : "#NOTES2:" );
lines.push_back( ssprintf( " %s:", GameManager::StepsTypeToString(in.m_StepsType).c_str() ) ); lines.push_back( ssprintf( " %s:", GAMEMAN->GetStepsTypeInfo(in.m_StepsType).szName ) );
lines.push_back( ssprintf( " %s:", SmEscape(in.GetDescription()).c_str() ) ); lines.push_back( ssprintf( " %s:", SmEscape(in.GetDescription()).c_str() ) );
lines.push_back( ssprintf( " %s:", DifficultyToString(in.GetDifficulty()).c_str() ) ); lines.push_back( ssprintf( " %s:", DifficultyToString(in.GetDifficulty()).c_str() ) );
lines.push_back( ssprintf( " %d:", in.GetMeter() ) ); lines.push_back( ssprintf( " %d:", in.GetMeter() ) );
+1 -1
View File
@@ -1197,7 +1197,7 @@ public:
m_Def.m_vsChoices.clear(); m_Def.m_vsChoices.clear();
FOREACH_CONST( StepsType, m_vStepsTypesToShow, st ) FOREACH_CONST( StepsType, m_vStepsTypesToShow, st )
{ {
RString s = GAMEMAN->StepsTypeToLocalizedString( *st ); RString s = GAMEMAN->GetStepsTypeInfo( *st ).GetLocalizedString();
m_Def.m_vsChoices.push_back( s ); m_Def.m_vsChoices.push_back( s );
} }
+2 -2
View File
@@ -1066,7 +1066,7 @@ XNode* Profile::SaveGeneralDataCreateNode() const
pGeneralDataNode->AppendChild( "LastDifficulty", DifficultyToString(m_LastDifficulty) ); pGeneralDataNode->AppendChild( "LastDifficulty", DifficultyToString(m_LastDifficulty) );
pGeneralDataNode->AppendChild( "LastCourseDifficulty", DifficultyToString(m_LastCourseDifficulty) ); pGeneralDataNode->AppendChild( "LastCourseDifficulty", DifficultyToString(m_LastCourseDifficulty) );
if( m_LastStepsType != StepsType_Invalid ) if( m_LastStepsType != StepsType_Invalid )
pGeneralDataNode->AppendChild( "LastStepsType", GAMEMAN->StepsTypeToString(m_LastStepsType) ); pGeneralDataNode->AppendChild( "LastStepsType", GAMEMAN->GetStepsTypeInfo(m_LastStepsType).szName );
pGeneralDataNode->AppendChild( m_lastSong.CreateNode() ); pGeneralDataNode->AppendChild( m_lastSong.CreateNode() );
pGeneralDataNode->AppendChild( m_lastCourse.CreateNode() ); pGeneralDataNode->AppendChild( m_lastCourse.CreateNode() );
pGeneralDataNode->AppendChild( "TotalPlays", m_iTotalPlays ); pGeneralDataNode->AppendChild( "TotalPlays", m_iTotalPlays );
@@ -1577,7 +1577,7 @@ XNode* Profile::SaveCategoryScoresCreateNode() const
continue; continue;
XNode* pStepsTypeNode = pNode->AppendChild( "StepsType" ); XNode* pStepsTypeNode = pNode->AppendChild( "StepsType" );
pStepsTypeNode->AppendAttr( "Type", GameManager::StepsTypeToString(st) ); pStepsTypeNode->AppendAttr( "Type", GAMEMAN->GetStepsTypeInfo(st).szName );
FOREACH_ENUM( RankingCategory,rc ) FOREACH_ENUM( RankingCategory,rc )
{ {
+1 -1
View File
@@ -1494,7 +1494,7 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
RString s = ssprintf( RString s = ssprintf(
SWITCHED_TO.GetValue() + " %s %s '%s' (%d of %d)", SWITCHED_TO.GetValue() + " %s %s '%s' (%d of %d)",
GAMEMAN->StepsTypeToString( pSteps->m_StepsType ).c_str(), GAMEMAN->GetStepsTypeInfo( pSteps->m_StepsType ).szName,
DifficultyToString( pSteps->GetDifficulty() ).c_str(), DifficultyToString( pSteps->GetDifficulty() ).c_str(),
pSteps->GetDescription().c_str(), pSteps->GetDescription().c_str(),
it - vSteps.begin() + 1, it - vSteps.begin() + 1,
+1 -2
View File
@@ -60,8 +60,7 @@ static void SetNextCombination()
GAMESTATE->m_stEdit.Set( curVal.st ); GAMESTATE->m_stEdit.Set( curVal.st );
GAMESTATE->m_cdEdit.Set( curVal.cd ); GAMESTATE->m_cdEdit.Set( curVal.cd );
// XXX Testing. // XXX Testing.
SCREENMAN->SystemMessage( ssprintf("%s, %s", GAMEMAN->StepsTypeToString(curVal.st).c_str(), SCREENMAN->SystemMessage( ssprintf("%s, %s", GAMEMAN->GetStepsTypeInfo(curVal.st).szName, DifficultyToString(curVal.cd).c_str()) );
DifficultyToString(curVal.cd).c_str()) );
RefreshTrail(); RefreshTrail();
} }
@@ -92,7 +92,8 @@ void ScreenOptionsManageEditSteps::BeginScreen()
def.m_bAllowThemeTitle = false; // not themable def.m_bAllowThemeTitle = false; // not themable
def.m_sExplanationName = "Select Edit Steps"; def.m_sExplanationName = "Select Edit Steps";
def.m_vsChoices.clear(); def.m_vsChoices.clear();
RString sType = GAMEMAN->StepsTypeToLocalizedString( (*s)->m_StepsType ); StepsType st = (*s)->m_StepsType;
RString sType = GAMEMAN->GetStepsTypeInfo(st).GetLocalizedString();
def.m_vsChoices.push_back( sType ); def.m_vsChoices.push_back( sType );
def.m_bAllowThemeItems = false; // already themed def.m_bAllowThemeItems = false; // already themed
iIndex++; iIndex++;
+2 -1
View File
@@ -185,7 +185,8 @@ float ScreenRanking::SetPage( const PageToShow &pts )
// //
// init page // init page
// //
m_textStepsType.SetText( GameManager::StepsTypeToLocalizedString(pts.aTypes.front().second) ); StepsType st = pts.aTypes.front().second;
m_textStepsType.SetText( GAMEMAN->GetStepsTypeInfo(st).GetLocalizedString() );
return 0; return 0;
} }
+3 -3
View File
@@ -917,11 +917,11 @@ void Song::AddAutoGenNotes()
/* If m_bAutogenSteps is disabled, only autogen lights. */ /* If m_bAutogenSteps is disabled, only autogen lights. */
if( !PREFSMAN->m_bAutogenSteps && stMissing != STEPS_TYPE_LIGHTS_CABINET ) if( !PREFSMAN->m_bAutogenSteps && stMissing != STEPS_TYPE_LIGHTS_CABINET )
continue; continue;
if( !GameManager::CanAutoGenStepsType(stMissing) ) if( !GAMEMAN->GetStepsTypeInfo(stMissing).bAllowAutogen )
continue; continue;
// missing Steps of this type // missing Steps of this type
int iNumTracksOfMissing = GAMEMAN->StepsTypeToNumTracks(stMissing); int iNumTracksOfMissing = GAMEMAN->GetStepsTypeInfo(stMissing).iNumTracks;
// look for closest match // look for closest match
StepsType stBestMatch = StepsType_Invalid; StepsType stBestMatch = StepsType_Invalid;
@@ -933,7 +933,7 @@ void Song::AddAutoGenNotes()
continue; continue;
/* has (non-autogen) Steps of this type */ /* has (non-autogen) Steps of this type */
const int iNumTracks = GAMEMAN->StepsTypeToNumTracks(st); const int iNumTracks = GAMEMAN->GetStepsTypeInfo(st).iNumTracks;
const int iTrackDifference = abs(iNumTracks-iNumTracksOfMissing); const int iTrackDifference = abs(iNumTracks-iNumTracksOfMissing);
if( iTrackDifference < iBestTrackDifference ) if( iTrackDifference < iBestTrackDifference )
{ {
+6 -6
View File
@@ -63,7 +63,7 @@ unsigned Steps::GetHash() const
void Steps::SetNoteData( const NoteData& noteDataNew ) void Steps::SetNoteData( const NoteData& noteDataNew )
{ {
ASSERT( noteDataNew.GetNumTracks() == GameManager::StepsTypeToNumTracks(m_StepsType) ); ASSERT( noteDataNew.GetNumTracks() == GAMEMAN->GetStepsTypeInfo(m_StepsType).iNumTracks );
DeAutogen( false ); DeAutogen( false );
@@ -86,7 +86,7 @@ void Steps::GetNoteData( NoteData& noteDataOut ) const
else else
{ {
noteDataOut.ClearAll(); noteDataOut.ClearAll();
noteDataOut.SetNumTracks( GameManager::StepsTypeToNumTracks(m_StepsType) ); noteDataOut.SetNumTracks( GAMEMAN->GetStepsTypeInfo(m_StepsType).iNumTracks );
} }
} }
@@ -214,7 +214,7 @@ void Steps::Decompress() const
m_bNoteDataIsFilled = true; m_bNoteDataIsFilled = true;
int iNewTracks = GameManager::StepsTypeToNumTracks( m_StepsType ); int iNewTracks = GAMEMAN->GetStepsTypeInfo(m_StepsType).iNumTracks;
if( this->m_StepsType == STEPS_TYPE_LIGHTS_CABINET ) if( this->m_StepsType == STEPS_TYPE_LIGHTS_CABINET )
{ {
@@ -267,7 +267,7 @@ void Steps::Decompress() const
// load from compressed // load from compressed
bool bComposite = m_StepsType == STEPS_TYPE_DANCE_ROUTINE; bool bComposite = m_StepsType == STEPS_TYPE_DANCE_ROUTINE;
m_bNoteDataIsFilled = true; m_bNoteDataIsFilled = true;
m_pNoteData->SetNumTracks( GameManager::StepsTypeToNumTracks(m_StepsType) ); m_pNoteData->SetNumTracks( GAMEMAN->GetStepsTypeInfo(m_StepsType).iNumTracks );
NoteDataUtil::LoadFromSMNoteDataString( *m_pNoteData, m_sNoteDataCompressed, bComposite ); NoteDataUtil::LoadFromSMNoteDataString( *m_pNoteData, m_sNoteDataCompressed, bComposite );
} }
@@ -352,7 +352,7 @@ void Steps::CopyFrom( Steps* pSource, StepsType ntTo, float fMusicLengthSeconds
m_StepsType = ntTo; m_StepsType = ntTo;
NoteData noteData; NoteData noteData;
pSource->GetNoteData( noteData ); pSource->GetNoteData( noteData );
noteData.SetNumTracks( GameManager::StepsTypeToNumTracks(ntTo) ); noteData.SetNumTracks( GAMEMAN->GetStepsTypeInfo(ntTo).iNumTracks );
parent = NULL; parent = NULL;
this->SetNoteData( noteData ); this->SetNoteData( noteData );
this->SetDescription( pSource->GetDescription() ); this->SetDescription( pSource->GetDescription() );
@@ -365,7 +365,7 @@ void Steps::CreateBlank( StepsType ntTo )
{ {
m_StepsType = ntTo; m_StepsType = ntTo;
NoteData noteData; NoteData noteData;
noteData.SetNumTracks( GameManager::StepsTypeToNumTracks(ntTo) ); noteData.SetNumTracks( GAMEMAN->GetStepsTypeInfo(ntTo).iNumTracks );
this->SetNoteData( noteData ); this->SetNoteData( noteData );
} }
+2 -2
View File
@@ -280,7 +280,7 @@ XNode* StepsID::CreateNode() const
{ {
XNode* pNode = new XNode( "Steps" ); XNode* pNode = new XNode( "Steps" );
pNode->AppendAttr( "StepsType", GameManager::StepsTypeToString(st) ); pNode->AppendAttr( "StepsType", GAMEMAN->GetStepsTypeInfo(st).szName );
pNode->AppendAttr( "Difficulty", DifficultyToString(dc) ); pNode->AppendAttr( "Difficulty", DifficultyToString(dc) );
if( dc == Difficulty_Edit ) if( dc == Difficulty_Edit )
{ {
@@ -319,7 +319,7 @@ void StepsID::LoadFromNode( const XNode* pNode )
RString StepsID::ToString() const RString StepsID::ToString() const
{ {
RString s = GameManager::StepsTypeToString( st ); RString s = GAMEMAN->GetStepsTypeInfo( st ).szName;
s += " " + DifficultyToString( dc ); s += " " + DifficultyToString( dc );
if( dc == Difficulty_Edit ) if( dc == Difficulty_Edit )
{ {
+2 -2
View File
@@ -43,7 +43,7 @@ XNode* TrailID::CreateNode() const
{ {
XNode* pNode = new XNode( "Trail" ); XNode* pNode = new XNode( "Trail" );
pNode->AppendAttr( "StepsType", GameManager::StepsTypeToString(st) ); pNode->AppendAttr( "StepsType", GAMEMAN->GetStepsTypeInfo(st).szName );
pNode->AppendAttr( "CourseDifficulty", DifficultyToString(cd) ); pNode->AppendAttr( "CourseDifficulty", DifficultyToString(cd) );
return pNode; return pNode;
@@ -65,7 +65,7 @@ void TrailID::LoadFromNode( const XNode* pNode )
RString TrailID::ToString() const RString TrailID::ToString() const
{ {
RString s = GameManager::StepsTypeToString( st ); RString s = GAMEMAN->GetStepsTypeInfo(st).szName;
s += " " + DifficultyToString( cd ); s += " " + DifficultyToString( cd );
return s; return s;
} }