This commit is contained in:
parent
8a43e1a060
commit
c88ba38b4d
5 changed files with 277 additions and 98 deletions
|
@ -72,6 +72,18 @@ eng=B
|
||||||
eng=C
|
eng=C
|
||||||
[STR__FRONTEND__D]
|
[STR__FRONTEND__D]
|
||||||
eng=D
|
eng=D
|
||||||
|
[STR__FRONTEND__UP]
|
||||||
|
eng=UP
|
||||||
|
[STR__FRONTEND__DOWN]
|
||||||
|
eng=DOWN
|
||||||
|
[STR__FRONTEND__LEFT]
|
||||||
|
eng=LEFT
|
||||||
|
[STR__FRONTEND__RIGHT]
|
||||||
|
eng=RIGHT
|
||||||
|
[STR__FRONTEND__JUMP]
|
||||||
|
eng=JUMP
|
||||||
|
[STR__FRONTEND__ACTION]
|
||||||
|
eng=ACTION
|
||||||
|
|
||||||
; Screen menu
|
; Screen menu
|
||||||
|
|
||||||
|
|
|
@ -42,8 +42,8 @@
|
||||||
#include "gui\gframe.h"
|
#include "gui\gframe.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __GUI_GREADOUT_H__
|
#ifndef __GUI_GTEXTBOX_H__
|
||||||
#include "gui\greadout.h"
|
#include "gui\gtextbox.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __LOCALE_TEXTDBASE_H__
|
#ifndef __LOCALE_TEXTDBASE_H__
|
||||||
|
@ -54,6 +54,10 @@
|
||||||
#include "sound\sound.h"
|
#include "sound\sound.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __PAD_PADS_H__
|
||||||
|
#include "pad\pads.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -65,6 +69,10 @@
|
||||||
#include <frontend.h>
|
#include <frontend.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __SPR_UIGFX_H__
|
||||||
|
#include <uigfx.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Tyepdefs && Defines
|
Tyepdefs && Defines
|
||||||
|
@ -82,12 +90,12 @@
|
||||||
Vars
|
Vars
|
||||||
---- */
|
---- */
|
||||||
|
|
||||||
int s_controlButtonData[]=
|
int CFrontEndOptions::s_controlStyleValues[CPadConfig::NUM_PAD_CONFIGS+1]=
|
||||||
{
|
{
|
||||||
0,1,2,3,
|
0,1,2,3,
|
||||||
-1
|
-1
|
||||||
};
|
};
|
||||||
CGUITextReadout::TextReadoutData s_controlReadoutText[]=
|
CGUITextReadout::TextReadoutData CFrontEndOptions::s_controlStyleReadoutText[CPadConfig::NUM_PAD_CONFIGS]=
|
||||||
{
|
{
|
||||||
{ 0,STR__FRONTEND__A },
|
{ 0,STR__FRONTEND__A },
|
||||||
{ 1,STR__FRONTEND__B },
|
{ 1,STR__FRONTEND__B },
|
||||||
|
@ -95,6 +103,41 @@ CGUITextReadout::TextReadoutData s_controlReadoutText[]=
|
||||||
{ 3,STR__FRONTEND__D },
|
{ 3,STR__FRONTEND__D },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
int CFrontEndOptions::s_buttonOrder[]=
|
||||||
|
{
|
||||||
|
CPadConfig::PAD_CFG_UP,
|
||||||
|
CPadConfig::PAD_CFG_DOWN,
|
||||||
|
CPadConfig::PAD_CFG_LEFT,
|
||||||
|
CPadConfig::PAD_CFG_RIGHT,
|
||||||
|
CPadConfig::PAD_CFG_JUMP,
|
||||||
|
CPadConfig::PAD_CFG_ACTION,
|
||||||
|
};
|
||||||
|
|
||||||
|
CGUISpriteReadout::SpriteReadoutData CFrontEndOptions::s_controlReadoutSprites[]=
|
||||||
|
{
|
||||||
|
{ ICON_UP,FRM__BUTU },
|
||||||
|
{ ICON_DOWN,FRM__BUTD },
|
||||||
|
{ ICON_LEFT,FRM__BUTL },
|
||||||
|
{ ICON_RIGHT,FRM__BUTR },
|
||||||
|
{ ICON_CROSS,FRM__BUTX },
|
||||||
|
{ ICON_CIRCLE,FRM__BUTC },
|
||||||
|
{ ICON_SQUARE,FRM__BUTS },
|
||||||
|
{ ICON_TRIANGLE,FRM__BUTT },
|
||||||
|
};
|
||||||
|
|
||||||
|
CFrontEndOptions::ButtonToIconMap CFrontEndOptions::s_controlMap[]=
|
||||||
|
{
|
||||||
|
{ PAD_UP, ICON_UP },
|
||||||
|
{ PAD_DOWN, ICON_DOWN },
|
||||||
|
{ PAD_LEFT, ICON_LEFT },
|
||||||
|
{ PAD_RIGHT, ICON_RIGHT },
|
||||||
|
{ PAD_CROSS, ICON_CROSS },
|
||||||
|
{ PAD_SQUARE, ICON_SQUARE },
|
||||||
|
{ PAD_CIRCLE, ICON_CIRCLE },
|
||||||
|
{ PAD_TRIANGLE, ICON_TRIANGLE },
|
||||||
|
};
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -104,6 +147,10 @@ CGUITextReadout::TextReadoutData s_controlReadoutText[]=
|
||||||
void CFrontEndOptions::init()
|
void CFrontEndOptions::init()
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
CGUIGroupFrame *fr;
|
||||||
|
CGUITextBox *tb;
|
||||||
|
CGUISpriteReadout *sr;
|
||||||
|
|
||||||
|
|
||||||
m_background=new ("Options Background") CScrollyBackground();
|
m_background=new ("Options Background") CScrollyBackground();
|
||||||
m_background->init();
|
m_background->init();
|
||||||
|
@ -141,7 +188,64 @@ void CFrontEndOptions::init()
|
||||||
CGUIFactory::createCycleButtonFrame(m_modeMenus[MODE__CONTROL],
|
CGUIFactory::createCycleButtonFrame(m_modeMenus[MODE__CONTROL],
|
||||||
X_BORDER,Y_BORDER,412-(X_BORDER*2),40,
|
X_BORDER,Y_BORDER,412-(X_BORDER*2),40,
|
||||||
STR__FRONTEND__CONTROL_STYLE,
|
STR__FRONTEND__CONTROL_STYLE,
|
||||||
&m_controlStyle,s_controlButtonData,s_controlReadoutText);
|
&m_controlStyle,s_controlStyleValues,s_controlStyleReadoutText);
|
||||||
|
fr=new ("frame") CGUIGroupFrame();
|
||||||
|
fr->init(m_modeMenus[MODE__CONTROL]);
|
||||||
|
fr->setObjectXYWH(X_BORDER*2,65,412-(X_BORDER*4),60); //292
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(0,0,26,15); //146
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_UP]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(26,0,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__UP);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(0,15,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_DOWN]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(26,15,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__DOWN);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(0,30,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_LEFT]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(26,30,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__LEFT);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(0,45,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_RIGHT]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(26,45,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__RIGHT);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(146,0,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_JUMP]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(146+26,0,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__JUMP);
|
||||||
|
sr=new ("spritereadout") CGUISpriteReadout();
|
||||||
|
sr->init(fr);
|
||||||
|
sr->setObjectXYWH(146,15,26,15);
|
||||||
|
sr->setReadoutTarget(&m_controlIcons[CONTROL_ACTION]);
|
||||||
|
sr->setReadoutData(s_controlReadoutSprites);
|
||||||
|
tb=new ("textbox") CGUITextBox();
|
||||||
|
tb->init(fr);
|
||||||
|
tb->setObjectXYWH(146+26,15,120,15);
|
||||||
|
tb->setText(STR__FRONTEND__ACTION);
|
||||||
|
|
||||||
|
|
||||||
// Populate SCREEN menu
|
// Populate SCREEN menu
|
||||||
|
@ -173,7 +277,7 @@ void CFrontEndOptions::init()
|
||||||
m_bgmVolume=CSoundMediator::getVolume(CSoundMediator::SONG);
|
m_bgmVolume=CSoundMediator::getVolume(CSoundMediator::SONG);
|
||||||
m_sfxVolume=CSoundMediator::getVolume(CSoundMediator::SFX);
|
m_sfxVolume=CSoundMediator::getVolume(CSoundMediator::SFX);
|
||||||
m_speechVolume=CSoundMediator::getVolume(CSoundMediator::SPEECH);
|
m_speechVolume=CSoundMediator::getVolume(CSoundMediator::SPEECH);
|
||||||
m_controlStyle=0;
|
m_controlStyle=CPadConfig::getConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -256,6 +360,9 @@ int oy=-1;
|
||||||
int os=0;
|
int os=0;
|
||||||
void CFrontEndOptions::think(int _frames)
|
void CFrontEndOptions::think(int _frames)
|
||||||
{
|
{
|
||||||
|
int i,j,button;
|
||||||
|
|
||||||
|
|
||||||
m_background->setSpeed(ox,oy);
|
m_background->setSpeed(ox,oy);
|
||||||
m_background->setSpeedScale(os);
|
m_background->setSpeedScale(os);
|
||||||
m_background->think(_frames);
|
m_background->think(_frames);
|
||||||
|
@ -296,6 +403,20 @@ void CFrontEndOptions::think(int _frames)
|
||||||
m_closingDown=true;
|
m_closingDown=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Change the icons on the control display
|
||||||
|
CPadConfig::setConfig(m_controlStyle);
|
||||||
|
for(i=0;i<CONTROL_COUNT;i++)
|
||||||
|
{
|
||||||
|
button=CPadConfig::getButton((CPadConfig::PAD_CFG)s_buttonOrder[i]);
|
||||||
|
for(j=0;j<ICON_COUNT;j++)
|
||||||
|
{
|
||||||
|
if(s_controlMap[j].m_padButton==button)
|
||||||
|
{
|
||||||
|
m_controlIcons[i]=s_controlMap[j].m_icon;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
|
|
@ -22,6 +22,9 @@
|
||||||
#include "frontend\frontend.h"
|
#include "frontend\frontend.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GUI_GREADOUT_H__
|
||||||
|
#include "gui\greadout.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -56,7 +59,33 @@ private:
|
||||||
MODE__SCREEN,
|
MODE__SCREEN,
|
||||||
MODE__SOUND,
|
MODE__SOUND,
|
||||||
|
|
||||||
MODE__COUNT,
|
MODE__COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CONTROL_UP,
|
||||||
|
CONTROL_DOWN,
|
||||||
|
CONTROL_LEFT,
|
||||||
|
CONTROL_RIGHT,
|
||||||
|
CONTROL_JUMP,
|
||||||
|
CONTROL_ACTION,
|
||||||
|
|
||||||
|
CONTROL_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ICON_UP,
|
||||||
|
ICON_DOWN,
|
||||||
|
ICON_LEFT,
|
||||||
|
ICON_RIGHT,
|
||||||
|
ICON_CROSS,
|
||||||
|
ICON_CIRCLE,
|
||||||
|
ICON_SQUARE,
|
||||||
|
ICON_TRIANGLE,
|
||||||
|
|
||||||
|
ICON_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -65,6 +94,12 @@ private:
|
||||||
Y_BORDER=20,
|
Y_BORDER=20,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int m_padButton;
|
||||||
|
int m_icon;
|
||||||
|
} ButtonToIconMap;
|
||||||
|
|
||||||
class CScrollyBackground *m_background;
|
class CScrollyBackground *m_background;
|
||||||
class CGUIControlFrame *m_modeMenus[MODE__COUNT];
|
class CGUIControlFrame *m_modeMenus[MODE__COUNT];
|
||||||
int m_mode,m_nextMode;
|
int m_mode,m_nextMode;
|
||||||
|
@ -77,6 +112,14 @@ private:
|
||||||
int m_speechVolume;
|
int m_speechVolume;
|
||||||
int m_controlStyle;
|
int m_controlStyle;
|
||||||
|
|
||||||
|
static int s_controlStyleValues[];
|
||||||
|
static CGUITextReadout::TextReadoutData s_controlStyleReadoutText[];
|
||||||
|
|
||||||
|
static int s_buttonOrder[];
|
||||||
|
int m_controlIcons[CONTROL_COUNT];
|
||||||
|
static CGUISpriteReadout::SpriteReadoutData s_controlReadoutSprites[ICON_COUNT];
|
||||||
|
static ButtonToIconMap s_controlMap[ICON_COUNT];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,39 +18,6 @@
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
static sPadConfigTable PadConfigDefault=
|
|
||||||
{
|
|
||||||
{
|
|
||||||
0, // PAD_CFG_NONE
|
|
||||||
PAD_LEFT, // PAD_CFG_LEFT
|
|
||||||
PAD_RIGHT, // PAD_CFG_RIGHT
|
|
||||||
PAD_UP, // PAD_CFG_UP
|
|
||||||
PAD_DOWN, // PAD_CFG_DOWN
|
|
||||||
|
|
||||||
PAD_START, // PAD_CFG_PAUSE,
|
|
||||||
PAD_CIRCLE, // PAD_CFG_ACTION,
|
|
||||||
PAD_CROSS, // PAD_CFG_JUMP,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static sPadConfigTable PadConfigAlternative=
|
|
||||||
{
|
|
||||||
{
|
|
||||||
0, // PAD_CFG_NONE
|
|
||||||
PAD_LEFT, // PAD_CFG_LEFT
|
|
||||||
PAD_RIGHT, // PAD_CFG_RIGHT
|
|
||||||
PAD_UP, // PAD_CFG_UP
|
|
||||||
PAD_DOWN, // PAD_CFG_DOWN
|
|
||||||
|
|
||||||
PAD_START, // PAD_CFG_PAUSE,
|
|
||||||
PAD_CROSS, // PAD_CFG_ACTION,
|
|
||||||
PAD_SQUARE, // PAD_CFG_JUMP,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
sPadData PadData[2];
|
sPadData PadData[2];
|
||||||
u8 PadBuffer[2][34];
|
u8 PadBuffer[2][34];
|
||||||
|
@ -150,6 +117,8 @@ void PadsInit()
|
||||||
for(int i=0;i<2;i++)
|
for(int i=0;i<2;i++)
|
||||||
for(int j=0;j<16;j++)
|
for(int j=0;j<16;j++)
|
||||||
PadRepeatTimers[i][j]=0;
|
PadRepeatTimers[i][j]=0;
|
||||||
|
|
||||||
|
CPadConfig::setConfig(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -416,36 +385,73 @@ bool PadIsConnected(int port)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
|
||||||
Function:
|
|
||||||
Purpose:
|
|
||||||
Params:
|
|
||||||
Returns:
|
|
||||||
---------------------------------------------------------------------- */
|
|
||||||
sPadConfigTable *getPadConfigTable(int _padConfig)
|
|
||||||
{
|
|
||||||
if(_padConfig==0)return &PadConfigDefault;
|
|
||||||
if(_padConfig==1)return &PadConfigAlternative;
|
|
||||||
ASSERT(0);
|
|
||||||
return &PadConfigDefault;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
int CPadConfig::s_configNumber=-1;
|
||||||
|
CPadConfig::sPadConfigTable *CPadConfig::s_cfg=NULL;
|
||||||
CPadConfig::CPadConfig()
|
CPadConfig::sPadConfigTable CPadConfig::s_padConfigs[NUM_PAD_CONFIGS]=
|
||||||
{
|
{
|
||||||
Cfg=&PadConfigDefault;
|
// Config A
|
||||||
|
{{
|
||||||
|
0, // PAD_CFG_NONE
|
||||||
|
PAD_LEFT, // PAD_CFG_LEFT
|
||||||
|
PAD_RIGHT, // PAD_CFG_RIGHT
|
||||||
|
PAD_UP, // PAD_CFG_UP
|
||||||
|
PAD_DOWN, // PAD_CFG_DOWN
|
||||||
|
|
||||||
|
PAD_CROSS, // PAD_CFG_ACTION
|
||||||
|
PAD_SQUARE, // PAD_CFG_JUMP
|
||||||
|
}},
|
||||||
|
// Config B
|
||||||
|
{{
|
||||||
|
0, // PAD_CFG_NONE
|
||||||
|
PAD_LEFT, // PAD_CFG_LEFT
|
||||||
|
PAD_RIGHT, // PAD_CFG_RIGHT
|
||||||
|
PAD_UP, // PAD_CFG_UP
|
||||||
|
PAD_DOWN, // PAD_CFG_DOWN
|
||||||
|
|
||||||
|
PAD_SQUARE, // PAD_CFG_ACTION
|
||||||
|
PAD_CROSS, // PAD_CFG_JUMP
|
||||||
|
}},
|
||||||
|
// Config C
|
||||||
|
{{
|
||||||
|
0, // PAD_CFG_NONE
|
||||||
|
PAD_LEFT, // PAD_CFG_LEFT
|
||||||
|
PAD_RIGHT, // PAD_CFG_RIGHT
|
||||||
|
PAD_UP, // PAD_CFG_UP
|
||||||
|
PAD_DOWN, // PAD_CFG_DOWN
|
||||||
|
|
||||||
|
PAD_CIRCLE, // PAD_CFG_ACTION
|
||||||
|
PAD_TRIANGLE, // PAD_CFG_JUMP
|
||||||
|
}},
|
||||||
|
// Config D
|
||||||
|
{{
|
||||||
|
0, // PAD_CFG_NONE
|
||||||
|
PAD_SQUARE, // PAD_CFG_LEFT
|
||||||
|
PAD_CIRCLE, // PAD_CFG_RIGHT
|
||||||
|
PAD_TRIANGLE, // PAD_CFG_UP
|
||||||
|
PAD_CROSS, // PAD_CFG_DOWN
|
||||||
|
|
||||||
|
PAD_LEFT, // PAD_CFG_ACTION
|
||||||
|
PAD_DOWN, // PAD_CFG_JUMP
|
||||||
|
}},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void CPadConfig::setConfig(int _config)
|
||||||
|
{
|
||||||
|
ASSERT(_config<NUM_PAD_CONFIGS);
|
||||||
|
s_configNumber=_config;
|
||||||
|
s_cfg=&s_padConfigs[_config];
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPadConfig::SetConfig(sPadConfigTable *NewCfg)
|
int CPadConfig::getConfig()
|
||||||
{
|
{
|
||||||
Cfg=NewCfg;
|
return s_configNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CPadConfig::GetButton(PAD_CFG But)
|
int CPadConfig::getButton(PAD_CFG _but)
|
||||||
{
|
{
|
||||||
return(Cfg->Buttons[But]);
|
return(s_cfg->m_buttons[_but]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,49 +98,46 @@ void PAD_SetVibrationEnvelope( int Port, int count, const VIBE_DATA * data, int
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
#define PAD_ACCEPT PAD_CROSS
|
|
||||||
#define PAD_CANCEL PAD_TRIANGLE
|
|
||||||
#define PAD_UI_LEFT PAD_LEFT
|
|
||||||
#define PAD_UI_RIGHT PAD_RIGHT
|
|
||||||
#define PAD_UI_UP PAD_UP
|
|
||||||
#define PAD_UI_DOWN PAD_DOWN
|
|
||||||
|
|
||||||
enum PAD_CFG
|
|
||||||
{
|
|
||||||
PAD_CFG_NONE=0,
|
|
||||||
|
|
||||||
PAD_CFG_LEFT,
|
|
||||||
PAD_CFG_RIGHT,
|
|
||||||
PAD_CFG_UP,
|
|
||||||
PAD_CFG_DOWN,
|
|
||||||
|
|
||||||
PAD_CFG_PAUSE,
|
|
||||||
PAD_CFG_ACTION,
|
|
||||||
PAD_CFG_JUMP,
|
|
||||||
|
|
||||||
PAD_CFG_MAX
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sPadConfigTable
|
|
||||||
{
|
|
||||||
u16 Buttons[PAD_CFG_MAX];
|
|
||||||
};
|
|
||||||
|
|
||||||
class CPadConfig
|
class CPadConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CPadConfig();
|
enum
|
||||||
void SetConfig(sPadConfigTable *NewCfg);
|
{
|
||||||
int GetButton(PAD_CFG But);
|
NUM_PAD_CONFIGS=4,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum PAD_CFG
|
||||||
|
{
|
||||||
|
PAD_CFG_NONE=0,
|
||||||
|
|
||||||
|
PAD_CFG_LEFT,
|
||||||
|
PAD_CFG_RIGHT,
|
||||||
|
PAD_CFG_UP,
|
||||||
|
PAD_CFG_DOWN,
|
||||||
|
|
||||||
|
PAD_CFG_ACTION,
|
||||||
|
PAD_CFG_JUMP,
|
||||||
|
|
||||||
|
PAD_CFG_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
static void setConfig(int _config);
|
||||||
|
static int getConfig();
|
||||||
|
static int getButton(PAD_CFG _but);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
sPadConfigTable *Cfg;
|
struct sPadConfigTable
|
||||||
|
{
|
||||||
|
u16 m_buttons[PAD_CFG_MAX];
|
||||||
|
};
|
||||||
|
|
||||||
|
static int s_configNumber;
|
||||||
|
static sPadConfigTable *s_cfg;
|
||||||
|
static sPadConfigTable s_padConfigs[NUM_PAD_CONFIGS];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern sPadConfigTable *getPadConfigTable(int _padConfig);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue