diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6801f9a..f96f8c4 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -124,43 +124,43 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: HISP-Linux64
- path: HorseIsleServer/HISP/bin/x64/Linux/net6.0/linux-x64/publish/
+ path: HorseIsleServer/HISPCli/bin/x64/Linux/net6.0/linux-x64/publish/
- name: Upload linux-arm
uses: actions/upload-artifact@v2
with:
name: HISP-LinuxARM
- path: HorseIsleServer/HISP/bin/ARM/Linux/net6.0/linux-arm/publish/
+ path: HorseIsleServer/HISPCli/bin/ARM/Linux/net6.0/linux-arm/publish/
- name: Upload linux-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-LinuxARM64
- path: HorseIsleServer/HISP/bin/ARM64/Linux/net6.0/linux-arm64/publish/
+ path: HorseIsleServer/HISPCli/bin/ARM64/Linux/net6.0/linux-arm64/publish/
- name: Upload mac-x64
uses: actions/upload-artifact@v2
with:
name: HISP-Mac64
- path: HorseIsleServer/HISP/bin/x64/MacOS/net6.0/osx-x64/publish/
+ path: HorseIsleServer/HISPCli/bin/x64/MacOS/net6.0/osx-x64/publish/
- name: Upload mac-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-MacARM64
- path: HorseIsleServer/HISP/bin/arm64/MacOS/net6.0/osx-arm64/publish/
+ path: HorseIsleServer/HISPCli/bin/arm64/MacOS/net6.0/osx-arm64/publish/
- name: Upload android-arm
uses: actions/upload-artifact@v2
with:
name: HISP-AndroidARM
- path: HorseIsleServer/HISP/bin/arm/Android/net6.0/android-arm/publish/
+ path: HorseIsleServer/HISPCli/bin/arm/Android/net6.0/android-arm/publish/
- name: Upload android-arm64
uses: actions/upload-artifact@v2
with:
name: HISP-AndroidARM64
- path: HorseIsleServer/HISP/bin/arm64/Android/net6.0/android-arm64/publish/
+ path: HorseIsleServer/HISPCli/bin/arm64/Android/net6.0/android-arm64/publish/
- name: Upload Website (master)
diff --git a/.gitignore b/.gitignore
index 4f035f5..2e7eb53 100755
--- a/.gitignore
+++ b/.gitignore
@@ -8,8 +8,11 @@
HorseIsleServer/N00BS/obj/*
HorseIsleServer/N00BS/bin/*
-HorseIsleServer/HISP/obj/*
-HorseIsleServer/HISP/bin/*
+HorseIsleServer/HISPCli/obj/*
+HorseIsleServer/HISPCli/bin/*
+
+HorseIsleServer/Installer/obj/*
+HorseIsleServer/Installer/bin/*
HorseIsleServer/LibHISP/obj/*
HorseIsleServer/LibHISP/bin/*
diff --git a/HorseIsleServer/HISP.sln b/HorseIsleServer/HISP.sln
index 1ad84f5..a959455 100644
--- a/HorseIsleServer/HISP.sln
+++ b/HorseIsleServer/HISP.sln
@@ -1,198 +1,212 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.2.32210.308
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHISP", "LibHISP\LibHISP.csproj", "{C48CBD82-AB30-494A-8FFA-4DE7069B5827}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HISP", "HISP\HISP.csproj", "{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HISP-N00BS", "N00BS\HISP-N00BS.csproj", "{6B45A1E8-0F54-4BF7-AF48-41B9FE676570}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|ARM64 = Debug|ARM64
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Linux|Any CPU = Linux|Any CPU
- Linux|ARM = Linux|ARM
- Linux|ARM64 = Linux|ARM64
- Linux|x64 = Linux|x64
- Linux|x86 = Linux|x86
- MacOS|Any CPU = MacOS|Any CPU
- MacOS|ARM = MacOS|ARM
- MacOS|ARM64 = MacOS|ARM64
- MacOS|x64 = MacOS|x64
- MacOS|x86 = MacOS|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|ARM64 = Release|ARM64
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- Windows|Any CPU = Windows|Any CPU
- Windows|ARM = Windows|ARM
- Windows|ARM64 = Windows|ARM64
- Windows|x64 = Windows|x64
- Windows|x86 = Windows|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.ActiveCfg = Debug|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.Build.0 = Debug|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM64.Build.0 = Debug|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x64.ActiveCfg = Debug|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x64.Build.0 = Debug|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.ActiveCfg = Debug|AnyCPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.Build.0 = Debug|AnyCPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.ActiveCfg = Linux|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.Build.0 = Linux|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.ActiveCfg = Linux|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.Build.0 = Linux|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM64.ActiveCfg = Linux|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM64.Build.0 = Linux|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x64.ActiveCfg = Linux|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x64.Build.0 = Linux|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.ActiveCfg = Linux|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.Build.0 = Linux|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.ActiveCfg = MacOS|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.Build.0 = MacOS|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.ActiveCfg = MacOS|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.Build.0 = MacOS|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.ActiveCfg = MacOS|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.Build.0 = MacOS|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.ActiveCfg = MacOS|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.Build.0 = MacOS|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.ActiveCfg = MacOS|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.Build.0 = MacOS|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|Any CPU.ActiveCfg = Debug|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|Any CPU.Build.0 = Debug|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|ARM.ActiveCfg = Windows|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|ARM.Build.0 = Windows|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|ARM64.ActiveCfg = Windows|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|ARM64.Build.0 = Windows|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|x64.ActiveCfg = Windows|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|x64.Build.0 = Windows|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|x86.ActiveCfg = Debug|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|x86.Build.0 = Debug|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.ActiveCfg = Windows|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.Build.0 = Windows|Any CPU
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.ActiveCfg = Windows|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.Build.0 = Windows|ARM
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.ActiveCfg = Windows|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.Build.0 = Windows|ARM64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.ActiveCfg = Windows|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.Build.0 = Windows|x64
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.ActiveCfg = Windows|x86
- {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.Build.0 = Windows|x86
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x86.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x86.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|Any CPU.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|Any CPU.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x86.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x86.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|Any CPU.Build.0 = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM.ActiveCfg = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM.Build.0 = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM64.ActiveCfg = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM64.Build.0 = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x64.ActiveCfg = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x64.Build.0 = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x86.ActiveCfg = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x86.Build.0 = Release|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x64.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x64.Build.0 = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x86.ActiveCfg = Debug|Any CPU
- {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x86.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x86.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|Any CPU.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|Any CPU.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x86.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x86.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|Any CPU.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|Any CPU.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x86.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x86.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|Any CPU.Build.0 = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|ARM.ActiveCfg = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|ARM.Build.0 = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|ARM64.ActiveCfg = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|ARM64.Build.0 = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|x64.ActiveCfg = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|x64.Build.0 = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|x86.ActiveCfg = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Release|x86.Build.0 = Release|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|Any CPU.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|Any CPU.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x64.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x64.Build.0 = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x86.ActiveCfg = Debug|Any CPU
- {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x86.Build.0 = Debug|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {52075F5B-6A74-493C-BA53-3AD720D643C2}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.2.32210.308
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibHISP", "LibHISP\LibHISP.csproj", "{C48CBD82-AB30-494A-8FFA-4DE7069B5827}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HISPCli", "HISPCli\HISPCli.csproj", "{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "N00BS", "N00BS\N00BS.csproj", "{6B45A1E8-0F54-4BF7-AF48-41B9FE676570}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{D330A197-67D4-42B0-8906-54264AF95EC1}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Android|Any CPU = Android|Any CPU
+ Android|ARM = Android|ARM
+ Android|ARM64 = Android|ARM64
+ Android|x64 = Android|x64
+ Android|x86 = Android|x86
+ Debug|Any CPU = Debug|Any CPU
+ Debug|ARM = Debug|ARM
+ Debug|ARM64 = Debug|ARM64
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Linux|Any CPU = Linux|Any CPU
+ Linux|ARM = Linux|ARM
+ Linux|ARM64 = Linux|ARM64
+ Linux|x64 = Linux|x64
+ Linux|x86 = Linux|x86
+ MacOS|Any CPU = MacOS|Any CPU
+ MacOS|ARM = MacOS|ARM
+ MacOS|ARM64 = MacOS|ARM64
+ MacOS|x64 = MacOS|x64
+ MacOS|x86 = MacOS|x86
+ Windows|Any CPU = Windows|Any CPU
+ Windows|ARM = Windows|ARM
+ Windows|ARM64 = Windows|ARM64
+ Windows|x64 = Windows|x64
+ Windows|x86 = Windows|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|Any CPU.ActiveCfg = Linux|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|Any CPU.Build.0 = Linux|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|ARM.ActiveCfg = Android|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|ARM.Build.0 = Android|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|ARM64.ActiveCfg = Android|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|ARM64.Build.0 = Android|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|x64.ActiveCfg = Android|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|x64.Build.0 = Android|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|x86.ActiveCfg = Android|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|x86.Build.0 = Android|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.ActiveCfg = Debug|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM.Build.0 = Debug|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|ARM64.Build.0 = Debug|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x64.ActiveCfg = Debug|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x64.Build.0 = Debug|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.ActiveCfg = Debug|AnyCPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.Build.0 = Debug|AnyCPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.ActiveCfg = Linux|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|Any CPU.Build.0 = Linux|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.ActiveCfg = Linux|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM.Build.0 = Linux|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM64.ActiveCfg = Linux|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|ARM64.Build.0 = Linux|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x64.ActiveCfg = Linux|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x64.Build.0 = Linux|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.ActiveCfg = Linux|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Linux|x86.Build.0 = Linux|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.ActiveCfg = MacOS|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|Any CPU.Build.0 = MacOS|Any CPU
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.ActiveCfg = MacOS|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM.Build.0 = MacOS|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.ActiveCfg = MacOS|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|ARM64.Build.0 = MacOS|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.ActiveCfg = MacOS|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x64.Build.0 = MacOS|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.ActiveCfg = MacOS|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.MacOS|x86.Build.0 = MacOS|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.ActiveCfg = Windows|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|Any CPU.Build.0 = Windows|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.ActiveCfg = Windows|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM.Build.0 = Windows|ARM
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.ActiveCfg = Windows|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|ARM64.Build.0 = Windows|ARM64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.ActiveCfg = Windows|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x64.Build.0 = Windows|x64
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.ActiveCfg = Windows|x86
+ {C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Windows|x86.Build.0 = Windows|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|Any CPU.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|ARM.ActiveCfg = Android|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|ARM.Build.0 = Android|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|ARM64.ActiveCfg = Android|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|ARM64.Build.0 = Android|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|x64.ActiveCfg = Android|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|x64.Build.0 = Android|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|x86.ActiveCfg = Android|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|x86.Build.0 = Android|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.ActiveCfg = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.Build.0 = Debug|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM.ActiveCfg = Linux|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM.Build.0 = Linux|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM64.ActiveCfg = Linux|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|ARM64.Build.0 = Linux|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x64.ActiveCfg = Linux|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x64.Build.0 = Linux|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x86.ActiveCfg = Linux|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|x86.Build.0 = Linux|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|Any CPU.ActiveCfg = MacOS|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|Any CPU.Build.0 = MacOS|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM.ActiveCfg = MacOS|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM.Build.0 = MacOS|ARM
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM64.ActiveCfg = MacOS|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|ARM64.Build.0 = MacOS|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x64.ActiveCfg = MacOS|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x64.Build.0 = MacOS|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x86.ActiveCfg = MacOS|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.MacOS|x86.Build.0 = MacOS|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.ActiveCfg = Debug|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.Build.0 = Debug|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.ActiveCfg = Windows|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.Build.0 = Windows|Any CPU
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM64.ActiveCfg = Windows|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM64.Build.0 = Windows|ARM64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x64.ActiveCfg = Windows|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x64.Build.0 = Windows|x64
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x86.ActiveCfg = Windows|x86
+ {DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|x86.Build.0 = Windows|x86
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|Any CPU.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|ARM.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|ARM64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|x64.ActiveCfg = Windows|x64
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Android|x86.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x64.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Debug|x86.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|Any CPU.Build.0 = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|ARM64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Linux|x86.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|Any CPU.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|ARM64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x64.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.MacOS|x86.ActiveCfg = Debug|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|Any CPU.ActiveCfg = Debug|x64
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|Any CPU.Build.0 = Debug|x64
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM.ActiveCfg = Windows|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|ARM64.ActiveCfg = Windows|Any CPU
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x64.ActiveCfg = Windows|x64
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x64.Build.0 = Windows|x64
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x86.ActiveCfg = Windows|x86
+ {6B45A1E8-0F54-4BF7-AF48-41B9FE676570}.Windows|x86.Build.0 = Windows|x86
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Android|Any CPU.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Android|ARM.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Android|ARM64.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Android|x64.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Android|x86.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Debug|Any CPU.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Debug|ARM.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Debug|ARM64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Debug|x64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Debug|x86.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Linux|Any CPU.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Linux|ARM.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Linux|ARM64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Linux|x64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Linux|x86.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.MacOS|Any CPU.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.MacOS|ARM.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.MacOS|ARM64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.MacOS|x64.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.MacOS|x86.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|Any CPU.ActiveCfg = Debug
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|ARM.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|ARM64.ActiveCfg = Release
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|x64.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|x64.Build.0 = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|x86.ActiveCfg = Windows
+ {D330A197-67D4-42B0-8906-54264AF95EC1}.Windows|x86.Build.0 = Windows
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {52075F5B-6A74-493C-BA53-3AD720D643C2}
+ EndGlobalSection
+EndGlobal
diff --git a/HorseIsleServer/HISP/Program.cs b/HorseIsleServer/HISP/Program.cs
deleted file mode 100644
index 868fcb9..0000000
--- a/HorseIsleServer/HISP/Program.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using HISP.Server;
-using System;
-
-namespace HISP
-{
- public static class Program
- {
- public static bool ShuttingDown = false;
- public static void OnShutdown()
- {
- ShuttingDown = true;
- }
- public static void Main(string[] args)
- {
- Logger.SetCallback(Console.WriteLine);
- Entry.SetShutdownCallback(OnShutdown);
- Entry.Start();
-
- while (!ShuttingDown) { /* Allow asyncronous operations to happen. */ };
- }
- }
-}
diff --git a/HorseIsleServer/HISP/HISP.csproj b/HorseIsleServer/HISPCli/HISPCli.csproj
similarity index 97%
rename from HorseIsleServer/HISP/HISP.csproj
rename to HorseIsleServer/HISPCli/HISPCli.csproj
index f8be9f5..f564645 100644
--- a/HorseIsleServer/HISP/HISP.csproj
+++ b/HorseIsleServer/HISPCli/HISPCli.csproj
@@ -4,7 +4,7 @@
HISP
10.0
x64;x86;ARM;ARM64;AnyCPU
- Debug;Windows;Linux;MacOS
+ Debug;Windows;Linux;MacOS;Android
@@ -56,7 +56,7 @@
win-arm
true
- ARM32
+ ARM
OS_WINDOWS;ARCH_ARM
3
1701;1702;2026
@@ -74,7 +74,7 @@
android-arm
true
- ARM32
+ ARM
OS_ANDROID;ARCH_ARM
3
1701;1702;2026
@@ -139,7 +139,7 @@
- ARM32
+ ARM
False
DEBUG;TRACE;OS_DEBUG;ARCH_ARM
3
diff --git a/HorseIsleServer/HISPCli/Program.cs b/HorseIsleServer/HISPCli/Program.cs
new file mode 100644
index 0000000..3b2f602
--- /dev/null
+++ b/HorseIsleServer/HISPCli/Program.cs
@@ -0,0 +1,43 @@
+using HISP.Server;
+using System;
+using System.IO;
+
+namespace HISP
+{
+ public static class Program
+ {
+ public static bool ShuttingDown = false;
+ public static string LogFile;
+ public static string BaseDir;
+
+ public static void OnShutdown()
+ {
+ ShuttingDown = true;
+ }
+ public static void LogToFile(string text)
+ {
+ File.AppendAllTextAsync(text, LogFile);
+ }
+ public static void LogStdout(string text)
+ {
+ Console.Out.WriteAsync(text + Console.Out.NewLine);
+ }
+ public static void Main(string[] args)
+ {
+ string BaseDir = Directory.GetCurrentDirectory();
+#if DEB_PACKAGE
+ ConfigReader.ConfigurationFileName = "/etc/hisp.conf"
+ LogFile = "/var/log/hisp.log"
+ Logger.SetCallback(LogToFile);
+#else
+ Logger.SetCallback(LogStdout);
+#endif
+
+ Entry.SetShutdownCallback(OnShutdown);
+ Entry.Start();
+
+ while (!ShuttingDown) { /* Allow asyncronous operations to happen. */ };
+
+ }
+ }
+}
diff --git a/HorseIsleServer/HISP/Properties/AssemblyInfo.cs b/HorseIsleServer/HISPCli/Properties/AssemblyInfo.cs
similarity index 100%
rename from HorseIsleServer/HISP/Properties/AssemblyInfo.cs
rename to HorseIsleServer/HISPCli/Properties/AssemblyInfo.cs
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/AndroidARM.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/AndroidARM.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/AndroidARM.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/AndroidARM.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/AndroidARM64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/AndroidARM64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/AndroidARM64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/AndroidARM64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/Linux64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/Linux64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/Linux64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/Linux64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/LinuxARM.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/LinuxARM.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/LinuxARM.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/LinuxARM.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/LinuxARM64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/LinuxARM64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/LinuxARM64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/LinuxARM64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/Osx64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/Osx64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/Osx64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/Osx64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/OsxARM64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/OsxARM64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/OsxARM64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/OsxARM64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/Win32.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/Win32.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/Win32.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/Win32.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/Win64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/Win64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/Win64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/Win64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/WinARM.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/WinARM.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/WinARM.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/WinARM.pubxml
diff --git a/HorseIsleServer/HISP/Properties/PublishProfiles/WinARM64.pubxml b/HorseIsleServer/HISPCli/Properties/PublishProfiles/WinARM64.pubxml
similarity index 100%
rename from HorseIsleServer/HISP/Properties/PublishProfiles/WinARM64.pubxml
rename to HorseIsleServer/HISPCli/Properties/PublishProfiles/WinARM64.pubxml
diff --git a/HorseIsleServer/HISP/Properties/Resources.Designer.cs b/HorseIsleServer/HISPCli/Properties/Resources.Designer.cs
similarity index 100%
rename from HorseIsleServer/HISP/Properties/Resources.Designer.cs
rename to HorseIsleServer/HISPCli/Properties/Resources.Designer.cs
diff --git a/HorseIsleServer/HISP/Properties/Resources.resx b/HorseIsleServer/HISPCli/Properties/Resources.resx
similarity index 100%
rename from HorseIsleServer/HISP/Properties/Resources.resx
rename to HorseIsleServer/HISPCli/Properties/Resources.resx
diff --git a/HorseIsleServer/HISP/Properties/launchSettings.json b/HorseIsleServer/HISPCli/Properties/launchSettings.json
similarity index 100%
rename from HorseIsleServer/HISP/Properties/launchSettings.json
rename to HorseIsleServer/HISPCli/Properties/launchSettings.json
diff --git a/HorseIsleServer/HISP/icon.ico b/HorseIsleServer/HISPCli/icon.ico
similarity index 100%
rename from HorseIsleServer/HISP/icon.ico
rename to HorseIsleServer/HISPCli/icon.ico
diff --git a/HorseIsleServer/Installer/Installer.vdproj b/HorseIsleServer/Installer/Installer.vdproj
new file mode 100644
index 0000000..3d8c519
--- /dev/null
+++ b/HorseIsleServer/Installer/Installer.vdproj
@@ -0,0 +1,956 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:Installer"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+ "Hierarchy"
+ {
+ "Entry"
+ {
+ "MsmKey" = "8:_0D21C5FF039F49C088EB634A33FC411B"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_1564B665DC1B4C84B3B06154ED218D5B"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_1A4693530D8B4CBBB2A5EC31D8340F0F"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_28A4D7E632204CABA7FE740BEFC91DEF"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_5677B9A3E24F4F6C967D0E86BC2E3E74"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_611F30D5162547E3BA321F145FD40AC5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_98F70300FEAC42DE808CBC3BF0A4EDEE"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9B65B8D30BEB46508FDC1142245936E3"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_A323663C87734476B43AED93BCEE5E78"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_DBECA6BD50F344FFAF7D3BC0A6A35A2B"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ }
+ "Configurations"
+ {
+ "Windows"
+ {
+ "DisplayName" = "8:Windows"
+ "IsDebugOnly" = "11:FALSE"
+ "IsReleaseOnly" = "11:TRUE"
+ "OutputFilename" = "8:Windows\\HISP-N00BS-INSTALLER.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:2"
+ "SignOutput" = "11:FALSE"
+ "CertificateFile" = "8:"
+ "PrivateKeyFile" = "8:"
+ "TimeStampServer" = "8:"
+ "InstallerBootstrapper" = "3:2"
+ "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
+ {
+ "Enabled" = "11:TRUE"
+ "PromptEnabled" = "11:TRUE"
+ "PrerequisitesLocation" = "2:1"
+ "Url" = "8:"
+ "ComponentsUrl" = "8:"
+ "Items"
+ {
+ "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
+ {
+ "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
+ "ProductCode" = "8:.NETFramework,Version=v4.7.2"
+ }
+ }
+ }
+ }
+ }
+ "Deployable"
+ {
+ "CustomAction"
+ {
+ }
+ "DefaultFeature"
+ {
+ "Name" = "8:DefaultFeature"
+ "Title" = "8:"
+ "Description" = "8:"
+ }
+ "ExternalPersistence"
+ {
+ "LaunchCondition"
+ {
+ "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_5202EFE80DEE4723BF89431D6D801282"
+ {
+ "Name" = "8:.NET Core"
+ "Message" = "8:[VSDNETCOREMSG]"
+ "AllowLaterVersions" = "11:FALSE"
+ "InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]"
+ "IsNETCore" = "11:TRUE"
+ "Architecture" = "2:0"
+ "Runtime" = "2:0"
+ }
+ }
+ }
+ "File"
+ {
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0D21C5FF039F49C088EB634A33FC411B"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\flash.dll"
+ "TargetName" = "8:flash.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1564B665DC1B4C84B3B06154ED218D5B"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\HISP-N00BS.exe"
+ "TargetName" = "8:HISP-N00BS.exe"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1A4693530D8B4CBBB2A5EC31D8340F0F"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\PresentationNative_cor3.dll"
+ "TargetName" = "8:PresentationNative_cor3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_28A4D7E632204CABA7FE740BEFC91DEF"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\vcruntime140_cor3.dll"
+ "TargetName" = "8:vcruntime140_cor3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5677B9A3E24F4F6C967D0E86BC2E3E74"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\PenImc_cor3.dll"
+ "TargetName" = "8:PenImc_cor3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_611F30D5162547E3BA321F145FD40AC5"
+ {
+ "SourcePath" = "8:..\\N00BS\\icon.ico"
+ "TargetName" = "8:icon.ico"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_98F70300FEAC42DE808CBC3BF0A4EDEE"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\e_sqlite3.dll"
+ "TargetName" = "8:e_sqlite3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9B65B8D30BEB46508FDC1142245936E3"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\wpfgfx_cor3.dll"
+ "TargetName" = "8:wpfgfx_cor3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A323663C87734476B43AED93BCEE5E78"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\D3DCompiler_47_cor3.dll"
+ "TargetName" = "8:D3DCompiler_47_cor3.dll"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:VersionNT64"
+ "Transitive" = "11:TRUE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ }
+ }
+ "FileType"
+ {
+ }
+ "Folder"
+ {
+ "{1525181F-901A-416C-8A58-119130FE478E}:_2BED5EC5191147F4815904695DFB5319"
+ {
+ "Name" = "8:#1916"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:DesktopFolder"
+ "Folders"
+ {
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_3B89F894B58B4F149DD0DBE5EC931BA2"
+ {
+ "Name" = "8:#1919"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:ProgramMenuFolder"
+ "Folders"
+ {
+ }
+ }
+ "{3C67513D-01DD-4637-8A68-80971EB9504F}:_E3419B32123541589220537FB1154298"
+ {
+ "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
+ "Name" = "8:#1925"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:TARGETDIR"
+ "Folders"
+ {
+ }
+ }
+ }
+ "LaunchCondition"
+ {
+ }
+ "Locator"
+ {
+ }
+ "MsiBootstrapper"
+ {
+ "LangId" = "3:1033"
+ "RequiresElevation" = "11:FALSE"
+ }
+ "Product"
+ {
+ "Name" = "8:Microsoft Visual Studio"
+ "ProductName" = "8:HISP-N00BS"
+ "ProductCode" = "8:{60BA2AF1-4913-4A37-9280-093E8E7DAADE}"
+ "PackageCode" = "8:{88A7C3C4-CB07-4D31-ADA6-1FA3B9FFAB19}"
+ "UpgradeCode" = "8:{FAD2FB5F-7B7C-4293-BF2D-09384146449E}"
+ "AspNetVersion" = "8:2.0.50727.0"
+ "RestartWWWService" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
+ "DetectNewerInstalledVersion" = "11:FALSE"
+ "InstallAllUsers" = "11:TRUE"
+ "ProductVersion" = "8:1.3.0"
+ "Manufacturer" = "8:IsleHorse"
+ "ARPHELPTELEPHONE" = "8:"
+ "ARPHELPLINK" = "8:"
+ "Title" = "8:HISP N00BS INSTALLER"
+ "Subject" = "8:"
+ "ARPCONTACT" = "8:SilicaAndPina"
+ "Keywords" = "8:"
+ "ARPCOMMENTS" = "8:Horse Isle Server Emulator (N00BS Package)"
+ "ARPURLINFOABOUT" = "8:islehorse.com"
+ "ARPPRODUCTICON" = "8:_611F30D5162547E3BA321F145FD40AC5"
+ "ARPIconIndex" = "3:0"
+ "SearchPath" = "8:"
+ "UseSystemSearchPath" = "11:TRUE"
+ "TargetPlatform" = "3:0"
+ "PreBuildEvent" = "8:"
+ "PostBuildEvent" = "8:"
+ "RunPostBuildEvent" = "3:0"
+ }
+ "Registry"
+ {
+ "HKLM"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_64C38CA6346B449692BF6B4AA592D702"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AC38AB208C084DF4BA565F75F0BE4432"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCU"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A730B92ABA6442DA8A8DE8F8B12B006C"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1DE78BC22BE74532BD96E9D0C76B8456"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCR"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKU"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKPU"
+ {
+ "Keys"
+ {
+ }
+ }
+ }
+ "Sequences"
+ {
+ }
+ "Shortcut"
+ {
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_0EE8B0868FFB48F9A5AF0E106F29270F"
+ {
+ "Name" = "8:HISP-N00BS"
+ "Arguments" = "8:"
+ "Description" = "8:"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_DBECA6BD50F344FFAF7D3BC0A6A35A2B"
+ "Folder" = "8:_2BED5EC5191147F4815904695DFB5319"
+ "WorkingFolder" = "8:_E3419B32123541589220537FB1154298"
+ "Icon" = "8:_611F30D5162547E3BA321F145FD40AC5"
+ "Feature" = "8:"
+ }
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_8C2FF2BBC6C5459CB7C3C3D7563A6B24"
+ {
+ "Name" = "8:HISP-N00BS"
+ "Arguments" = "8:"
+ "Description" = "8:"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_DBECA6BD50F344FFAF7D3BC0A6A35A2B"
+ "Folder" = "8:_3B89F894B58B4F149DD0DBE5EC931BA2"
+ "WorkingFolder" = "8:_E3419B32123541589220537FB1154298"
+ "Icon" = "8:_611F30D5162547E3BA321F145FD40AC5"
+ "Feature" = "8:"
+ }
+ }
+ "UserInterface"
+ {
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_07CE736F4DA7413AAEC990B2E3F8E5E6"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:2"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_090F0EE34745459F9686C050B2C11242"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3DAE3EEA3A0D49A2BF44023DFA46DD1F"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7E134743D03E4D2BAB1A4EFBBCFFB85A"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1202"
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_1005C5ECDBA6463C8F26D022ADF2B15B"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdUserInterface.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_1B5CC2AD42AB4B8A871994A5BDA4AF2E"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:1"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_13902A19FA564BEB9B78FA7710553B5D"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2D7F530E4D9144F7A17E26C070A09A38"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:2"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_669ADC1422094131A197F6A6C9DBFF21"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Progress"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminProgressDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "ShowProgress"
+ {
+ "Name" = "8:ShowProgress"
+ "DisplayName" = "8:#1009"
+ "Description" = "8:#1109"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_34E02BE2018C46BBBBBFAD4ED87A477C"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdBasicDialogs.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6CBD4A41E51D4CA3B91CA1BDB8AC6624"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:1"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_01032F7BADD4495B95310569E9419B49"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "UpdateText"
+ {
+ "Name" = "8:UpdateText"
+ "DisplayName" = "8:#1058"
+ "Description" = "8:#1158"
+ "Type" = "3:15"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1258"
+ "DefaultValue" = "8:#1258"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_A4FECCFE0E0A48748DB3E442DAEC4BDD"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:2"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4DACC92277D2418AA749B1DED80D4118"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Finished"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdAdminFinishedDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_EEB71AB6095340A5925C86FF3F54F56B"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:1"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_812C2FA3E5F945D2B42F27AE98132D86"
+ {
+ "Sequence" = "3:300"
+ "DisplayName" = "8:Confirm Installation"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdConfirmDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_82627D6985A9465F9963EA555AE205F1"
+ {
+ "Sequence" = "3:100"
+ "DisplayName" = "8:Welcome"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdWelcomeDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "CopyrightWarning"
+ {
+ "Name" = "8:CopyrightWarning"
+ "DisplayName" = "8:#1002"
+ "Description" = "8:#1102"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1202"
+ "DefaultValue" = "8:#1202"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "Welcome"
+ {
+ "Name" = "8:Welcome"
+ "DisplayName" = "8:#1003"
+ "Description" = "8:#1103"
+ "Type" = "3:3"
+ "ContextData" = "8:"
+ "Attributes" = "3:0"
+ "Setting" = "3:1"
+ "Value" = "8:#1203"
+ "DefaultValue" = "8:#1203"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FF55283F2CDE4642916803852163C654"
+ {
+ "Sequence" = "3:200"
+ "DisplayName" = "8:Installation Folder"
+ "UseDynamicProperties" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:\\VsdFolderDlg.wid"
+ "Properties"
+ {
+ "BannerBitmap"
+ {
+ "Name" = "8:BannerBitmap"
+ "DisplayName" = "8:#1001"
+ "Description" = "8:#1101"
+ "Type" = "3:8"
+ "ContextData" = "8:Bitmap"
+ "Attributes" = "3:4"
+ "Setting" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ "InstallAllUsersVisible"
+ {
+ "Name" = "8:InstallAllUsersVisible"
+ "DisplayName" = "8:#1059"
+ "Description" = "8:#1159"
+ "Type" = "3:5"
+ "ContextData" = "8:1;True=1;False=0"
+ "Attributes" = "3:0"
+ "Setting" = "3:0"
+ "Value" = "3:1"
+ "DefaultValue" = "3:1"
+ "UsePlugInResources" = "11:TRUE"
+ }
+ }
+ }
+ }
+ }
+ }
+ "MergeModule"
+ {
+ }
+ "ProjectOutput"
+ {
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_DBECA6BD50F344FFAF7D3BC0A6A35A2B"
+ {
+ "SourcePath" = "8:..\\N00BS\\bin\\x64\\Windows\\net6.0\\win-x64\\publish\\HISP-N00BS.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_E3419B32123541589220537FB1154298"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Vital" = "11:TRUE"
+ "ReadOnly" = "11:FALSE"
+ "Hidden" = "11:FALSE"
+ "System" = "11:FALSE"
+ "Permanent" = "11:FALSE"
+ "SharedLegacy" = "11:FALSE"
+ "PackageAs" = "3:1"
+ "Register" = "3:1"
+ "Exclude" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "IsolateTo" = "8:"
+ "ProjectOutputGroupRegister" = "3:1"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:PublishItems"
+ "OutputProjectGuid" = "8:{6B45A1E8-0F54-4BF7-AF48-41B9FE676570}"
+ "ShowKeyOutput" = "11:TRUE"
+ "PublishProfilePath" = "8:Properties\\PublishProfiles\\Win64.pubxml"
+ "ExcludeFilters"
+ {
+ }
+ }
+ }
+ }
+}
diff --git a/HorseIsleServer/LibHISP/LibHISP.csproj b/HorseIsleServer/LibHISP/LibHISP.csproj
index bf58b09..177893d 100644
--- a/HorseIsleServer/LibHISP/LibHISP.csproj
+++ b/HorseIsleServer/LibHISP/LibHISP.csproj
@@ -73,7 +73,7 @@
win-arm
true
- ARM32
+ ARM
OS_WINDOWS;ARCH_ARM
3
1701;1702;2026
@@ -90,7 +90,7 @@
android-arm
true
- ARM32
+ ARM
OS_ANDROID;ARCH_ARM
3
1701;1702;2026
@@ -156,7 +156,7 @@
- ARM32
+ ARM
False
DEBUG;TRACE;OS_DEBUG;ARCH_ARM
3
diff --git a/HorseIsleServer/LibHISP/Server/Database.cs b/HorseIsleServer/LibHISP/Server/Database.cs
index 3cbdd8a..f9c0edb 100644
--- a/HorseIsleServer/LibHISP/Server/Database.cs
+++ b/HorseIsleServer/LibHISP/Server/Database.cs
@@ -48,10 +48,10 @@ namespace HISP.Server
public static void OpenDatabase()
{
- if (!ConfigReader.SqlLite)
- ConnectionString = "server=" + ConfigReader.DatabaseIP + ";user=" + ConfigReader.DatabaseUsername + ";password=" + ConfigReader.DatabasePassword + ";database=" + ConfigReader.DatabaseName;
- else
- ConnectionString = "Data Source=./" + ConfigReader.DatabaseName + ".db;";
+ if (!ConfigReader.SqlLite)
+ ConnectionString = "server=" + ConfigReader.DatabaseIP + ";user=" + ConfigReader.DatabaseUsername + ";password=" + ConfigReader.DatabasePassword + ";database=" + ConfigReader.DatabaseName;
+ else
+ ConnectionString = "Data Source=\"" + ConfigReader.DatabaseName + ".db\";";
Logger.InfoPrint(ConnectionString);
@@ -6146,6 +6146,26 @@ namespace HISP.Server
}
}
}
+ public static void SetPasswordHash(string username, string passhash)
+ {
+ using (DbConnection db = connectDb())
+ {
+ db.Open();
+ if (CheckUserExist(username))
+ {
+ DbCommand sqlCommand = db.CreateCommand();
+ sqlCommand.CommandText = "UPDATE Users SET PassHash=@hash WHERE Username=@name";
+ addWithValue(sqlCommand, "@hash", passhash);
+ addWithValue(sqlCommand, "@name", username);
+ sqlCommand.Prepare();
+ sqlCommand.ExecuteNonQuery();
+ }
+ else
+ {
+ throw new KeyNotFoundException("Username " + username + " not found in database.");
+ }
+ }
+ }
public static byte[] GetPasswordHash(string username)
{
using (DbConnection db = connectDb())
diff --git a/HorseIsleServer/N00BS/HTTP/ContentServer.cs b/HorseIsleServer/N00BS/HTTP/ContentServer.cs
index cd8a49a..3c8dd05 100644
--- a/HorseIsleServer/N00BS/HTTP/ContentServer.cs
+++ b/HorseIsleServer/N00BS/HTTP/ContentServer.cs
@@ -281,7 +281,7 @@ namespace HTTP
{
WriteDebugOutput("Listening for connections on port 80.");
- IPEndPoint ep = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 80);
+ IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 80);
ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ServerSocket.Bind(ep);
ServerSocket.Listen(0x7fffffff);
diff --git a/HorseIsleServer/N00BS/HISP-N00BS.csproj b/HorseIsleServer/N00BS/N00BS.csproj
similarity index 98%
rename from HorseIsleServer/N00BS/HISP-N00BS.csproj
rename to HorseIsleServer/N00BS/N00BS.csproj
index 6cd8965..5d769da 100644
--- a/HorseIsleServer/N00BS/HISP-N00BS.csproj
+++ b/HorseIsleServer/N00BS/N00BS.csproj
@@ -17,6 +17,9 @@
True
Resources.resx
+
+ Form
+
diff --git a/HorseIsleServer/N00BS/HISP-N00BS.csproj.user b/HorseIsleServer/N00BS/N00BS.csproj.user
similarity index 100%
rename from HorseIsleServer/N00BS/HISP-N00BS.csproj.user
rename to HorseIsleServer/N00BS/N00BS.csproj.user
diff --git a/HorseIsleServer/N00BS/Program.cs b/HorseIsleServer/N00BS/Program.cs
index 52cf4a7..2aa2374 100644
--- a/HorseIsleServer/N00BS/Program.cs
+++ b/HorseIsleServer/N00BS/Program.cs
@@ -12,7 +12,6 @@ using HTTP;
using System;
using System.Diagnostics;
using System.IO;
-using System.Reflection;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -21,11 +20,11 @@ namespace HISP
public static class Program
{
private static LoadingForm lfrm;
- private static string baseDir;
+ public static string BaseDir;
private static ContentServer cs;
private static void addToList(string path)
{
- string Name = path.Remove(0, Path.Combine(baseDir, "client").Length);
+ string Name = path.Remove(0, Path.Combine(Directory.GetCurrentDirectory(), "client").Length);
Name = Name.Replace("\\", "/");
ContentItem ci = new ContentItem(Name, path);
@@ -64,19 +63,22 @@ namespace HISP
public static void Main(string[] args)
{
- baseDir = Directory.GetCurrentDirectory();
-
+ BaseDir = Path.Combine(Environment.GetEnvironmentVariable("APPDATA"), "HISP", "N00BS");
+ Directory.CreateDirectory(BaseDir);
+
lfrm = new LoadingForm();
Task startForm = new Task(StartLRFrm);
startForm.Start();
+ ConfigReader.ConfigurationFileName = Path.Combine(BaseDir, "server.properties");
ConfigReader.OpenConfig();
ConfigReader.SqlLite = true;
ConfigReader.LogLevel = 0;
+ ConfigReader.BindIP = "127.0.0.1";
+ ConfigReader.CrossDomainPolicyFile = Path.Combine(BaseDir, "CrossDomainPolicy.xml");
+ ConfigReader.DatabaseName = Path.Combine(BaseDir, "game1.db");
IncrementProgress();
-
-
Database.OpenDatabase();
IncrementProgress();
@@ -91,7 +93,7 @@ namespace HISP
// Start Web Server
try{
cs = new ContentServer();
- string[] fileList = Directory.GetFiles(Path.Combine(baseDir, "client"), "*", SearchOption.AllDirectories);
+ string[] fileList = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(),"client"), "*", SearchOption.AllDirectories);
foreach (string file in fileList)
addToList(file);
}catch(Exception e){
diff --git a/HorseIsleServer/N00BS/RegisterForm.Designer.cs b/HorseIsleServer/N00BS/RegisterForm.Designer.cs
index 1ffd80a..a59cdfe 100644
--- a/HorseIsleServer/N00BS/RegisterForm.Designer.cs
+++ b/HorseIsleServer/N00BS/RegisterForm.Designer.cs
@@ -1,233 +1,233 @@
-namespace HISP
-{
- partial class RegisterForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RegisterForm));
- this.isAdmin = new System.Windows.Forms.CheckBox();
- this.isMod = new System.Windows.Forms.CheckBox();
- this.label1 = new System.Windows.Forms.Label();
- this.Username = new System.Windows.Forms.TextBox();
- this.Password = new System.Windows.Forms.TextBox();
- this.BoySelecton = new System.Windows.Forms.RadioButton();
- this.GirlSelection = new System.Windows.Forms.RadioButton();
- this.label2 = new System.Windows.Forms.Label();
- this.CreateAccount = new System.Windows.Forms.Button();
- this.label3 = new System.Windows.Forms.Label();
- this.UsernameValidationFailReason = new System.Windows.Forms.Label();
- this.PasswordValidationFailReason = new System.Windows.Forms.Label();
- this.SuspendLayout();
- //
- // isAdmin
- //
- this.isAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.isAdmin.AutoSize = true;
- this.isAdmin.Checked = true;
- this.isAdmin.CheckState = System.Windows.Forms.CheckState.Checked;
- this.isAdmin.Location = new System.Drawing.Point(238, 169);
- this.isAdmin.Name = "isAdmin";
- this.isAdmin.Size = new System.Drawing.Size(99, 19);
- this.isAdmin.TabIndex = 6;
- this.isAdmin.Text = "Administrator";
- this.isAdmin.UseVisualStyleBackColor = true;
- this.isAdmin.CheckedChanged += new System.EventHandler(this.isAdmin_CheckedChanged);
- //
- // isMod
- //
- this.isMod.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.isMod.AutoSize = true;
- this.isMod.Checked = true;
- this.isMod.CheckState = System.Windows.Forms.CheckState.Checked;
- this.isMod.Location = new System.Drawing.Point(238, 145);
- this.isMod.Name = "isMod";
- this.isMod.Size = new System.Drawing.Size(82, 19);
- this.isMod.TabIndex = 5;
- this.isMod.Text = "Moderator";
- this.isMod.UseVisualStyleBackColor = true;
- this.isMod.CheckedChanged += new System.EventHandler(this.isMod_CheckedChanged);
- //
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(12, 9);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(71, 15);
- this.label1.TabIndex = 3;
- this.label1.Text = "User Details:";
- //
- // Username
- //
- this.Username.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.Username.Location = new System.Drawing.Point(12, 27);
- this.Username.MaxLength = 16;
- this.Username.Name = "Username";
- this.Username.PlaceholderText = "Username";
- this.Username.Size = new System.Drawing.Size(325, 23);
- this.Username.TabIndex = 1;
- this.Username.TextChanged += new System.EventHandler(this.Username_TextChanged);
- this.Username.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Username_KeyPress);
- //
- // Password
- //
- this.Password.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.Password.Location = new System.Drawing.Point(12, 56);
- this.Password.MaxLength = 16;
- this.Password.Name = "Password";
- this.Password.PasswordChar = '*';
- this.Password.PlaceholderText = "Password";
- this.Password.Size = new System.Drawing.Size(325, 23);
- this.Password.TabIndex = 2;
- this.Password.TextChanged += new System.EventHandler(this.Password_TextChanged);
- this.Password.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Password_KeyPress);
- //
- // BoySelecton
- //
- this.BoySelecton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.BoySelecton.AutoSize = true;
- this.BoySelecton.Location = new System.Drawing.Point(17, 168);
- this.BoySelecton.Name = "BoySelecton";
- this.BoySelecton.Size = new System.Drawing.Size(45, 19);
- this.BoySelecton.TabIndex = 4;
- this.BoySelecton.TabStop = true;
- this.BoySelecton.Text = "Boy";
- this.BoySelecton.UseVisualStyleBackColor = true;
- //
- // GirlSelection
- //
- this.GirlSelection.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.GirlSelection.AutoSize = true;
- this.GirlSelection.Checked = true;
- this.GirlSelection.Location = new System.Drawing.Point(17, 144);
- this.GirlSelection.Name = "GirlSelection";
- this.GirlSelection.Size = new System.Drawing.Size(43, 19);
- this.GirlSelection.TabIndex = 3;
- this.GirlSelection.TabStop = true;
- this.GirlSelection.Text = "Girl";
- this.GirlSelection.UseVisualStyleBackColor = true;
- //
- // label2
- //
- this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(12, 121);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(48, 15);
- this.label2.TabIndex = 9;
- this.label2.Text = "Gender:";
- //
- // CreateAccount
- //
- this.CreateAccount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.CreateAccount.Enabled = false;
- this.CreateAccount.Location = new System.Drawing.Point(12, 201);
- this.CreateAccount.Name = "CreateAccount";
- this.CreateAccount.Size = new System.Drawing.Size(325, 29);
- this.CreateAccount.TabIndex = 7;
- this.CreateAccount.Text = "Create Account";
- this.CreateAccount.UseVisualStyleBackColor = true;
- this.CreateAccount.Click += new System.EventHandler(this.CreateAccount_Click);
- //
- // label3
- //
- this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
- this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(238, 121);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(64, 15);
- this.label3.TabIndex = 11;
- this.label3.Text = "Privledges:";
- //
- // UsernameValidationFailReason
- //
- this.UsernameValidationFailReason.AutoSize = true;
- this.UsernameValidationFailReason.ForeColor = System.Drawing.Color.Red;
- this.UsernameValidationFailReason.Location = new System.Drawing.Point(12, 82);
- this.UsernameValidationFailReason.Name = "UsernameValidationFailReason";
- this.UsernameValidationFailReason.Size = new System.Drawing.Size(241, 15);
- this.UsernameValidationFailReason.TabIndex = 12;
- this.UsernameValidationFailReason.Text = "- Username must be more than 3 characters.";
- //
- // PasswordValidationFailReason
- //
- this.PasswordValidationFailReason.AutoSize = true;
- this.PasswordValidationFailReason.ForeColor = System.Drawing.Color.Red;
- this.PasswordValidationFailReason.Location = new System.Drawing.Point(12, 97);
- this.PasswordValidationFailReason.Name = "PasswordValidationFailReason";
- this.PasswordValidationFailReason.Size = new System.Drawing.Size(238, 15);
- this.PasswordValidationFailReason.TabIndex = 13;
- this.PasswordValidationFailReason.Text = "- Password must be more than 6 characters.";
- //
- // RegisterForm
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(349, 241);
- this.Controls.Add(this.PasswordValidationFailReason);
- this.Controls.Add(this.UsernameValidationFailReason);
- this.Controls.Add(this.label3);
- this.Controls.Add(this.CreateAccount);
- this.Controls.Add(this.label2);
- this.Controls.Add(this.GirlSelection);
- this.Controls.Add(this.BoySelecton);
- this.Controls.Add(this.Password);
- this.Controls.Add(this.Username);
- this.Controls.Add(this.label1);
- this.Controls.Add(this.isMod);
- this.Controls.Add(this.isAdmin);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.MinimumSize = new System.Drawing.Size(365, 280);
- this.Name = "RegisterForm";
- this.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation;
- this.Text = "Create Account";
- this.Load += new System.EventHandler(this.RegisterForm_Load);
- this.ResumeLayout(false);
- this.PerformLayout();
-
- }
-
- #endregion
-
- private System.Windows.Forms.CheckBox isAdmin;
- private System.Windows.Forms.CheckBox isMod;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox Username;
- private System.Windows.Forms.TextBox Password;
- private System.Windows.Forms.RadioButton BoySelecton;
- private System.Windows.Forms.RadioButton GirlSelection;
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button CreateAccount;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.Label UsernameValidationFailReason;
- private System.Windows.Forms.Label PasswordValidationFailReason;
- }
+namespace HISP
+{
+ partial class RegisterForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RegisterForm));
+ this.isAdmin = new System.Windows.Forms.CheckBox();
+ this.isMod = new System.Windows.Forms.CheckBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.Username = new System.Windows.Forms.TextBox();
+ this.Password = new System.Windows.Forms.TextBox();
+ this.BoySelecton = new System.Windows.Forms.RadioButton();
+ this.GirlSelection = new System.Windows.Forms.RadioButton();
+ this.label2 = new System.Windows.Forms.Label();
+ this.CreateAccount = new System.Windows.Forms.Button();
+ this.label3 = new System.Windows.Forms.Label();
+ this.UsernameValidationFailReason = new System.Windows.Forms.Label();
+ this.PasswordValidationFailReason = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // isAdmin
+ //
+ this.isAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.isAdmin.AutoSize = true;
+ this.isAdmin.Checked = true;
+ this.isAdmin.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.isAdmin.Location = new System.Drawing.Point(238, 169);
+ this.isAdmin.Name = "isAdmin";
+ this.isAdmin.Size = new System.Drawing.Size(99, 19);
+ this.isAdmin.TabIndex = 6;
+ this.isAdmin.Text = "Administrator";
+ this.isAdmin.UseVisualStyleBackColor = true;
+ this.isAdmin.CheckedChanged += new System.EventHandler(this.isAdmin_CheckedChanged);
+ //
+ // isMod
+ //
+ this.isMod.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.isMod.AutoSize = true;
+ this.isMod.Checked = true;
+ this.isMod.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.isMod.Location = new System.Drawing.Point(238, 145);
+ this.isMod.Name = "isMod";
+ this.isMod.Size = new System.Drawing.Size(82, 19);
+ this.isMod.TabIndex = 5;
+ this.isMod.Text = "Moderator";
+ this.isMod.UseVisualStyleBackColor = true;
+ this.isMod.CheckedChanged += new System.EventHandler(this.isMod_CheckedChanged);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(12, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(71, 15);
+ this.label1.TabIndex = 3;
+ this.label1.Text = "User Details:";
+ //
+ // Username
+ //
+ this.Username.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.Username.Location = new System.Drawing.Point(12, 27);
+ this.Username.MaxLength = 16;
+ this.Username.Name = "Username";
+ this.Username.PlaceholderText = "Username";
+ this.Username.Size = new System.Drawing.Size(325, 23);
+ this.Username.TabIndex = 1;
+ this.Username.TextChanged += new System.EventHandler(this.Username_TextChanged);
+ this.Username.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Username_KeyPress);
+ //
+ // Password
+ //
+ this.Password.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.Password.Location = new System.Drawing.Point(12, 56);
+ this.Password.MaxLength = 16;
+ this.Password.Name = "Password";
+ this.Password.PasswordChar = '*';
+ this.Password.PlaceholderText = "Password";
+ this.Password.Size = new System.Drawing.Size(325, 23);
+ this.Password.TabIndex = 2;
+ this.Password.TextChanged += new System.EventHandler(this.Password_TextChanged);
+ this.Password.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Password_KeyPress);
+ //
+ // BoySelecton
+ //
+ this.BoySelecton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.BoySelecton.AutoSize = true;
+ this.BoySelecton.Location = new System.Drawing.Point(17, 168);
+ this.BoySelecton.Name = "BoySelecton";
+ this.BoySelecton.Size = new System.Drawing.Size(45, 19);
+ this.BoySelecton.TabIndex = 4;
+ this.BoySelecton.TabStop = true;
+ this.BoySelecton.Text = "Boy";
+ this.BoySelecton.UseVisualStyleBackColor = true;
+ //
+ // GirlSelection
+ //
+ this.GirlSelection.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.GirlSelection.AutoSize = true;
+ this.GirlSelection.Checked = true;
+ this.GirlSelection.Location = new System.Drawing.Point(17, 144);
+ this.GirlSelection.Name = "GirlSelection";
+ this.GirlSelection.Size = new System.Drawing.Size(43, 19);
+ this.GirlSelection.TabIndex = 3;
+ this.GirlSelection.TabStop = true;
+ this.GirlSelection.Text = "Girl";
+ this.GirlSelection.UseVisualStyleBackColor = true;
+ //
+ // label2
+ //
+ this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(12, 121);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(48, 15);
+ this.label2.TabIndex = 9;
+ this.label2.Text = "Gender:";
+ //
+ // CreateAccount
+ //
+ this.CreateAccount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.CreateAccount.Enabled = false;
+ this.CreateAccount.Location = new System.Drawing.Point(12, 201);
+ this.CreateAccount.Name = "CreateAccount";
+ this.CreateAccount.Size = new System.Drawing.Size(325, 29);
+ this.CreateAccount.TabIndex = 7;
+ this.CreateAccount.Text = "Create Account";
+ this.CreateAccount.UseVisualStyleBackColor = true;
+ this.CreateAccount.Click += new System.EventHandler(this.CreateAccount_Click);
+ //
+ // label3
+ //
+ this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(238, 121);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(64, 15);
+ this.label3.TabIndex = 11;
+ this.label3.Text = "Privledges:";
+ //
+ // UsernameValidationFailReason
+ //
+ this.UsernameValidationFailReason.AutoSize = true;
+ this.UsernameValidationFailReason.ForeColor = System.Drawing.Color.Red;
+ this.UsernameValidationFailReason.Location = new System.Drawing.Point(12, 82);
+ this.UsernameValidationFailReason.Name = "UsernameValidationFailReason";
+ this.UsernameValidationFailReason.Size = new System.Drawing.Size(241, 15);
+ this.UsernameValidationFailReason.TabIndex = 12;
+ this.UsernameValidationFailReason.Text = "- Username must be more than 3 characters.";
+ //
+ // PasswordValidationFailReason
+ //
+ this.PasswordValidationFailReason.AutoSize = true;
+ this.PasswordValidationFailReason.ForeColor = System.Drawing.Color.Red;
+ this.PasswordValidationFailReason.Location = new System.Drawing.Point(12, 97);
+ this.PasswordValidationFailReason.Name = "PasswordValidationFailReason";
+ this.PasswordValidationFailReason.Size = new System.Drawing.Size(238, 15);
+ this.PasswordValidationFailReason.TabIndex = 13;
+ this.PasswordValidationFailReason.Text = "- Password must be more than 6 characters.";
+ //
+ // RegisterForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(349, 241);
+ this.Controls.Add(this.PasswordValidationFailReason);
+ this.Controls.Add(this.UsernameValidationFailReason);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.CreateAccount);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.GirlSelection);
+ this.Controls.Add(this.BoySelecton);
+ this.Controls.Add(this.Password);
+ this.Controls.Add(this.Username);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.isMod);
+ this.Controls.Add(this.isAdmin);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.MinimumSize = new System.Drawing.Size(365, 280);
+ this.Name = "RegisterForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation;
+ this.Text = "Create Account";
+ this.Load += new System.EventHandler(this.RegisterForm_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.CheckBox isAdmin;
+ private System.Windows.Forms.CheckBox isMod;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox Username;
+ private System.Windows.Forms.TextBox Password;
+ private System.Windows.Forms.RadioButton BoySelecton;
+ private System.Windows.Forms.RadioButton GirlSelection;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button CreateAccount;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label UsernameValidationFailReason;
+ private System.Windows.Forms.Label PasswordValidationFailReason;
+ }
}
\ No newline at end of file
diff --git a/HorseIsleServer/N00BS/RegisterForm.resx b/HorseIsleServer/N00BS/RegisterForm.resx
index efd70f7..2fb02c8 100644
--- a/HorseIsleServer/N00BS/RegisterForm.resx
+++ b/HorseIsleServer/N00BS/RegisterForm.resx
@@ -1,126 +1,126 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+
+
\ No newline at end of file
diff --git a/HorseIsleServer/N00BS/ResetForm.Designer.cs b/HorseIsleServer/N00BS/ResetForm.Designer.cs
new file mode 100644
index 0000000..bb64dca
--- /dev/null
+++ b/HorseIsleServer/N00BS/ResetForm.Designer.cs
@@ -0,0 +1,140 @@
+namespace HISP
+{
+ partial class ResetForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ResetForm));
+ this.label1 = new System.Windows.Forms.Label();
+ this.Username = new System.Windows.Forms.TextBox();
+ this.Password = new System.Windows.Forms.TextBox();
+ this.ResetPassword = new System.Windows.Forms.Button();
+ this.UsernameValidationFailReason = new System.Windows.Forms.Label();
+ this.PasswordValidationFailReason = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(12, 9);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(71, 15);
+ this.label1.TabIndex = 3;
+ this.label1.Text = "User Details:";
+ //
+ // Username
+ //
+ this.Username.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.Username.Location = new System.Drawing.Point(12, 27);
+ this.Username.MaxLength = 16;
+ this.Username.Name = "Username";
+ this.Username.PlaceholderText = "Username";
+ this.Username.Size = new System.Drawing.Size(325, 23);
+ this.Username.TabIndex = 1;
+ this.Username.TextChanged += new System.EventHandler(this.Username_TextChanged);
+ this.Username.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Username_KeyPress);
+ //
+ // Password
+ //
+ this.Password.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.Password.Location = new System.Drawing.Point(12, 56);
+ this.Password.MaxLength = 16;
+ this.Password.Name = "Password";
+ this.Password.PasswordChar = '*';
+ this.Password.PlaceholderText = "New Password";
+ this.Password.Size = new System.Drawing.Size(325, 23);
+ this.Password.TabIndex = 2;
+ this.Password.TextChanged += new System.EventHandler(this.Password_TextChanged);
+ this.Password.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Password_KeyPress);
+ //
+ // ResetPassword
+ //
+ this.ResetPassword.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ResetPassword.Enabled = false;
+ this.ResetPassword.Location = new System.Drawing.Point(12, 118);
+ this.ResetPassword.Name = "ResetPassword";
+ this.ResetPassword.Size = new System.Drawing.Size(325, 29);
+ this.ResetPassword.TabIndex = 7;
+ this.ResetPassword.Text = "Reset Password";
+ this.ResetPassword.UseVisualStyleBackColor = true;
+ this.ResetPassword.Click += new System.EventHandler(this.ResetPassword_Click);
+ //
+ // UsernameValidationFailReason
+ //
+ this.UsernameValidationFailReason.AutoSize = true;
+ this.UsernameValidationFailReason.ForeColor = System.Drawing.Color.Red;
+ this.UsernameValidationFailReason.Location = new System.Drawing.Point(12, 82);
+ this.UsernameValidationFailReason.Name = "UsernameValidationFailReason";
+ this.UsernameValidationFailReason.Size = new System.Drawing.Size(127, 15);
+ this.UsernameValidationFailReason.TabIndex = 12;
+ this.UsernameValidationFailReason.Text = "- Username not found.";
+ //
+ // PasswordValidationFailReason
+ //
+ this.PasswordValidationFailReason.AutoSize = true;
+ this.PasswordValidationFailReason.ForeColor = System.Drawing.Color.Red;
+ this.PasswordValidationFailReason.Location = new System.Drawing.Point(12, 97);
+ this.PasswordValidationFailReason.Name = "PasswordValidationFailReason";
+ this.PasswordValidationFailReason.Size = new System.Drawing.Size(238, 15);
+ this.PasswordValidationFailReason.TabIndex = 13;
+ this.PasswordValidationFailReason.Text = "- Password must be more than 6 characters.";
+ //
+ // ResetForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(349, 158);
+ this.Controls.Add(this.PasswordValidationFailReason);
+ this.Controls.Add(this.UsernameValidationFailReason);
+ this.Controls.Add(this.ResetPassword);
+ this.Controls.Add(this.Password);
+ this.Controls.Add(this.Username);
+ this.Controls.Add(this.label1);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.MinimumSize = new System.Drawing.Size(365, 197);
+ this.Name = "ResetForm";
+ this.Text = "Reset Password";
+ this.Load += new System.EventHandler(this.RegisterForm_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox Username;
+ private System.Windows.Forms.TextBox Password;
+ private System.Windows.Forms.Button ResetPassword;
+ private System.Windows.Forms.Label UsernameValidationFailReason;
+ private System.Windows.Forms.Label PasswordValidationFailReason;
+ }
+}
\ No newline at end of file
diff --git a/HorseIsleServer/N00BS/ResetForm.cs b/HorseIsleServer/N00BS/ResetForm.cs
new file mode 100644
index 0000000..1129f29
--- /dev/null
+++ b/HorseIsleServer/N00BS/ResetForm.cs
@@ -0,0 +1,144 @@
+using System;
+using System.Text.RegularExpressions;
+using System.Windows.Forms;
+using HISP.Security;
+using HISP.Server;
+
+namespace HISP
+{
+ public partial class ResetForm : Form
+ {
+ public ResetForm()
+ {
+ InitializeComponent();
+ }
+
+ private void RegisterForm_Load(object sender, EventArgs e)
+ {
+ ValidateInput();
+ }
+
+ private void ValidateInput()
+ {
+ if(ValidateUsername() && ValidatePassword())
+ ResetPassword.Enabled = true;
+ else
+ ResetPassword.Enabled = false;
+ }
+
+ private bool ValidatePassword()
+ {
+ int selStart = Password.SelectionStart;
+ int selLen = Password.SelectionLength;
+ Password.Text = Regex.Replace(Password.Text, "[^A-Za-z0-9]", "");
+ Password.SelectionStart = selStart;
+ Password.SelectionLength = selLen;
+
+ if (Password.Text.Length < 6)
+ {
+ PasswordValidationFailReason.Text = "- Password must be more than 6 characters.";
+ return false;
+ }
+
+ if (Password.Text.Length >= 16)
+ {
+ PasswordValidationFailReason.Text = "- Password must be less than 16 characters.";
+ return false;
+ }
+
+ PasswordValidationFailReason.Text = "";
+ return true;
+ }
+
+ private bool ValidateUsername()
+ {
+ int selStart = Username.SelectionStart;
+ int selLen = Username.SelectionLength;
+ Username.Text = Regex.Replace(Username.Text, "[^A-Za-z]", "");
+ Username.SelectionStart = selStart;
+ Username.SelectionLength = selLen;
+
+ if (Username.Text.Length < 3)
+ {
+ UsernameValidationFailReason.Text = "- Username must be more than 3 characters.";
+ return false;
+ }
+
+ if (Username.Text.Length >= 16)
+ {
+ UsernameValidationFailReason.Text = "- Username must be less than 16 characters.";
+ return false;
+ }
+
+ if (Regex.IsMatch(Username.Text, "[A-Z]{2,}"))
+ {
+ UsernameValidationFailReason.Text = "- Username have the first letter of each word capitalized.";
+ return false;
+ }
+
+ if (Username.Text.ToUpper()[0] != Username.Text[0])
+ {
+ UsernameValidationFailReason.Text = "- Username have the first letter of each word capitalized.";
+ return false;
+ }
+
+ if (!Database.CheckUserExist(Username.Text))
+ {
+ UsernameValidationFailReason.Text = "- Username not found.";
+ return false;
+ }
+
+ UsernameValidationFailReason.Text = "";
+ return true;
+ }
+
+ private void Username_TextChanged(object sender, EventArgs e)
+ {
+ ValidateInput();
+ }
+
+ private void Password_TextChanged(object sender, EventArgs e)
+ {
+ ValidateInput();
+ }
+
+ private void ResetPassword_Click(object sender, EventArgs e)
+ {
+ // Get salt
+ byte[] salt = Database.GetPasswordSalt(Username.Text);
+
+ // Hash password
+ string hashsalt = BitConverter.ToString(Authentication.HashAndSalt(Password.Text, salt)).Replace("-", "");
+
+ Database.SetPasswordHash(Username.Text, hashsalt);
+ this.DialogResult = DialogResult.OK;
+ }
+ private void Password_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if(e.KeyChar == (char)Keys.Return)
+ {
+ if (ResetPassword.Enabled)
+ {
+ e.Handled = true;
+ ResetPassword_Click(null, null);
+ }
+
+ }
+
+ }
+
+ private void Username_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == (char)Keys.Return)
+ {
+ if (ResetPassword.Enabled)
+ {
+ e.Handled = true;
+ ResetPassword_Click(null, null);
+ }
+
+ }
+ }
+
+ }
+}
diff --git a/HorseIsleServer/N00BS/ResetForm.resx b/HorseIsleServer/N00BS/ResetForm.resx
new file mode 100644
index 0000000..2fb02c8
--- /dev/null
+++ b/HorseIsleServer/N00BS/ResetForm.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ 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
+
+
+
\ No newline at end of file
diff --git a/HorseIsleServer/N00BS/SystemTrayIcon.Designer.cs b/HorseIsleServer/N00BS/SystemTrayIcon.Designer.cs
index 49216d1..83c5aac 100644
--- a/HorseIsleServer/N00BS/SystemTrayIcon.Designer.cs
+++ b/HorseIsleServer/N00BS/SystemTrayIcon.Designer.cs
@@ -1,117 +1,242 @@
-namespace HISP
-{
- partial class SystemTrayIcon
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SystemTrayIcon));
- this.HispNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
- this.HispContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.usersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.serverToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.closeServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.createNewUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.HispContextMenuStrip.SuspendLayout();
- this.SuspendLayout();
- //
- // HispNotifyIcon
- //
- this.HispNotifyIcon.ContextMenuStrip = this.HispContextMenuStrip;
- this.HispNotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("HispNotifyIcon.Icon")));
- this.HispNotifyIcon.Text = "Horse Isle";
- this.HispNotifyIcon.Visible = true;
- //
- // HispContextMenuStrip
- //
- this.HispContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.usersToolStripMenuItem,
- this.serverToolStripMenuItem});
- this.HispContextMenuStrip.Name = "HispContextMenuStrip";
- this.HispContextMenuStrip.Size = new System.Drawing.Size(107, 48);
- //
- // usersToolStripMenuItem
- //
- this.usersToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.createNewUserToolStripMenuItem});
- this.usersToolStripMenuItem.Name = "usersToolStripMenuItem";
- this.usersToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
- this.usersToolStripMenuItem.Text = "Users";
- //
- // serverToolStripMenuItem
- //
- this.serverToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.closeServerToolStripMenuItem});
- this.serverToolStripMenuItem.Name = "serverToolStripMenuItem";
- this.serverToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
- this.serverToolStripMenuItem.Text = "Server";
- //
- // closeServerToolStripMenuItem
- //
- this.closeServerToolStripMenuItem.Name = "closeServerToolStripMenuItem";
- this.closeServerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
- this.closeServerToolStripMenuItem.Text = "Close Server";
- this.closeServerToolStripMenuItem.Click += new System.EventHandler(this.closeServerToolStripMenuItem_Click);
- //
- // createNewUserToolStripMenuItem
- //
- this.createNewUserToolStripMenuItem.Name = "createNewUserToolStripMenuItem";
- this.createNewUserToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
- this.createNewUserToolStripMenuItem.Text = "Create New User";
- this.createNewUserToolStripMenuItem.Click += new System.EventHandler(this.createNewUserToolStripMenuItem_Click);
- //
- // SystemTrayIcon
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(90, 92);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "SystemTrayIcon";
- this.Opacity = 0D;
- this.ShowIcon = false;
- this.ShowInTaskbar = false;
- this.Text = "SystemTrayIcon";
- this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
- this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SystemTrayIcon_FormClosing);
- this.Load += new System.EventHandler(this.SystemTrayIcon_Load);
- this.HispContextMenuStrip.ResumeLayout(false);
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.NotifyIcon HispNotifyIcon;
- private System.Windows.Forms.ContextMenuStrip HispContextMenuStrip;
- private System.Windows.Forms.ToolStripMenuItem usersToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem createNewUserToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem serverToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem closeServerToolStripMenuItem;
- }
+namespace HISP
+{
+ partial class SystemTrayIcon
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SystemTrayIcon));
+ this.HispNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
+ this.HispContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.usersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.createNewUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.resetUserPasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.serverToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.closeServerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.configToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.disableSwearFilterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.disableCorrectionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.disableNonvioChecksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.disableSpamFilterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.gameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.allUsersSubscribedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.fixOfficalBugsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.editServerPropertiesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openServerFolderToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.HispContextMenuStrip.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // HispNotifyIcon
+ //
+ this.HispNotifyIcon.ContextMenuStrip = this.HispContextMenuStrip;
+ this.HispNotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("HispNotifyIcon.Icon")));
+ this.HispNotifyIcon.Text = "Horse Isle";
+ this.HispNotifyIcon.Visible = true;
+ this.HispNotifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(this.HispNotifyIcon_MouseClick);
+ //
+ // HispContextMenuStrip
+ //
+ this.HispContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.usersToolStripMenuItem,
+ this.serverToolStripMenuItem});
+ this.HispContextMenuStrip.Name = "HispContextMenuStrip";
+ this.HispContextMenuStrip.Size = new System.Drawing.Size(107, 48);
+ //
+ // usersToolStripMenuItem
+ //
+ this.usersToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.createNewUserToolStripMenuItem,
+ this.resetUserPasswordToolStripMenuItem});
+ this.usersToolStripMenuItem.Name = "usersToolStripMenuItem";
+ this.usersToolStripMenuItem.Size = new System.Drawing.Size(106, 22);
+ this.usersToolStripMenuItem.Text = "Users";
+ //
+ // createNewUserToolStripMenuItem
+ //
+ this.createNewUserToolStripMenuItem.Name = "createNewUserToolStripMenuItem";
+ this.createNewUserToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.createNewUserToolStripMenuItem.Text = "Create new user";
+ this.createNewUserToolStripMenuItem.Click += new System.EventHandler(this.createNewUserToolStripMenuItem_Click);
+ //
+ // resetUserPasswordToolStripMenuItem
+ //
+ this.resetUserPasswordToolStripMenuItem.Name = "resetUserPasswordToolStripMenuItem";
+ this.resetUserPasswordToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.resetUserPasswordToolStripMenuItem.Text = "Reset user password";
+ this.resetUserPasswordToolStripMenuItem.Click += new System.EventHandler(this.resetUserPasswordToolStripMenuItem_Click);
+ //
+ // serverToolStripMenuItem
+ //
+ this.serverToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.closeServerToolStripMenuItem,
+ this.configToolStripMenuItem,
+ this.gameToolStripMenuItem,
+ this.advancedToolStripMenuItem});
+ this.serverToolStripMenuItem.Name = "serverToolStripMenuItem";
+ this.serverToolStripMenuItem.Size = new System.Drawing.Size(106, 22);
+ this.serverToolStripMenuItem.Text = "Server";
+ //
+ // closeServerToolStripMenuItem
+ //
+ this.closeServerToolStripMenuItem.Name = "closeServerToolStripMenuItem";
+ this.closeServerToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.closeServerToolStripMenuItem.Text = "Shutdown server";
+ this.closeServerToolStripMenuItem.Click += new System.EventHandler(this.closeServerToolStripMenuItem_Click);
+ //
+ // configToolStripMenuItem
+ //
+ this.configToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.disableSwearFilterToolStripMenuItem,
+ this.disableCorrectionsToolStripMenuItem,
+ this.disableNonvioChecksToolStripMenuItem,
+ this.disableSpamFilterToolStripMenuItem});
+ this.configToolStripMenuItem.Name = "configToolStripMenuItem";
+ this.configToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.configToolStripMenuItem.Text = "Chat";
+ //
+ // disableSwearFilterToolStripMenuItem
+ //
+ this.disableSwearFilterToolStripMenuItem.CheckOnClick = true;
+ this.disableSwearFilterToolStripMenuItem.Name = "disableSwearFilterToolStripMenuItem";
+ this.disableSwearFilterToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
+ this.disableSwearFilterToolStripMenuItem.Text = "Disable swear filter";
+ this.disableSwearFilterToolStripMenuItem.CheckedChanged += new System.EventHandler(this.disableSwearFilterToolStripMenuItem_CheckedChanged);
+ //
+ // disableCorrectionsToolStripMenuItem
+ //
+ this.disableCorrectionsToolStripMenuItem.CheckOnClick = true;
+ this.disableCorrectionsToolStripMenuItem.Name = "disableCorrectionsToolStripMenuItem";
+ this.disableCorrectionsToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
+ this.disableCorrectionsToolStripMenuItem.Text = "Disable corrections";
+ this.disableCorrectionsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.disableCorrectionsToolStripMenuItem_CheckedChanged);
+ //
+ // disableNonvioChecksToolStripMenuItem
+ //
+ this.disableNonvioChecksToolStripMenuItem.CheckOnClick = true;
+ this.disableNonvioChecksToolStripMenuItem.Name = "disableNonvioChecksToolStripMenuItem";
+ this.disableNonvioChecksToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
+ this.disableNonvioChecksToolStripMenuItem.Text = "Disable non-vio checks";
+ this.disableNonvioChecksToolStripMenuItem.CheckedChanged += new System.EventHandler(this.disableNonvioChecksToolStripMenuItem_CheckedChanged);
+ //
+ // disableSpamFilterToolStripMenuItem
+ //
+ this.disableSpamFilterToolStripMenuItem.CheckOnClick = true;
+ this.disableSpamFilterToolStripMenuItem.Name = "disableSpamFilterToolStripMenuItem";
+ this.disableSpamFilterToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
+ this.disableSpamFilterToolStripMenuItem.Text = "Disable spam filter";
+ this.disableSpamFilterToolStripMenuItem.CheckedChanged += new System.EventHandler(this.disableSpamFilterToolStripMenuItem_CheckedChanged);
+ //
+ // gameToolStripMenuItem
+ //
+ this.gameToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.allUsersSubscribedToolStripMenuItem,
+ this.fixOfficalBugsToolStripMenuItem});
+ this.gameToolStripMenuItem.Name = "gameToolStripMenuItem";
+ this.gameToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.gameToolStripMenuItem.Text = "Game";
+ //
+ // allUsersSubscribedToolStripMenuItem
+ //
+ this.allUsersSubscribedToolStripMenuItem.CheckOnClick = true;
+ this.allUsersSubscribedToolStripMenuItem.Name = "allUsersSubscribedToolStripMenuItem";
+ this.allUsersSubscribedToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.allUsersSubscribedToolStripMenuItem.Text = "All users subscribed";
+ this.allUsersSubscribedToolStripMenuItem.CheckedChanged += new System.EventHandler(this.allUsersSubscribedToolStripMenuItem_CheckedChanged);
+ //
+ // fixOfficalBugsToolStripMenuItem
+ //
+ this.fixOfficalBugsToolStripMenuItem.CheckOnClick = true;
+ this.fixOfficalBugsToolStripMenuItem.Name = "fixOfficalBugsToolStripMenuItem";
+ this.fixOfficalBugsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.fixOfficalBugsToolStripMenuItem.Text = "Fix offical bugs";
+ this.fixOfficalBugsToolStripMenuItem.CheckedChanged += new System.EventHandler(this.fixOfficalBugsToolStripMenuItem_CheckedChanged);
+ //
+ // advancedToolStripMenuItem
+ //
+ this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.editServerPropertiesToolStripMenuItem,
+ this.openServerFolderToolStripMenuItem});
+ this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem";
+ this.advancedToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
+ this.advancedToolStripMenuItem.Text = "Advanced";
+ //
+ // editServerPropertiesToolStripMenuItem
+ //
+ this.editServerPropertiesToolStripMenuItem.Name = "editServerPropertiesToolStripMenuItem";
+ this.editServerPropertiesToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
+ this.editServerPropertiesToolStripMenuItem.Text = "Edit server.properties";
+ //
+ // openServerFolderToolStripMenuItem
+ //
+ this.openServerFolderToolStripMenuItem.Name = "openServerFolderToolStripMenuItem";
+ this.openServerFolderToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
+ this.openServerFolderToolStripMenuItem.Text = "Open server folder";
+ //
+ // SystemTrayIcon
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(90, 92);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "SystemTrayIcon";
+ this.Opacity = 0D;
+ this.ShowIcon = false;
+ this.ShowInTaskbar = false;
+ this.Text = "SystemTrayIcon";
+ this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SystemTrayIcon_FormClosing);
+ this.Load += new System.EventHandler(this.SystemTrayIcon_Load);
+ this.HispContextMenuStrip.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.NotifyIcon HispNotifyIcon;
+ private System.Windows.Forms.ContextMenuStrip HispContextMenuStrip;
+ private System.Windows.Forms.ToolStripMenuItem usersToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem createNewUserToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem serverToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem closeServerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem resetUserPasswordToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem editServerPropertiesToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem openServerFolderToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem configToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem disableSwearFilterToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem disableCorrectionsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem disableNonvioChecksToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem disableSpamFilterToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem gameToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem allUsersSubscribedToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem fixOfficalBugsToolStripMenuItem;
+ }
}
\ No newline at end of file
diff --git a/HorseIsleServer/N00BS/SystemTrayIcon.cs b/HorseIsleServer/N00BS/SystemTrayIcon.cs
index 1025206..b13468e 100644
--- a/HorseIsleServer/N00BS/SystemTrayIcon.cs
+++ b/HorseIsleServer/N00BS/SystemTrayIcon.cs
@@ -1,6 +1,7 @@
using HISP.Server;
using System;
using System.Diagnostics;
+using System.IO;
using System.Windows.Forms;
namespace HISP
@@ -12,6 +13,13 @@ namespace HISP
public SystemTrayIcon()
{
InitializeComponent();
+ disableSwearFilterToolStripMenuItem.Checked = !ConfigReader.BadWords;
+ disableCorrectionsToolStripMenuItem.Checked = !ConfigReader.DoCorrections;
+ disableNonvioChecksToolStripMenuItem.Checked = !ConfigReader.DoNonViolations;
+ disableSpamFilterToolStripMenuItem.Checked = !ConfigReader.EnableSpamFilter;
+
+ allUsersSubscribedToolStripMenuItem.Checked = ConfigReader.AllUsersSubbed;
+ fixOfficalBugsToolStripMenuItem.Checked = ConfigReader.FixOfficalBugs;
}
private void createNewUserToolStripMenuItem_Click(object sender, EventArgs e)
@@ -52,14 +60,110 @@ namespace HISP
{
this.Close();
}
-
-
}
private void SystemTrayIcon_FormClosing(object sender, FormClosingEventArgs e)
{
HispNotifyIcon.Visible = false;
clientProcess.Kill();
- }
+ }
+
+ private void editServerPropertiesToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Process p = new Process();
+ p.StartInfo.FileName = "notepad.exe";
+ p.StartInfo.Arguments = Path.Combine(Program.BaseDir, "server.properties");
+ p.Start();
+
+ }
+
+ private void openServerFolderToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ Process p = new Process();
+ p.StartInfo.FileName = "explorer.exe";
+ p.StartInfo.Arguments = Program.BaseDir;
+ p.Start();
+ }
+
+ private void ModifyConfig(string okey, string value)
+ {
+ string[] configFile = File.ReadAllLines(ConfigReader.ConfigurationFileName);
+ for (int i = 0; i < configFile.Length; i++)
+ {
+ string setting = configFile[i];
+
+ if (setting.Length < 1)
+ continue;
+ if (setting[0] == '#')
+ continue;
+ if (!setting.Contains("="))
+ continue;
+
+ string[] dataPair = setting.Split('=');
+
+ string key = dataPair[0];
+
+ if (key == okey)
+ {
+ dataPair[1] = value;
+ configFile[i] = string.Join('=', dataPair);
+ }
+ }
+ File.WriteAllLines(ConfigReader.ConfigurationFileName, configFile);
+ }
+
+ private void resetUserPasswordToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ ResetForm frm = new ResetForm();
+ frm.ShowDialog();
+ }
+
+ private void HispNotifyIcon_MouseClick(object sender, MouseEventArgs e)
+ {
+ HispNotifyIcon.ContextMenuStrip.Show();
+ }
+
+ private void disableSwearFilterToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = !disableSwearFilterToolStripMenuItem.Checked;
+ ModifyConfig("enable_word_filter", enab.ToString().ToLowerInvariant());
+ ConfigReader.BadWords = enab;
+ }
+
+ private void disableCorrectionsToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = !disableCorrectionsToolStripMenuItem.Checked;
+ ModifyConfig("enable_corrections", enab.ToString().ToLowerInvariant());
+ ConfigReader.DoCorrections = enab;
+ }
+
+ private void disableNonvioChecksToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = !disableNonvioChecksToolStripMenuItem.Checked;
+ ModifyConfig("enable_non_violation_check", enab.ToString().ToLowerInvariant());
+ ConfigReader.DoNonViolations = enab;
+ }
+
+ private void disableSpamFilterToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = !disableSpamFilterToolStripMenuItem.Checked;
+ ModifyConfig("enable_spam_filter", enab.ToString().ToLowerInvariant());
+ ConfigReader.EnableSpamFilter = enab;
+ }
+
+ private void allUsersSubscribedToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = allUsersSubscribedToolStripMenuItem.Checked;
+ ModifyConfig("all_users_subscribed", enab.ToString().ToLowerInvariant());
+ ConfigReader.AllUsersSubbed = enab;
+ }
+
+ private void fixOfficalBugsToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
+ {
+ bool enab = fixOfficalBugsToolStripMenuItem.Checked;
+ ModifyConfig("fix_offical_bugs", enab.ToString().ToLowerInvariant());
+ ConfigReader.FixOfficalBugs = enab;
+ }
+
}
}
diff --git a/HorseIsleServer/N00BS/SystemTrayIcon.resx b/HorseIsleServer/N00BS/SystemTrayIcon.resx
index 0a09329..54769b7 100644
--- a/HorseIsleServer/N00BS/SystemTrayIcon.resx
+++ b/HorseIsleServer/N00BS/SystemTrayIcon.resx
@@ -1,135 +1,135 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- 17, 17
-
-
- 150, 17
-
-
-
-
- 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
-
-
-
- 79
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 17, 17
+
+
+ 150, 17
+
+
+
+
+ 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
+
+
+
+ 79
+
\ No newline at end of file