Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SaveSettings()

static bool Terraria.Main.SaveSettings ( )
inlinestatic

Definition at line 3806 of file Main.cs.

3807 {
3808 Preferences configuration = Configuration;
3809 configuration.Clear();
3810 configuration.Put("ResetDefaultUIScale", false);
3811 configuration.Put("SmartCursorToggle", cSmartCursorModeIsToggleAndNotHold);
3812 configuration.Put("MapEnabled", mapEnabled);
3813 configuration.Put("InvasionBarMode", invasionProgressMode);
3814 configuration.Put("AutoSave", autoSave);
3815 configuration.Put("AutoPause", autoPause);
3816 configuration.Put("Language", Language.ActiveCulture.Name);
3817 configuration.Put("PlacementPreview", placementPreview);
3818 configuration.Put("GoreVisualsAllowed", ChildSafety.Disabled);
3819 configuration.Put("WorldRollbacksToKeep", WorldRollingBackupsCountToKeep);
3820 configuration.Put("TeamNameplateDistance", teamNamePlateDistance);
3821 configuration.Put("MultiplayerNPCSmoothingRange", multiplayerNPCSmoothingRange);
3822 configuration.Put("VolumeSound", soundVolume);
3823 configuration.Put("VolumeAmbient", ambientVolume);
3824 configuration.Put("VolumeMusic", musicVolume);
3825 configuration.Put("UnlockMusicSwap", TOWMusicUnlocked);
3826 configuration.Put("UseExperimentalFeatures", UseExperimentalFeatures);
3827 configuration.Put("KeyFavoriteModifier", cFavoriteKey);
3828 configuration.Put("Fullscreen", graphics.IsFullScreen);
3829 configuration.Put("WindowMaximized", screenMaximized);
3830 configuration.Put("WindowBorderless", screenBorderless);
3831 int num = graphics.PreferredBackBufferWidth;
3832 int num2 = graphics.PreferredBackBufferHeight;
3834 {
3835 if (LastLoadedResolution.X != 0)
3836 {
3837 num = LastLoadedResolution.X;
3838 }
3839 if (LastLoadedResolution.Y != 0)
3840 {
3842 }
3843 }
3844 configuration.Put("DisplayWidth", num);
3845 configuration.Put("DisplayHeight", num2);
3846 configuration.Put("GraphicsQuality", qaStyle);
3847 configuration.Put("BackgroundEnabled", BackgroundEnabled);
3848 configuration.Put("FrameSkipMode", FrameSkipMode);
3849 configuration.Put("LightingMode", Lighting.Mode);
3850 configuration.Put("BackgroundParallax", bgScroll);
3851 configuration.Put("ShowItemText", showItemText);
3852 configuration.Put("LastLaunchedVersion", 279);
3853 configuration.Put("ClientUUID", clientUUID);
3854 configuration.Put("UseSmartCursorForCommonBlocks", Player.SmartCursorSettings.SmartBlocksEnabled);
3855 configuration.Put("UseSmartAxeAfterSmartPickaxe", Player.SmartCursorSettings.SmartAxeAfterPickaxe);
3856 configuration.Put("SmartCursorHoldCanReleaseMidUse", Player.SmartCursorSettings.SmartCursorHoldCanReleaseMidUse);
3857 configuration.Put("DisableLeftShiftTrashCan", ItemSlot.Options.DisableLeftShiftTrashCan);
3858 configuration.Put("DisableQuickTrash", ItemSlot.Options.DisableQuickTrash);
3859 configuration.Put("HighlightNewItems", ItemSlot.Options.HighlightNewItems);
3860 configuration.Put("HidePasswords", HidePassword);
3861 configuration.Put("ReverseUpDownForArmorSetBonuses", ReversedUpDownArmorSetBonuses);
3862 configuration.Put("MouseShowBuildingGrid", MouseShowBuildingGrid);
3863 configuration.Put("AllowUnfocusedInputOnGamepad", AllowUnfocusedInputOnGamepad);
3864 configuration.Put("LockOnPriority", LockOnHelper.UseMode);
3865 configuration.Put("InvisibleCursorForGamepad", InvisibleCursorForGamepad);
3866 configuration.Put("GamepadDisableInstructionsDisplay", GamepadDisableInstructionsDisplay);
3867 configuration.Put("SettingsUnlock_WorldEvil", SettingsUnlock_WorldEvil);
3868 configuration.Put("SettingsEnabled_MinersWobble", SettingsEnabled_MinersWobble);
3869 configuration.Put("SettingBlockGamepadsEntirely", SettingBlockGamepadsEntirely);
3870 configuration.Put("SettingsEnabled_OpaqueBoxBehindTooltips", SettingsEnabled_OpaqueBoxBehindTooltips);
3871 configuration.Put("SettingDontScaleMainMenuUp", SettingDontScaleMainMenuUp);
3872 configuration.Put("SettingsEnabled_TilesSwayInWind", SettingsEnabled_TilesSwayInWind);
3873 configuration.Put("SettingsEnabled_AutoReuseAllItems", SettingsEnabled_AutoReuseAllItems);
3874 configuration.Put("UseStormEffect", UseStormEffects);
3875 configuration.Put("UseHeatDistortion", UseHeatDistortion);
3876 configuration.Put("WaveQuality", WaveQuality);
3877 configuration.Put("Support4K", Support4K);
3878 configuration.Put("MouseColor", new Dictionary<string, byte>
3879 {
3880 { "R", mouseColor.R },
3881 { "G", mouseColor.G },
3882 { "B", mouseColor.B }
3883 });
3884 configuration.Put("MouseBorderColor", new Dictionary<string, byte>
3885 {
3886 { "R", MouseBorderColor.R },
3887 { "G", MouseBorderColor.G },
3888 { "B", MouseBorderColor.B },
3889 { "A", MouseBorderColor.A }
3890 });
3891 configuration.Put("QuickLaunch", SkipAssemblyLoad);
3892 configuration.Put("Zoom", GameZoomTarget);
3893 configuration.Put("UIScale", _uiScaleWanted);
3894 configuration.Put("MapScale", MapScale);
3895 configuration.Put("FlashIconForEvents", Enum.GetName(typeof(GameNotificationType), _flashNotificationType));
3896 configuration.Put("Display", _windowMover.ScreenDeviceName);
3897 configuration.Put("DisplayScreen", _windowMover.ScreenDeviceName);
3898 configuration.Put("ThrottleWhenInactive", instance.InactiveSleepTime != TimeSpan.Zero);
3899 configuration.Put("DoorAutoOpeningMode", DoorOpeningHelper.PreferenceSettings);
3900 configuration.Put("HoverControlMode", Player.Settings.HoverControl);
3901 configuration.Put("WaterfallDrawLimit", instance.waterfallManager.maxWaterfallCount);
3902 configuration.Put("DisableIntenseVisualEffects", DisableIntenseVisualEffects);
3903 if (Configuration.Save())
3904 {
3905 return PlayerInput.Save();
3906 }
3907 return false;
3908 }
static ? string GetName(Type enumType, object value)
Definition Enum.cs:281
static DoorAutoOpeningPreference PreferenceSettings
void Put(string name, object value)
static GameCulture ActiveCulture
Definition Language.cs:8
static int WaveQuality
Definition Main.cs:425
static bool autoPause
Definition Main.cs:1324
static bool SettingsUnlock_WorldEvil
Definition Main.cs:243
static bool InvisibleCursorForGamepad
Definition Main.cs:267
static bool IsInTheMiddleOfLoadingSettings
Definition Main.cs:2267
static float _uiScaleWanted
Definition Main.cs:235
static bool UseHeatDistortion
Definition Main.cs:429
static bool cSmartCursorModeIsToggleAndNotHold
Definition Main.cs:2143
static bool SettingDontScaleMainMenuUp
Definition Main.cs:251
static float ambientVolume
Definition Main.cs:1423
static bool screenMaximized
Definition Main.cs:1723
static bool SettingBlockGamepadsEntirely
Definition Main.cs:249
static bool SettingsEnabled_AutoReuseAllItems
Definition Main.cs:247
static bool SettingsEnabled_MinersWobble
Definition Main.cs:245
static string clientUUID
Definition Main.cs:399
static Main instance
Definition Main.cs:283
static bool UseStormEffects
Definition Main.cs:427
static bool SkipAssemblyLoad
Definition Main.cs:946
static bool BackgroundEnabled
Definition Main.cs:802
static bool UseExperimentalFeatures
Definition Main.cs:1411
static bool Support4K
Definition Main.cs:1884
static bool showItemText
Definition Main.cs:1238
static int WorldRollingBackupsCountToKeep
Definition Main.cs:1210
static bool HidePassword
Definition Main.cs:257
static float MapScale
Definition Main.cs:2543
static int qaStyle
Definition Main.cs:762
static int teamNamePlateDistance
Definition Main.cs:1729
static bool SettingsEnabled_TilesSwayInWind
Definition Main.cs:1372
static bool autoSave
Definition Main.cs:1240
static bool TOWMusicUnlocked
Definition Main.cs:1212
static int multiplayerNPCSmoothingRange
Definition Main.cs:1731
static float GameZoomTarget
Definition Main.cs:239
static GameNotificationType _flashNotificationType
Definition Main.cs:275
static bool screenBorderless
Definition Main.cs:1725
static bool mapEnabled
Definition Main.cs:906
static int invasionProgressMode
Definition Main.cs:1984
static bool SettingsEnabled_OpaqueBoxBehindTooltips
Definition Main.cs:253
static float musicVolume
Definition Main.cs:1421
static bool placementPreview
Definition Main.cs:1342
static bool ReversedUpDownArmorSetBonuses
Definition Main.cs:259
static Preferences Configuration
Definition Main.cs:1956
static WindowStateController _windowMover
Definition Main.cs:2253
static string cFavoriteKey
Definition Main.cs:2141
static float soundVolume
Definition Main.cs:1425
static bool AllowUnfocusedInputOnGamepad
Definition Main.cs:265
static bool GamepadDisableInstructionsDisplay
Definition Main.cs:271
static Microsoft.Xna.Framework.Point LastLoadedResolution
Definition Main.cs:2269
static bool DisableIntenseVisualEffects
Definition Main.cs:694
static GraphicsDeviceManager graphics
Definition Main.cs:972
static bool MouseShowBuildingGrid
Definition Main.cs:263
static int bgScroll
Definition Main.cs:2505
static bool HighlightNewItems
Definition ItemSlot.cs:26
static bool DisableLeftShiftTrashCan
Definition ItemSlot.cs:22
static bool DisableQuickTrash
Definition ItemSlot.cs:24
static readonly TimeSpan Zero
Definition TimeSpan.cs:21

References Terraria.Main._flashNotificationType, Terraria.Main._uiScaleWanted, Terraria.Main._windowMover, Terraria.Localization.Language.ActiveCulture, Terraria.Main.AllowUnfocusedInputOnGamepad, Terraria.Main.ambientVolume, Terraria.Main.autoPause, Terraria.Main.autoSave, Terraria.Main.BackgroundEnabled, Terraria.Main.bgScroll, Terraria.Main.cFavoriteKey, Terraria.IO.Preferences.Clear(), Terraria.Main.clientUUID, Terraria.Main.Configuration, Terraria.Main.cSmartCursorModeIsToggleAndNotHold, Terraria.GameContent.ChildSafety.Disabled, Terraria.Main.DisableIntenseVisualEffects, Terraria.UI.ItemSlot.Options.DisableLeftShiftTrashCan, Terraria.UI.ItemSlot.Options.DisableQuickTrash, Terraria.Main.GamepadDisableInstructionsDisplay, Terraria.Main.GameZoomTarget, System.Enum.GetName(), Terraria.Main.graphics, Terraria.Main.HidePassword, Terraria.UI.ItemSlot.Options.HighlightNewItems, Terraria.Player.Settings.HoverControl, Terraria.Main.instance, Terraria.Main.invasionProgressMode, Terraria.Main.InvisibleCursorForGamepad, Terraria.Main.IsInTheMiddleOfLoadingSettings, Terraria.Main.LastLoadedResolution, Terraria.Main.mapEnabled, Terraria.Main.MapScale, Terraria.Lighting.Mode, Terraria.Main.MouseShowBuildingGrid, Terraria.Main.multiplayerNPCSmoothingRange, Terraria.Main.musicVolume, Terraria.Main.placementPreview, Terraria.GameContent.DoorOpeningHelper.PreferenceSettings, Terraria.IO.Preferences.Put(), Terraria.Main.qaStyle, Terraria.Main.ReversedUpDownArmorSetBonuses, Terraria.GameInput.PlayerInput.Save(), Terraria.Main.screenBorderless, Terraria.Main.screenMaximized, Terraria.Main.SettingBlockGamepadsEntirely, Terraria.Main.SettingDontScaleMainMenuUp, Terraria.Main.SettingsEnabled_AutoReuseAllItems, Terraria.Main.SettingsEnabled_MinersWobble, Terraria.Main.SettingsEnabled_OpaqueBoxBehindTooltips, Terraria.Main.SettingsEnabled_TilesSwayInWind, Terraria.Main.SettingsUnlock_WorldEvil, Terraria.Main.showItemText, Terraria.Main.SkipAssemblyLoad, Terraria.Player.SmartCursorSettings.SmartAxeAfterPickaxe, Terraria.Player.SmartCursorSettings.SmartBlocksEnabled, Terraria.Player.SmartCursorSettings.SmartCursorHoldCanReleaseMidUse, Terraria.Main.soundVolume, Terraria.Main.Support4K, Terraria.Main.teamNamePlateDistance, Terraria.Main.TOWMusicUnlocked, Terraria.Main.UseExperimentalFeatures, Terraria.Main.UseHeatDistortion, Terraria.GameInput.LockOnHelper.UseMode, Terraria.Main.UseStormEffects, Terraria.Main.WaveQuality, Terraria.Main.WorldRollingBackupsCountToKeep, and System.TimeSpan.Zero.

Referenced by Terraria.IngameOptions.Close(), Terraria.Main.DrawMenu(), Terraria.GameContent.UI.States.UIResourcePackSelectionMenu.HandleBackButtonUsage(), Terraria.Main.InitTargets(), Terraria.Main.LoadSettings(), Terraria.Main.QuitGame(), and Terraria.Main.UpdateSettingUnlocks().