cleanup: Remove Style and use StyleDef everywhere. This gets rid of a lot of Style->StyleDef lookups and discourages code that's specific to a Style. All game logic should be data-driven.
This commit is contained in:
@@ -419,11 +419,9 @@ bool ArrowsNeedZBuffer( PlayerNumber pn )
|
||||
|
||||
float ArrowGetZoom( PlayerNumber pn )
|
||||
{
|
||||
/* Hack: make STYLE_TECHNO_VERSUS8 fit. */
|
||||
if( GAMESTATE->m_CurGame == GAME_TECHNO &&
|
||||
( GAMESTATE->m_CurStyle == STYLE_TECHNO_VERSUS8
|
||||
|| GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE
|
||||
|| GAMESTATE->m_PlayMode == PLAY_MODE_RAVE ) )
|
||||
// FIXME: Move the zoom values into StyleDef
|
||||
if( GAMESTATE->m_pCurStyleDef->m_bNeedsZoomOutWith2Players &&
|
||||
(GAMESTATE->GetNumSidesJoined()==2 || GAMESTATE->AnyPlayersAreCpu()) )
|
||||
return 0.6f;
|
||||
return 1.0f;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "RageDisplay.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "Steps.h"
|
||||
#include "StyleDef.h"
|
||||
|
||||
// "PLAYER_X" offsets are relative to the pad.. ex: Setting this to 10, and the HELPER to 300, will put the dancer at 310
|
||||
#define PLAYER_X( px ) THEME->GetMetricF("BeginnerHelper",ssprintf("Player%d_X",px+1))
|
||||
@@ -109,17 +110,7 @@ bool BeginnerHelper::CanUse()
|
||||
if(!DoesFileExist(GetAnimPath((Animation)i)))
|
||||
return false;
|
||||
|
||||
if(GAMESTATE->m_CurGame != GAME_DANCE)
|
||||
return false;
|
||||
|
||||
switch( GAMESTATE->m_CurStyle )
|
||||
{
|
||||
case STYLE_DANCE_SOLO:
|
||||
case STYLE_DANCE_DOUBLE:
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return GAMESTATE->m_pCurStyleDef->m_bCanUseBeginnerHelper;
|
||||
}
|
||||
|
||||
bool BeginnerHelper::Initialize( int iDancePadType )
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#ifndef Bookkeeper_H
|
||||
#define Bookkeeper_H
|
||||
|
||||
#include "Style.h"
|
||||
#include "TimeConstants.h"
|
||||
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@ void ConditionalBGA::Load(CString szScreenName)
|
||||
split( asSplitLine[1], ",", asStyles );
|
||||
for( unsigned d=0; d<asStyles.size(); d++ )
|
||||
{
|
||||
LOG->Info("Style:%s (%d) (current: %d)",asStyles[d].c_str(),GAMEMAN->GameAndStringToStyle(GAMESTATE->m_CurGame,asStyles[d]),GAMESTATE->m_CurStyle);
|
||||
LOG->Info( "Style:%s", asStyles[d].c_str() );
|
||||
|
||||
m_bgainfo[bgano].styles.push_back(GAMEMAN->GameAndStringToStyle(GAMESTATE->m_CurGame,asStyles[d]));
|
||||
}
|
||||
@@ -489,8 +489,8 @@ void ConditionalBGA::CheckBgaRequirements(BgaCondInfo info)
|
||||
bool foundmatchingstyle=false;
|
||||
for(unsigned d=0;d<info.styles.size();d++)
|
||||
{
|
||||
LOG->Info("info.styles = %d m_CurStyle = %d",info.styles[d],GAMESTATE->m_CurStyle);
|
||||
if(info.styles[d] == GAMESTATE->m_CurStyle)
|
||||
//LOG->Info("info.styles = %d m_CurStyle = %d",info.styles[d],GAMESTATE->m_pCurStyleDef);
|
||||
if(info.styles[d] == GAMESTATE->m_pCurStyleDef)
|
||||
{
|
||||
foundmatchingstyle = true;
|
||||
LOG->Info("Found Valid Style");
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#ifndef CONDITIONALBGA_H
|
||||
#define CONDITIONALBGA_H
|
||||
|
||||
#include "Style.h"
|
||||
#include "PlayerOptions.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "BGAnimation.h"
|
||||
@@ -31,7 +30,7 @@ struct BgaCondInfo
|
||||
vector<int> songdows;
|
||||
vector<int> songmonths;
|
||||
vector<int> grades;
|
||||
vector<Style> styles;
|
||||
vector<const StyleDef*> styles;
|
||||
PlayerOptions disallowedpo;
|
||||
bool dpoused; // indicate if disallowed po has been set
|
||||
};
|
||||
|
||||
@@ -30,7 +30,7 @@ MenuInput GameDef::GameInputToMenuInput( GameInput GameI ) const
|
||||
PlayerNumber pn;
|
||||
|
||||
StyleDef::StyleType type = StyleDef::TWO_PLAYERS_TWO_CREDITS;
|
||||
if( GAMESTATE->m_CurStyle != STYLE_INVALID )
|
||||
if( GAMESTATE->GetCurrentStyleDef() )
|
||||
type = GAMESTATE->GetCurrentStyleDef()->m_StyleType;
|
||||
switch( type )
|
||||
{
|
||||
@@ -71,7 +71,7 @@ void GameDef::MenuInputToGameInput( MenuInput MenuI, GameInput GameIout[4] ) con
|
||||
|
||||
GameController controller[2];
|
||||
StyleDef::StyleType type = StyleDef::TWO_PLAYERS_TWO_CREDITS;
|
||||
if( GAMESTATE->m_CurStyle != STYLE_INVALID )
|
||||
if( GAMESTATE->GetCurrentStyleDef() )
|
||||
type = GAMESTATE->GetCurrentStyleDef()->m_StyleType;
|
||||
|
||||
int iNumSidesUsing = 1;
|
||||
|
||||
+131
-41
@@ -1184,7 +1184,7 @@ GameDef g_GameDefs[NUM_GAMES] =
|
||||
},
|
||||
};
|
||||
|
||||
StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
StyleDef g_StyleDefs[] =
|
||||
{
|
||||
{ // STYLE_DANCE_SINGLE
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1214,6 +1214,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0, 1, 2, 3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
true, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DANCE_VERSUS
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1243,6 +1245,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0, 1, 2, 3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
true, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DANCE_DOUBLE
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1280,6 +1284,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DANCE_COUPLE
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1309,6 +1315,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
true, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DANCE_SOLO
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1342,6 +1350,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DANCE_EDIT_COUPLE
|
||||
GAME_DANCE, // m_Game
|
||||
@@ -1379,6 +1389,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
/* { // STYLE_DANCE_SOLO_VERSUS
|
||||
"dance-solo-versus", // m_szName
|
||||
@@ -1407,6 +1419,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,5,1,4,2,3 // outside in
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
}, */
|
||||
{ // STYLE_PUMP_SINGLE
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1438,6 +1452,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,2,4,1,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PUMP_VERSUS
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1469,6 +1485,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,2,4,1,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PUMP_HALFDOUBLE
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1502,6 +1520,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,5,2,4,3,1
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PUMP_DOUBLE
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1543,6 +1563,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,2,4,1,3,5,7,9,6,8
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PUMP_COUPLE
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1574,6 +1596,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,2,4,1,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PUMP_EDIT_COUPLE
|
||||
GAME_PUMP, // m_Game
|
||||
@@ -1610,6 +1634,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,2,4,1,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_EZ2_SINGLE
|
||||
GAME_EZ2, // m_Game
|
||||
@@ -1641,6 +1667,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_EZ2_REAL
|
||||
GAME_EZ2, // m_Game
|
||||
@@ -1676,6 +1704,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_EZ2_SINGLE_VERSUS
|
||||
GAME_EZ2, // m_Game
|
||||
@@ -1707,6 +1737,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
2,0,4,1,3 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_EZ2_REAL_VERSUS
|
||||
GAME_EZ2, // m_Game
|
||||
@@ -1742,6 +1774,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
3,0,6,2,4,1,5 // This should be from back to front: Down, UpLeft, UpRight, Lower Left Hand, Lower Right Hand, Upper Left Hand, Upper Right Hand
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_EZ2_DOUBLE
|
||||
GAME_EZ2, // m_Game
|
||||
@@ -1783,6 +1817,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
2,0,4,1,3,7,5,9,6,8 // This should be from back to front: Down, UpLeft, UpRight, Upper Left Hand, Upper Right Hand
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PARA_SINGLE
|
||||
GAME_PARA, // m_Game
|
||||
@@ -1814,6 +1850,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
2,0,4,1,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_DS3DDX_SINGLE
|
||||
GAME_DS3DDX, // m_Game
|
||||
@@ -1851,6 +1889,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_BM_SINGLE
|
||||
GAME_BM, // m_Game
|
||||
@@ -1884,6 +1924,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_BM_DOUBLE
|
||||
GAME_BM, // m_Game
|
||||
@@ -1929,6 +1971,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8,9,10,11
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_SINGLE7
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -1966,6 +2010,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_DOUBLE7
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -2019,6 +2065,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_SINGLE5
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -2056,6 +2104,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_DOUBLE5
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -2109,6 +2159,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_EDIT_SINGLE5
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -2146,6 +2198,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_IIDX_EDIT_DOUBLE5
|
||||
GAME_IIDX, // m_Game
|
||||
@@ -2199,6 +2253,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_MANIAX_SINGLE
|
||||
GAME_MANIAX, // m_Game
|
||||
@@ -2228,6 +2284,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0, 1, 2, 3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_MANIAX_VERSUS
|
||||
GAME_MANIAX, // m_Game
|
||||
@@ -2257,6 +2315,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0, 1, 2, 3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_MANIAX_DOUBLE
|
||||
GAME_MANIAX, // m_Game
|
||||
@@ -2294,6 +2354,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_SINGLE4
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2323,6 +2385,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_SINGLE5
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2354,6 +2418,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_SINGLE8
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2391,6 +2457,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
true, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_VERSUS4
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2420,6 +2488,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_VERSUS5
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2451,6 +2521,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_VERSUS8
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2488,6 +2560,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
true, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_DOUBLE4
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2525,6 +2599,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_TECHNO_DOUBLE5
|
||||
GAME_TECHNO, // m_Game
|
||||
@@ -2566,6 +2642,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8,9
|
||||
},
|
||||
true, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PNM_FIVE
|
||||
GAME_PNM, // m_Game
|
||||
@@ -2597,6 +2675,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_PNM_NINE
|
||||
GAME_PNM, // m_Game
|
||||
@@ -2636,6 +2716,8 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7,8
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
{ // STYLE_LIGHTS_CABINET
|
||||
GAME_LIGHTS, // m_Game
|
||||
@@ -2673,9 +2755,12 @@ StyleDef g_StyleDefs[NUM_STYLES] =
|
||||
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
0,1,2,3,4,5,6,7
|
||||
},
|
||||
false, // m_bNeedsZoomOutWith2Players
|
||||
false, // m_bCanUseBeginnerHelper
|
||||
},
|
||||
};
|
||||
|
||||
#define NUM_STYLES ARRAYSIZE(g_StyleDefs)
|
||||
|
||||
|
||||
GameManager::GameManager()
|
||||
@@ -2692,77 +2777,83 @@ GameDef* GameManager::GetGameDefForGame( Game g )
|
||||
return &g_GameDefs[ g ];
|
||||
}
|
||||
|
||||
const StyleDef* GameManager::GetStyleDefForStyle( Style s )
|
||||
void GameManager::GetStylesForGame( Game game, vector<const StyleDef*>& aStylesAddTo, bool editor )
|
||||
{
|
||||
ASSERT( s != STYLE_INVALID ); // the style must be set before calling this
|
||||
return &g_StyleDefs[ s ];
|
||||
}
|
||||
|
||||
void GameManager::GetStylesForGame( Game game, vector<Style>& aStylesAddTo, bool editor )
|
||||
{
|
||||
for( int s=0; s<NUM_STYLES; s++ ) {
|
||||
if( g_StyleDefs[s].m_Game != game)
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
{
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_Game != game)
|
||||
continue;
|
||||
if( !editor && !g_StyleDefs[s].m_bUsedForGameplay )
|
||||
if( !editor && !style->m_bUsedForGameplay )
|
||||
continue;
|
||||
if( editor && !g_StyleDefs[s].m_bUsedForEdit )
|
||||
if( editor && !style->m_bUsedForEdit )
|
||||
continue;
|
||||
|
||||
aStylesAddTo.push_back( (Style)s );
|
||||
aStylesAddTo.push_back( style );
|
||||
}
|
||||
}
|
||||
|
||||
Style GameManager::GetEditorStyleForNotesType( StepsType st )
|
||||
const StyleDef* GameManager::GetEditorStyleForNotesType( StepsType st )
|
||||
{
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
if( g_StyleDefs[s].m_StepsType == st && g_StyleDefs[s].m_bUsedForEdit )
|
||||
return (Style)s;
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
{
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_StepsType == st && style->m_bUsedForEdit )
|
||||
return style;
|
||||
}
|
||||
|
||||
ASSERT(0); // this Game is missing a StyleDef that can be used with the editor
|
||||
return STYLE_INVALID;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void GameManager::GetNotesTypesForGame( Game game, vector<StepsType>& aNotesTypeAddTo )
|
||||
{
|
||||
for( int nt=0; nt<NUM_STEPS_TYPES; nt++ )
|
||||
FOREACH_StepsType( st )
|
||||
{
|
||||
bool found = false;
|
||||
for( int s=0; !found && s<NUM_STYLES; s++ )
|
||||
{
|
||||
if( g_StyleDefs[s].m_Game != game )
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_Game != game )
|
||||
continue;
|
||||
for( int pl = 0; !found && pl < NUM_PLAYERS; ++pl)
|
||||
{
|
||||
if( g_StyleDefs[s].m_StepsType != nt )
|
||||
if( style->m_StepsType != st )
|
||||
continue;
|
||||
|
||||
found=true;
|
||||
}
|
||||
}
|
||||
if(found)
|
||||
aNotesTypeAddTo.push_back( (StepsType)nt );
|
||||
aNotesTypeAddTo.push_back( st );
|
||||
}
|
||||
}
|
||||
|
||||
Style GameManager::GetDemonstrationStyleForGame( Game game )
|
||||
const StyleDef* GameManager::GetDemonstrationStyleForGame( Game game )
|
||||
{
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
if( g_StyleDefs[s].m_Game == game && g_StyleDefs[s].m_bUsedForDemonstration )
|
||||
return (Style)s;
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
{
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_Game == game && style->m_bUsedForDemonstration )
|
||||
return style;
|
||||
}
|
||||
|
||||
ASSERT(0); // this Game is missing a StyleDef that can be used with the demonstration
|
||||
return STYLE_INVALID;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Style GameManager::GetHowToPlayStyleForGame( Game game )
|
||||
const StyleDef* GameManager::GetHowToPlayStyleForGame( Game game )
|
||||
{
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
if( g_StyleDefs[s].m_Game == game && g_StyleDefs[s].m_bUsedForHowToPlay )
|
||||
return (Style)s;
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
{
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_Game == game && style->m_bUsedForHowToPlay )
|
||||
return style;
|
||||
}
|
||||
|
||||
ASSERT(0); // this Game is missing a StyleDef that can be used with HowToPlay
|
||||
return STYLE_INVALID;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void GameManager::GetEnabledGames( vector<Game>& aGamesOut )
|
||||
@@ -2839,9 +2930,9 @@ CString GameManager::NotesTypeToThemedString( StepsType st )
|
||||
return s;
|
||||
}
|
||||
|
||||
CString GameManager::StyleToThemedString( Style style )
|
||||
CString GameManager::StyleToThemedString( const StyleDef* style )
|
||||
{
|
||||
CString s = GetStyleDefForStyle(style)->m_szName;
|
||||
CString s = style->m_szName;
|
||||
s = Capitalize( s );
|
||||
if( THEME->HasMetric( "Style", s ) )
|
||||
return THEME->GetMetric( "Style", s );
|
||||
@@ -2859,19 +2950,18 @@ Game GameManager::StringToGameType( CString sGameType )
|
||||
}
|
||||
|
||||
|
||||
Style GameManager::GameAndStringToStyle( Game game, CString sStyle )
|
||||
const StyleDef* GameManager::GameAndStringToStyle( Game game, CString sStyle )
|
||||
{
|
||||
for( unsigned s=0; s<NUM_STYLES; s++ )
|
||||
for( int s=0; s<NUM_STYLES; s++ )
|
||||
{
|
||||
Style style = (Style)s;
|
||||
const StyleDef* pStyleDef = GetStyleDefForStyle( style );
|
||||
if( pStyleDef->m_Game != game )
|
||||
const StyleDef* style = &g_StyleDefs[s];
|
||||
if( style->m_Game != game )
|
||||
continue;
|
||||
if( sStyle.CompareNoCase(pStyleDef->m_szName) == 0 )
|
||||
if( sStyle.CompareNoCase(style->m_szName) == 0 )
|
||||
return style;
|
||||
}
|
||||
|
||||
return STYLE_INVALID;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#include "GameDef.h"
|
||||
#include "StyleDef.h"
|
||||
#include "Style.h"
|
||||
#include "Game.h"
|
||||
class IniFile;
|
||||
|
||||
@@ -17,13 +16,13 @@ public:
|
||||
~GameManager();
|
||||
|
||||
GameDef* GetGameDefForGame( Game g );
|
||||
static const StyleDef* GetStyleDefForStyle( Style s );
|
||||
|
||||
void GetStylesForGame( Game game, vector<Style>& aStylesAddTo, bool editor=false );
|
||||
|
||||
void GetStylesForGame( Game game, vector<const StyleDef*>& aStylesAddTo, bool editor=false );
|
||||
void GetAllStyles( vector<const StyleDef*>& aStylesAddTo, bool editor=false );
|
||||
void GetNotesTypesForGame( Game game, vector<StepsType>& aNotesTypeAddTo );
|
||||
Style GetEditorStyleForNotesType( StepsType st );
|
||||
Style GetDemonstrationStyleForGame( Game game );
|
||||
Style GetHowToPlayStyleForGame( Game game );
|
||||
const StyleDef* GetEditorStyleForNotesType( StepsType st );
|
||||
const StyleDef* GetDemonstrationStyleForGame( Game game );
|
||||
const StyleDef* GetHowToPlayStyleForGame( Game game );
|
||||
|
||||
void GetEnabledGames( vector<Game>& aGamesOut );
|
||||
bool IsGameEnabled( Game game );
|
||||
@@ -33,8 +32,8 @@ public:
|
||||
static CString NotesTypeToString( StepsType st );
|
||||
static CString NotesTypeToThemedString( StepsType st );
|
||||
static Game StringToGameType( CString sGameType );
|
||||
Style GameAndStringToStyle( Game game, CString sStyle );
|
||||
static CString StyleToThemedString( Style s );
|
||||
const StyleDef* GameAndStringToStyle( Game game, CString sStyle );
|
||||
static CString StyleToThemedString( const StyleDef* s );
|
||||
};
|
||||
|
||||
extern GameManager* GAMEMAN; // global and accessable from anywhere in our program
|
||||
|
||||
+13
-11
@@ -101,7 +101,7 @@ void GameState::Reset()
|
||||
ASSERT( THEME );
|
||||
|
||||
m_timeGameStarted.SetZero();
|
||||
m_CurStyle = STYLE_INVALID;
|
||||
m_pCurStyleDef = NULL;
|
||||
FOREACH_PlayerNumber( p )
|
||||
m_bSideIsJoined[p] = false;
|
||||
m_bPlayersFinalized = false;
|
||||
@@ -228,7 +228,7 @@ void CheckStageStats( const StageStats &ss, int p )
|
||||
CHECKPOINT_M( ss.pSong->GetFullTranslitTitle() );
|
||||
ASSERT( ss.pSteps[p] );
|
||||
ASSERT_M( ss.playMode < NUM_PLAY_MODES, ssprintf("playmode %i", ss.playMode) );
|
||||
ASSERT_M( ss.style < NUM_STYLES, ssprintf("style %i", ss.style) );
|
||||
ASSERT_M( ss.pStyleDef != NULL, ssprintf("style (game %d, %s)", ss.pStyleDef->m_Game, ss.pStyleDef->m_szName) );
|
||||
ASSERT_M( ss.pSteps[p]->GetDifficulty() < NUM_DIFFICULTIES, ssprintf("difficulty %i", ss.pSteps[p]->GetDifficulty()) );
|
||||
/* Meter values can exceed MAX_METER; MAX_METER is just the highest meter value we
|
||||
* display/track. */
|
||||
@@ -287,7 +287,7 @@ void AddPlayerStatsToProfile( Profile *pProfile, const StageStats &ss, PlayerNum
|
||||
const int iMeter = clamp( ss.iMeter[p], 0, MAX_METER );
|
||||
|
||||
pProfile->m_iNumSongsPlayedByPlayMode[ss.playMode]++;
|
||||
pProfile->m_iNumSongsPlayedByStyle[ss.style]++;
|
||||
pProfile->m_iNumSongsPlayedByStyle[ss.pStyleDef]++;
|
||||
pProfile->m_iNumSongsPlayedByDifficulty[ss.pSteps[p]->GetDifficulty()]++;
|
||||
pProfile->m_iNumSongsPlayedByMeter[iMeter]++;
|
||||
pProfile->m_iTotalDancePoints += ss.iActualDancePoints[p];
|
||||
@@ -744,7 +744,7 @@ CString GameState::GetPlayerDisplayName( PlayerNumber pn ) const
|
||||
|
||||
bool GameState::PlayersCanJoin() const
|
||||
{
|
||||
return GetNumSidesJoined() == 0 || this->m_CurStyle == STYLE_INVALID; // selecting a style finalizes the players
|
||||
return GetNumSidesJoined() == 0 || this->m_pCurStyleDef == NULL; // selecting a style finalizes the players
|
||||
}
|
||||
|
||||
bool GameState::EnoughCreditsToJoin() const
|
||||
@@ -779,15 +779,16 @@ GameDef* GameState::GetCurrentGameDef()
|
||||
|
||||
const StyleDef* GameState::GetCurrentStyleDef() const
|
||||
{
|
||||
ASSERT( m_CurStyle != STYLE_INVALID ); // the style must be set before calling this
|
||||
|
||||
/*
|
||||
// HACK: if we're in TM doing PLAY_MODE_BATTLE or PLAY_MODE_RAVE,
|
||||
// pretend that we're doing STYLE_TECHNO_VERSUS8 instead.
|
||||
// What is the problem that this is fixing? -Chris
|
||||
if( m_CurGame == GAME_TECHNO &&
|
||||
( m_PlayMode == PLAY_MODE_BATTLE || m_PlayMode == PLAY_MODE_RAVE ) )
|
||||
return GAMEMAN->GetStyleDefForStyle( STYLE_TECHNO_VERSUS8 );
|
||||
*/
|
||||
|
||||
return GAMEMAN->GetStyleDefForStyle( m_CurStyle );
|
||||
return m_pCurStyleDef;
|
||||
}
|
||||
|
||||
|
||||
@@ -820,11 +821,13 @@ bool GameState::PlayerUsingBothSides() const
|
||||
|
||||
bool GameState::IsHumanPlayer( PlayerNumber pn ) const
|
||||
{
|
||||
if( m_CurStyle == STYLE_INVALID ) // no style chosen
|
||||
if( m_pCurStyleDef == NULL ) // no style chosen
|
||||
{
|
||||
if( this->PlayersCanJoin() )
|
||||
return m_bSideIsJoined[pn]; // only allow input from sides that have already joined
|
||||
else
|
||||
return true; // if we can't join, then we're on a screen like MusicScroll or GameOver
|
||||
}
|
||||
|
||||
switch( GetCurrentStyleDef()->m_StyleType )
|
||||
{
|
||||
@@ -852,7 +855,7 @@ PlayerNumber GameState::GetFirstHumanPlayer() const
|
||||
{
|
||||
FOREACH_PlayerNumber( p )
|
||||
if( IsHumanPlayer(p) )
|
||||
return (PlayerNumber)p;
|
||||
return p;
|
||||
ASSERT(0); // there must be at least 1 human player
|
||||
return PLAYER_INVALID;
|
||||
}
|
||||
@@ -1800,9 +1803,8 @@ LuaFunction_NoArgs( IsFinalStage, GAMESTATE->IsFinalStage() )
|
||||
LuaFunction_NoArgs( IsExtraStage, GAMESTATE->IsExtraStage() )
|
||||
LuaFunction_NoArgs( IsExtraStage2, GAMESTATE->IsExtraStage2() )
|
||||
LuaFunction_NoArgs( CourseSongIndex, GAMESTATE->GetCourseSongIndex() )
|
||||
LuaFunction_NoArgs( CurStyle, GAMESTATE->m_CurStyle )
|
||||
LuaFunction_NoArgs( PlayModeName, PlayModeToString(GAMESTATE->m_PlayMode) )
|
||||
LuaFunction_NoArgs( CurStyleName, CString( GAMESTATE->m_CurStyle == STYLE_INVALID? "none": GAMESTATE->GetCurrentStyleDef()->m_szName ) )
|
||||
LuaFunction_NoArgs( CurStyleName, CString( GAMESTATE->m_pCurStyleDef == NULL ? "none": GAMESTATE->GetCurrentStyleDef()->m_szName ) )
|
||||
LuaFunction_NoArgs( GetNumPlayersEnabled, GAMESTATE->GetNumPlayersEnabled() )
|
||||
LuaFunction_NoArgs( PlayerUsingBothSides, GAMESTATE->PlayerUsingBothSides() )
|
||||
LuaFunction_NoArgs( GetEasiestNotesDifficulty, GAMESTATE->GetEasiestNotesDifficulty() )
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
#include "PlayerOptions.h"
|
||||
#include "SongOptions.h"
|
||||
#include "Game.h"
|
||||
#include "Style.h"
|
||||
#include "Grade.h"
|
||||
#include "Attack.h"
|
||||
#include "RageTimer.h"
|
||||
@@ -25,6 +24,7 @@ class NoteFieldPositioning;
|
||||
class Character;
|
||||
class TimingData;
|
||||
struct StageStats;
|
||||
class StyleDef;
|
||||
|
||||
class GameState
|
||||
{
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
// Main state info
|
||||
//
|
||||
Game m_CurGame;
|
||||
Style m_CurStyle;
|
||||
const StyleDef* m_pCurStyleDef;
|
||||
bool m_bSideIsJoined[NUM_PLAYERS]; // left side, right side
|
||||
bool m_bPlayersFinalized;
|
||||
PlayMode m_PlayMode; // many screens display different info depending on this value
|
||||
|
||||
@@ -522,14 +522,13 @@ bool InputMapper::GameToDevice( GameInput GameI, int iSoltNum, DeviceInput& Devi
|
||||
|
||||
void InputMapper::GameToStyle( GameInput GameI, StyleInput &StyleI )
|
||||
{
|
||||
if( GAMESTATE->m_CurStyle == STYLE_INVALID )
|
||||
if( GAMESTATE->m_pCurStyleDef == NULL )
|
||||
{
|
||||
StyleI.MakeInvalid();
|
||||
return;
|
||||
}
|
||||
|
||||
const StyleDef* pStyleDef = GAMESTATE->GetCurrentStyleDef();
|
||||
StyleI = pStyleDef->GameInputToStyleInput( GameI );
|
||||
StyleI = GAMESTATE->m_pCurStyleDef->GameInputToStyleInput( GameI );
|
||||
}
|
||||
|
||||
void InputMapper::GameToMenu( GameInput GameI, MenuInput &MenuI )
|
||||
|
||||
@@ -165,7 +165,7 @@ void JukeboxMenu::OnRowValueChanged( Row row )
|
||||
switch( row )
|
||||
{
|
||||
case ROW_STYLE:
|
||||
m_textValue[ROW_STYLE].SetText( GAMEMAN->GetStyleDefForStyle(GetSelectedStyle())->m_szName );
|
||||
m_textValue[ROW_STYLE].SetText( GetSelectedStyle()->m_szName );
|
||||
// fall through
|
||||
case ROW_GROUP:
|
||||
m_textValue[ROW_GROUP].SetText( SONGMAN->ShortenGroupName(GetSelectedGroup()) );
|
||||
|
||||
+10
-10
@@ -7,9 +7,9 @@
|
||||
#include "Banner.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "RandomSample.h"
|
||||
#include "Style.h"
|
||||
#include "BitmapText.h"
|
||||
|
||||
class StyleDef;
|
||||
|
||||
class JukeboxMenu: public ActorFrame
|
||||
{
|
||||
@@ -49,11 +49,11 @@ public:
|
||||
}
|
||||
|
||||
|
||||
Style GetSelectedStyle() { return m_Styles[m_iSelection[ROW_STYLE]]; }
|
||||
CString GetSelectedGroup() { return m_sGroups[m_iSelection[ROW_GROUP]]; }
|
||||
CString GetSelectedDifficultyString() { return m_sDifficulties[m_iSelection[ROW_DIFFICULTY]]; }
|
||||
Difficulty GetSelectedDifficulty() { return StringToDifficulty( GetSelectedDifficultyString() ); }
|
||||
bool GetSelectedModifiers() { return m_iSelection[ROW_MODIFIERS] != 0; }
|
||||
const StyleDef* GetSelectedStyle() { return m_Styles[m_iSelection[ROW_STYLE]]; }
|
||||
CString GetSelectedGroup() { return m_sGroups[m_iSelection[ROW_GROUP]]; }
|
||||
CString GetSelectedDifficultyString() { return m_sDifficulties[m_iSelection[ROW_DIFFICULTY]]; }
|
||||
Difficulty GetSelectedDifficulty() { return StringToDifficulty( GetSelectedDifficultyString() ); }
|
||||
bool GetSelectedModifiers() { return m_iSelection[ROW_MODIFIERS] != 0; }
|
||||
|
||||
private:
|
||||
Sprite m_sprArrows[2];
|
||||
@@ -62,10 +62,10 @@ private:
|
||||
BitmapText m_textLabel[NUM_ROWS];
|
||||
BitmapText m_textValue[NUM_ROWS];
|
||||
|
||||
vector<Style> m_Styles;
|
||||
CStringArray m_sGroups;
|
||||
vector<string> m_sDifficulties;
|
||||
CStringArray m_sModifiers;
|
||||
vector<const StyleDef*> m_Styles;
|
||||
CStringArray m_sGroups;
|
||||
vector<string> m_sDifficulties;
|
||||
CStringArray m_sModifiers;
|
||||
|
||||
void OnRowValueChanged( Row row );
|
||||
void ChangeToRow( Row newRow );
|
||||
|
||||
@@ -21,7 +21,7 @@ void ModeChoice::Init()
|
||||
m_bInvalid = true;
|
||||
m_iIndex = -1;
|
||||
m_game = GAME_INVALID;
|
||||
m_style = STYLE_INVALID;
|
||||
m_pStyleDef = NULL;
|
||||
m_pm = PLAY_MODE_INVALID;
|
||||
m_dc = DIFFICULTY_INVALID;
|
||||
m_CourseDifficulty = DIFFICULTY_INVALID;
|
||||
@@ -52,7 +52,7 @@ bool ModeChoice::DescribesCurrentMode( PlayerNumber pn ) const
|
||||
return false;
|
||||
if( m_pm != PLAY_MODE_INVALID && GAMESTATE->m_PlayMode != m_pm )
|
||||
return false;
|
||||
if( m_style != STYLE_INVALID && GAMESTATE->m_CurStyle != m_style )
|
||||
if( m_pStyleDef && GAMESTATE->m_pCurStyleDef != m_pStyleDef )
|
||||
return false;
|
||||
// HACK: don't compare m_dc if m_pSteps is set. This causes problems
|
||||
// in ScreenSelectOptionsMaster::ImportOptions if m_PreferredDifficulty
|
||||
@@ -130,9 +130,9 @@ void ModeChoice::Load( int iIndex, CString sChoice )
|
||||
|
||||
if( sName == "style" )
|
||||
{
|
||||
Style style = GAMEMAN->GameAndStringToStyle( GAMESTATE->m_CurGame, sValue );
|
||||
if( style != STYLE_INVALID )
|
||||
m_style = style;
|
||||
const StyleDef* style = GAMEMAN->GameAndStringToStyle( GAMESTATE->m_CurGame, sValue );
|
||||
if( style )
|
||||
m_pStyleDef = style;
|
||||
else
|
||||
m_bInvalid |= true;
|
||||
}
|
||||
@@ -208,15 +208,15 @@ void ModeChoice::Load( int iIndex, CString sChoice )
|
||||
if( !m_bInvalid && sSteps != "" )
|
||||
{
|
||||
Song *pSong = (m_pSong != NULL)? m_pSong:GAMESTATE->m_pCurSong;
|
||||
Style style = (m_style != STYLE_INVALID)? m_style:GAMESTATE->m_CurStyle;
|
||||
if( pSong == NULL || style == STYLE_INVALID )
|
||||
const StyleDef *style = m_pStyleDef ? m_pStyleDef : GAMESTATE->m_pCurStyleDef;
|
||||
if( pSong == NULL || style == NULL )
|
||||
RageException::Throw( "Must set Song and Style to set Steps" );
|
||||
|
||||
Difficulty dc = StringToDifficulty( sSteps );
|
||||
if( dc != DIFFICULTY_EDIT )
|
||||
m_pSteps = pSong->GetStepsByDifficulty( GAMEMAN->GetStyleDefForStyle(style)->m_StepsType, dc );
|
||||
m_pSteps = pSong->GetStepsByDifficulty( m_pStyleDef->m_StepsType, dc );
|
||||
else
|
||||
m_pSteps = pSong->GetStepsByDescription( GAMEMAN->GetStyleDefForStyle(style)->m_StepsType, sSteps );
|
||||
m_pSteps = pSong->GetStepsByDescription( m_pStyleDef->m_StepsType, sSteps );
|
||||
if( m_pSteps == NULL )
|
||||
{
|
||||
m_sInvalidReason = "steps not found";
|
||||
@@ -237,12 +237,12 @@ int GetNumCreditsPaid()
|
||||
}
|
||||
|
||||
|
||||
int GetCreditsRequiredToPlayStyle( Style style )
|
||||
int GetCreditsRequiredToPlayStyle( const StyleDef *style )
|
||||
{
|
||||
if( PREFSMAN->GetPremium() == PrefsManager::JOINT_PREMIUM )
|
||||
return 1;
|
||||
|
||||
switch( GAMEMAN->GetStyleDefForStyle(style)->m_StyleType )
|
||||
switch( style->m_StyleType )
|
||||
{
|
||||
case StyleDef::ONE_PLAYER_ONE_CREDIT:
|
||||
return 1;
|
||||
@@ -256,9 +256,9 @@ int GetCreditsRequiredToPlayStyle( Style style )
|
||||
}
|
||||
}
|
||||
|
||||
static bool AreStyleAndPlayModeCompatible( Style style, PlayMode pm )
|
||||
static bool AreStyleAndPlayModeCompatible( const StyleDef *style, PlayMode pm )
|
||||
{
|
||||
if( style == STYLE_INVALID || pm == PLAY_MODE_INVALID )
|
||||
if( style == NULL || pm == PLAY_MODE_INVALID )
|
||||
return true;
|
||||
|
||||
switch( pm )
|
||||
@@ -269,12 +269,11 @@ static bool AreStyleAndPlayModeCompatible( Style style, PlayMode pm )
|
||||
// This is correct for dance (ie, no rave for solo and doubles),
|
||||
// and should be okay for pump .. not sure about other game types.
|
||||
// Techno Motion scales down versus arrows, though, so allow this.
|
||||
if( GAMEMAN->GetStyleDefForStyle(style)->m_iColsPerPlayer >= 6 && GAMESTATE->m_CurGame != GAME_TECHNO )
|
||||
if( style->m_iColsPerPlayer >= 6 && GAMESTATE->m_CurGame != GAME_TECHNO )
|
||||
return false;
|
||||
|
||||
/* Don't allow battle modes if the style takes both sides. */
|
||||
const StyleDef *sd = GAMEMAN->GetStyleDefForStyle( style );
|
||||
if( sd->m_StyleType==StyleDef::ONE_PLAYER_TWO_CREDITS )
|
||||
if( style->m_StyleType==StyleDef::ONE_PLAYER_TWO_CREDITS )
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -290,11 +289,11 @@ bool ModeChoice::IsPlayable( CString *why ) const
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( m_style != STYLE_INVALID )
|
||||
if ( m_pStyleDef )
|
||||
{
|
||||
int iCredits = GAMESTATE->m_iCoins / PREFSMAN->m_iCoinsPerCredit;
|
||||
const int iNumCreditsPaid = GetNumCreditsPaid();
|
||||
const int iNumCreditsRequired = GetCreditsRequiredToPlayStyle(m_style);
|
||||
const int iNumCreditsRequired = GetCreditsRequiredToPlayStyle(m_pStyleDef);
|
||||
|
||||
switch( PREFSMAN->GetCoinMode() )
|
||||
{
|
||||
@@ -335,7 +334,7 @@ bool ModeChoice::IsPlayable( CString *why ) const
|
||||
|
||||
/* If both sides are joined, disallow singles modes, since easy to select them
|
||||
* accidentally, instead of versus mode. */
|
||||
if( GAMEMAN->GetStyleDefForStyle(m_style)->m_StyleType == StyleDef::ONE_PLAYER_ONE_CREDIT &&
|
||||
if( m_pStyleDef->m_StyleType == StyleDef::ONE_PLAYER_ONE_CREDIT &&
|
||||
GAMESTATE->GetNumSidesJoined() > 1 )
|
||||
{
|
||||
if( why )
|
||||
@@ -346,15 +345,15 @@ bool ModeChoice::IsPlayable( CString *why ) const
|
||||
|
||||
/* Don't allow a PlayMode that's incompatible with our current Style (if set),
|
||||
* and vice versa. */
|
||||
if( m_pm != PLAY_MODE_INVALID || m_style != STYLE_INVALID )
|
||||
if( m_pm != PLAY_MODE_INVALID || m_pStyleDef != NULL )
|
||||
{
|
||||
const PlayMode pm = (m_pm != PLAY_MODE_INVALID) ? m_pm : GAMESTATE->m_PlayMode;
|
||||
const Style style = (m_style != STYLE_INVALID)? m_style: GAMESTATE->m_CurStyle;
|
||||
const StyleDef *style = (m_pStyleDef != NULL)? m_pStyleDef: GAMESTATE->m_pCurStyleDef;
|
||||
if( !AreStyleAndPlayModeCompatible( style, pm ) )
|
||||
{
|
||||
if( why )
|
||||
*why = ssprintf("mode %s is incompatible with style %s",
|
||||
PlayModeToString(pm).c_str(), GAMEMAN->GetStyleDefForStyle(style)->m_szName );
|
||||
PlayModeToString(pm).c_str(), style->m_szName );
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -409,15 +408,15 @@ void ModeChoice::Apply( PlayerNumber pn ) const
|
||||
if( m_pm != PLAY_MODE_INVALID )
|
||||
GAMESTATE->m_PlayMode = m_pm;
|
||||
|
||||
if( m_style != STYLE_INVALID )
|
||||
if( m_pStyleDef != NULL )
|
||||
{
|
||||
GAMESTATE->m_CurStyle = m_style;
|
||||
GAMESTATE->m_pCurStyleDef = m_pStyleDef;
|
||||
|
||||
// It's possible to choose a style that didn't have enough
|
||||
// players joined. If enough players aren't joined, then
|
||||
// we need to subtract credits for the sides that will be
|
||||
// joined as a result of applying this option.
|
||||
int iNumCreditsRequired = GetCreditsRequiredToPlayStyle(m_style);
|
||||
int iNumCreditsRequired = GetCreditsRequiredToPlayStyle(m_pStyleDef);
|
||||
int iNumCreditsPaid = GetNumCreditsPaid();
|
||||
|
||||
int iNumCreditsOwed = iNumCreditsRequired - iNumCreditsPaid;
|
||||
@@ -426,7 +425,7 @@ void ModeChoice::Apply( PlayerNumber pn ) const
|
||||
|
||||
// If only one side is joined and we picked a style
|
||||
// that requires both sides, join the other side.
|
||||
switch( GAMEMAN->GetStyleDefForStyle(m_style)->m_StyleType )
|
||||
switch( m_pStyleDef->m_StyleType )
|
||||
{
|
||||
case StyleDef::ONE_PLAYER_ONE_CREDIT:
|
||||
break;
|
||||
@@ -477,7 +476,7 @@ void ModeChoice::Apply( PlayerNumber pn ) const
|
||||
//
|
||||
// We know what players are joined at the time we set the Style
|
||||
//
|
||||
if( m_style != STYLE_INVALID )
|
||||
if( m_pStyleDef != NULL )
|
||||
{
|
||||
GAMESTATE->PlayersFinalized();
|
||||
}
|
||||
@@ -487,7 +486,7 @@ bool ModeChoice::IsZero() const
|
||||
{
|
||||
if( m_game != GAME_INVALID ||
|
||||
m_pm != PLAY_MODE_INVALID ||
|
||||
m_style != STYLE_INVALID ||
|
||||
m_pStyleDef != NULL ||
|
||||
m_dc != DIFFICULTY_INVALID ||
|
||||
m_sAnnouncer != "" ||
|
||||
m_sModifiers != "" ||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#define MODECHOICE_H
|
||||
|
||||
#include "Game.h"
|
||||
#include "Style.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "PlayerNumber.h"
|
||||
#include <map>
|
||||
@@ -14,6 +13,7 @@ class Steps;
|
||||
class Course;
|
||||
class Trail;
|
||||
class Character;
|
||||
class StyleDef;
|
||||
|
||||
struct ModeChoice // used in SelectMode
|
||||
{
|
||||
@@ -33,7 +33,7 @@ struct ModeChoice // used in SelectMode
|
||||
CString m_sInvalidReason;
|
||||
int m_iIndex;
|
||||
Game m_game;
|
||||
Style m_style;
|
||||
const StyleDef* m_pStyleDef;
|
||||
PlayMode m_pm;
|
||||
Difficulty m_dc;
|
||||
CourseDifficulty m_CourseDifficulty;
|
||||
|
||||
+38
-115
@@ -8,6 +8,7 @@
|
||||
#include "StyleDef.h"
|
||||
#include "song.h"
|
||||
#include "ActorUtil.h"
|
||||
#include "GameManager.h"
|
||||
|
||||
#define PREVMODE_X THEME->GetMetricF("ModeSwitcher","PrevModeX")
|
||||
#define PREVMODE_Y THEME->GetMetricF("ModeSwitcher","PrevModeY")
|
||||
@@ -60,20 +61,14 @@ ModeSwitcher::~ModeSwitcher()
|
||||
CString ModeSwitcher::GetStyleName()
|
||||
{
|
||||
CString sStyleName;
|
||||
CString sDiff[2];
|
||||
CString sDiff[NUM_PLAYERS];
|
||||
|
||||
sStyleName = GAMESTATE->m_pCurStyleDef->m_szName;
|
||||
sStyleName.MakeUpper();
|
||||
|
||||
switch(GAMESTATE->m_CurStyle)
|
||||
FOREACH_PlayerNumber(i)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE: sStyleName = "SINGLE\n"; break;
|
||||
case STYLE_PUMP_DOUBLE: sStyleName = "FULL-DOUBLE\n"; break;
|
||||
case STYLE_PUMP_HALFDOUBLE: sStyleName = "HALFDOUBLE\n"; break;
|
||||
default: sStyleName = ""; break;
|
||||
}
|
||||
|
||||
for(int i=0; i<2; i++)
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(i))
|
||||
if( GAMESTATE->IsPlayerEnabled(i) )
|
||||
{
|
||||
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||
{
|
||||
@@ -127,22 +122,17 @@ CString ModeSwitcher::GetStyleName()
|
||||
|
||||
CString ModeSwitcher::GetNextStyleName()
|
||||
{
|
||||
CString sStyleName[2];
|
||||
CString sDiff[2];
|
||||
CString sStyleName[NUM_PLAYERS];
|
||||
CString sDiff[NUM_PLAYERS];
|
||||
|
||||
for(int i=0; i<2; i++)
|
||||
FOREACH_PlayerNumber(i)
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(i))
|
||||
{
|
||||
if(GAMESTATE->m_PreferredDifficulty[i] != DIFFICULTY_CHALLENGE)
|
||||
{
|
||||
switch(GAMESTATE->m_CurStyle)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE: sStyleName[i] = "SINGLE\n"; break;
|
||||
case STYLE_PUMP_DOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||
default: sStyleName[i] = ""; break;
|
||||
}
|
||||
sStyleName[i] = GAMESTATE->m_pCurStyleDef->m_szName;
|
||||
sStyleName[i].MakeUpper();
|
||||
|
||||
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||
{
|
||||
@@ -186,13 +176,9 @@ CString ModeSwitcher::GetNextStyleName()
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(GAMESTATE->m_CurStyle)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||
case STYLE_PUMP_DOUBLE: sStyleName[i] = "SINGLE\n"; break;
|
||||
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||
default: sStyleName[i] = ""; break;
|
||||
}
|
||||
sStyleName[i] = GAMESTATE->m_pCurStyleDef->m_szName;
|
||||
sStyleName[i].MakeUpper();
|
||||
|
||||
sDiff[i] = "Beginner\n";
|
||||
}
|
||||
}
|
||||
@@ -209,22 +195,17 @@ CString ModeSwitcher::GetNextStyleName()
|
||||
|
||||
CString ModeSwitcher::GetPrevStyleName()
|
||||
{
|
||||
CString sStyleName[2];
|
||||
CString sDiff[2];
|
||||
CString sStyleName[NUM_PLAYERS];
|
||||
CString sDiff[NUM_PLAYERS];
|
||||
|
||||
for(int i=0; i<2; i++)
|
||||
FOREACH_PlayerNumber(i)
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(i))
|
||||
{
|
||||
if(GAMESTATE->m_PreferredDifficulty[i] != DIFFICULTY_BEGINNER)
|
||||
{
|
||||
switch(GAMESTATE->m_CurStyle)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE: sStyleName[i] = "SINGLE\n"; break;
|
||||
case STYLE_PUMP_DOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||
default: sStyleName[i] = ""; break;
|
||||
}
|
||||
sStyleName[i] = GAMESTATE->m_pCurStyleDef->m_szName;
|
||||
sStyleName[i].MakeUpper();
|
||||
|
||||
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||
{
|
||||
@@ -268,13 +249,9 @@ CString ModeSwitcher::GetPrevStyleName()
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(GAMESTATE->m_CurStyle)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||
case STYLE_PUMP_DOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "SINGLE\n"; break;
|
||||
default: sStyleName[i] = ""; break;
|
||||
}
|
||||
sStyleName[i] = GAMESTATE->m_pCurStyleDef->m_szName;
|
||||
sStyleName[i].MakeUpper();
|
||||
|
||||
sDiff[i] = "Challenge\n";
|
||||
}
|
||||
}
|
||||
@@ -289,7 +266,7 @@ CString ModeSwitcher::GetPrevStyleName()
|
||||
return returnval;
|
||||
}
|
||||
|
||||
void ModeSwitcher::NextMode(int pn)
|
||||
void ModeSwitcher::ChangeMode(PlayerNumber pn, int dir)
|
||||
{
|
||||
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||
{
|
||||
@@ -312,87 +289,33 @@ void ModeSwitcher::NextMode(int pn)
|
||||
else
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(PLAYER_1))
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_BEGINNER;
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_CHALLENGE;
|
||||
if(GAMESTATE->IsPlayerEnabled(PLAYER_2))
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_BEGINNER;
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_CHALLENGE;
|
||||
}
|
||||
}
|
||||
|
||||
int iStyle = GAMESTATE->m_CurStyle;
|
||||
switch(iStyle)
|
||||
// Make a list of all styles for the current Game.
|
||||
vector<const StyleDef*> vPossibleStyles;
|
||||
GAMEMAN->GetStylesForGame( GAMESTATE->m_CurGame, vPossibleStyles );
|
||||
ASSERT( !vPossibleStyles.empty() );
|
||||
|
||||
int index = 0;
|
||||
vector<const StyleDef*>::const_iterator iter = find(vPossibleStyles.begin(), vPossibleStyles.end(), GAMESTATE->m_pCurStyleDef );
|
||||
if( iter != vPossibleStyles.end() )
|
||||
{
|
||||
case STYLE_PUMP_SINGLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_HALFDOUBLE;
|
||||
}
|
||||
break;
|
||||
case STYLE_PUMP_HALFDOUBLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_DOUBLE;
|
||||
}
|
||||
break;
|
||||
case STYLE_PUMP_DOUBLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_SINGLE;
|
||||
}
|
||||
break;
|
||||
index = iter - vPossibleStyles.begin();
|
||||
index += dir;
|
||||
wrap( index, vPossibleStyles.size() );
|
||||
}
|
||||
|
||||
GAMESTATE->m_pCurStyleDef = vPossibleStyles[index];
|
||||
}
|
||||
m_Stylename.SetText(GetStyleName());
|
||||
m_Nextmode.SetText(GetNextStyleName());
|
||||
m_Prevmode.SetText(GetPrevStyleName());
|
||||
}
|
||||
|
||||
void ModeSwitcher::PrevMode(int pn)
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(pn))
|
||||
{
|
||||
if(GAMESTATE->m_PreferredDifficulty[pn] != DIFFICULTY_BEGINNER)
|
||||
{
|
||||
switch(GAMESTATE->m_PreferredDifficulty[pn])
|
||||
{
|
||||
case DIFFICULTY_CHALLENGE: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_HARD; break;
|
||||
case DIFFICULTY_EASY: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_BEGINNER; break;
|
||||
case DIFFICULTY_MEDIUM: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_EASY; break;
|
||||
case DIFFICULTY_HARD: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_MEDIUM; break;
|
||||
}
|
||||
m_Stylename.SetText(GetStyleName());
|
||||
m_Nextmode.SetText(GetNextStyleName());
|
||||
m_Prevmode.SetText(GetPrevStyleName());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(GAMESTATE->IsPlayerEnabled(PLAYER_1))
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_CHALLENGE;
|
||||
if(GAMESTATE->IsPlayerEnabled(PLAYER_2))
|
||||
GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_CHALLENGE;
|
||||
}
|
||||
}
|
||||
|
||||
int iStyle = GAMESTATE->m_CurStyle;
|
||||
switch(iStyle)
|
||||
{
|
||||
case STYLE_PUMP_SINGLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_DOUBLE;
|
||||
}
|
||||
break;
|
||||
case STYLE_PUMP_HALFDOUBLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_SINGLE;
|
||||
}
|
||||
break;
|
||||
case STYLE_PUMP_DOUBLE:
|
||||
{
|
||||
GAMESTATE->m_CurStyle = STYLE_PUMP_HALFDOUBLE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
m_Stylename.SetText(GetStyleName());
|
||||
m_Nextmode.SetText(GetNextStyleName());
|
||||
m_Prevmode.SetText(GetPrevStyleName());
|
||||
}
|
||||
|
||||
/*
|
||||
* (c) 2003 "Frieza"
|
||||
|
||||
@@ -19,8 +19,7 @@ class ModeSwitcher : public ActorFrame
|
||||
public:
|
||||
ModeSwitcher();
|
||||
~ModeSwitcher();
|
||||
void NextMode(int pn);
|
||||
void PrevMode(int pn);
|
||||
void ChangeMode(PlayerNumber pn, int dir);
|
||||
|
||||
private:
|
||||
BitmapText m_Stylename;
|
||||
|
||||
@@ -98,9 +98,12 @@ void MusicWheel::Load()
|
||||
CIRCLE_PERCENT.Refresh();
|
||||
}
|
||||
|
||||
// for debugging
|
||||
if( GAMESTATE->m_CurStyle == STYLE_INVALID )
|
||||
GAMESTATE->m_CurStyle = STYLE_DANCE_SINGLE;
|
||||
/*
|
||||
// for debugging.
|
||||
// Whatever Screen uses MusicWheel should set the Style if it needs to be set.
|
||||
if( GAMESTATE->m_CurStyle == NULL )
|
||||
GAMESTATE->m_CurStyle = GAMEMAN->STYLE_DANCE_SINGLE;
|
||||
*/
|
||||
|
||||
m_sprSelectionOverlay.SetName( "Highlight" );
|
||||
m_sprSelectionOverlay.Load( THEME->GetPathToG("MusicWheel highlight") );
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include "GameManager.h"
|
||||
#include "IniFile.h"
|
||||
#include "Game.h"
|
||||
#include "Style.h"
|
||||
#include "GameDef.h"
|
||||
|
||||
/* Copies of the current mode. Update this by calling Load. */
|
||||
@@ -98,8 +97,8 @@ void NoteFieldMode::Load(IniFile &ini, CString id, int pn)
|
||||
const Game game = GAMEMAN->StringToGameType( bits[0] );
|
||||
ASSERT(game != GAME_INVALID);
|
||||
|
||||
const Style style = GAMEMAN->GameAndStringToStyle( game, bits[1] );
|
||||
ASSERT(style != STYLE_INVALID);
|
||||
const StyleDef *style = GAMEMAN->GameAndStringToStyle( game, bits[1] );
|
||||
ASSERT(style != NULL);
|
||||
Styles.insert(style);
|
||||
}
|
||||
}
|
||||
@@ -162,7 +161,7 @@ bool NoteFieldMode::MatchesCurrentGame() const
|
||||
if(Styles.empty())
|
||||
return true;
|
||||
|
||||
if(Styles.find(GAMESTATE->m_CurStyle) == Styles.end())
|
||||
if(Styles.find(GAMESTATE->m_pCurStyleDef) == Styles.end())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "PlayerNumber.h"
|
||||
#include "StyleDef.h"
|
||||
#include "PlayerNumber.h"
|
||||
#include "Style.h"
|
||||
#include "Actor.h"
|
||||
|
||||
#include <set>
|
||||
@@ -27,7 +26,7 @@ struct NoteFieldMode
|
||||
CString m_Id;
|
||||
|
||||
/* Styles that this is valid for; empty means all. */
|
||||
set<Style> Styles;
|
||||
set<const StyleDef*> Styles;
|
||||
|
||||
Actor m_Center;
|
||||
Actor m_CenterTrack[MAX_NOTE_TRACKS];
|
||||
|
||||
+16
-14
@@ -98,8 +98,7 @@ void Profile::InitGeneralData()
|
||||
int i;
|
||||
for( i=0; i<NUM_PLAY_MODES; i++ )
|
||||
m_iNumSongsPlayedByPlayMode[i] = 0;
|
||||
for( i=0; i<NUM_STYLES; i++ )
|
||||
m_iNumSongsPlayedByStyle[i] = 0;
|
||||
m_iNumSongsPlayedByStyle.clear();
|
||||
for( i=0; i<NUM_DIFFICULTIES; i++ )
|
||||
m_iNumSongsPlayedByDifficulty[i] = 0;
|
||||
for( i=0; i<MAX_METER+1; i++ )
|
||||
@@ -763,6 +762,10 @@ XNode* Profile::SaveGeneralDataCreateNode() const
|
||||
pGeneralDataNode->AppendChild( "TotalMines", m_iTotalMines );
|
||||
pGeneralDataNode->AppendChild( "TotalHands", m_iTotalHands );
|
||||
|
||||
// Keep declared variables in a very local scope so they aren't
|
||||
// accidentally used where they're not intended. There's a lot of
|
||||
// copying and pasting in this code.
|
||||
|
||||
{
|
||||
XNode* pUnlockedSongs = pGeneralDataNode->AppendChild("UnlockedSongs");
|
||||
for( set<int>::const_iterator it = m_UnlockedSongs.begin(); it != m_UnlockedSongs.end(); ++it )
|
||||
@@ -782,19 +785,18 @@ XNode* Profile::SaveGeneralDataCreateNode() const
|
||||
|
||||
{
|
||||
XNode* pNumSongsPlayedByStyle = pGeneralDataNode->AppendChild("NumSongsPlayedByStyle");
|
||||
for( int i=0; i<NUM_STYLES; i++ )
|
||||
for( map<const StyleDef*,int>::const_iterator iter = m_iNumSongsPlayedByStyle.begin();
|
||||
iter != m_iNumSongsPlayedByStyle.end();
|
||||
iter++ )
|
||||
{
|
||||
/* Don't save unplayed styles. */
|
||||
if( !m_iNumSongsPlayedByStyle[i] )
|
||||
continue;
|
||||
|
||||
XNode *pStyleNode = pNumSongsPlayedByStyle->AppendChild( "Style", m_iNumSongsPlayedByStyle[i] );
|
||||
|
||||
const StyleDef *pStyle = GAMEMAN->GetStyleDefForStyle((Style)i);
|
||||
const GameDef *g = GAMEMAN->GetGameDefForGame( pStyle->m_Game );
|
||||
const StyleDef *s = iter->first;
|
||||
const GameDef *g = GAMEMAN->GetGameDefForGame( s->m_Game );
|
||||
ASSERT( g );
|
||||
int iNumPlays = iter->second;
|
||||
XNode *pStyleNode = pNumSongsPlayedByStyle->AppendChild( "Style", iNumPlays );
|
||||
|
||||
pStyleNode->AppendAttr( "Game", g->m_szName );
|
||||
pStyleNode->AppendAttr( "Style", pStyle->m_szName );
|
||||
pStyleNode->AppendAttr( "Style", s->m_szName );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -943,8 +945,8 @@ void Profile::LoadGeneralDataFromNode( const XNode* pNode )
|
||||
CString sStyle;
|
||||
if( !style->GetAttrValue( "Style", sStyle ) )
|
||||
WARN_AND_CONTINUE;
|
||||
Style s = GAMEMAN->GameAndStringToStyle( g, sStyle );
|
||||
if( s == STYLE_INVALID )
|
||||
const StyleDef* s = GAMEMAN->GameAndStringToStyle( g, sStyle );
|
||||
if( s == NULL )
|
||||
WARN_AND_CONTINUE;
|
||||
|
||||
style->GetValue( m_iNumSongsPlayedByStyle[s] );
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#define Profile_H
|
||||
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "Style.h"
|
||||
#include "Grade.h"
|
||||
#include <map>
|
||||
#include <set>
|
||||
@@ -41,6 +40,7 @@ const CString PUBLIC_KEY_FILE = "public.key";
|
||||
const CString SCREENSHOTS_SUBDIR = "Screenshots/";
|
||||
const CString EDITS_SUBDIR = "Edits/";
|
||||
|
||||
class StyleDef;
|
||||
|
||||
class Song;
|
||||
class Steps;
|
||||
@@ -111,7 +111,7 @@ public:
|
||||
set<int> m_UnlockedSongs;
|
||||
mutable CString m_sLastPlayedMachineGuid; // mutable because we overwrite this on save, and I don't want to remove const from the whole save chain. -Chris
|
||||
int m_iNumSongsPlayedByPlayMode[NUM_PLAY_MODES];
|
||||
int m_iNumSongsPlayedByStyle[NUM_STYLES];
|
||||
map<const StyleDef*,int> m_iNumSongsPlayedByStyle;
|
||||
int m_iNumSongsPlayedByDifficulty[NUM_DIFFICULTIES];
|
||||
int m_iNumSongsPlayedByMeter[MAX_METER+1];
|
||||
int m_iNumSongsPassedByPlayMode[NUM_PLAY_MODES];
|
||||
|
||||
@@ -359,19 +359,20 @@ void PrintStatistics( RageFile &f, const Profile *pProfile, CString sTitle, vect
|
||||
PRINT_OPEN(f,"Num Songs Played by Style");
|
||||
{
|
||||
BEGIN_TABLE(4);
|
||||
for( Style style = (Style)0; style<NUM_STYLES; ((int&)style)++ )
|
||||
|
||||
for( map<const StyleDef*,int>::const_iterator iter = pProfile->m_iNumSongsPlayedByStyle.begin();
|
||||
iter != pProfile->m_iNumSongsPlayedByStyle.end();
|
||||
iter++ )
|
||||
{
|
||||
const StyleDef* pStyleDef = GAMEMAN->GetStyleDefForStyle(style);
|
||||
const StyleDef* pStyleDef = iter->first;
|
||||
int iNumTimesPlayed = iter->second;
|
||||
StepsType st = pStyleDef->m_StepsType;
|
||||
if( !pStyleDef->m_bUsedForGameplay )
|
||||
continue; // skip
|
||||
// only show if this style plays a StepsType that we're showing
|
||||
if( find(vStepsTypesToShow.begin(),vStepsTypesToShow.end(),st) == vStepsTypesToShow.end() )
|
||||
continue; // skip
|
||||
if( StylesToShow.find(pStyleDef->m_szName) == StylesToShow.end() )
|
||||
continue;
|
||||
CString s = GAMEMAN->StyleToThemedString(style);
|
||||
TABLE_LINE2( s, pProfile->m_iNumSongsPlayedByStyle[style] );
|
||||
TABLE_LINE2( GAMEMAN->StyleToThemedString(pStyleDef), iNumTimesPlayed );
|
||||
}
|
||||
END_TABLE;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#include "PlayerNumber.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "Style.h"
|
||||
#include "Profile.h"
|
||||
|
||||
class Song;
|
||||
|
||||
@@ -20,7 +20,7 @@ const ScreenMessage SM_NotesEnded = ScreenMessage(SM_User+10); // MUST be sam
|
||||
|
||||
bool PrepareForDemonstration() // always return true.
|
||||
{
|
||||
GAMESTATE->m_CurStyle = GAMEMAN->GetDemonstrationStyleForGame(GAMESTATE->m_CurGame);
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GetDemonstrationStyleForGame(GAMESTATE->m_CurGame);
|
||||
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ void ScreenEditMenu::MenuStart( PlayerNumber pn )
|
||||
EditMenu::Action action = m_Selector.GetSelectedAction();
|
||||
|
||||
GAMESTATE->m_pCurSong = pSong;
|
||||
GAMESTATE->m_CurStyle = GAMEMAN->GetEditorStyleForNotesType( st );
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GetEditorStyleForNotesType( st );
|
||||
GAMESTATE->m_pCurSteps[PLAYER_1] = pSteps;
|
||||
|
||||
//
|
||||
|
||||
@@ -102,7 +102,7 @@ ScreenEnding::ScreenEnding( CString sClassName ) : ScreenAttract( sClassName, fa
|
||||
PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2, false);
|
||||
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
|
||||
GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS;
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GameAndStringToStyle( GAME_DANCE, "versus" );
|
||||
GAMESTATE->m_bSideIsJoined[PLAYER_1] = true;
|
||||
GAMESTATE->m_bSideIsJoined[PLAYER_2] = true;
|
||||
GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
|
||||
@@ -101,7 +101,7 @@ void ScreenEvaluation::Init()
|
||||
PROFILEMAN->LoadFirstAvailableProfile(PLAYER_2, false);
|
||||
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
|
||||
GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS;
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GameAndStringToStyle( GAME_DANCE, "versus" );
|
||||
GAMESTATE->m_bSideIsJoined[PLAYER_1] = true;
|
||||
GAMESTATE->m_bSideIsJoined[PLAYER_2] = true;
|
||||
GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
|
||||
@@ -511,7 +511,7 @@ void ScreenEz2SelectMusic::EasierDifficulty( PlayerNumber pn )
|
||||
{
|
||||
if(USE_MODE_SWITCHER == 1)
|
||||
{
|
||||
m_ModeSwitcher.PrevMode(pn);
|
||||
m_ModeSwitcher.ChangeMode(pn,-1);
|
||||
MusicChanged();
|
||||
m_MusicBannerWheel.StopBouncing();
|
||||
SOUND->StopMusic();
|
||||
@@ -548,7 +548,7 @@ void ScreenEz2SelectMusic::HarderDifficulty( PlayerNumber pn )
|
||||
{
|
||||
if(USE_MODE_SWITCHER == 1)
|
||||
{
|
||||
m_ModeSwitcher.NextMode(pn);
|
||||
m_ModeSwitcher.ChangeMode(pn,+1);
|
||||
MusicChanged();
|
||||
m_MusicBannerWheel.StopBouncing();
|
||||
SOUND->StopMusic();
|
||||
|
||||
@@ -222,7 +222,7 @@ void ScreenGameplay::Init()
|
||||
|
||||
g_CurStageStats.pSong = NULL; // set in LoadNextSong
|
||||
g_CurStageStats.playMode = GAMESTATE->m_PlayMode;
|
||||
g_CurStageStats.style = GAMESTATE->m_CurStyle;
|
||||
g_CurStageStats.pStyleDef = GAMESTATE->m_pCurStyleDef;
|
||||
|
||||
FOREACH_EnabledPlayer(p)
|
||||
{
|
||||
|
||||
@@ -130,7 +130,7 @@ ScreenHowToPlay::ScreenHowToPlay( CString sName ) : ScreenAttract( sName )
|
||||
m_pLifeMeterBar->FillForHowToPlay( NUM_PERFECTS, NUM_MISSES );
|
||||
}
|
||||
|
||||
GAMESTATE->m_CurStyle = GAMEMAN->GetHowToPlayStyleForGame(GAMESTATE->m_CurGame);
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GetHowToPlayStyleForGame(GAMESTATE->m_CurGame);
|
||||
|
||||
if( USEPLAYER )
|
||||
{
|
||||
|
||||
@@ -96,7 +96,7 @@ bool ScreenJukebox::SetSong( bool bDemonstration )
|
||||
bool ScreenJukebox::PrepareForJukebox( bool bDemonstration ) // always return true.
|
||||
{
|
||||
// ScreeJukeboxMenu must set this
|
||||
ASSERT( GAMESTATE->m_CurStyle != STYLE_INVALID );
|
||||
ASSERT( GAMESTATE->m_pCurStyleDef );
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
|
||||
|
||||
SetSong( bDemonstration );
|
||||
|
||||
@@ -22,7 +22,7 @@ ScreenJukeboxMenu::ScreenJukeboxMenu( CString sClassName ) : ScreenWithMenuEleme
|
||||
{
|
||||
LOG->Trace( "ScreenJukeboxMenu::ScreenJukeboxMenu()" );
|
||||
|
||||
GAMESTATE->m_CurStyle = STYLE_INVALID;
|
||||
GAMESTATE->m_pCurStyleDef = NULL;
|
||||
|
||||
FOREACH_PlayerNumber( pn )
|
||||
GAMESTATE->m_bSideIsJoined[pn] = true;
|
||||
@@ -84,12 +84,12 @@ void ScreenJukeboxMenu::MenuStart( PlayerNumber pn )
|
||||
if( IsTransitioning() )
|
||||
return;
|
||||
|
||||
Style style = m_Selector.GetSelectedStyle();
|
||||
CString sGroup = m_Selector.GetSelectedGroup();
|
||||
Difficulty dc = m_Selector.GetSelectedDifficulty();
|
||||
bool bModifiers = m_Selector.GetSelectedModifiers();
|
||||
const StyleDef *style = m_Selector.GetSelectedStyle();
|
||||
CString sGroup = m_Selector.GetSelectedGroup();
|
||||
Difficulty dc = m_Selector.GetSelectedDifficulty();
|
||||
bool bModifiers = m_Selector.GetSelectedModifiers();
|
||||
|
||||
GAMESTATE->m_CurStyle = style;
|
||||
GAMESTATE->m_pCurStyleDef = style;
|
||||
GAMESTATE->m_sPreferredGroup = (sGroup=="ALL MUSIC") ? GROUP_ALL_MUSIC : sGroup;
|
||||
FOREACH_PlayerNumber( p )
|
||||
GAMESTATE->m_PreferredDifficulty[p] = dc;
|
||||
|
||||
@@ -131,7 +131,7 @@ ScreenNameEntryTraditional::ScreenNameEntryTraditional( CString sClassName ) : S
|
||||
GAMESTATE->m_bSideIsJoined[PLAYER_2] = true;
|
||||
GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_REGULAR;
|
||||
GAMESTATE->m_CurStyle = STYLE_DANCE_VERSUS;
|
||||
GAMESTATE->m_pCurStyleDef = GAMEMAN->GameAndStringToStyle( GAME_DANCE, "versus" );
|
||||
StageStats ss;
|
||||
for( int z = 0; z < 3; ++z )
|
||||
{
|
||||
|
||||
@@ -379,7 +379,7 @@ void ScreenOptions::Init( InputMode im, OptionRowData OptionRows[], int iNumOpti
|
||||
|
||||
/* Hack: if m_CurStyle is set, we're probably in the player or song options menu, so
|
||||
* the player name is meaningful. Otherwise, we're probably in the system menu. */
|
||||
if( GAMESTATE->m_CurStyle != STYLE_INVALID )
|
||||
if( GAMESTATE->m_pCurStyleDef != NULL )
|
||||
{
|
||||
FOREACH_HumanPlayer( p )
|
||||
{
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "ScreenAttract.h"
|
||||
#include "GameConstantsAndTypes.h" // for NUM_RANKING_LINES
|
||||
#include "Style.h"
|
||||
#include "Sprite.h"
|
||||
#include "BitmapText.h"
|
||||
#include "Banner.h"
|
||||
|
||||
@@ -178,8 +178,8 @@ void ScreenSelect::FinalizeChoices()
|
||||
{
|
||||
const int sel = GetSelectionIndex( (PlayerNumber)p );
|
||||
|
||||
if( m_aModeChoices[sel].m_style != STYLE_INVALID )
|
||||
GAMESTATE->m_CurStyle = m_aModeChoices[sel].m_style;
|
||||
if( m_aModeChoices[sel].m_pStyleDef )
|
||||
GAMESTATE->m_pCurStyleDef = m_aModeChoices[sel].m_pStyleDef;
|
||||
}
|
||||
SCREENMAN->RefreshCreditsMessages();
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ void ScreenSelectMode::UpdateSelectableChoices()
|
||||
|
||||
// FIXME for new premium prefs
|
||||
const int SidesJoinedToPlay =
|
||||
(mc.m_style == STYLE_INVALID) ?
|
||||
(mc.m_pStyleDef == NULL) ?
|
||||
1 :
|
||||
1;
|
||||
if( PREFSMAN->GetPremium()!=PrefsManager::JOINT_PREMIUM ||
|
||||
|
||||
@@ -65,7 +65,7 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme
|
||||
/* Cache: */
|
||||
g_sFallbackCDTitlePath = THEME->GetPathG(m_sName,"fallback cdtitle");
|
||||
|
||||
if( GAMESTATE->m_CurStyle == STYLE_INVALID )
|
||||
if( GAMESTATE->m_pCurStyleDef == NULL )
|
||||
RageException::Throw( "The Style has not been set. A theme must set the Style before loading ScreenSelectMusic." );
|
||||
|
||||
if( GAMESTATE->m_PlayMode == PLAY_MODE_INVALID )
|
||||
|
||||
@@ -36,7 +36,7 @@ ScreenWithMenuElements::ScreenWithMenuElements( CString sClassName ) : Screen( s
|
||||
UtilOnCommand( m_autoHeader, m_sName );
|
||||
this->AddChild( m_autoHeader );
|
||||
|
||||
if( STYLE_ICON && GAMESTATE->m_CurStyle != STYLE_INVALID )
|
||||
if( STYLE_ICON && GAMESTATE->m_pCurStyleDef )
|
||||
{
|
||||
CString sIconFileName = ssprintf("MenuElements icon %s", GAMESTATE->GetCurrentStyleDef()->m_szName );
|
||||
m_sprStyleIcon.SetName( "StyleIcon" );
|
||||
|
||||
@@ -12,7 +12,7 @@ vector<StageStats> g_vPlayedStageStats;
|
||||
void StageStats::Init()
|
||||
{
|
||||
playMode = PLAY_MODE_INVALID;
|
||||
style = STYLE_INVALID;
|
||||
pStyleDef = NULL;
|
||||
pSong = NULL;
|
||||
StageType = STAGE_INVALID;
|
||||
fGameplaySeconds = 0;
|
||||
|
||||
@@ -6,11 +6,10 @@
|
||||
#include "PlayerNumber.h"
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "Grade.h"
|
||||
#include "Style.h"
|
||||
#include <map>
|
||||
class Song;
|
||||
class Steps;
|
||||
|
||||
class StyleDef;
|
||||
|
||||
struct StageStats
|
||||
{
|
||||
@@ -24,7 +23,7 @@ struct StageStats
|
||||
float GetPercentDancePoints( PlayerNumber pn ) const;
|
||||
|
||||
PlayMode playMode;
|
||||
Style style;
|
||||
const StyleDef* pStyleDef;
|
||||
Song* pSong;
|
||||
enum { STAGE_INVALID, STAGE_NORMAL, STAGE_EXTRA, STAGE_EXTRA2 } StageType;
|
||||
Steps* pSteps[NUM_PLAYERS];
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
#ifndef STYLE_H
|
||||
#define STYLE_H
|
||||
|
||||
enum Style
|
||||
{
|
||||
STYLE_DANCE_SINGLE,
|
||||
STYLE_DANCE_VERSUS,
|
||||
STYLE_DANCE_DOUBLE,
|
||||
STYLE_DANCE_COUPLE,
|
||||
STYLE_DANCE_SOLO,
|
||||
STYLE_DANCE_EDIT_COUPLE,
|
||||
STYLE_PUMP_SINGLE,
|
||||
STYLE_PUMP_VERSUS,
|
||||
STYLE_PUMP_HALFDOUBLE,
|
||||
STYLE_PUMP_DOUBLE,
|
||||
STYLE_PUMP_COUPLE,
|
||||
STYLE_PUMP_EDIT_COUPLE,
|
||||
STYLE_EZ2_SINGLE,
|
||||
STYLE_EZ2_REAL,
|
||||
STYLE_EZ2_SINGLE_VERSUS,
|
||||
STYLE_EZ2_REAL_VERSUS,
|
||||
STYLE_EZ2_DOUBLE,
|
||||
STYLE_PARA_SINGLE,
|
||||
STYLE_DS3DDX_SINGLE,
|
||||
STYLE_BM_SINGLE,
|
||||
STYLE_BM_DOUBLE,
|
||||
STYLE_IIDX_SINGLE7,
|
||||
STYLE_IIDX_DOUBLE7,
|
||||
STYLE_IIDX_SINGLE5,
|
||||
STYLE_IIDX_DOUBLE5,
|
||||
STYLE_IIDX_EDIT_SINGLE5,
|
||||
STYLE_IIDX_EDIT_DOUBLE5,
|
||||
STYLE_MANIAX_SINGLE,
|
||||
STYLE_MANIAX_VERSUS,
|
||||
STYLE_MANIAX_DOUBLE,
|
||||
STYLE_TECHNO_SINGLE4,
|
||||
STYLE_TECHNO_SINGLE5,
|
||||
STYLE_TECHNO_SINGLE8,
|
||||
STYLE_TECHNO_VERSUS4,
|
||||
STYLE_TECHNO_VERSUS5,
|
||||
STYLE_TECHNO_VERSUS8,
|
||||
STYLE_TECHNO_DOUBLE4,
|
||||
STYLE_TECHNO_DOUBLE5,
|
||||
STYLE_PNM_FIVE,
|
||||
STYLE_PNM_NINE,
|
||||
STYLE_LIGHTS_CABINET,
|
||||
NUM_STYLES, // leave this at the end
|
||||
STYLE_INVALID,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* (c) 2001-2002 Chris Danford
|
||||
* All rights reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, and/or sell copies of the Software, and to permit persons to
|
||||
* whom the Software is furnished to do so, provided that the above
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
|
||||
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
|
||||
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
|
||||
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
@@ -51,6 +51,8 @@ public:
|
||||
};
|
||||
ColumnInfo m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; // maps each players' column to a track in the NoteData
|
||||
int m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
|
||||
bool m_bNeedsZoomOutWith2Players;
|
||||
bool m_bCanUseBeginnerHelper;
|
||||
|
||||
GameInput StyleInputToGameInput( const StyleInput& StyleI ) const;
|
||||
StyleInput GameInputToStyleInput( const GameInput &GameI ) const;
|
||||
|
||||
Reference in New Issue
Block a user