Files
Jedi-Academy/codemp/qcommon/xb_settings.h
2013-04-04 14:32:05 -07:00

84 lines
1.5 KiB
C++

#ifndef __XB_SETTINGS_H
#define __XB_SETTINGS_H
#include <xtl.h>
enum XBStartupState
{
STARTUP_LOAD_SETTINGS,
STARTUP_COMBINED_SPACE_CHECK,
STARTUP_GAME_SPACE_CHECK,
STARTUP_INVITE_CHECK,
STARTUP_FINISH,
};
// Minimum save size on Xbox. Bleh:
#define SETTINGS_NUM_BLOCKS 4
struct XBSettings
{
// Magic number/revision stamp:
unsigned long version;
// Controls, etc... One for SP/P1 in MP, other for P2 in MP:
bool invertAim[2];
int thumbstickMode[2];
int buttonMode[2];
int triggerMode[2];
int rumble[2];
int autolevel[2];
int autoswitch[2];
float sensitivityX[2];
float sensitivityY[2];
// Black/White/X assignments, SP:
int hotswapSP[3];
// Black/White for players one & two, MP:
int hotswapMP[4];
// A/V settings, Global:
float effectsVolume;
float musicVolume;
float voiceVolume;
float brightness;
// Subtitles, only used in SP:
int subtitles;
// Voice/Live options, only used in MP:
int voiceMode;
int voiceMask;
int appearOffline;
// INTERFACE:
XBSettings( void );
bool Save( void );
bool Load( void );
void Delete( void );
// For determining why a Save/Load failed:
bool Missing( void );
bool Corrupt( void );
// This copies all settings from the Settings struct to their various cvars
void SetAll( void );
// Turn off the settings file completely:
void Disable( void );
// Has the user turned off saving (by choosing "Continue Without Saving")?
bool IsDisabled( void );
private:
bool Sign( XCALCSIG_SIGNATURE *pSig );
};
// One global copy (declared in xb_settings.cpp)
extern XBSettings Settings;
#endif