SBSPSS/source/frontend/options.h

196 lines
3.8 KiB
C
Raw Normal View History

2000-11-22 17:04:18 +01:00
/*=========================================================================
options.h
Author: PKG
Created:
Project: Spongebob
Purpose:
Copyright (c) 2000 Climax Development Ltd
===========================================================================*/
#ifndef __FRONTEND_OPTIONS_H__
#define __FRONTEND_OPTIONS_H__
/*----------------------------------------------------------------------
Includes
-------- */
2000-11-24 01:00:10 +01:00
#ifndef __FRONTEND_FRONTEND_H__
2000-11-22 17:04:18 +01:00
#include "frontend\frontend.h"
#endif
2000-11-23 20:55:33 +01:00
#ifndef __GUI_GREADOUT_H__
#include "gui\greadout.h"
#endif
2000-11-22 17:04:18 +01:00
/* Std Lib
------- */
/*----------------------------------------------------------------------
Tyepdefs && Defines
------------------- */
/*----------------------------------------------------------------------
Structure defintions
-------------------- */
class CFrontEndOptions : public CFrontEndMode
{
public:
void init();
void shutdown();
2000-11-22 18:02:04 +01:00
void select();
void unselect();
2000-11-22 17:04:18 +01:00
void render();
void think(int _frames);
int isReadyToExit();
CFrontEndScene::FrontEndMode getNextMode();
private:
2001-07-02 18:03:27 +02:00
void getValues();
2001-07-02 02:40:09 +02:00
void setLoadMode(int _newMode);
2001-08-06 17:46:53 +02:00
void renderButtonPrompts();
2001-07-02 02:40:09 +02:00
2000-11-22 23:52:08 +01:00
enum
{
MODE__OPTIONS,
MODE__CONTROL,
MODE__SCREEN,
MODE__SOUND,
2001-07-02 02:40:09 +02:00
MODE__LOAD,
2000-11-22 23:52:08 +01:00
2000-11-23 20:55:33 +01:00
MODE__COUNT
};
enum
{
CONTROL_UP,
CONTROL_DOWN,
CONTROL_LEFT,
CONTROL_RIGHT,
CONTROL_JUMP,
2001-05-10 00:12:00 +02:00
CONTROL_FIRE,
CONTROL_CATCH,
2001-05-18 23:03:51 +02:00
CONTROL_WEAPONCHANGE,
2000-11-23 20:55:33 +01:00
CONTROL_COUNT
};
enum
{
ICON_UP,
ICON_DOWN,
ICON_LEFT,
ICON_RIGHT,
ICON_CROSS,
ICON_CIRCLE,
ICON_SQUARE,
ICON_TRIANGLE,
ICON_COUNT
2000-11-22 23:52:08 +01:00
};
2001-07-02 02:40:09 +02:00
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,
};
2000-11-22 23:52:08 +01:00
enum
{
X_BORDER=30,
2001-03-09 20:57:10 +01:00
Y_BORDER=10,
2001-08-07 18:20:46 +02:00
OPTIONS_INSTRUCTIONS_Y_POS=185,
2001-08-17 17:54:50 +02:00
OPTIONS_INSTRUCTIONS_GAP_BETWEEN_BUTTONS=5,
2001-08-07 18:20:46 +02:00
OPTIONS_INSTRUCTIONS_GAP_BETWEEN_BUTTONS_AND_TEXT=10,
OPTIONS_INSTRUCTIONS_BUTTON_Y_OFFSET=4,
2000-11-22 23:52:08 +01:00
};
2000-11-22 17:04:18 +01:00
2000-11-23 20:55:33 +01:00
typedef struct
{
int m_padButton;
int m_icon;
} ButtonToIconMap;
2000-11-22 23:52:08 +01:00
class CScrollyBackground *m_background;
class CGUIControlFrame *m_modeMenus[MODE__COUNT];
int m_mode,m_nextMode;
2001-04-24 16:48:49 +02:00
static int s_modeBackground[MODE__COUNT];
2001-07-02 02:40:09 +02:00
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;
2000-11-22 23:52:08 +01:00
2000-11-22 17:04:18 +01:00
int m_exitFlag;
int m_closingDown;
2000-11-22 23:52:08 +01:00
int m_bgmVolume;
int m_sfxVolume;
int m_speechVolume;
2000-11-23 18:00:09 +01:00
int m_controlStyle;
2001-06-28 21:14:44 +02:00
int m_vibrationStatus,m_lastVibrationStatus;
2001-07-31 18:01:36 +02:00
class CGUIObject *m_vibGUIOption;
2000-11-24 17:14:55 +01:00
int m_screenXOff;
int m_screenYOff;
2000-11-22 23:52:08 +01:00
2001-07-03 22:28:04 +02:00
int m_musicStarted;
2000-11-23 20:55:33 +01:00
static int s_controlStyleValues[];
static CGUITextReadout::TextReadoutData s_controlStyleReadoutText[];
2001-06-28 21:14:44 +02:00
static int s_vibrationValues[];
static CGUITextReadout::TextReadoutData s_vibrationReadoutText[];
2000-11-23 20:55:33 +01:00
static int s_buttonOrder[];
int m_controlIcons[CONTROL_COUNT];
static CGUISpriteReadout::SpriteReadoutData s_controlReadoutSprites[ICON_COUNT];
static ButtonToIconMap s_controlMap[ICON_COUNT];
2001-08-06 17:46:53 +02:00
class FontBank *m_fontBank;
class SpriteBank *m_spriteBank;
2000-11-22 17:04:18 +01:00
};
/*----------------------------------------------------------------------
Globals
------- */
/*----------------------------------------------------------------------
Functions
--------- */
/*---------------------------------------------------------------------- */
#endif /* __FRONTEND_OPTIONS_H__ */
/*===========================================================================
end */