Files
itgmania212121/stepmania/src/PrefsManager.h
T

102 lines
2.8 KiB
C++
Raw Normal View History

#ifndef PREFSMANAGER_H
#define PREFSMANAGER_H
2002-02-28 19:40:40 +00:00
/*
-----------------------------------------------------------------------------
Class: PrefsManager
2002-07-23 01:41:40 +00:00
Desc: Holds user-chosen preferences that are saved between sessions.
2002-02-28 19:40:40 +00:00
Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
2002-02-28 19:40:40 +00:00
Chris Danford
Chris Gomez
2002-02-28 19:40:40 +00:00
-----------------------------------------------------------------------------
*/
#include "SongOptions.h"
2002-06-24 22:04:31 +00:00
2002-02-28 19:40:40 +00:00
class PrefsManager
{
public:
PrefsManager();
~PrefsManager();
2002-07-11 19:02:26 +00:00
// GameOptions (ARE saved between sessions)
bool m_bWindowed;
int m_iDisplayWidth;
int m_iDisplayHeight;
int m_iDisplayColorDepth;
int m_iTextureColorDepth;
2003-01-11 20:15:00 +00:00
int m_iMaxTextureResolution;
2002-11-12 09:23:50 +00:00
int m_iRefreshRate;
bool m_bShowStats;
2003-01-19 04:44:22 +00:00
enum { BGMODE_OFF, BGMODE_ANIMATIONS, BGMODE_MOVIEVIS, BGMODE_RANDOMMOVIES } m_BackgroundMode;
float m_fBGBrightness;
int m_iMovieDecodeMS;
bool m_bUseBGIfNoBanner;
bool m_bHiddenSongs;
bool m_bVsync;
int m_iUnloadTextureDelaySeconds;
2002-07-11 19:02:26 +00:00
bool m_bIgnoreJoyAxes;
bool m_bOnlyDedicatedMenuButtons;
bool m_bMenuTimer;
bool m_bShowDanger;
int m_iNumArcadeStages;
bool m_bEventMode;
float m_fJudgeWindowScale;
float m_fLifeDifficultyScale;
float m_fJudgeWindowMarvelousSeconds;
float m_fJudgeWindowPerfectSeconds;
float m_fJudgeWindowGreatSeconds;
float m_fJudgeWindowGoodSeconds;
float m_fJudgeWindowBooSeconds;
float m_fJudgeWindowOKSeconds;
bool m_bAutoPlay;
bool m_bDelayedEscape;
bool m_bInstructions, m_bShowDontDie, m_bShowSelectGroup;
2003-02-11 23:52:18 +00:00
bool m_bShowTranslations;
bool m_bArcadeOptionsNavigation;
2002-10-16 22:11:11 +00:00
bool m_bCoinOpMode;
enum { NEVER, ALWAYS, ABC_ONLY } m_MusicWheelUsesSections;
2003-01-21 06:51:35 +00:00
int m_iMusicWheelSwitchSpeed;
bool m_bChangeBannersWhenFast;
bool m_bDDRExtremeDifficultySelect;
bool m_bEasterEggs;
bool m_bMarvelousTiming;
2003-01-19 04:44:22 +00:00
enum { COIN_HOME, COIN_PAY, COIN_FREE, NUM_COIN_MODES } m_CoinMode;
int m_iCoinsPerCredit;
bool m_bJointPremium;
bool m_bPickExtraStage;
float m_fLongVerSongSeconds;
float m_fMarathonVerSongSeconds;
2003-02-12 15:56:01 +00:00
bool m_bShowSongOptions;
SongOptions::FailType m_DefaultFailType;
2003-01-26 03:51:59 +00:00
2003-01-18 04:26:25 +00:00
/* 0 = no; 1 = yes; -1 = auto (do whatever is appropriate for the arch). */
int m_iBoostAppPriority;
2003-01-26 03:51:59 +00:00
/* 0 = no; 1 = yes; -1 = auto (turn on for known-bad drivers) */
int m_iPolygonRadar;
CStringArray m_asAdditionalSongFolders;
2002-09-10 08:36:03 +00:00
CString m_DWIPath;
2002-05-27 08:23:27 +00:00
CString m_sSoundDrivers;
2003-01-11 04:03:21 +00:00
float m_fSoundVolume;
bool m_bAllowSoftwareRenderer;
2002-12-13 22:06:30 +00:00
/* Game-specific prefs: */
CString m_sDefaultNoteSkin;
2002-07-23 01:41:40 +00:00
void ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame );
void SaveGlobalPrefsToDisk();
2002-05-27 08:23:27 +00:00
2002-07-23 01:41:40 +00:00
void ReadGamePrefsFromDisk();
void SaveGamePrefsToDisk();
2002-02-28 19:40:40 +00:00
};
2002-05-27 08:23:27 +00:00
extern PrefsManager* PREFSMAN; // global and accessable from anywhere in our program
#endif