diff --git a/.gitignore b/.gitignore
index 0568076..f4895a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -495,12 +495,7 @@ FodyWeavers.xsd
### VisualStudio Patch ###
# Additional files built by Visual Studio
-### Rogue Legacy .dll Files ###
-/lib/DS2DEngine.dll
-/lib/InputSystem.dll
-/lib/Nuclex.Input.dll
-/lib/SpriteSystem.dll
-/lib/Tweener.dll
+### Rogue Legacy Asset Files ###
/Content/
### Inno Output ###
diff --git a/Folder.DotSettings.user b/Folder.DotSettings.user
index 26cce00..470fa72 100644
--- a/Folder.DotSettings.user
+++ b/Folder.DotSettings.user
@@ -3,6 +3,15 @@
True
True
True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
<AssemblyExplorer>
<Assembly Path="C:\Windows\Microsoft.Net\assembly\GAC_32\Microsoft.Xna.Framework\v4.0_4.0.0.0__842cf8be1de50553\Microsoft.Xna.Framework.dll" />
diff --git a/Rogue Legacy Randomizer.csproj b/Rogue Legacy Randomizer.csproj
index 65d7005..d2de0e9 100644
--- a/Rogue Legacy Randomizer.csproj
+++ b/Rogue Legacy Randomizer.csproj
@@ -47,19 +47,25 @@
lib\DS2DEngine.dll
+
+ lib\DS2DEngine.dll
+
+
+ lib\FNA.dll
+
packages\MouseKeyHook.5.6.0\lib\net40\Gma.System.MouseKeyHook.dll
True
-
-
-
+
+ lib\InputSystem.dll
+
packages\Archipelago.MultiClient.Net.3.0.1\lib\net35\Newtonsoft.Json.dll
True
-
- lib\Nuclex.Input.dll
+
+ lib\SpriteSystem.dll
@@ -68,13 +74,14 @@
lib\InputSystem.dll
-
-
lib\SpriteSystem.dll
+
+ lib\Tweener.dll
+
packages\Archipelago.MultiClient.Net.3.0.1\lib\net35\websocket-sharp.dll
True
@@ -307,7 +314,6 @@
-
diff --git a/RogueCastle/Game.cs b/RogueCastle/Game.cs
index 4bf6042..779238d 100644
--- a/RogueCastle/Game.cs
+++ b/RogueCastle/Game.cs
@@ -1,6 +1,6 @@
//
// Rogue Legacy Randomizer - Game.cs
-// Last Modified 2022-04-05
+// Last Modified 2022-04-07
//
// This project is based on the modified disassembly of Rogue Legacy's engine, with permission to do so by its
// original creators. Therefore, the former creators' copyright notice applies to the original disassembly.
@@ -311,7 +311,7 @@ protected override void LoadContent()
InputManager.SetPadType(PlayerIndex.One, PadTypes.GamePad);
}
- InputManager.UseDirectInput = GameConfig.EnableDirectInput;
+ // InputManager.UseDirectInput = GameConfig.EnableDirectInput;
GenericTexture = new Texture2D(GraphicsDevice, 1, 1);
GenericTexture.SetData(new[]
{
diff --git a/RogueCastle/LevelENV.cs b/RogueCastle/LevelENV.cs
index c55658b..3556f7b 100644
--- a/RogueCastle/LevelENV.cs
+++ b/RogueCastle/LevelENV.cs
@@ -1,6 +1,6 @@
//
// Rogue Legacy Randomizer - LevelENV.cs
-// Last Modified 2022-04-05
+// Last Modified 2022-04-07
//
// This project is based on the modified disassembly of Rogue Legacy's engine, with permission to do so by its
// original creators. Therefore, the former creators' copyright notice applies to the original disassembly.
@@ -57,7 +57,7 @@ public static class LevelENV
public const int LevelDungeonBottomDoor = 100;
public static string GameName => "Rogue Legacy Randomizer";
- public static Version TargetVersion => Version.Parse("0.8.3");
+ public static Version TargetVersion => Version.Parse("0.8.4");
public static int PreRelease => 0;
public static string FullVersion => $"v{TargetVersion}" + (PreRelease > 0 ? $"-pre{PreRelease}" : "");
diff --git a/RogueCastle/Screens/OptionsScreen.cs b/RogueCastle/Screens/OptionsScreen.cs
index bb598c4..391e6bf 100644
--- a/RogueCastle/Screens/OptionsScreen.cs
+++ b/RogueCastle/Screens/OptionsScreen.cs
@@ -1,6 +1,6 @@
//
// Rogue Legacy Randomizer - OptionsScreen.cs
-// Last Modified 2022-04-05
+// Last Modified 2022-04-07
//
// This project is based on the modified disassembly of Rogue Legacy's engine, with permission to do so by its
// original creators. Therefore, the former creators' copyright notice applies to the original disassembly.
@@ -69,7 +69,6 @@ public override void LoadContent()
_quickDropObj = new QuickDropOptionsObj(this);
_optionsArray.Add(_quickDropObj);
_optionsArray.Add(new DeadZoneOptionsObj(this));
- _optionsArray.Add(new ToggleDirectInputOptionsObj(this));
_optionsArray.Add(new ChatOpacityOption(this));
_optionsArray.Add(new ChatOption(this));
_optionsArray.Add(new ChangeControlsOptionsObj(this));
diff --git a/RogueCastle/ToggleDirectInputOptionsObj.cs b/RogueCastle/ToggleDirectInputOptionsObj.cs
deleted file mode 100644
index 1f6efc6..0000000
--- a/RogueCastle/ToggleDirectInputOptionsObj.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-//
-// Rogue Legacy Randomizer - ToggleDirectInputOptionsObj.cs
-// Last Modified 2022-01-25
-//
-// This project is based on the modified disassembly of Rogue Legacy's engine, with permission to do so by its
-// original creators. Therefore, the former creators' copyright notice applies to the original disassembly.
-//
-// Original Source - © 2011-2015, Cellar Door Games Inc.
-// Rogue Legacy™ is a trademark or registered trademark of Cellar Door Games Inc. All Rights Reserved.
-//
-
-using DS2DEngine;
-using InputSystem;
-using Microsoft.Xna.Framework;
-using RogueCastle.Screens;
-
-namespace RogueCastle
-{
- public class ToggleDirectInputOptionsObj : OptionsObj
- {
- private TextObj m_toggleText;
-
- public ToggleDirectInputOptionsObj(OptionsScreen parentScreen) : base(parentScreen, "Use DInput Gamepads")
- {
- m_toggleText = m_nameText.Clone() as TextObj;
- m_toggleText.X = m_optionsTextOffset;
- m_toggleText.Text = "No";
- AddChild(m_toggleText);
- }
-
- public override bool IsActive
- {
- get { return base.IsActive; }
- set
- {
- base.IsActive = value;
- if (value)
- {
- m_toggleText.TextureColor = Color.Yellow;
- return;
- }
-
- m_toggleText.TextureColor = Color.White;
- }
- }
-
- public override void Initialize()
- {
- if (InputManager.UseDirectInput)
- {
- m_toggleText.Text = "Yes";
- }
- else
- {
- m_toggleText.Text = "No";
- }
-
- base.Initialize();
- }
-
- public override void HandleInput()
- {
- if (Game.GlobalInput.JustPressed(20) || Game.GlobalInput.JustPressed(21) ||
- Game.GlobalInput.JustPressed(22) ||
- Game.GlobalInput.JustPressed(23))
- {
- SoundManager.PlaySound("frame_swap");
- if (m_toggleText.Text == "No")
- {
- m_toggleText.Text = "Yes";
- }
- else
- {
- m_toggleText.Text = "No";
- }
- }
-
- if (Game.GlobalInput.JustPressed(0) || Game.GlobalInput.JustPressed(1))
- {
- SoundManager.PlaySound("Option_Menu_Select");
- if (m_toggleText.Text == "No")
- {
- InputManager.UseDirectInput = false;
- Game.GameConfig.EnableDirectInput = false;
- }
- else
- {
- InputManager.UseDirectInput = true;
- Game.GameConfig.EnableDirectInput = true;
- }
-
- IsActive = false;
- }
-
- if (Game.GlobalInput.JustPressed(2) || Game.GlobalInput.JustPressed(3))
- {
- if (InputManager.UseDirectInput)
- {
- m_toggleText.Text = "Yes";
- }
- else
- {
- m_toggleText.Text = "No";
- }
-
- IsActive = false;
- }
-
- base.HandleInput();
- }
-
- public override void Dispose()
- {
- if (!IsDisposed)
- {
- m_toggleText = null;
- base.Dispose();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/inno/setup.iss b/inno/setup.iss
index bc15c35..481eb07 100644
--- a/inno/setup.iss
+++ b/inno/setup.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Rogue Legacy Randomizer"
-#define MyAppVersion "0.8.3"
+#define MyAppVersion "0.8.4"
#define MyAppPublisher "Zach Parks & Cellar Door Games"
#define MyAppURL "https://github.com/ThePhar/RogueLegacyRandomizer"
#define MyAppExeName "Rogue Legacy Randomizer.exe"
@@ -35,18 +35,27 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\bin\Debug\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\bin\Debug\Archipelago.MultiClient.Net.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\bin\Debug\websocket-sharp.dll"; DestDir: "{app}"; Flags: ignoreversion
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\CustomContent\*"; DestDir: "{app}\CustomContent"; Flags: ignoreversion recursesubdirs createallsubdirs
-Source: "C:\Users\Phar\Development\Rogue Legacy Randomizer\inno\xnafx40_redist.msi"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
+Source: "..\bin\Debug\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\Debug\Archipelago.MultiClient.Net.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\Debug\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\Debug\websocket-sharp.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\Debug\DS2DEngine.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\Debug\Gma.System.MouseKeyHook.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\FAudio.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\FNA.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\FNA3D.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\InputSystem.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\SDL2.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\SpriteSystem.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\lib\Tweener.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CustomContent\*"; DestDir: "{app}\CustomContent"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "xnafx40_redist.msi"; DestDir: "{tmp}"; Flags: ignoreversion deleteafterinstall
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Setup]
-SetupIconFile=C:\Users\Phar\Development\Rogue Legacy Randomizer\ico\RLE.ico
-WizardSmallImageFile=C:\Users\Phar\Development\Rogue Legacy Randomizer\inno\sirphar.bmp
-WizardImageFile=C:\Users\Phar\Development\Rogue Legacy Randomizer\inno\banner.bmp
+SetupIconFile="..\ico\RLE.ico"
+WizardSmallImageFile=sirphar.bmp
+WizardImageFile=banner.bmp
UninstallDisplayIcon={app}\ico\RLE.ico
[Icons]
@@ -56,11 +65,6 @@ Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: de
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\xnafx40_redist.msi"" /qb"; WorkingDir: {tmp}; StatusMsg: "Installing XNA redistributable..."
Filename: "xcopy.exe"; Parameters: "/Y /E /I ""{code:CopyDir}\Content"" ""{app}\Content"""; StatusMsg: "Copying Content files..."
-Filename: "xcopy.exe"; Parameters: "/Y ""{code:CopyDir}\DS2DEngine.dll"" ""{app}\DS2DEngine.dll*"""; StatusMsg: "Copying DSD2Engine dependancies..."
-Filename: "xcopy.exe"; Parameters: "/Y ""{code:CopyDir}\InputSystem.dll"" ""{app}\InputSystem.dll*"""; StatusMsg: "Copying InputSystem dependancies..."
-Filename: "xcopy.exe"; Parameters: "/Y ""{code:CopyDir}\Nuclex.Input.dll"" ""{app}\Nuclex.Input.dll*"""; StatusMsg: "Copying Nuclex dependancies..."
-Filename: "xcopy.exe"; Parameters: "/Y ""{code:CopyDir}\SpriteSystem.dll"" ""{app}\SpriteSystem.dll*"""; StatusMsg: "Copying SpriteSystem dependancies..."
-Filename: "xcopy.exe"; Parameters: "/Y ""{code:CopyDir}\Tweener.dll"" ""{app}\Tweener.dll*"""; StatusMsg: "Copying Tweener dependancies..."
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; StatusMsg: "Installing Rogue Legacy Randomizer"
Filename: "xcopy.exe"; Parameters: "/Y /E /I ""{app}\CustomContent"" ""{app}\Content"""; StatusMsg: "Overwriting content files with custom content..."
diff --git a/inno/xnafx40_redist.msi b/inno/xnafx40_redist.msi
new file mode 100644
index 0000000..d9a638a
Binary files /dev/null and b/inno/xnafx40_redist.msi differ
diff --git a/lib/Archipelago.MultiClient.Net.dll b/lib/Archipelago.MultiClient.Net.dll
deleted file mode 100644
index b70932c..0000000
Binary files a/lib/Archipelago.MultiClient.Net.dll and /dev/null differ
diff --git a/lib/DS2DEngine.dll b/lib/DS2DEngine.dll
new file mode 100644
index 0000000..e04d486
Binary files /dev/null and b/lib/DS2DEngine.dll differ
diff --git a/lib/FAudio.dll b/lib/FAudio.dll
new file mode 100644
index 0000000..482b922
Binary files /dev/null and b/lib/FAudio.dll differ
diff --git a/lib/FNA.dll b/lib/FNA.dll
new file mode 100644
index 0000000..3de7e12
Binary files /dev/null and b/lib/FNA.dll differ
diff --git a/lib/FNA3D.dll b/lib/FNA3D.dll
new file mode 100644
index 0000000..1715209
Binary files /dev/null and b/lib/FNA3D.dll differ
diff --git a/lib/InputSystem.dll b/lib/InputSystem.dll
new file mode 100644
index 0000000..7f518b4
Binary files /dev/null and b/lib/InputSystem.dll differ
diff --git a/lib/Newtonsoft.Json.dll b/lib/Newtonsoft.Json.dll
deleted file mode 100644
index 448cb03..0000000
Binary files a/lib/Newtonsoft.Json.dll and /dev/null differ
diff --git a/lib/SDL2.dll b/lib/SDL2.dll
new file mode 100644
index 0000000..eb8de66
Binary files /dev/null and b/lib/SDL2.dll differ
diff --git a/lib/SpriteSystem.dll b/lib/SpriteSystem.dll
new file mode 100644
index 0000000..950c97d
Binary files /dev/null and b/lib/SpriteSystem.dll differ
diff --git a/lib/Tweener.dll b/lib/Tweener.dll
new file mode 100644
index 0000000..2a3083a
Binary files /dev/null and b/lib/Tweener.dll differ
diff --git a/lib/websocket-sharp.dll b/lib/websocket-sharp.dll
deleted file mode 100644
index 8c669ea..0000000
Binary files a/lib/websocket-sharp.dll and /dev/null differ