예제 #1
0
PrefsManager::PrefsManager() :
    m_bWindowed				( "Windowed",				TRUE_IF_DEBUG),
    m_iDisplayWidth			( "DisplayWidth",			640 ),
    m_iDisplayHeight		( "DisplayHeight",			480 ),
    m_iDisplayColorDepth	( "DisplayColorDepth",		16 ),
    m_iTextureColorDepth	( "TextureColorDepth",		16 ),
    m_iMovieColorDepth		( "MovieColorDepth",		16 ),
    m_iMaxTextureResolution	( "MaxTextureResolution",	2048 ),
    m_iRefreshRate			( "RefreshRate",			REFRESH_DEFAULT ),
    m_fDisplayAspectRatio	( "DisplayAspectRatio",		4/3.0f ),
    m_bShowStats			( "ShowStats",				TRUE_IF_DEBUG),
    m_bShowBanners			( "ShowBanners",			true ),

    m_BackgroundMode		( "BackgroundMode",			BGMODE_ANIMATIONS ),
    m_iNumBackgrounds		( "NumBackgrounds",			8 ),
    m_fBGBrightness			( "BGBrightness",			0.8f ),
    /* I'd rather get occasional people asking for support for this even though
     * it's already here than lots of people asking why songs aren't being displayed. */
    m_bHiddenSongs			( "HiddenSongs",			false ),
    m_bVsync				( "Vsync",					true ),
    m_bInterlaced			( "Interlaced",				false ),
    /* XXX: Set these defaults for individual consoles using VideoCardDefaults.ini. */
    m_bPAL					( "PAL",					false ),
    m_bDelayedTextureDelete	( "DelayedTextureDelete",	true ),
    m_bTexturePreload		( "TexturePreload",			false ),
    m_bDelayedScreenLoad	( "DelayedScreenLoad",		false ),
    m_bDelayedModelDelete	( "DelayedModelDelete",		false ),
    m_BannerCache			( "BannerCache",			BNCACHE_LOW_RES_PRELOAD ),
    m_bPalettedBannerCache	( "PalettedBannerCache",	false ),
    m_bFastLoad				( "FastLoad",				false ),

    m_bOnlyDedicatedMenuButtons	( "OnlyDedicatedMenuButtons",	false ),
    m_bMenuTimer				( "MenuTimer",					true ),
    m_bShowDanger				( "ShowDanger",					true ),

    m_fJudgeWindowScale				( "JudgeWindowScale",				1.0f ),
    m_fJudgeWindowAdd				( "JudgeWindowAdd",					0 ),
    m_fJudgeWindowSecondsMarvelous	( "JudgeWindowSecondsMarvelous",	0.0225f ),
    m_fJudgeWindowSecondsPerfect	( "JudgeWindowSecondsPerfect",		0.045f ),
    m_fJudgeWindowSecondsGreat		( "JudgeWindowSecondsGreat",		0.090f ),
    m_fJudgeWindowSecondsGood		( "JudgeWindowSecondsGood",			0.135f ),
    m_fJudgeWindowSecondsBoo		( "JudgeWindowSecondsBoo",			0.180f ),
    m_fJudgeWindowSecondsOK			( "JudgeWindowSecondsOK",			0.250f ),	// allow enough time to take foot off and put back on
    m_fJudgeWindowSecondsRoll		( "JudgeWindowSecondsRoll",			0.350f ),
    m_fJudgeWindowSecondsMine		( "JudgeWindowSecondsMine",			0.090f ),	// same as great
    m_fJudgeWindowSecondsAttack		( "JudgeWindowSecondsAttack",		0.135f ),

    m_fLifeDifficultyScale				( "LifeDifficultyScale",				1.0f ),
    m_fLifeDeltaPercentChangeMarvelous	( "LifeDeltaPercentChangeMarvelous",	+0.008f ),
    m_fLifeDeltaPercentChangePerfect	( "LifeDeltaPercentChangePerfect",		+0.008f ),
    m_fLifeDeltaPercentChangeGreat		( "LifeDeltaPercentChangeGreat",		+0.004f ),
    m_fLifeDeltaPercentChangeGood		( "LifeDeltaPercentChangeGood",			+0.000f ),
    m_fLifeDeltaPercentChangeBoo		( "LifeDeltaPercentChangeBoo",			-0.040f ),
    m_fLifeDeltaPercentChangeMiss		( "LifeDeltaPercentChangeMiss",			-0.080f ),
    m_fLifeDeltaPercentChangeHitMine	( "LifeDeltaPercentChangeHitMine",		-0.160f ),
    m_fLifeDeltaPercentChangeOK			( "LifeDeltaPercentChangeOK",			+0.008f ),
    m_fLifeDeltaPercentChangeNG			( "LifeDeltaPercentChangeNG",			-0.080f ),

    m_fTugMeterPercentChangeMarvelous	( "TugMeterPercentChangeMarvelous",		+0.010f ),
    m_fTugMeterPercentChangePerfect		( "TugMeterPercentChangePerfect",		+0.008f ),
    m_fTugMeterPercentChangeGreat		( "TugMeterPercentChangeGreat",			+0.004f ),
    m_fTugMeterPercentChangeGood		( "TugMeterPercentChangeGood",			+0.000f ),
    m_fTugMeterPercentChangeBoo			( "TugMeterPercentChangeBoo",			-0.010f ),
    m_fTugMeterPercentChangeMiss		( "TugMeterPercentChangeMiss",			-0.020f ),
    m_fTugMeterPercentChangeHitMine		( "TugMeterPercentChangeHitMine",		-0.040f ),
    m_fTugMeterPercentChangeOK			( "TugMeterPercentChangeOK",			+0.008f ),
    m_fTugMeterPercentChangeNG			( "TugMeterPercentChangeNG",			-0.020f ),

    m_iRegenComboAfterFail			( "RegenComboAfterFail",			10 ),
    m_iRegenComboAfterMiss			( "RegenComboAfterMiss",			5 ),
    m_iMaxRegenComboAfterFail		( "MaxRegenComboAfterFail",			10 ),
    m_iMaxRegenComboAfterMiss		( "MaxRegenComboAfterMiss",			10 ),
    m_bTwoPlayerRecovery			( "TwoPlayerRecovery",				true ),
    m_bMercifulDrain				( "MercifulDrain",					true ),	// negative life deltas are scaled by the players life percentage
    m_bMinimum1FullSongInCourses	( "Minimum1FullSongInCourses",		false ),	// FEoS for 1st song, FailImmediate thereafter
    m_bFailOffInBeginner			( "FailOffInBeginner",				false ),
    m_bFailOffForFirstStageEasy		( "FailOffForFirstStageEasy",		false ),
    m_bMercifulBeginner				( "MercifulBeginner",				false ),

    m_iPercentScoreWeightMarvelous	( "PercentScoreWeightMarvelous",	3 ),
    m_iPercentScoreWeightPerfect	( "PercentScoreWeightPerfect",		2 ),
    m_iPercentScoreWeightGreat		( "PercentScoreWeightGreat",		1 ),
    m_iPercentScoreWeightGood		( "PercentScoreWeightGood",			0 ),
    m_iPercentScoreWeightBoo		( "PercentScoreWeightBoo",			0 ),
    m_iPercentScoreWeightMiss		( "PercentScoreWeightMiss",			0 ),
    m_iPercentScoreWeightHitMine	( "PercentScoreWeightHitMine",		-2 ),
    m_iPercentScoreWeightOK			( "PercentScoreWeightOK",			3 ),
    m_iPercentScoreWeightNG			( "PercentScoreWeightNG",			0 ),

    m_iGradeWeightMarvelous		( "GradeWeightMarvelous", 2 ),
    m_iGradeWeightPerfect		( "GradeWeightPerfect",		2 ),
    m_iGradeWeightGreat			( "GradeWeightGreat",		1 ),
    m_iGradeWeightGood			( "GradeWeightGood",		0 ),
    m_iGradeWeightBoo			( "GradeWeightBoo",			-4 ),
    m_iGradeWeightMiss			( "GradeWeightMiss",		-8 ),
    m_iGradeWeightHitMine		( "GradeWeightHitMine",		-8 ),
    m_iGradeWeightOK			( "GradeWeightOK",			6 ),
    m_iGradeWeightNG			( "GradeWeightNG",			0 ),

    m_fSuperMeterPercentChangeMarvelous	( "SuperMeterPercentChangeMarvelous",	+0.05f ),
    m_fSuperMeterPercentChangePerfect	( "SuperMeterPercentChangePerfect",		+0.04f ),
    m_fSuperMeterPercentChangeGreat		( "SuperMeterPercentChangeGreat",		+0.02f ),
    m_fSuperMeterPercentChangeGood		( "SuperMeterPercentChangeGood",		+0.00f ),
    m_fSuperMeterPercentChangeBoo		( "SuperMeterPercentChangeBoo",			-0.00f ),
    m_fSuperMeterPercentChangeMiss		( "SuperMeterPercentChangeMiss",		-0.20f ),
    m_fSuperMeterPercentChangeHitMine	( "SuperMeterPercentChangeHitMine",		-0.40f ),
    m_fSuperMeterPercentChangeOK		( "SuperMeterPercentChangeOK",			+0.04f ),
    m_fSuperMeterPercentChangeNG		( "SuperMeterPercentChangeNG",			-0.20f ),
    m_bMercifulSuperMeter				( "MercifulSuperMeter",					true ),

    m_fTimeMeterSecondsChangeMarvelous	( "TimeMeterSecondsChangeMarvelous",	+0.1f ),
    m_fTimeMeterSecondsChangePerfect	( "TimeMeterSecondsChangePerfect",		 0.0f ),
    m_fTimeMeterSecondsChangeGreat		( "TimeMeterSecondsChangeGreat",		-0.5f ),
    m_fTimeMeterSecondsChangeGood		( "TimeMeterSecondsChangeGood",			-1.0f ),
    m_fTimeMeterSecondsChangeBoo		( "TimeMeterSecondsChangeBoo",			-2.0f ),
    m_fTimeMeterSecondsChangeMiss		( "TimeMeterSecondsChangeMiss",			-4.0f ),
    m_fTimeMeterSecondsChangeHitMine	( "TimeMeterSecondsChangeHitMine",		-2.0f ),
    m_fTimeMeterSecondsChangeOK			( "TimeMeterSecondsChangeOK",			-0.0f ),
    m_fTimeMeterSecondsChangeNG			( "TimeMeterSecondsChangeNG",			-4.0f ),

    m_AutoPlay					( "AutoPlay",					PC_HUMAN ),
    m_bDelayedBack				( "DelayedBack",				true ),
    m_bShowInstructions			( "ShowInstructions",			true ),
    m_bShowSelectGroup			( "ShowSelectGroup",			true ),
    m_bShowCaution				( "ShowCaution",				true ),
    m_bShowNativeLanguage		( "ShowNativeLanguage",			true ),
    m_bArcadeOptionsNavigation	( "ArcadeOptionsNavigation",	false ),
    m_MusicWheelUsesSections	( "MusicWheelUsesSections",		ALWAYS ),
    m_iMusicWheelSwitchSpeed	( "MusicWheelSwitchSpeed",		10 ),
    m_bEasterEggs				( "EasterEggs",					true ),
    m_bEasterEggs2				( "EasterEggs2",				true ),
    m_MarvelousTiming			( "MarvelousTiming",			MARVELOUS_EVERYWHERE ),
    m_bEventMode				( "EventMode",					false ),
    m_iCoinsPerCredit			( "CoinsPerCredit",				1 ),
    m_iSongsPerPlay				( "SongsPerPlay",				3 ),

    m_CoinMode						( "CoinMode",					COIN_MODE_HOME ),
    m_Premium						( "Premium",					PREMIUM_NONE ),
    m_bDelayedCreditsReconcile		( "DelayedCreditsReconcile",	false ),
    m_bPickExtraStage				( "PickExtraStage",				false ),

    // player songs
    m_bCustomSongs			( "SongEdits", false ),
    m_bCustomSongPreviews		( "CustomSongPreviews", false ),

    m_iCustomsLoadMax		( "CustomsLoadMax", 50 ),
    m_fCustomsLoadTimeout	( "CustomsLoadTimeout", 5.0f ),

    m_iCustomMaxSeconds	( "CustomMaxSeconds", 120 ),
    m_iCustomMaxSizeMB	( "CustomMaxSizeMB", 5 ),
    m_iCustomMaxStepsSizeKB	( "CustomMaxStepSizeKB", 100 ),
    m_bAllowExtraPlayerOptions ( "AllowExtraPlayerOptions", false ),

    m_bCustomCourses	( "CourseEdits", false ),

    m_bComboContinuesBetweenSongs	( "ComboContinuesBetweenSongs",	false ),
    m_fLongVerSongSeconds			( "LongVerSongSeconds",			60*2.5f ),	// Dynamite Rave is 2:55
    m_fMarathonVerSongSeconds		( "MarathonVerSongSeconds",		60*5.f ),
    m_ShowSongOptions				( "ShowSongOptions",			YES ),
    m_bSoloSingle					( "SoloSingle",					false ),
    m_bDancePointsForOni			( "DancePointsForOni",			false ),
    m_bPercentageScoring			( "PercentageScoring",			false ),
    m_fMinPercentageForMachineSongHighScore		( "MinPercentageForMachineSongHighScore",	0.5f ),
    m_fMinPercentageForMachineCourseHighScore	( "MinPercentageForMachineCourseHighScore",	0.0001f ),	// don't save course scores with 0 percentage
    m_bDisqualification				( "Disqualification",			false ),
    m_bShowLyrics					( "ShowLyrics",					true ),
    m_bAutogenSteps					( "AutogenSteps",				true ),
    m_bAutogenGroupCourses			( "AutogenGroupCourses",		true ),
    m_bBreakComboToGetItem			( "BreakComboToGetItem",		false ),
    m_bLockCourseDifficulties		( "LockCourseDifficulties",		true ),
    m_ShowDancingCharacters			( "ShowDancingCharacters",		CO_OFF ),
    m_bUseUnlockSystem				( "UseUnlockSystem",			false ),
    m_bAutoMapOnJoyChange			( "AutoMapOnJoyChange",			true ),
    m_fGlobalOffsetSeconds			( "GlobalOffsetSeconds",		0 ),
    m_fVisualDelaySeconds			( "VisualDelaySeconds",			0 ),
    m_iProgressiveLifebar			( "ProgressiveLifebar",			0 ),
    m_iProgressiveStageLifebar		( "ProgressiveStageLifebar",	0 ),
    m_iProgressiveNonstopLifebar	( "ProgressiveNonstopLifebar",	0 ),
    m_bShowBeginnerHelper			( "ShowBeginnerHelper",			false ),
    m_bEndlessBreakEnabled			( "EndlessBreakEnabled",		true ),
    m_iEndlessNumStagesUntilBreak	( "EndlessNumStagesUntilBreak",	5 ),
    m_iEndlessBreakLength			( "EndlessBreakLength",			5 ),
    m_bDisableScreenSaver			( "DisableScreenSaver",			true ),
    m_sLanguage						( "Language",					"" ),	// ThemeManager will deal with this invalid language
    m_sMemoryCardProfileSubdir		( "MemoryCardProfileSubdir",	ProductInfo::getName()),
    m_iProductID					( "ProductID",					1 ),
    m_sDefaultLocalProfileIDP1		( "DefaultLocalProfileIDP1",	"" ),
    m_sDefaultLocalProfileIDP2		( "DefaultLocalProfileIDP2",	"" ),
    m_iCenterImageTranslateX		( "CenterImageTranslateX",		0 ),
    m_iCenterImageTranslateY		( "CenterImageTranslateY",		0 ),
    m_fCenterImageAddWidth			( "CenterImageAddWidth",		0 ),
    m_fCenterImageAddHeight			( "CenterImageAddHeight",		0 ),
    m_AttractSoundFrequency			( "AttractSoundFrequency",		ASF_EVERY_TIME ),
    m_bAllowExtraStage				( "AllowExtraStage",			true ),
    m_bHideDefaultNoteSkin			( "HideDefaultNoteSkin",		false ),
    m_iMaxHighScoresPerListForMachine		( "MaxHighScoresPerListForMachine",		10 ),
    m_iMaxHighScoresPerListForPlayer		( "MaxHighScoresPerListForPlayer",		3 ),
    m_iMaxRecentScoresForMachine			( "MaxRecentScoresForMachine",			100 ),
    m_iMaxRecentScoresForPlayer				( "MaxRecentScoresForPlayer",			20 ),
    m_bAllowMultipleHighScoreWithSameName	( "AllowMultipleHighScoreWithSameName",	true ),
    m_bCelShadeModels						( "CelShadeModels",						false ),	// Work-In-Progress.. disable by default.
    m_bPreferredSortUsesGroups				( "PreferredSortUsesGroups",			true ),

    m_fConstantUpdateDeltaSeconds	( "ConstantUpdateDeltaSeconds",	0 ),
    m_fPadStickSeconds				( "PadStickSeconds",			0 ),
    m_bForceMipMaps					( "ForceMipMaps",				0 ),
    m_bTrilinearFiltering			( "TrilinearFiltering",			0 ),
    m_bAnisotropicFiltering			( "AnisotropicFiltering",		0 ),

    m_bSignProfileData				( "SignProfileData",			false ),
    m_bEditorShowBGChangesPlay		( "EditorShowBGChangesPlay",	false ),
    m_CourseSortOrder				( "CourseSortOrder",			COURSE_SORT_SONGS ),
    m_bMoveRandomToEnd				( "MoveRandomToEnd",			false ),
    m_bSubSortByNumSteps			( "SubSortByNumSteps",			false ),
    m_GetRankingName				( "GetRankingName",				RANKING_ON ),
    m_ScoringType					( "ScoringType",				SCORING_MAX2 ),
    m_BoostAppPriority				( "BoostAppPriority",			BOOST_AUTO ),
    m_sAdditionalSongFolders		( "AdditionalSongFolders",		"" ),
    m_sAdditionalFolders			( "AdditionalFolders",			"" ),
    m_sLastSeenVideoDriver			( "LastSeenVideoDriver",		"" ),
    m_sLastSeenInputDevices			( "LastSeenInputDevices",		"" ),
#if defined(WIN32)
    m_iLastSeenMemory				( "LastSeenMemory",				0 ),
#endif
    m_sVideoRenderers				( "VideoRenderers",				"" ),	// StepMania.cpp sets these on first run:
    m_bSmoothLines					( "SmoothLines",				false ),
    m_fSoundVolume					( "SoundVolume",				-1 ),	// default
    m_fSoundVolumeAttract				( "SoundVolumeAttract",				0.5 ),
    m_iSoundWriteAhead				( "SoundWriteAhead",			0 ),
    m_iSoundDevice					( "SoundDevice",				"" ),
    m_SoundResampleQuality			( "SoundResampleQuality",		RageSoundReader_Resample::RESAMP_NORMAL ),
    m_sLightsStepsDifficulty		( "LightsStepsDifficulty",		"hard,medium" ),
    m_bLightsChartsInMenus			( "LightsChartsInMenus",	false ),
    m_bAllowUnacceleratedRenderer	( "AllowUnacceleratedRenderer",	false ),
    m_bThreadedInput				( "ThreadedInput",				true ),
    m_bThreadedMovieDecode			( "ThreadedMovieDecode",		true ),
    m_bScreenTestMode				( "ScreenTestMode",				false ),
    m_bDebugLights					( "DebugLights",				false ),
    m_bMonkeyInput					( "MonkeyInput",				false ),
    m_sMachineName					( "MachineName",				"" ),
    m_sIgnoredMessageWindows		( "IgnoredMessageWindows",		"" ),
    m_sCoursesToShowRanking			( "CoursesToShowRanking",		"" ),

    /* Debug: */
    m_bLogToDisk					( "LogToDisk",					true ),
    m_bForceLogFlush				( "ForceLogFlush",				false ),
    m_bShowLogOutput				( "ShowLogOutput",				false ),
    m_bTimestamping					( "Timestamping",				false ),
    m_bLogSkips						( "LogSkips",					false ),
    m_bLogCheckpoints				( "LogCheckpoints",				false ),

    /* Game-specific prefs: */
    m_sDefaultModifiers				( "DefaultModifiers",			"" )

#if defined(XBOX)
    ,
    m_bEnableVirtualMemory		( "EnableVirtualMemory",			true ),
    m_iPageFileSize				( "PageFileSize",					384 ),
    m_iPageSize					( "PageSize",						16 ),
    m_iPageThreshold			( "PageThreshold",					8 ),
    m_bLogVirtualMemory 		( "LogVirtualMemory",				false )
#endif
{
    Init();
    ReadGlobalPrefsFromDisk();
}
예제 #2
0
PrefsManager::PrefsManager()
{
	Init();
	ReadGlobalPrefsFromDisk();
}