2002-03-19 07:09:49 +00:00
#include "stdafx.h"
/*
-----------------------------------------------------------------------------
Class: GameManager
Desc: See Header.
2002-05-19 01:59:48 +00:00
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
2002-03-19 07:09:49 +00:00
Chris Danford
-----------------------------------------------------------------------------
*/
#include "GameManager.h"
2002-07-11 19:02:26 +00:00
#include "PrefsManager.h"
2002-07-23 01:41:40 +00:00
#include "GameConstantsAndTypes.h"
#include "GameState.h"
2002-07-31 19:40:40 +00:00
#include "GameInput.h" // for GameButton constants
2002-09-17 23:02:37 +00:00
#include "IniFile.h"
#include "RageLog.h"
2002-11-11 04:53:31 +00:00
#include "RageUtil.h"
2002-11-29 20:37:12 +00:00
#include "SDL_keysym.h" // for SDLKeys
2002-09-17 23:02:37 +00:00
2002-03-19 07:09:49 +00:00
2002-05-27 08:23:27 +00:00
GameManager * GAMEMAN = NULL ; // global and accessable from anywhere in our program
2002-03-19 07:09:49 +00:00
2002-07-23 01:41:40 +00:00
2002-09-17 23:02:37 +00:00
const CString NOTESKIN_DIR = "NoteSkins \\ " ;
2002-05-27 08:23:27 +00:00
const int DANCE_COL_SPACING = 64 ;
const int DANCE_6PANEL_VERSUS_COL_SPACING = 54 ;
2002-08-17 06:44:04 +00:00
const int PUMP_COL_SPACING = 50 ;
2002-08-01 21:11:32 +00:00
const int EZ2_COL_SPACING = 46 ;
2002-10-27 21:37:09 +00:00
const int EZ2_REAL_COL_SPACING = 40 ;
2002-09-07 02:50:23 +00:00
const int PARA_COL_SPACING = 54 ;
2003-01-01 17:20:36 +00:00
const int DS3DDX_COL_SPACING = 46 ;
const int BM_COL_SPACING = 34 ;
2002-08-01 21:11:32 +00:00
2002-08-24 04:25:30 +00:00
struct {
char * name ;
int NumTracks ;
} const NotesTypes [ NUM_NOTES_TYPES ] = {
{ "dance-single" , 4 },
{ "dance-double" , 8 },
2002-09-12 08:37:12 +00:00
{ "dance-couple" , 8 },
2002-08-24 04:25:30 +00:00
{ "dance-solo" , 6 },
{ "pump-single" , 5 },
2002-08-24 09:24:53 +00:00
{ "pump-double" , 10 },
2002-09-12 07:50:20 +00:00
{ "pump-couple" , 10 },
2002-08-24 04:25:30 +00:00
{ "ez2-single" , 5 }, // Single: TL,LHH,D,RHH,TR
{ "ez2-double" , 10 }, // Double: Single x2
2002-09-07 02:50:23 +00:00
{ "ez2-real" , 7 }, // Real: TL,LHH,LHL,D,RHL,RHH,TR
2002-12-28 16:07:19 +00:00
{ "para-single" , 5 },
2003-01-01 17:20:36 +00:00
{ "ds3ddx-single" , 8 },
{ "bm-single" , 6 }
2002-08-24 04:25:30 +00:00
};
2002-07-31 19:40:40 +00:00
//
// Important: Every game must define the buttons: "Start", "Back", "MenuLeft", and "MenuRight"
//
2002-05-27 08:23:27 +00:00
GameDef g_GameDefs [ NUM_GAMES ] =
{
{ // GAME_DANCE
"dance" , // m_szName
"Dance Dance Revolution" , // m_szDescription
2002-07-31 19:40:40 +00:00
2 , // m_iNumControllers
NUM_DANCE_BUTTONS , // m_iButtonsPerController
2002-05-27 08:23:27 +00:00
{ // m_szButtonNames
"Left" ,
"Right" ,
"Up" ,
"Down" ,
"UpLeft" ,
"UpRight" ,
2002-07-31 19:40:40 +00:00
"Start" ,
2002-05-27 08:23:27 +00:00
"Back" ,
2002-07-31 19:40:40 +00:00
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
2002-05-27 08:23:27 +00:00
},
2002-08-13 23:26:46 +00:00
{ // m_szSecondaryFunction
"(MenuLeft)" ,
"(MenuRight)" ,
"(MenuUp)" ,
"(MenuDown)" ,
"" ,
"" ,
"" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
2002-07-31 19:40:40 +00:00
},
{ // m_DedicatedMenuButton
DANCE_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
DANCE_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
DANCE_BUTTON_MENUUP , // MENU_BUTTON_UP
DANCE_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
DANCE_BUTTON_START , // MENU_BUTTON_START
DANCE_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
2002-05-27 08:23:27 +00:00
DANCE_BUTTON_LEFT , // MENU_BUTTON_LEFT
DANCE_BUTTON_RIGHT , // MENU_BUTTON_RIGHT
DANCE_BUTTON_UP , // MENU_BUTTON_UP
DANCE_BUTTON_DOWN , // MENU_BUTTON_DOWN
DANCE_BUTTON_START , // MENU_BUTTON_START
2002-07-31 19:40:40 +00:00
DANCE_BUTTON_BACK , // MENU_BUTTON_BACK
2002-05-27 08:23:27 +00:00
},
2002-07-31 19:40:40 +00:00
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
2002-11-29 20:37:12 +00:00
SDLK_LEFT , // DANCE_BUTTON_LEFT,
SDLK_RIGHT , // DANCE_BUTTON_RIGHT,
SDLK_UP , // DANCE_BUTTON_UP,
SDLK_DOWN , // DANCE_BUTTON_DOWN,
2002-07-31 19:40:40 +00:00
- 1 , //no default key // DANCE_BUTTON_UPLEFT,
- 1 , //no default key // DANCE_BUTTON_UPRIGHT,
2002-11-29 20:37:12 +00:00
SDLK_RETURN , // DANCE_BUTTON_START,
SDLK_ESCAPE , // DANCE_BUTTON_BACK
2002-07-31 19:40:40 +00:00
- 1 , //no default key // DANCE_BUTTON_MENULEFT
- 1 , //no default key // DANCE_BUTTON_MENURIGHT
2002-11-29 20:37:12 +00:00
SDLK_UP , // DANCE_BUTTON_MENUUP
SDLK_DOWN , // DANCE_BUTTON_MENUDOWN
2002-07-31 19:40:40 +00:00
},
{ // PLAYER_2
2002-11-29 20:37:12 +00:00
SDLK_KP4 , // DANCE_BUTTON_LEFT,
SDLK_KP6 , // DANCE_BUTTON_RIGHT,
SDLK_KP8 , // DANCE_BUTTON_UP,
SDLK_KP2 , // DANCE_BUTTON_DOWN,
SDLK_KP7 , // DANCE_BUTTON_UPLEFT,
SDLK_KP9 , // DANCE_BUTTON_UPRIGHT,
SDLK_KP_ENTER , // DANCE_BUTTON_START,
SDLK_KP0 , // DANCE_BUTTON_BACK
2002-07-31 19:40:40 +00:00
- 1 , //no default key // DANCE_BUTTON_MENULEFT
- 1 , //no default key // DANCE_BUTTON_MENURIGHT
- 1 , //no default key // DANCE_BUTTON_MENUUP
- 1 , //no default key // DANCE_BUTTON_MENUDOWN
},
}
2002-05-27 08:23:27 +00:00
},
2002-06-20 22:09:05 +00:00
{ // GAME_PUMP
2002-05-27 08:23:27 +00:00
"pump" , // m_szName
"Pump It Up" , // m_szDescription
2002-07-31 19:40:40 +00:00
2 , // m_iNumControllers
NUM_PUMP_BUTTONS , // m_iButtonsPerController
2002-05-27 08:23:27 +00:00
{ // m_szButtonNames
"UpLeft" ,
"UpRight" ,
"Center" ,
"DownLeft" ,
"DownRight" ,
2002-07-31 19:40:40 +00:00
"Start" ,
"Back" ,
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
2002-05-27 08:23:27 +00:00
},
2002-08-13 23:26:46 +00:00
{ // m_szSecondaryFunction
"(MenuUp)" ,
"(MenuDown)" ,
2002-09-18 18:24:33 +00:00
"(Start)" ,
"(MenuLeft)" ,
"(MenuRight)" ,
2002-08-13 23:26:46 +00:00
"(dedicated)" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
2002-07-31 19:40:40 +00:00
},
{ // m_DedicatedMenuButton
PUMP_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
PUMP_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
PUMP_BUTTON_MENUUP , // MENU_BUTTON_UP
PUMP_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
PUMP_BUTTON_START , // MENU_BUTTON_START
PUMP_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
2002-09-18 18:24:33 +00:00
PUMP_BUTTON_DOWNLEFT , // MENU_BUTTON_LEFT
PUMP_BUTTON_DOWNRIGHT , // MENU_BUTTON_RIGHT
PUMP_BUTTON_UPLEFT , // MENU_BUTTON_UP
PUMP_BUTTON_UPRIGHT , // MENU_BUTTON_DOWN
2002-05-27 08:23:27 +00:00
PUMP_BUTTON_CENTER , // MENU_BUTTON_START
2002-07-31 19:40:40 +00:00
PUMP_BUTTON_BACK , // MENU_BUTTON_BACK
2002-05-27 08:23:27 +00:00
},
2002-07-31 19:40:40 +00:00
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
2002-11-29 20:37:12 +00:00
SDLK_q , // PUMP_BUTTON_UPLEFT,
SDLK_e , // PUMP_BUTTON_UPRIGHT,
SDLK_s , // PUMP_BUTTON_CENTER,
SDLK_z , // PUMP_BUTTON_DOWNLEFT,
SDLK_c , // PUMP_BUTTON_DOWNRIGHT,
SDLK_RETURN , // PUMP_BUTTON_START,
SDLK_ESCAPE , // PUMP_BUTTON_BACK,
SDLK_LEFT , // PUMP_BUTTON_MENULEFT
SDLK_RIGHT , // PUMP_BUTTON_MENURIGHT
SDLK_UP , // PUMP_BUTTON_MENUUP
SDLK_DOWN , // PUMP_BUTTON_MENUDOWN
2002-07-31 19:40:40 +00:00
},
{ // PLAYER_2
2002-11-29 20:37:12 +00:00
SDLK_KP7 , // PUMP_BUTTON_UPLEFT,
SDLK_KP9 , // PUMP_BUTTON_UPRIGHT,
SDLK_KP5 , // PUMP_BUTTON_CENTER,
SDLK_KP1 , // PUMP_BUTTON_DOWNLEFT,
SDLK_KP3 , // PUMP_BUTTON_DOWNRIGHT,
SDLK_KP_ENTER , // PUMP_BUTTON_START,
SDLK_KP0 , // PUMP_BUTTON_BACK,
2002-07-31 19:40:40 +00:00
- 1 , //no default key // PUMP_BUTTON_MENULEFT
- 1 , //no default key // PUMP_BUTTON_MENURIGHT
- 1 , //no default key // PUMP_BUTTON_MENUUP
- 1 , //no default key // PUMP_BUTTON_MENUDOWN
},
}
2002-05-27 08:23:27 +00:00
},
2002-07-31 19:40:40 +00:00
{
2002-07-08 19:08:15 +00:00
"ez2" , // m_szName
2002-09-15 03:50:57 +00:00
"Ez2Dancer" , // m_szDescription
2002-07-31 19:40:40 +00:00
2 , // m_iNumControllers
NUM_EZ2_BUTTONS , // m_iButtonsPerController
2002-07-08 19:08:15 +00:00
{ // m_szButtonNames
2002-07-31 19:40:40 +00:00
"FootUpLeft" ,
"FootUpRight" ,
"FootDown" ,
"HandUpLeft" ,
"HandUpRight" ,
"HandLrLeft" ,
"HandLrRight" ,
"Start" ,
"Back" ,
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
2002-07-08 19:08:15 +00:00
},
2002-08-13 23:26:46 +00:00
{ // m_szSecondaryFunction
"(MenuUp)" ,
"(MenuDown)" ,
"(Start)" ,
"(MenuLeft)" ,
"(MenuRight)" ,
"" ,
"" ,
"(dedicated)" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
2002-07-31 19:40:40 +00:00
},
{ // m_DedicatedMenuButton
EZ2_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
EZ2_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
EZ2_BUTTON_MENUUP , // MENU_BUTTON_UP
EZ2_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
EZ2_BUTTON_START , // MENU_BUTTON_START
EZ2_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
EZ2_BUTTON_HANDUPLEFT , // MENU_BUTTON_LEFT
EZ2_BUTTON_HANDUPRIGHT , // MENU_BUTTON_RIGHT
EZ2_BUTTON_FOOTUPLEFT , // MENU_BUTTON_UP
EZ2_BUTTON_FOOTUPRIGHT , // MENU_BUTTON_DOWN
EZ2_BUTTON_FOOTDOWN , // MENU_BUTTON_START
EZ2_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
2002-11-29 20:37:12 +00:00
SDLK_z , // EZ2_BUTTON_FOOTUPLEFT,
SDLK_b , // EZ2_BUTTON_FOOTUPRIGHT,
SDLK_c , // EZ2_BUTTON_FOOTDOWN,
SDLK_x , // EZ2_BUTTON_HANDUPLEFT,
SDLK_v , // EZ2_BUTTON_HANDUPRIGHT,
SDLK_s , // EZ2_BUTTON_HANDLRLEFT,
SDLK_f , // EZ2_BUTTON_HANDLRRIGHT,
SDLK_RETURN , // EZ2_BUTTON_START,
SDLK_ESCAPE , // EZ2_BUTTON_BACK,
SDLK_LEFT , // EZ2_BUTTON_MENULEFT
SDLK_RIGHT , // EZ2_BUTTON_MENURIGHT
SDLK_UP , // EZ2_BUTTON_MENUUP
SDLK_DOWN , // EZ2_BUTTON_MENUDOWN
2002-07-31 19:40:40 +00:00
},
{ // PLAYER_2
2002-10-05 20:09:57 +00:00
- 1 , // EZ2_BUTTON_FOOTUPLEFT,
- 1 , // EZ2_BUTTON_FOOTUPRIGHT,
- 1 , // EZ2_BUTTON_FOOTDOWN,
- 1 , // EZ2_BUTTON_HANDUPLEFT,
- 1 , // EZ2_BUTTON_HANDUPRIGHT,
- 1 , // EZ2_BUTTON_HANDLRLEFT,
- 1 , // EZ2_BUTTON_HANDLRRIGHT,
- 1 , // EZ2_BUTTON_START,
- 1 , // EZ2_BUTTON_BACK,
2002-07-31 19:40:40 +00:00
- 1 , //no default key // EZ2_BUTTON_MENULEFT
- 1 , //no default key // EZ2_BUTTON_MENURIGHT
- 1 , //no default key // EZ2_BUTTON_MENUUP
- 1 , //no default key // EZ2_BUTTON_MENUDOWN
},
2002-07-08 19:08:15 +00:00
},
2002-06-20 22:09:05 +00:00
},
2002-09-07 02:50:23 +00:00
{ // GAME_PARA
"para" , // m_szName
"Para Para Paradise" , // m_szDescription
2 , // m_iNumControllers
NUM_DANCE_BUTTONS , // m_iButtonsPerController
{ // m_szButtonNames
"Left" ,
"UpLeft" ,
"Up" ,
"UpRight" ,
"Right" ,
"Start" ,
"Back" ,
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
},
{ // m_szSecondaryFunction
"(MenuLeft)" ,
"(MenuDown)" ,
"" ,
"(MenuUp)" ,
"(MenuRight)" ,
"" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
},
{ // m_DedicatedMenuButton
PARA_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
PARA_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
PARA_BUTTON_MENUUP , // MENU_BUTTON_UP
PARA_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
PARA_BUTTON_START , // MENU_BUTTON_START
PARA_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
PARA_BUTTON_LEFT , // MENU_BUTTON_LEFT
PARA_BUTTON_RIGHT , // MENU_BUTTON_RIGHT
PARA_BUTTON_UPRIGHT , // MENU_BUTTON_UP
PARA_BUTTON_UPLEFT , // MENU_BUTTON_DOWN
PARA_BUTTON_START , // MENU_BUTTON_START
PARA_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
2002-11-29 20:37:12 +00:00
SDLK_z , // PARA_BUTTON_LEFT,
SDLK_x , // PARA_BUTTON_UPLEFT,
SDLK_c , // PARA_BUTTON_UP,
SDLK_v , // PARA_BUTTON_UPRIGHT,
SDLK_b , // PARA_BUTTON_RIGHT,
SDLK_RETURN , // PARA_BUTTON_START,
SDLK_ESCAPE , // PARA_BUTTON_BACK
SDLK_LEFT , //no default key // PARA_BUTTON_MENULEFT
SDLK_RIGHT , //no default key // PARA_BUTTON_MENURIGHT
SDLK_UP , // PARA_BUTTON_MENUUP
SDLK_DOWN , // PARA_BUTTON_MENUDOWN
2002-09-07 02:50:23 +00:00
},
{ // PLAYER_2
- 1 , // PARA_BUTTON_LEFT,
- 1 , // PARA_BUTTON_UPLEFT,
- 1 , // PARA_BUTTON_UP,
- 1 , // PARA_BUTTON_UPRIGHT,
- 1 , // PARA_BUTTON_RIGHT,
- 1 , // PARA_BUTTON_START,
- 1 , // PARA_BUTTON_BACK
- 1 , //no default key // PARA_BUTTON_MENULEFT
- 1 , //no default key // PARA_BUTTON_MENURIGHT
- 1 , // PARA_BUTTON_MENUUP
- 1 ,
},
}
},
2002-12-28 16:07:19 +00:00
{ // GAME_DS3DDX
"ds3ddx" , // m_szName
"Dance Station 3DDX" , // m_szDescription
2 , // m_iNumControllers
NUM_DS3DDX_BUTTONS , // m_iButtonsPerController
{ // m_szButtonNames
"HandLeft" ,
"FootDownLeft" ,
"FootUpLeft" ,
"HandUp" ,
"HandDown" ,
"FootUpRight" ,
"FootDownRight" ,
"HandRight" ,
"Start" ,
"Back" ,
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
},
{ // m_szSecondaryFunction
"(MenuLeft)" ,
"" ,
"" ,
"(MenuUp)" ,
"(MenuDown)" ,
"" ,
"" ,
"(MenuRight)" ,
"" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
},
{ // m_DedicatedMenuButton
DS3DDX_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
DS3DDX_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
DS3DDX_BUTTON_MENUUP , // MENU_BUTTON_UP
DS3DDX_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
DS3DDX_BUTTON_START , // MENU_BUTTON_START
DS3DDX_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
DS3DDX_BUTTON_HANDLEFT , // MENU_BUTTON_LEFT
DS3DDX_BUTTON_HANDRIGHT , // MENU_BUTTON_RIGHT
DS3DDX_BUTTON_HANDUP , // MENU_BUTTON_UP
DS3DDX_BUTTON_HANDDOWN , // MENU_BUTTON_DOWN
DS3DDX_BUTTON_START , // MENU_BUTTON_START
DS3DDX_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
SDLK_a , // DS3DDX_BUTTON_HANDLEFT,
SDLK_z , // DS3DDX_BUTTON_FOOTDOWNLEFT,
SDLK_q , // DS3DDX_BUTTON_FOOTUPLEFT,
SDLK_w , // DS3DDX_BUTTON_HANDUP,
SDLK_x , // DS3DDX_BUTTON_HANDDOWN,
SDLK_e , // DS3DDX_BUTTON_FOOTUPRIGHT,
SDLK_c , // DS3DDX_BUTTON_FOOTDOWNRIGHT,
SDLK_d , // DS3DDX_BUTTON_HANDRIGHT,
SDLK_RETURN , // DS3DDX_BUTTON_START,
SDLK_ESCAPE , // DS3DDX_BUTTON_BACK
SDLK_LEFT , //no default key // DS3DDX_BUTTON_MENULEFT
SDLK_RIGHT , //no default key // DS3DDX_BUTTON_MENURIGHT
SDLK_UP , // DS3DDX_BUTTON_MENUUP
SDLK_DOWN , // DS3DDX_BUTTON_MENUDOWN
},
{ // PLAYER_2
- 1 , // DS3DDX_BUTTON_HANDLEFT,
- 1 , // DS3DDX_BUTTON_FOOTDOWNLEFT,
- 1 , // DS3DDX_BUTTON_FOOTUPLEFT,
- 1 , // DS3DDX_BUTTON_HANDUP,
- 1 , // DS3DDX_BUTTON_HANDDOWN,
- 1 , // DS3DDX_BUTTON_FOOTUPRIGHT,
- 1 , // DS3DDX_BUTTON_FOOTDOWNRIGHT,
- 1 , // DS3DDX_BUTTON_HANDRIGHT,
- 1 , // DS3DDX_BUTTON_START,
- 1 , // DS3DDX_BUTTON_BACK
- 1 , //no default key // DS3DDX_BUTTON_MENULEFT
- 1 , //no default key // DS3DDX_BUTTON_MENURIGHT
- 1 , // DS3DDX_BUTTON_MENUUP
- 1 , // DS3DDX_BUTTON_MENUDOWN
},
}
},
2003-01-01 17:20:36 +00:00
{ // GAME_BM
"bm" , // m_szName
"BeatMania" , // m_szDescription
2 , // m_iNumControllers
NUM_BM_BUTTONS , // m_iButtonsPerController
{ // m_szButtonNames
"LeftWhiteKey" ,
"LeftBlackKey" ,
"CenterWhiteKey" ,
"RightBlackKey" ,
"RightWhiteKey" ,
"Scratch" ,
"Start" ,
"Back" ,
"MenuLeft" ,
"MenuRight" ,
"MenuUp" ,
"MenuDown" ,
},
{ // m_szSecondaryFunction
"(MenuUp)" ,
"(MenuLeft)" ,
"(Start)" ,
"(MenuRight)" ,
"(MenuDown)" ,
"" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
"(dedicated)" ,
},
{ // m_DedicatedMenuButton
BM_BUTTON_MENULEFT , // MENU_BUTTON_LEFT
BM_BUTTON_MENURIGHT , // MENU_BUTTON_RIGHT
BM_BUTTON_MENUUP , // MENU_BUTTON_UP
BM_BUTTON_MENUDOWN , // MENU_BUTTON_DOWN
BM_BUTTON_START , // MENU_BUTTON_START
BM_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_SecondaryMenuButton
BM_BUTTON_LEFTBLACK , // MENU_BUTTON_LEFT
BM_BUTTON_RIGHTBLACK , // MENU_BUTTON_RIGHT
BM_BUTTON_LEFTWHITE , // MENU_BUTTON_UP
BM_BUTTON_RIGHTWHITE , // MENU_BUTTON_DOWN
BM_BUTTON_CENTERWHITE , // MENU_BUTTON_START
BM_BUTTON_BACK , // MENU_BUTTON_BACK
},
{ // m_iDefaultKeyboardKey
{ // PLAYER_1
SDLK_z , // BM_BUTTON_LEFTWHITE,
SDLK_s , // BM_BUTTON_LEFTBLACK,
SDLK_x , // BM_BUTTON_CENTERWHITE,
SDLK_d , // BM_BUTTON_RIGHTBLACK,
SDLK_c , // BM_BUTTON_RIGHTWHITE,
SDLK_b , // BM_BUTTON_SCRATCH,
SDLK_RETURN , // BM_BUTTON_START,
SDLK_ESCAPE , // BM_BUTTON_BACK,
SDLK_LEFT , // BM_BUTTON_MENULEFT
SDLK_RIGHT , // BM_BUTTON_MENURIGHT
SDLK_UP , // BM_BUTTON_MENUUP
SDLK_DOWN , // BM_BUTTON_MENUDOWN
},
{ // PLAYER_2
- 1 , // BM_BUTTON_LEFTWHITE,
- 1 , // BM_BUTTON_LEFTBLACK,
- 1 , // BM_BUTTON_CENTERWHITE,
- 1 , // BM_BUTTON_RIGHTBLACK,
- 1 , // BM_BUTTON_RIGHTWHITE,
- 1 , // BM_BUTTON_SCRATCH,
- 1 , // BM_BUTTON_START,
- 1 , // BM_BUTTON_BACK,
- 1 , // BM_BUTTON_MENULEFT
- 1 , // BM_BUTTON_MENURIGHT
- 1 , // BM_BUTTON_MENUUP
- 1 , // BM_BUTTON_MENUDOWN
},
}
},
2002-05-27 08:23:27 +00:00
};
StyleDef g_StyleDefs [ NUM_STYLES ] =
{
{ // STYLE_DANCE_SINGLE
2002-08-17 06:44:04 +00:00
GAME_DANCE , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"single" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_DANCE_SINGLE , // m_NotesType
2002-08-17 06:44:04 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 160 , 480 }, // m_iCenterX
4 , // m_iColsPerPlayer
2002-05-27 08:23:27 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_2 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_3 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3
},
},
{ // STYLE_DANCE_VERSUS
2002-08-17 06:44:04 +00:00
GAME_DANCE , // m_Game
true , // m_bUsedForGameplay
false , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"versus" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_DANCE_SINGLE , // m_NotesType
2002-08-17 06:44:04 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
{ 160 , 480 }, // m_iCenterX
4 , // m_iColsPerPlayer
2002-05-27 08:23:27 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_2 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_3 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3
},
},
{ // STYLE_DANCE_DOUBLE
2002-08-17 06:44:04 +00:00
GAME_DANCE , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"double" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_DANCE_DOUBLE , // m_NotesType
2002-08-17 06:44:04 +00:00
StyleDef :: ONE_PLAYER_TWO_CREDITS , // m_StyleType
{ 320 , 320 }, // m_iCenterX
8 , // m_iColsPerPlayer
2002-05-27 08:23:27 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 3.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 2.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , - DANCE_COL_SPACING * 1.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , - DANCE_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , + DANCE_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , + DANCE_COL_SPACING * 1.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 2.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 3.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 3.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 2.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , - DANCE_COL_SPACING * 1.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , - DANCE_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , + DANCE_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , + DANCE_COL_SPACING * 1.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 2.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 3.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7
},
},
{ // StyleDef
2002-08-13 23:26:46 +00:00
GAME_DANCE , // m_Game
2002-08-17 06:44:04 +00:00
true , // m_bUsedForGameplay
false , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"couple" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_DANCE_COUPLE , // m_NotesType
2002-08-13 23:26:46 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
{ 160 , 480 }, // m_iCenterX
4 , // m_iColsPerPlayer
2002-05-27 08:23:27 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-09-12 08:37:12 +00:00
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 1.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3
},
},
{ // STYLE_DANCE_SOLO
2002-08-13 23:26:46 +00:00
GAME_DANCE , // m_Game
2002-08-17 06:44:04 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"solo" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_DANCE_SOLO , // m_NotesType
2002-08-13 23:26:46 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 320 , 320 }, // m_iCenterX
2002-05-27 08:23:27 +00:00
6 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 2.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_UPLEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , DANCE_BUTTON_UPRIGHT , + DANCE_COL_SPACING * 1.5f },
{ TRACK_6 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 2.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 2.5f },
{ TRACK_2 , GAME_CONTROLLER_2 , DANCE_BUTTON_UPLEFT , - DANCE_COL_SPACING * 1.5f },
{ TRACK_3 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_UPRIGHT , + DANCE_COL_SPACING * 1.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 2.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3 , 4 , 5
},
},
2002-09-12 08:37:12 +00:00
{ // STYLE_DANCE_EDIT_COUPLE
2002-08-17 06:44:04 +00:00
GAME_DANCE , // m_Game
false , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-10-14 00:28:27 +00:00
"couple (edit)" , // m_szName
NOTES_TYPE_DANCE_COUPLE , // m_NotesType
2002-09-12 08:37:12 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 160 , 480 }, // m_iCenterX
8 , // m_iColsPerPlayer
2002-08-17 06:44:04 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-10-05 20:03:14 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 4.0f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 3.0f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , - DANCE_COL_SPACING * 2.0f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , - DANCE_COL_SPACING * 1.0f },
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , + DANCE_COL_SPACING * 1.0f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , + DANCE_COL_SPACING * 2.0f },
{ TRACK_7 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 3.0f },
{ TRACK_8 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 4.0f },
2002-09-07 06:12:12 +00:00
},
{ // PLAYER_2
2002-10-05 20:03:14 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , DANCE_BUTTON_LEFT , - DANCE_COL_SPACING * 4.0f },
{ TRACK_2 , GAME_CONTROLLER_1 , DANCE_BUTTON_DOWN , - DANCE_COL_SPACING * 3.0f },
{ TRACK_3 , GAME_CONTROLLER_1 , DANCE_BUTTON_UP , - DANCE_COL_SPACING * 2.0f },
{ TRACK_4 , GAME_CONTROLLER_1 , DANCE_BUTTON_RIGHT , - DANCE_COL_SPACING * 1.0f },
{ TRACK_5 , GAME_CONTROLLER_2 , DANCE_BUTTON_LEFT , + DANCE_COL_SPACING * 1.0f },
{ TRACK_6 , GAME_CONTROLLER_2 , DANCE_BUTTON_DOWN , + DANCE_COL_SPACING * 2.0f },
{ TRACK_7 , GAME_CONTROLLER_2 , DANCE_BUTTON_UP , + DANCE_COL_SPACING * 3.0f },
{ TRACK_8 , GAME_CONTROLLER_2 , DANCE_BUTTON_RIGHT , + DANCE_COL_SPACING * 4.0f },
2002-08-17 06:44:04 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7
},
},
2002-06-14 22:25:22 +00:00
/* { // STYLE_DANCE_SOLO_VERSUS
2002-05-27 08:23:27 +00:00
"dance-solo-versus", // m_szName
NOTES_TYPE_DANCE_SOLO, // m_NotesType
2002-08-13 23:26:46 +00:00
StyleDef::ONE_PLAYER_ONE_CREDIT, // m_StyleType
2002-05-27 08:23:27 +00:00
{ 160, 480 }, // m_iCenterX
6, // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1, GAME_CONTROLLER_1, DANCE_BUTTON_LEFT, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f },
{ TRACK_2, GAME_CONTROLLER_1, DANCE_BUTTON_UPLEFT, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f },
{ TRACK_3, GAME_CONTROLLER_1, DANCE_BUTTON_DOWN, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f },
{ TRACK_4, GAME_CONTROLLER_1, DANCE_BUTTON_UP, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f },
{ TRACK_5, GAME_CONTROLLER_1, DANCE_BUTTON_UPRIGHT, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f },
{ TRACK_6, GAME_CONTROLLER_1, DANCE_BUTTON_RIGHT, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1, GAME_CONTROLLER_2, DANCE_BUTTON_LEFT, -DANCE_6PANEL_VERSUS_COL_SPACING*2.5f },
{ TRACK_2, GAME_CONTROLLER_2, DANCE_BUTTON_UPLEFT, -DANCE_6PANEL_VERSUS_COL_SPACING*1.5f },
{ TRACK_3, GAME_CONTROLLER_2, DANCE_BUTTON_DOWN, -DANCE_6PANEL_VERSUS_COL_SPACING*0.5f },
{ TRACK_4, GAME_CONTROLLER_2, DANCE_BUTTON_UP, +DANCE_6PANEL_VERSUS_COL_SPACING*0.5f },
{ TRACK_5, GAME_CONTROLLER_2, DANCE_BUTTON_UPRIGHT, +DANCE_6PANEL_VERSUS_COL_SPACING*1.5f },
{ TRACK_6, GAME_CONTROLLER_2, DANCE_BUTTON_RIGHT, +DANCE_6PANEL_VERSUS_COL_SPACING*2.5f },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0,5,1,4,2,3 // outside in
},
2002-08-17 06:44:04 +00:00
}, */
{ // PUMP_STYLE_SINGLE
2002-08-13 23:26:46 +00:00
GAME_PUMP , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"single" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_PUMP_SINGLE , // m_NotesType
2002-08-13 23:26:46 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
2002-05-27 08:23:27 +00:00
{ 160 , 480 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 2 , 4 , 1 , 3
},
},
{ // PUMP_STYLE_VERSUS
2002-08-13 23:26:46 +00:00
GAME_PUMP , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
2002-08-17 06:44:04 +00:00
false , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"versus" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_PUMP_SINGLE , // m_NotesType
2002-09-06 08:56:28 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
2002-05-27 08:23:27 +00:00
{ 160 , 480 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
2002-05-27 08:23:27 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
2002-05-27 08:23:27 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 2 , 4 , 1 , 3
},
},
2002-05-27 18:36:01 +00:00
{ // PUMP_STYLE_DOUBLE
2002-08-13 23:26:46 +00:00
GAME_PUMP , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"double" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_PUMP_DOUBLE , // m_NotesType
2002-09-06 08:56:28 +00:00
StyleDef :: ONE_PLAYER_TWO_CREDITS , // m_StyleType
2002-10-10 07:05:26 +00:00
{ 320 , 320 }, // m_iCenterX
2002-05-27 18:36:01 +00:00
10 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 4.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 3.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , - PUMP_COL_SPACING * 2.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , - PUMP_COL_SPACING * 1.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , - PUMP_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , + PUMP_COL_SPACING * 0.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , + PUMP_COL_SPACING * 1.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 2.5f },
{ TRACK_9 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 3.5f },
{ TRACK_10 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 4.5f },
2002-05-27 18:36:01 +00:00
},
{ // PLAYER_2
2002-07-27 19:29:51 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 4.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 3.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , - PUMP_COL_SPACING * 2.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , - PUMP_COL_SPACING * 1.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , - PUMP_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , + PUMP_COL_SPACING * 0.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , + PUMP_COL_SPACING * 1.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 2.5f },
{ TRACK_9 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 3.5f },
{ TRACK_10 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 4.5f },
2002-05-27 18:36:01 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 2 , 4 , 1 , 3 , 5 , 7 , 9 , 6 , 8
},
},
2002-09-09 23:15:43 +00:00
{ // STYLE_PUMP_COUPLE
GAME_PUMP , // m_Game
true , // m_bUsedForGameplay
false , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"couple" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_PUMP_COUPLE , // m_NotesType
2002-09-09 23:15:43 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
{ 160 , 480 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
},
{ // PLAYER_2
2002-09-12 07:50:20 +00:00
{ TRACK_6 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_7 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_8 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_9 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_10 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
2002-09-09 23:15:43 +00:00
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 2 , 4 , 1 , 3
},
},
2002-09-12 07:50:20 +00:00
{ // STYLE_PUMP_EDIT_COUPLE
2002-09-09 23:15:43 +00:00
GAME_PUMP , // m_Game
false , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-10-05 20:03:14 +00:00
"couple (edit)" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_PUMP_COUPLE , // m_NotesType
2002-09-09 23:15:43 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 160 , 480 }, // m_iCenterX
2002-09-12 07:50:20 +00:00
10 , // m_iColsPerPlayer
2002-09-09 23:15:43 +00:00
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-09-12 07:50:20 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 5.0 },
{ TRACK_2 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 4.0 },
{ TRACK_3 , GAME_CONTROLLER_1 , PUMP_BUTTON_CENTER , - PUMP_COL_SPACING * 3.0 },
{ TRACK_4 , GAME_CONTROLLER_1 , PUMP_BUTTON_UPRIGHT , - PUMP_COL_SPACING * 2.0 },
{ TRACK_5 , GAME_CONTROLLER_1 , PUMP_BUTTON_DOWNRIGHT , - PUMP_COL_SPACING * 1.0 },
{ TRACK_6 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , + PUMP_COL_SPACING * 1.0 },
{ TRACK_7 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , + PUMP_COL_SPACING * 2.0 },
{ TRACK_8 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 3.0 },
{ TRACK_9 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 4.0 },
{ TRACK_10 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 5.0 },
2002-09-09 23:15:43 +00:00
},
{ // PLAYER_2
{ TRACK_1 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNLEFT , - PUMP_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPLEFT , - PUMP_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , PUMP_BUTTON_CENTER , + PUMP_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , PUMP_BUTTON_UPRIGHT , + PUMP_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , PUMP_BUTTON_DOWNRIGHT , + PUMP_COL_SPACING * 2 },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 2 , 4 , 1 , 3
},
},
2002-06-20 22:09:05 +00:00
{ // EZ2_STYLE_SINGLE
2002-08-13 23:26:46 +00:00
GAME_EZ2 , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"single" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_EZ2_SINGLE , // m_NotesType
2002-09-06 08:56:28 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
2002-06-20 22:09:05 +00:00
{ 160 , 480 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-31 19:40:40 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 1 },
2002-08-18 00:15:03 +00:00
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 2 },
2002-06-20 22:09:05 +00:00
},
{ // PLAYER_2
2002-07-31 19:40:40 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 2 },
2002-06-20 22:09:05 +00:00
},
},
{ // 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
},
},
2002-09-07 02:50:23 +00:00
{ // EZ2_STYLE_REAL
GAME_EZ2 , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"real" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_EZ2_REAL , // m_NotesType
2002-09-07 02:50:23 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 160 , 480 }, // m_iCenterX
7 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-10-27 21:37:09 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_REAL_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDLRLEFT , - EZ2_REAL_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_REAL_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , + EZ2_REAL_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_REAL_COL_SPACING * 1 },
{ TRACK_6 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDLRRIGHT , + EZ2_REAL_COL_SPACING * 2 },
{ TRACK_7 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_REAL_COL_SPACING * 3 },
2002-09-07 02:50:23 +00:00
},
{ // PLAYER_2
2002-10-27 21:37:09 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_REAL_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDLRLEFT , - EZ2_REAL_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , - EZ2_REAL_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_REAL_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_REAL_COL_SPACING * 1 },
{ TRACK_6 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDLRRIGHT , + EZ2_REAL_COL_SPACING * 2 },
{ TRACK_7 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_REAL_COL_SPACING * 3 },
2002-09-07 02:50:23 +00:00
},
},
{ // 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
},
},
2002-07-08 17:25:02 +00:00
{ // EZ2_STYLE_SINGLE_VERSUS
2002-08-13 23:26:46 +00:00
GAME_EZ2 , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"versus" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_EZ2_SINGLE , // m_NotesType
2002-09-06 08:56:28 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
2002-07-08 17:25:02 +00:00
{ 160 , 480 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-07-31 19:40:40 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 2 },
2002-07-08 17:25:02 +00:00
},
{ // PLAYER_2
2002-07-31 19:40:40 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 2 },
2002-07-08 17:25:02 +00:00
},
},
{ // 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
},
},
{ // EZ2_STYLE_REAL_VERSUS
2002-08-13 23:26:46 +00:00
GAME_EZ2 , // m_Game
2002-08-18 17:48:50 +00:00
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"versusReal" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_EZ2_REAL , // m_NotesType
2002-09-06 08:56:28 +00:00
StyleDef :: TWO_PLAYERS_TWO_CREDITS , // m_StyleType
2002-07-08 17:25:02 +00:00
{ 160 , 480 }, // m_iCenterX
7 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
2002-10-27 21:37:09 +00:00
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_REAL_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDLRLEFT , - EZ2_REAL_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_REAL_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , + EZ2_REAL_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_REAL_COL_SPACING * 1 },
{ TRACK_6 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDLRRIGHT , + EZ2_REAL_COL_SPACING * 2 },
{ TRACK_7 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_REAL_COL_SPACING * 3 },
2002-07-08 17:25:02 +00:00
},
{ // PLAYER_2
2002-10-27 21:37:09 +00:00
{ TRACK_1 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_REAL_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDLRLEFT , - EZ2_REAL_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , - EZ2_REAL_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_REAL_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_REAL_COL_SPACING * 1 },
{ TRACK_6 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDLRRIGHT , + EZ2_REAL_COL_SPACING * 2 },
{ TRACK_7 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_REAL_COL_SPACING * 3 },
2002-07-08 17:25:02 +00:00
},
},
{ // 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
},
},
2002-10-10 04:33:49 +00:00
{ // EZ2_STYLE_DOUBLE
GAME_EZ2 , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
"double" , // m_szName
2002-10-14 00:28:27 +00:00
NOTES_TYPE_EZ2_DOUBLE , // m_NotesType
2002-10-10 04:33:49 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 320 , 320 }, // m_iCenterX
10 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 4.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 3.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , - EZ2_COL_SPACING * 2.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , - EZ2_COL_SPACING * 1.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , - EZ2_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , + EZ2_COL_SPACING * 0.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , + EZ2_COL_SPACING * 1.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 2.5f },
{ TRACK_9 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 3.5f },
{ TRACK_10 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 4.5f },
},
{ // PLAYER_2
{ TRACK_1 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPLEFT , - EZ2_COL_SPACING * 4.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPLEFT , - EZ2_COL_SPACING * 3.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTDOWN , - EZ2_COL_SPACING * 2.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , EZ2_BUTTON_HANDUPRIGHT , - EZ2_COL_SPACING * 1.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , EZ2_BUTTON_FOOTUPRIGHT , - EZ2_COL_SPACING * 0.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPLEFT , + EZ2_COL_SPACING * 0.5f },
{ TRACK_7 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPLEFT , + EZ2_COL_SPACING * 1.5f },
{ TRACK_8 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTDOWN , + EZ2_COL_SPACING * 2.5f },
{ TRACK_9 , GAME_CONTROLLER_2 , EZ2_BUTTON_HANDUPRIGHT , + EZ2_COL_SPACING * 3.5f },
{ TRACK_10 , GAME_CONTROLLER_2 , EZ2_BUTTON_FOOTUPRIGHT , + EZ2_COL_SPACING * 4.5f },
},
},
{ // 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
},
},
2002-09-07 02:50:23 +00:00
{ // PARA_SINGLE
GAME_PARA , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
2002-09-15 03:50:57 +00:00
"single" , // m_szName
2002-10-24 01:51:01 +00:00
NOTES_TYPE_PARA_SINGLE , // m_NotesType
2002-09-07 02:50:23 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 320 , 320 }, // m_iCenterX
5 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1 , GAME_CONTROLLER_1 , PARA_BUTTON_LEFT , - PARA_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_1 , PARA_BUTTON_UPLEFT , - PARA_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_1 , PARA_BUTTON_UP , + PARA_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_1 , PARA_BUTTON_UPRIGHT , + PARA_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_1 , PARA_BUTTON_RIGHT , + PARA_COL_SPACING * 2 },
},
{ // PLAYER_2
{ TRACK_1 , GAME_CONTROLLER_2 , PARA_BUTTON_LEFT , - PARA_COL_SPACING * 2 },
{ TRACK_2 , GAME_CONTROLLER_2 , PARA_BUTTON_UPLEFT , - PARA_COL_SPACING * 1 },
{ TRACK_3 , GAME_CONTROLLER_2 , PARA_BUTTON_UP , + PARA_COL_SPACING * 0 },
{ TRACK_4 , GAME_CONTROLLER_2 , PARA_BUTTON_UPRIGHT , + PARA_COL_SPACING * 1 },
{ TRACK_5 , GAME_CONTROLLER_2 , PARA_BUTTON_RIGHT , + PARA_COL_SPACING * 2 },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
2 , 0 , 4 , 1 , 3
},
2002-12-28 16:07:19 +00:00
},
{ // DS3DDX_SINGLE
GAME_DS3DDX , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
"single" , // m_szName
2002-12-29 02:02:24 +00:00
NOTES_TYPE_DS3DDX_SINGLE , // m_NotesType
2002-12-28 16:07:19 +00:00
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
2003-01-01 17:20:36 +00:00
{ 160 , 480 }, // m_iCenterX
2002-12-28 16:07:19 +00:00
8 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_HANDLEFT , - DS3DDX_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_FOOTDOWNLEFT , - DS3DDX_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_FOOTUPLEFT , - DS3DDX_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_HANDUP , - DS3DDX_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_HANDDOWN , + DS3DDX_COL_SPACING * 0 },
{ TRACK_6 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_FOOTUPRIGHT , + DS3DDX_COL_SPACING * 1 },
{ TRACK_7 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_FOOTDOWNRIGHT , + DS3DDX_COL_SPACING * 2 },
{ TRACK_8 , GAME_CONTROLLER_1 , DS3DDX_BUTTON_HANDRIGHT , + DS3DDX_COL_SPACING * 3 },
},
{ // PLAYER_2
{ TRACK_1 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_HANDLEFT , - DS3DDX_COL_SPACING * 3 },
{ TRACK_2 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_FOOTDOWNLEFT , - DS3DDX_COL_SPACING * 2 },
{ TRACK_3 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_FOOTUPLEFT , - DS3DDX_COL_SPACING * 1 },
{ TRACK_4 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_HANDUP , - DS3DDX_COL_SPACING * 0 },
{ TRACK_5 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_HANDDOWN , + DS3DDX_COL_SPACING * 0 },
{ TRACK_6 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_FOOTUPRIGHT , + DS3DDX_COL_SPACING * 1 },
{ TRACK_7 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_FOOTDOWNRIGHT , + DS3DDX_COL_SPACING * 2 },
{ TRACK_8 , GAME_CONTROLLER_2 , DS3DDX_BUTTON_HANDRIGHT , + DS3DDX_COL_SPACING * 3 },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7
},
2003-01-01 17:20:36 +00:00
},
{
GAME_BM , // m_Game
true , // m_bUsedForGameplay
true , // m_bUsedForEdit
"BM-single" , // m_szName
NOTES_TYPE_BM_SINGLE , // m_NotesType
StyleDef :: ONE_PLAYER_ONE_CREDIT , // m_StyleType
{ 160 , 480 }, // m_iCenterX
6 , // m_iColsPerPlayer
{ // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER];
{ // PLAYER_1
{ TRACK_1 , GAME_CONTROLLER_1 , BM_BUTTON_LEFTWHITE , - BM_COL_SPACING * 2.5f },
{ TRACK_2 , GAME_CONTROLLER_1 , BM_BUTTON_LEFTBLACK , - BM_COL_SPACING * 1.5f },
{ TRACK_3 , GAME_CONTROLLER_1 , BM_BUTTON_CENTERWHITE , - BM_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_1 , BM_BUTTON_RIGHTBLACK , + BM_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_1 , BM_BUTTON_RIGHTWHITE , + BM_COL_SPACING * 1.5f },
{ TRACK_6 , GAME_CONTROLLER_1 , BM_BUTTON_SCRATCH , + BM_COL_SPACING * 3.0f },
},
{ // PLAYER_2
{ TRACK_1 , GAME_CONTROLLER_2 , BM_BUTTON_LEFTWHITE , - BM_COL_SPACING * 2.5f },
{ TRACK_2 , GAME_CONTROLLER_2 , BM_BUTTON_LEFTBLACK , - BM_COL_SPACING * 1.5f },
{ TRACK_3 , GAME_CONTROLLER_2 , BM_BUTTON_CENTERWHITE , - BM_COL_SPACING * 0.5f },
{ TRACK_4 , GAME_CONTROLLER_2 , BM_BUTTON_RIGHTBLACK , + BM_COL_SPACING * 0.5f },
{ TRACK_5 , GAME_CONTROLLER_2 , BM_BUTTON_RIGHTWHITE , + BM_COL_SPACING * 1.5f },
{ TRACK_6 , GAME_CONTROLLER_2 , BM_BUTTON_SCRATCH , + BM_COL_SPACING * 3.0f },
},
},
{ // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER];
0 , 1 , 2 , 3 , 4 , 5
},
2002-09-07 02:50:23 +00:00
}
2002-05-27 08:23:27 +00:00
};
2002-04-16 17:31:00 +00:00
2002-03-19 07:09:49 +00:00
2002-09-29 05:06:18 +00:00
ModeChoice g_ModeChoices [] =
{
{
GAME_DANCE ,
PLAY_MODE_ARCADE ,
STYLE_DANCE_SINGLE ,
DIFFICULTY_MEDIUM ,
"single" ,
1
},
{
GAME_DANCE ,
PLAY_MODE_ARCADE ,
STYLE_DANCE_VERSUS ,
DIFFICULTY_MEDIUM ,
"versus" ,
2
},
{
GAME_DANCE ,
PLAY_MODE_ARCADE ,
STYLE_DANCE_DOUBLE ,
DIFFICULTY_MEDIUM ,
"double" ,
2
},
{
GAME_DANCE ,
PLAY_MODE_ARCADE ,
STYLE_DANCE_COUPLE ,
DIFFICULTY_MEDIUM ,
"couple" ,
2
},
{
GAME_DANCE ,
PLAY_MODE_ARCADE ,
STYLE_DANCE_SOLO ,
DIFFICULTY_MEDIUM ,
"solo" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_SINGLE ,
DIFFICULTY_EASY ,
"normal" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_SINGLE ,
DIFFICULTY_MEDIUM ,
"hard" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_SINGLE ,
DIFFICULTY_HARD ,
"crazy" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_VERSUS ,
DIFFICULTY_EASY ,
"normal" ,
2
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_VERSUS ,
DIFFICULTY_MEDIUM ,
"hard" ,
2
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_VERSUS ,
DIFFICULTY_HARD ,
"crazy" ,
2
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_COUPLE ,
DIFFICULTY_MEDIUM ,
"battle" ,
2
},
{
GAME_PUMP ,
PLAY_MODE_ARCADE ,
STYLE_PUMP_DOUBLE ,
DIFFICULTY_MEDIUM ,
"double" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ONI ,
STYLE_PUMP_SINGLE ,
DIFFICULTY_MEDIUM ,
"nonstop" ,
1
},
{
GAME_PUMP ,
PLAY_MODE_ONI ,
STYLE_PUMP_VERSUS ,
DIFFICULTY_MEDIUM ,
"nonstop" ,
2
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_SINGLE ,
DIFFICULTY_EASY ,
"easy" ,
1
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_SINGLE ,
DIFFICULTY_HARD ,
"hard" ,
1
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_REAL ,
DIFFICULTY_MEDIUM ,
"real" ,
1
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_DOUBLE ,
DIFFICULTY_MEDIUM ,
"club" ,
1
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_SINGLE_VERSUS ,
DIFFICULTY_EASY ,
"easy" ,
2
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_SINGLE_VERSUS ,
DIFFICULTY_HARD ,
"hard" ,
2
},
{
GAME_EZ2 ,
PLAY_MODE_ARCADE ,
STYLE_EZ2_REAL_VERSUS ,
DIFFICULTY_MEDIUM ,
"real" ,
2
},
2002-09-30 17:44:31 +00:00
{
GAME_PARA ,
PLAY_MODE_ARCADE ,
STYLE_PARA_SINGLE ,
DIFFICULTY_EASY ,
"para" ,
1
},
{
GAME_PARA ,
PLAY_MODE_ARCADE ,
STYLE_PARA_SINGLE ,
DIFFICULTY_EASY ,
"easy" ,
1
},
{
GAME_PARA ,
PLAY_MODE_ARCADE ,
STYLE_PARA_SINGLE ,
DIFFICULTY_MEDIUM ,
"hard" ,
1
},
{
GAME_PARA ,
PLAY_MODE_ARCADE ,
STYLE_PARA_SINGLE ,
DIFFICULTY_HARD ,
"expert" ,
1
},
2002-12-28 16:07:19 +00:00
{
GAME_DS3DDX ,
PLAY_MODE_ARCADE ,
STYLE_DS3DDX_SINGLE ,
DIFFICULTY_EASY ,
"pretty" ,
1
},
{
GAME_DS3DDX ,
PLAY_MODE_ARCADE ,
STYLE_DS3DDX_SINGLE ,
DIFFICULTY_MEDIUM ,
"power" ,
1
},
{
GAME_DS3DDX ,
PLAY_MODE_ARCADE ,
STYLE_DS3DDX_SINGLE ,
DIFFICULTY_HARD ,
"power2" ,
1
},
2003-01-01 17:20:36 +00:00
{
GAME_BM ,
PLAY_MODE_ARCADE ,
STYLE_BM_SINGLE ,
DIFFICULTY_EASY ,
"beginner" ,
1
},
{
GAME_BM ,
PLAY_MODE_ARCADE ,
STYLE_BM_SINGLE ,
DIFFICULTY_MEDIUM ,
"normal" ,
1
},
{
GAME_BM ,
PLAY_MODE_ARCADE ,
STYLE_BM_SINGLE ,
DIFFICULTY_HARD ,
"expert" ,
1
},
2002-09-29 05:06:18 +00:00
};
const int NUM_MODE_CHOICES = sizeof ( g_ModeChoices ) / sizeof ( g_ModeChoices [ 0 ]);
2002-03-19 07:09:49 +00:00
GameManager :: GameManager ()
{
2002-09-17 23:02:37 +00:00
m_pIniFile = new IniFile ;
2002-04-28 20:42:32 +00:00
}
2002-04-16 17:31:00 +00:00
2002-09-17 23:02:37 +00:00
GameManager ::~ GameManager ()
{
delete m_pIniFile ;
}
2002-03-19 07:09:49 +00:00
2002-07-23 01:41:40 +00:00
GameDef * GameManager :: GetGameDefForGame ( Game g )
2002-04-16 17:31:00 +00:00
{
2002-09-29 05:06:18 +00:00
ASSERT ( g != GAME_INVALID ); // the game must be set before calling this
2002-07-23 01:41:40 +00:00
return & g_GameDefs [ g ];
2002-04-16 17:31:00 +00:00
}
2002-08-22 23:05:08 +00:00
const StyleDef * GameManager :: GetStyleDefForStyle ( Style s )
2002-05-01 19:14:55 +00:00
{
2002-09-29 05:06:18 +00:00
ASSERT ( s != STYLE_NONE ); // the style must be set before calling this
2002-07-23 01:41:40 +00:00
return & g_StyleDefs [ s ];
}
2002-09-06 08:56:28 +00:00
void GameManager :: GetGameplayStylesForGame ( Game game , CArray < Style , Style >& aStylesAddTo , bool editor )
2002-07-23 01:41:40 +00:00
{
2002-09-06 08:56:28 +00:00
for ( int s = 0 ; s < NUM_STYLES ; s ++ ) {
if ( g_StyleDefs [ s ]. m_Game != game )
continue ;
2002-09-06 09:10:55 +00:00
if ( ! editor && ! g_StyleDefs [ s ]. m_bUsedForGameplay )
2002-09-06 08:56:28 +00:00
continue ;
if ( editor && ! g_StyleDefs [ s ]. m_bUsedForEdit )
continue ;
2002-07-23 01:41:40 +00:00
2002-10-31 04:23:39 +00:00
aStylesAddTo . push_back ( ( Style ) s );
2002-09-06 08:56:28 +00:00
}
2002-05-27 08:23:27 +00:00
}
2002-11-11 04:53:31 +00:00
void GameManager :: GetModesChoicesForGame ( Game game , CArray < ModeChoice * , ModeChoice *>& apChoicesAddTo )
2002-09-29 05:06:18 +00:00
{
for ( int s = 0 ; s < NUM_MODE_CHOICES ; s ++ )
if ( g_ModeChoices [ s ]. game == game )
2002-11-11 04:53:31 +00:00
apChoicesAddTo . push_back ( & g_ModeChoices [ s ] );
2002-09-29 05:06:18 +00:00
}
2002-08-13 23:26:46 +00:00
void GameManager :: GetNotesTypesForGame ( Game game , CArray < NotesType , NotesType >& aNotesTypeAddTo )
{
for ( int nt = 0 ; nt < NUM_NOTES_TYPES ; nt ++ )
{
2002-09-06 08:56:28 +00:00
bool found = false ;
for ( int s = 0 ; ! found && s < NUM_STYLES ; s ++ )
2002-08-13 23:26:46 +00:00
{
2002-09-06 08:56:28 +00:00
if ( g_StyleDefs [ s ]. m_Game != game )
continue ;
for ( int pl = 0 ; ! found && pl < NUM_PLAYERS ; ++ pl )
2002-08-13 23:26:46 +00:00
{
2002-10-14 00:28:27 +00:00
if ( g_StyleDefs [ s ]. m_NotesType != nt )
2002-09-06 08:56:28 +00:00
continue ;
found = true ;
2002-08-13 23:26:46 +00:00
}
}
2002-09-06 08:56:28 +00:00
if ( found )
2002-10-31 04:23:39 +00:00
aNotesTypeAddTo . push_back ( ( NotesType ) nt );
2002-08-13 23:26:46 +00:00
}
}
2002-07-23 01:41:40 +00:00
2002-09-17 23:02:37 +00:00
bool GameManager :: DoesNoteSkinExist ( CString sSkinName ) const
2002-05-27 08:23:27 +00:00
{
2002-07-23 01:41:40 +00:00
CStringArray asSkinNames ;
GetNoteSkinNames ( asSkinNames );
2002-10-31 03:16:02 +00:00
for ( unsigned i = 0 ; i < asSkinNames . size (); i ++ )
2002-07-23 01:41:40 +00:00
if ( 0 == stricmp ( sSkinName , asSkinNames [ i ]) )
return true ;
return false ;
2002-05-01 19:14:55 +00:00
}
2002-04-16 17:31:00 +00:00
2002-07-23 01:41:40 +00:00
void GameManager :: SwitchNoteSkin ( CString sNewNoteSkin )
2002-04-28 20:42:32 +00:00
{
2002-07-23 01:41:40 +00:00
if ( sNewNoteSkin == "" || ! DoesNoteSkinExist ( sNewNoteSkin ) )
{
CStringArray as ;
GetNoteSkinNames ( as );
2002-11-04 20:22:57 +00:00
ASSERT ( ! as . empty () );
2002-09-17 23:02:37 +00:00
SwitchNoteSkin ( as [ 0 ] );
2002-07-23 01:41:40 +00:00
}
else
2002-09-17 23:02:37 +00:00
{
2002-07-23 01:41:40 +00:00
m_sCurNoteSkin = sNewNoteSkin ;
2002-09-17 23:02:37 +00:00
m_pIniFile -> Reset ();
CString sPath = GetCurNoteSkinDir () + "metrics.ini" ;
m_pIniFile -> SetPath ( sPath );
if ( ! m_pIniFile -> ReadFile () )
2002-12-21 19:32:38 +00:00
RageException :: Throw ( "Could not read NoteSkin metrics file '%s'" , sPath . GetString () );
2002-09-17 23:02:37 +00:00
}
2002-07-23 01:41:40 +00:00
}
2002-09-17 23:02:37 +00:00
CString GameManager :: GetCurNoteSkinDir ()
{
const GameDef * pGameDef = GAMESTATE -> GetCurrentGameDef ();
2002-10-29 07:58:44 +00:00
return NOTESKIN_DIR + ssprintf ( "%s \\ %s \\ " , pGameDef -> m_szName , m_sCurNoteSkin . GetString ());
2002-09-17 23:02:37 +00:00
}
CString GameManager :: GetMetric ( CString sClassName , CString sValue ) // looks in GAMESTATE for the current Style
{
CString sReturn ;
if ( ! m_pIniFile -> GetValue ( sClassName , sValue , sReturn ) )
2002-12-21 19:32:38 +00:00
RageException :: Throw ( "Could not read metric '%s - %s' from '%smetrics.ini'" , sClassName . GetString (), sValue . GetString (), GetCurNoteSkinDir (). GetString () );
2002-09-17 23:02:37 +00:00
return sReturn ;
}
int GameManager :: GetMetricI ( CString sClassName , CString sValueName )
{
return atoi ( GetMetric ( sClassName , sValueName ) );
}
float GameManager :: GetMetricF ( CString sClassName , CString sValueName )
{
return ( float ) atof ( GetMetric ( sClassName , sValueName ) );
}
bool GameManager :: GetMetricB ( CString sClassName , CString sValueName )
{
return atoi ( GetMetric ( sClassName , sValueName ) ) != 0 ;
}
2002-10-28 05:30:45 +00:00
RageColor GameManager :: GetMetricC ( CString sClassName , CString sValueName )
2002-09-17 23:02:37 +00:00
{
float r = 1 , b = 1 , g = 1 , a = 1 ; // initialize in case sscanf fails
CString sValue = GetMetric ( sClassName , sValueName );
char szValue [ 40 ];
strncpy ( szValue , sValue , 39 );
int result = sscanf ( szValue , "%f,%f,%f,%f" , & r , & g , & b , & a );
if ( result != 4 )
{
2002-10-29 07:58:44 +00:00
LOG -> Warn ( "The color value '%s' for theme metric '%s : %s' is invalid." , szValue , sClassName . GetString (), sValueName . GetString () );
2002-09-17 23:02:37 +00:00
ASSERT ( 0 );
}
2002-10-28 05:30:45 +00:00
return RageColor ( r , g , b , a );
2002-09-17 23:02:37 +00:00
}
CString GameManager :: GetPathTo ( const int col , CString sElementName ) // looks in GAMESTATE for the current Style
2002-07-23 01:41:40 +00:00
{
2002-08-23 00:19:31 +00:00
const StyleDef * pStyleDef = GAMESTATE -> GetCurrentStyleDef ();
const GameDef * pGameDef = GAMESTATE -> GetCurrentGameDef ();
2002-07-23 01:41:40 +00:00
StyleInput SI ( PLAYER_1 , col );
GameInput GI = pStyleDef -> StyleInputToGameInput ( SI );
CString sButtonName = pGameDef -> m_szButtonNames [ GI . button ];
2002-09-17 23:02:37 +00:00
const CString sDir = GetCurNoteSkinDir ();
2002-07-23 01:41:40 +00:00
2002-09-17 23:02:37 +00:00
CStringArray arrayPossibleFileNames ; // fill this with the possible files
2002-07-23 01:41:40 +00:00
2002-10-29 07:58:44 +00:00
GetDirListing ( ssprintf ( "%s%s %s*.sprite" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
GetDirListing ( ssprintf ( "%s%s %s*.png" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
GetDirListing ( ssprintf ( "%s%s %s*.jpg" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
GetDirListing ( ssprintf ( "%s%s %s*.bmp" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
GetDirListing ( ssprintf ( "%s%s %s*.gif" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
GetDirListing ( ssprintf ( "%s%s %s*" , sDir . GetString (), sButtonName . GetString (), sElementName . GetString ()), arrayPossibleFileNames , false , true );
2002-08-03 18:40:09 +00:00
2002-10-31 03:16:02 +00:00
if ( ! arrayPossibleFileNames . empty () )
2002-09-17 23:02:37 +00:00
return arrayPossibleFileNames [ 0 ];
2002-08-03 18:40:09 +00:00
2002-12-21 19:32:38 +00:00
RageException :: Throw ( "The NoteSkin element '%s %s' is missing from '%s'." , sButtonName . GetString (), sElementName . GetString (), sDir . GetString () );
2002-05-19 01:59:48 +00:00
}
2002-08-13 23:26:46 +00:00
void GameManager :: GetEnabledGames ( CArray < Game , Game >& aGamesOut )
{
for ( int g = 0 ; g < NUM_GAMES ; g ++ )
{
Game game = ( Game ) g ;
CStringArray asNoteSkins ;
GetNoteSkinNames ( game , asNoteSkins );
2002-10-31 03:16:02 +00:00
if ( ! asNoteSkins . empty () )
2002-10-31 04:23:39 +00:00
aGamesOut . push_back ( game );
2002-08-13 23:26:46 +00:00
}
}
2002-08-23 00:19:31 +00:00
2002-09-17 23:02:37 +00:00
void GameManager :: GetNoteSkinNames ( Game game , CStringArray & AddTo ) const
{
GameDef * pGameDef = GAMEMAN -> GetGameDefForGame ( game );
CString sBaseSkinFolder = NOTESKIN_DIR + pGameDef -> m_szName + " \\ " ;
GetDirListing ( sBaseSkinFolder + "*.*" , AddTo , true );
// strip out "CVS"
2002-10-31 03:16:02 +00:00
for ( int i = AddTo . size () - 1 ; i >= 0 ; i -- )
2002-09-17 23:02:37 +00:00
if ( 0 == stricmp ( "cvs" , AddTo [ i ]) )
2002-10-31 04:11:08 +00:00
AddTo . erase ( AddTo . begin () + i , AddTo . begin () + i + 1 );
2002-09-17 23:02:37 +00:00
}
void GameManager :: GetNoteSkinNames ( CStringArray & AddTo ) const
{
GetNoteSkinNames ( GAMESTATE -> m_CurGame , AddTo );
}
2002-08-23 00:19:31 +00:00
int GameManager :: NotesTypeToNumTracks ( NotesType nt )
{
2002-08-24 04:25:30 +00:00
if ( nt >= NUM_NOTES_TYPES )
{
// invalid NotesType
ASSERT ( 0 );
return - 1 ;
}
return NotesTypes [ nt ]. NumTracks ;
2002-08-23 00:19:31 +00:00
}
NotesType GameManager :: StringToNotesType ( CString sNotesType )
{
sNotesType . MakeLower ();
2002-09-29 18:56:54 +00:00
// HACK! We elminitated "ez2-single-hard", but we should still handle it.
if ( sNotesType == "ez2-single-hard" )
sNotesType = "ez2-single" ;
2002-10-24 01:51:01 +00:00
// HACK! "para-single" used to be called just "para"
if ( sNotesType == "para" )
sNotesType = "para-single" ;
2002-08-24 04:25:30 +00:00
for ( int i = 0 ; i < NUM_NOTES_TYPES ; i ++ )
if ( NotesTypes [ i ]. name == sNotesType )
return NotesType ( i );
2002-08-23 00:19:31 +00:00
// invalid NotesType
2002-10-29 07:58:44 +00:00
LOG -> Warn ( "Invalid NotesType string '%s' encountered. Assuming this is 'dance-single'." , sNotesType . GetString () );
2002-08-23 00:19:31 +00:00
return NOTES_TYPE_DANCE_SINGLE ;
}
CString GameManager :: NotesTypeToString ( NotesType nt )
{
2002-08-24 04:25:30 +00:00
if ( nt >= NUM_NOTES_TYPES )
{
// invalid NotesType
ASSERT ( 0 );
return "" ;
}
2002-08-23 00:19:31 +00:00
2002-08-24 04:25:30 +00:00
return NotesTypes [ nt ]. name ;
2002-08-23 00:19:31 +00:00
}