From f3b5139724ae1bb452506aa09ca775be76ab3b79 Mon Sep 17 00:00:00 2001 From: Talon Date: Sun, 25 Apr 2021 02:07:37 +0200 Subject: [PATCH] Kinda save settings --- .../DesignTimeBuild/.dtbcache.v2 | Bin 63174 -> 63174 bytes .vs/EvilSatellites/v16/.suo | Bin 189952 -> 194048 bytes EvilSatellites.sln | 8 ++- EvilSatellites/EvilSatellites.csproj | 4 ++ EvilSatellites/GameSettings.cs | 48 ++++++++++++++++++ EvilSatellites/Objects/Player.cs | 9 ++-- EvilSatellites/Program.cs | 2 +- EvilSatellites/Screens/MenuScreen.cs | 2 +- EvilSatellites/Screens/OptionsScreen.cs | 1 + EvilSatellites/Weapons/AbstractWeapon.cs | 1 + EvilSatellites/Weapons/IWeapon.cs | 1 + EvilSatellites/Weapons/LaserMG.cs | 10 ++++ 12 files changed, 79 insertions(+), 7 deletions(-) diff --git a/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 b/.vs/EvilSatellites/DesignTimeBuild/.dtbcache.v2 index f1df90002d29953e40c7914931f672db990b8041..e4a53f527e835cf7aec1b639c761de199a07663e 100644 GIT binary patch delta 7960 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 diff --git a/EvilSatellites.sln b/EvilSatellites.sln index 05af865..5b76ab4 100644 --- a/EvilSatellites.sln +++ b/EvilSatellites.sln @@ -3,18 +3,24 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30907.101 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EvilSatellites", "EvilSatellites\EvilSatellites.csproj", "{48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EvilSatellites", "EvilSatellites\EvilSatellites.csproj", "{48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Debug|x86.ActiveCfg = Debug|x86 + {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Debug|x86.Build.0 = Debug|x86 {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Release|Any CPU.ActiveCfg = Release|Any CPU {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Release|Any CPU.Build.0 = Release|Any CPU + {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Release|x86.ActiveCfg = Release|x86 + {48DE0A06-5D79-4EB1-B16A-4807A15AEBD0}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/EvilSatellites/EvilSatellites.csproj b/EvilSatellites/EvilSatellites.csproj index 8b434b1..7a31545 100644 --- a/EvilSatellites/EvilSatellites.csproj +++ b/EvilSatellites/EvilSatellites.csproj @@ -4,6 +4,7 @@ net5.0 false false + AnyCPU;x86 app.manifest @@ -12,6 +13,9 @@ + + + diff --git a/EvilSatellites/GameSettings.cs b/EvilSatellites/GameSettings.cs index 1cd141a..96a0631 100644 --- a/EvilSatellites/GameSettings.cs +++ b/EvilSatellites/GameSettings.cs @@ -3,13 +3,61 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.IO; namespace EvilSatellites { public static class GameSettings { + public static string SettingsDirectory = Environment.SpecialFolder.Personal + "/EvilSatellites"; + public static string SettingsFile = SettingsDirectory + "/settings.dat"; public static bool PreferSAPI = true; public static bool UseForceFeedback = true; public static bool EnableAI = true; + + public static void SaveSettings() + { + if (!Directory.Exists(SettingsDirectory)) + { + Directory.CreateDirectory(SettingsDirectory); + } + try + { + var file = new BinaryWriter(File.Open(SettingsFile, FileMode.Create)); + file.Write(PreferSAPI); + file.Write(UseForceFeedback); + file.Write(EnableAI); + file.Close(); + } catch (Exception e) + { + DavyKager.Tolk.Output("Error saving settings: " + e.Message); + } + + } + + public static void ReadSettings() + { + if (!Directory.Exists(SettingsDirectory)) + { + return; + } + if (!File.Exists(SettingsFile)) + { + return; + } + try + { + var file = new BinaryReader(File.OpenRead(SettingsFile)); + PreferSAPI = file.ReadBoolean(); + UseForceFeedback = file.ReadBoolean(); + EnableAI = file.ReadBoolean(); + file.Close(); + } catch (Exception e) + { + return; + } + + + } } } diff --git a/EvilSatellites/Objects/Player.cs b/EvilSatellites/Objects/Player.cs index 6676f08..40e819b 100644 --- a/EvilSatellites/Objects/Player.cs +++ b/EvilSatellites/Objects/Player.cs @@ -80,6 +80,7 @@ namespace EvilSatellites.Objects sfxTaps.Destroy(); sfxElevator.Destroy(); sfxDamage.Destroy(); + CurrentWeapon.Destroy(); return; } override public void Update(GameTime gameTime) @@ -109,19 +110,19 @@ namespace EvilSatellites.Objects Move(Movement); if (Turning == -1) { - RotateY(0.035f); + RotateY(0.025f); } if (Turning == 1) { - RotateY(-0.035f); + RotateY(-0.025f); } if (Elevating == -1) { - RotateX(-0.035f); + RotateX(-0.025f); } if (Elevating == 1) { - RotateX(0.035f); + RotateX(0.025f); } sfxEngine.Pitch = 0.5 + (Movement.Length() / MaxSpeed.Length()) * 4; sfxWhine.Pitch = 0.5 + (Movement.Length() / MaxSpeed.Length()) * 1; diff --git a/EvilSatellites/Program.cs b/EvilSatellites/Program.cs index 7edd58b..603629a 100644 --- a/EvilSatellites/Program.cs +++ b/EvilSatellites/Program.cs @@ -7,7 +7,7 @@ namespace EvilSatellites [STAThread] static void Main() { - + GameSettings.ReadSettings(); DavyKager.Tolk.Load(); if (GameSettings.PreferSAPI) { diff --git a/EvilSatellites/Screens/MenuScreen.cs b/EvilSatellites/Screens/MenuScreen.cs index 95a46a6..76ab0c6 100644 --- a/EvilSatellites/Screens/MenuScreen.cs +++ b/EvilSatellites/Screens/MenuScreen.cs @@ -25,7 +25,7 @@ namespace EvilSatellites.Screens public virtual void Activate() { CursorPosition = 0; - Tolk.Output(MenuOptions.Title, true); + Tolk.Output(MenuOptions.Title, false); Tolk.Output(MenuOptions.Description, false); Tolk.Output(MenuOptions.Entries[CursorPosition].Name); Manager.Sound.PlayOneshot(@"sfx/ui/menuOpen.wav"); diff --git a/EvilSatellites/Screens/OptionsScreen.cs b/EvilSatellites/Screens/OptionsScreen.cs index 556773a..a8dcf9e 100644 --- a/EvilSatellites/Screens/OptionsScreen.cs +++ b/EvilSatellites/Screens/OptionsScreen.cs @@ -42,6 +42,7 @@ namespace EvilSatellites.Screens } if (CursorPosition == 4) { + GameSettings.SaveSettings(); Manager.RemoveScreen(this); Manager.AddScreen(new MainMenuScreen()); } diff --git a/EvilSatellites/Weapons/AbstractWeapon.cs b/EvilSatellites/Weapons/AbstractWeapon.cs index b7fec3f..2541e86 100644 --- a/EvilSatellites/Weapons/AbstractWeapon.cs +++ b/EvilSatellites/Weapons/AbstractWeapon.cs @@ -30,5 +30,6 @@ namespace EvilSatellites.Weapons public virtual void Stop() { } public virtual void Update(GameTime time) { } public abstract void Reload(int amount); + public abstract void Destroy(); } } diff --git a/EvilSatellites/Weapons/IWeapon.cs b/EvilSatellites/Weapons/IWeapon.cs index df68099..991bba3 100644 --- a/EvilSatellites/Weapons/IWeapon.cs +++ b/EvilSatellites/Weapons/IWeapon.cs @@ -18,5 +18,6 @@ namespace EvilSatellites.Weapons int MaxAmmo { get; set; } int RemainingAmmo { get; set; } WeaponState State { get; set; } + void Destroy(); } } diff --git a/EvilSatellites/Weapons/LaserMG.cs b/EvilSatellites/Weapons/LaserMG.cs index 0d45fa0..01e972e 100644 --- a/EvilSatellites/Weapons/LaserMG.cs +++ b/EvilSatellites/Weapons/LaserMG.cs @@ -130,5 +130,15 @@ namespace EvilSatellites.Weapons sfxReload.Play(); Screen.Manager.Vibrations.AddVibration(1, 1, 500); } + + public override void Destroy() + { + sfxEmpty.Destroy(); + sfxReload.Destroy(); + sfxShoot.Destroy(); + sfxSpindown.Destroy(); + sfxSpinning.Destroy(); + sfxSpinup.Destroy(); + } } }