SBSPSS/source/frontend/options.h
2001-08-17 15:54:50 +00:00

196 lines
3.8 KiB
C++

/*=========================================================================
options.h
Author: PKG
Created:
Project: Spongebob
Purpose:
Copyright (c) 2000 Climax Development Ltd
===========================================================================*/
#ifndef __FRONTEND_OPTIONS_H__
#define __FRONTEND_OPTIONS_H__
/*----------------------------------------------------------------------
Includes
-------- */
#ifndef __FRONTEND_FRONTEND_H__
#include "frontend\frontend.h"
#endif
#ifndef __GUI_GREADOUT_H__
#include "gui\greadout.h"
#endif
/* Std Lib
------- */
/*----------------------------------------------------------------------
Tyepdefs && Defines
------------------- */
/*----------------------------------------------------------------------
Structure defintions
-------------------- */
class CFrontEndOptions : public CFrontEndMode
{
public:
void init();
void shutdown();
void select();
void unselect();
void render();
void think(int _frames);
int isReadyToExit();
CFrontEndScene::FrontEndMode getNextMode();
private:
void getValues();
void setLoadMode(int _newMode);
void renderButtonPrompts();
enum
{
MODE__OPTIONS,
MODE__CONTROL,
MODE__SCREEN,
MODE__SOUND,
MODE__LOAD,
MODE__COUNT
};
enum
{
CONTROL_UP,
CONTROL_DOWN,
CONTROL_LEFT,
CONTROL_RIGHT,
CONTROL_JUMP,
CONTROL_FIRE,
CONTROL_CATCH,
CONTROL_WEAPONCHANGE,
CONTROL_COUNT
};
enum
{
ICON_UP,
ICON_DOWN,
ICON_LEFT,
ICON_RIGHT,
ICON_CROSS,
ICON_CIRCLE,
ICON_SQUARE,
ICON_TRIANGLE,
ICON_COUNT
};
enum
{
LOADMODE__INIT,
LOADMODE__CHECKING,
LOADMODE__UNFORMATTED,
LOADMODE__NODATA,
LOADMODE__NOCARD,
LOADMODE__CONFIRMLOAD,
LOADMODE__LOADING,
LOADMODE__LOADOK,
LOADMODE__LOADERROR,
LOADMODE__COUNT,
};
enum
{
USERRESPONSE__NONE,
USERRESPONSE__OK,
USERRESPONSE__YES,
USERRESPONSE__NO,
};
enum
{
X_BORDER=30,
Y_BORDER=10,
OPTIONS_INSTRUCTIONS_Y_POS=185,
OPTIONS_INSTRUCTIONS_GAP_BETWEEN_BUTTONS=5,
OPTIONS_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT=10,
OPTIONS_INSTRUCTIONS_BUTTON_Y_OFFSET=4,
};
typedef struct
{
int m_padButton;
int m_icon;
} ButtonToIconMap;
class CScrollyBackground *m_background;
class CGUIControlFrame *m_modeMenus[MODE__COUNT];
int m_mode,m_nextMode;
static int s_modeBackground[MODE__COUNT];
int m_loadMode;
int m_loadTimeInMode;
class CSaveLoadDatabase *m_saveLoadDatabase;
static int s_loadModeTextIds[LOADMODE__COUNT];
class CGUIControlFrame *m_loadModeConfirmFrame;
class CGUIControlFrame *m_loadModeOKFrame;
int m_loadUserResponse;
int m_exitFlag;
int m_closingDown;
int m_bgmVolume;
int m_sfxVolume;
int m_speechVolume;
int m_controlStyle;
int m_vibrationStatus,m_lastVibrationStatus;
class CGUIObject *m_vibGUIOption;
int m_screenXOff;
int m_screenYOff;
int m_musicStarted;
static int s_controlStyleValues[];
static CGUITextReadout::TextReadoutData s_controlStyleReadoutText[];
static int s_vibrationValues[];
static CGUITextReadout::TextReadoutData s_vibrationReadoutText[];
static int s_buttonOrder[];
int m_controlIcons[CONTROL_COUNT];
static CGUISpriteReadout::SpriteReadoutData s_controlReadoutSprites[ICON_COUNT];
static ButtonToIconMap s_controlMap[ICON_COUNT];
class FontBank *m_fontBank;
class SpriteBank *m_spriteBank;
};
/*----------------------------------------------------------------------
Globals
------- */
/*----------------------------------------------------------------------
Functions
--------- */
/*---------------------------------------------------------------------- */
#endif /* __FRONTEND_OPTIONS_H__ */
/*===========================================================================
end */