Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions workspaces/dotnet/dev-tools/src/BuildAll.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ public static void Execute(string steamGameDirPath, string egsGameDirPath)
BuildV1.Execute();
BuildDebugTools.Execute();
BuildTestCefMod.Execute();
BuildGalaxyUnleashed.Execute();
}
}
23 changes: 23 additions & 0 deletions workspaces/dotnet/dev-tools/src/BuildGalaxyUnleashed.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,5 +92,28 @@ public static void Execute()
},
}.ToString(Newtonsoft.Json.Formatting.Indented)
);

File.WriteAllText(
Path.Combine(
galaxyUnleashedDistDirPath,
"keybinds.json"
),
new JObject
{
["_keybindsInfo"] = new JArray
{
new JObject
{
["Id"] = "OpenMenu",
["KeyCode"] = 112,
},
new JObject
{
["Id"] = "QuickAction",
["KeyCode"] = 113,
},
},
}.ToString(Newtonsoft.Json.Formatting.Indented)
);
}
}
3 changes: 3 additions & 0 deletions workspaces/dotnet/galaxy-unleashed-runtime/src/Constructor.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.IO;
using System.Linq;
using OMP.LSWTSS.CApi1;

Expand All @@ -20,6 +21,8 @@ public GalaxyUnleashed()
{
_isDisposed = false;

Keybinds.LoadConfig(@"mods\galaxy-unleashed\keybinds.json");

_overlay = new Overlay1(order: 1)
{
AreKeyboardEventsEnabled = true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC

if (_instance._modeState is PlayModeState)
{
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F1)
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("OpenMenu"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand Down Expand Up @@ -68,7 +68,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC
}
else if (_instance._modeState is QuickSpawnNpcsModeState quickSpawnNpcsModeState)
{
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F1)
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("OpenMenu"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand All @@ -87,7 +87,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC

return true;
}
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F2)
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("QuickAction"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand All @@ -107,7 +107,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC
}
else if (_instance._modeState is CreateNpcSpawnersModeState createNpcSpawnersModeState)
{
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F1)
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("OpenMenu"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand All @@ -126,7 +126,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC

return true;
}
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F2)
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("QuickAction"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand All @@ -144,7 +144,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC
}
else if (_instance._modeState is ManageBattleFlagModeState)
{
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F1)
if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("OpenMenu"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand All @@ -163,7 +163,7 @@ public static bool InputHookClientHandler(in InputHook1.NativeMessage inputHookC

return true;
}
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == PInvoke.User32.VirtualKey.VK_F2)
else if ((PInvoke.User32.VirtualKey)inputHookClientNativeMessage.WParam == (PInvoke.User32.VirtualKey)Keybinds.GetKeyCode("QuickAction"))
{
if ((PInvoke.User32.WindowMessage)inputHookClientNativeMessage.Type == PInvoke.User32.WindowMessage.WM_KEYUP)
{
Expand Down
11 changes: 11 additions & 0 deletions workspaces/dotnet/galaxy-unleashed-runtime/src/KeybindInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
namespace OMP.LSWTSS;

public partial class GalaxyUnleashed
{
class KeybindInfo
{
public required string Id;

public required ushort KeyCode;
}
}
45 changes: 45 additions & 0 deletions workspaces/dotnet/galaxy-unleashed-runtime/src/Keybinds.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using System;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

namespace OMP.LSWTSS;

public partial class GalaxyUnleashed
{
static class Keybinds
{
static KeybindInfo[]? _keybindsInfo = null;

static public ushort GetKeyCode(string id)
{
if (_keybindsInfo == null)
{
return 0;
}

foreach (KeybindInfo keybindInfo in _keybindsInfo)
{
if (keybindInfo.Id == id)
{
return keybindInfo.KeyCode;
}
}

return 0;
}

static public void LoadConfig(string path)
{
string jsonString = File.ReadAllText(Directory.GetCurrentDirectory() + @"\" + path);

KeybindsInfo? keybindsInfo = JsonConvert.DeserializeObject<KeybindsInfo>(jsonString);
if (keybindsInfo == null || keybindsInfo._keybindsInfo == null)
{
return;
}

_keybindsInfo = keybindsInfo._keybindsInfo;
}
}
}
11 changes: 11 additions & 0 deletions workspaces/dotnet/galaxy-unleashed-runtime/src/KeybindsInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using System.Collections.Generic;

namespace OMP.LSWTSS;

public partial class GalaxyUnleashed
{
class KeybindsInfo
{
public KeybindInfo[]? _keybindsInfo;
}
}