mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-05 21:55:42 +13:00
Compare commits
335 commits
Author | SHA1 | Date | |
---|---|---|---|
|
c40c965d7e | ||
|
de6a626f10 | ||
|
76eb2d8391 | ||
|
535408981a | ||
|
2f7d32a13b | ||
|
18012c0948 | ||
|
154f5e0149 | ||
|
08ead748bb | ||
|
78bef4b271 | ||
|
7d82f83f64 | ||
|
b7f864963e | ||
|
239f12cdc1 | ||
|
245f2d3e48 | ||
|
7ed10a6bca | ||
|
9e69492e46 | ||
|
a2782fd35e | ||
|
3ffd813109 | ||
|
d630abb66a | ||
|
1909950409 | ||
|
574596b4e0 | ||
|
a9a5ef65b0 | ||
|
b665061308 | ||
|
f716fedec5 | ||
|
44ada661d7 | ||
|
baf7d56f47 | ||
|
66dddad437 | ||
|
be228de5ea | ||
|
7fcaf412df | ||
|
458748e6b0 | ||
|
eefc2b926d | ||
|
3ed0120b9b | ||
|
29e5ab8093 | ||
|
d73cd92c52 | ||
|
9c6c719c1a | ||
|
b9e3949b14 | ||
|
e74f66a439 | ||
|
e869a23463 | ||
|
645dd3ecf4 | ||
|
2b6db887ed | ||
|
6613b0cb87 | ||
|
ed12e9ad12 | ||
|
393dc147da | ||
|
7f635d5fdd | ||
|
eaf1db1ee1 | ||
|
cf7605c6c9 | ||
|
be3a9fbd02 | ||
|
f15b37fd08 | ||
|
37cba8c859 | ||
|
8c22cd1c8a | ||
|
266407c3c4 | ||
|
e9fdf1ff6f | ||
|
a7c5048f14 | ||
|
9e62fc8415 | ||
|
bd2ba81b01 | ||
|
13154729e2 | ||
|
6e2f8e7483 | ||
|
4c13134c8f | ||
|
73498c6a59 | ||
|
221953b90f | ||
|
b3f0b37bf4 | ||
|
0d32212095 | ||
|
c0bde9f864 | ||
|
4c09390ac8 | ||
|
3e3d840ce6 | ||
|
663106ca34 | ||
|
a50d052c2a | ||
|
284cbf7e55 | ||
|
78e08c2e63 | ||
|
44f1d1bd79 | ||
|
d5e7c97633 | ||
|
f38f6320f4 | ||
|
99c9221f4b | ||
|
4b48db6b2a | ||
|
ed721b362e | ||
|
825d3b4740 | ||
|
c36eda289a | ||
|
3bea266b3e | ||
|
647a6f21af | ||
|
fea71443b1 | ||
|
892a8de202 | ||
|
61dfd8db9a | ||
|
0f0e092461 | ||
|
c253722964 | ||
|
a003f5b98d | ||
|
27c79a28a3 | ||
|
05bafee922 | ||
|
e5bfea34f2 | ||
|
c40ddce684 | ||
|
248344f800 | ||
|
f739c99c87 | ||
|
40c34ac030 | ||
|
c4ddc75da8 | ||
|
65dec46a29 | ||
|
900fe0d48a | ||
|
9294ec11a7 | ||
|
f12e930538 | ||
|
9ddcd37d41 | ||
|
dd423a4734 | ||
|
8efb10f3b5 | ||
|
d61de09704 | ||
|
c18acdba51 | ||
|
a6a04f2cc4 | ||
|
dec54112fd | ||
|
8297c56f21 | ||
|
64fed1c6c4 | ||
|
dd7efc17e5 | ||
|
9d50f23067 | ||
|
e0aff19845 | ||
|
ea96f347fa | ||
|
2c062f4b67 | ||
|
4c6288245a | ||
|
d0d95963af | ||
|
b83960d872 | ||
|
b439ad1511 | ||
|
c32d1740e3 | ||
|
cdc136dcd4 | ||
|
b3df338715 | ||
|
0c299729dd | ||
|
cc3cec4c8a | ||
|
0b8bed32cf | ||
|
3e70ac1c6a | ||
|
5e42d80109 | ||
|
118182777d | ||
|
39acd7f7eb | ||
|
41a6038527 | ||
|
6627ca5dc4 | ||
|
6a34745a5f | ||
|
81589ed20a | ||
|
ec7275a290 | ||
|
693acfdbe6 | ||
|
813e826716 | ||
|
d1617fe4f9 | ||
|
e3fa54f9e6 | ||
|
6f3883fa37 | ||
|
59270700ef | ||
|
22f5c91599 | ||
|
7f3c7ba845 | ||
|
e6a7d379b9 | ||
|
5de29987af | ||
|
132ab34097 | ||
|
69f1a98ff5 | ||
|
3657da97f5 | ||
|
b961b50308 | ||
|
ca25d54589 | ||
|
ab769afaf1 | ||
|
62905cce9a | ||
|
7fe1d79158 | ||
|
fb5693e986 | ||
|
b30f195080 | ||
|
114ba568b7 | ||
|
35dd2fc132 | ||
|
906cc5a0f0 | ||
|
f32abd1b58 | ||
|
e66d1f9298 | ||
|
88d2945065 | ||
|
f294a83368 | ||
|
0394d5fb9f | ||
|
1e90588664 | ||
|
1bfb69e568 | ||
|
c51103cda8 | ||
|
7fb2673de0 | ||
|
03035cd5fb | ||
|
162dcba4a0 | ||
|
d94595d4f0 | ||
|
42ce640d3b | ||
|
b05753f14b | ||
|
5aa3e1228e | ||
|
f2d36bd73a | ||
|
e554d41c94 | ||
|
e0fe30cca7 | ||
|
46b9805712 | ||
|
c9d2e84b8a | ||
|
c703d5b7f7 | ||
|
a501f5886c | ||
|
afbd41a681 | ||
|
0270b1e035 | ||
|
092e1a58bb | ||
|
a375c7d871 | ||
|
020d642bc5 | ||
|
6826565cfd | ||
|
b5d65a583b | ||
|
64443e9cf0 | ||
|
c325d29062 | ||
|
0330193545 | ||
|
3bbbf25537 | ||
|
f9ef53339d | ||
|
2de85889d3 | ||
|
3a3da520c5 | ||
|
287325dd55 | ||
|
59a592aeb5 | ||
|
f54ac90f3d | ||
|
65e7e9b3a5 | ||
|
1afe643047 | ||
|
2df39d75fd | ||
|
ca39f783b9 | ||
|
e42b0bf782 | ||
|
3105689753 | ||
|
53b03ff430 | ||
|
9b5acd57a2 | ||
|
32a0747230 | ||
|
79616a2595 | ||
|
6a3343adeb | ||
|
95f83cd547 | ||
|
219c9fa95a | ||
|
dd99e49ef7 | ||
|
f8d8e8f28d | ||
|
479b539b44 | ||
|
4fd4fcb652 | ||
|
158429d306 | ||
|
02d32f46a8 | ||
|
f14355bae8 | ||
|
9c97cdccb4 | ||
|
80a64635a3 | ||
|
a8aaddb18b | ||
|
f9e1a7b755 | ||
|
35c51946e4 | ||
|
8dd4cdb6d0 | ||
|
5d9648429a | ||
|
89fcf97724 | ||
|
76da976e68 | ||
|
aed289e5d5 | ||
|
7efb878f63 | ||
|
5d787e169b | ||
|
58f081df7a | ||
|
ed55fa5f84 | ||
|
efeb3de36e | ||
|
05c67eefbd | ||
|
3567ad604f | ||
|
d179e4db01 | ||
|
5b599d7845 | ||
|
f611776023 | ||
|
0e84faa0c1 | ||
|
dd0f43bf87 | ||
|
f261ea3b88 | ||
|
bf4d5f5005 | ||
|
063c267755 | ||
|
412430ec76 | ||
|
518018e54e | ||
|
3c2b14ecec | ||
|
55c0f29914 | ||
|
997be8573d | ||
|
572b0e1b78 | ||
|
78482e93d5 | ||
|
2dbfd4dd03 | ||
|
1a8693dce8 | ||
|
4b627671d6 | ||
|
8a390fe84d | ||
|
898ebbdc8c | ||
|
13b82bd14b | ||
|
8e49090088 | ||
|
8ca46e313c | ||
|
8bc3636370 | ||
|
4896a7d27b | ||
|
98f64711e9 | ||
|
f3a3566e8f | ||
|
c27e50f6af | ||
|
4a07e70dd7 | ||
|
90fc6e74f1 | ||
|
96c87b0d15 | ||
|
7772019915 | ||
|
8b3dafbbad | ||
|
00302f3d77 | ||
|
70452d9ee5 | ||
|
b77d45e255 | ||
|
1a92f9fca7 | ||
|
7ced1d2f16 | ||
|
e575f196db | ||
|
9b5fed4e9d | ||
|
0332b12660 | ||
|
c87d919984 | ||
|
ea5629aeb0 | ||
|
ea544dcbe1 | ||
|
dbbf913719 | ||
|
e1e01f2f18 | ||
|
885d3a3c57 | ||
|
2e4806ae6f | ||
|
8fab52d202 | ||
|
5e75827f84 | ||
|
d0ee86e08d | ||
|
710ac206c4 | ||
|
9aca074096 | ||
|
15e107bb9f | ||
|
43d698bc6c | ||
|
6655b631bb | ||
|
84b712c32f | ||
|
cff8c68eef | ||
|
e984bc3d6f | ||
|
5203912757 | ||
|
3de7fa46dd | ||
|
11b99d83a7 | ||
|
9a38f60956 | ||
|
b79534031f | ||
|
e0a025a5c6 | ||
|
59392db9bb | ||
|
70359f967a | ||
|
2f7481519f | ||
|
6ba1fd181f | ||
|
181e77af4d | ||
|
c96bcd01fd | ||
|
a6971306a4 | ||
|
22ebec5a57 | ||
|
03b55d148a | ||
|
55cdf049e8 | ||
|
80b0e88e1e | ||
|
298c2aca4a | ||
|
84d9ea7f2a | ||
|
b67453780d | ||
|
a1698b0ee5 | ||
|
73a06e4493 | ||
|
eada9eb5a5 | ||
|
f2d529899c | ||
|
5ff1374693 | ||
|
7b1cfa42da | ||
|
6ff3735eb4 | ||
|
88b3c0dc40 | ||
|
b9019df646 | ||
|
5b31cb7a0f | ||
|
fc64ae29f8 | ||
|
368224fa1c | ||
|
9ce523ecf9 | ||
|
660abf2838 | ||
|
0481b96f2c | ||
|
95749fa194 | ||
|
db92718ffa | ||
|
640c6d2c49 | ||
|
1735c35a7c | ||
|
fb8eab0f8e | ||
|
1740427e19 | ||
|
515cff6fb9 | ||
|
71c8c8258b | ||
|
994dc382c8 | ||
|
62e1a7a122 | ||
|
f0264d49b6 | ||
|
6003990a93 | ||
|
56e4047cbc |
357 changed files with 37253 additions and 171831 deletions
329
.github/workflows/build.yml
vendored
Normal file → Executable file
329
.github/workflows/build.yml
vendored
Normal file → Executable file
|
@ -8,12 +8,12 @@ defaults:
|
|||
working-directory: ./HorseIsleServer
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: windows-latest
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Git Submodule update
|
||||
run: git submodule update --init --recursive
|
||||
|
@ -21,156 +21,271 @@ jobs:
|
|||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
include-prerelease: true
|
||||
dotnet-version: 8.0.x
|
||||
include-prerelease: false
|
||||
- name: Install utils
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y clang zlib1g-dev dos2unix
|
||||
dotnet tool install -g dotnet-script
|
||||
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
dotnet restore LibHISP
|
||||
dotnet restore HISPd
|
||||
# linux x64
|
||||
- name: Build linux-x64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=Linux64.pubxml
|
||||
cd ..
|
||||
cd MPN00BS
|
||||
dotnet publish -p:PublishProfile=Linux64.pubxml
|
||||
cd ..
|
||||
|
||||
# linux arm
|
||||
- name: Build linux-arm
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=LinuxARM.pubxml
|
||||
cd ..
|
||||
# linux arm64
|
||||
- name: Build linux-arm64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=LinuxARM64.pubxml
|
||||
cd ..
|
||||
|
||||
|
||||
- name: Build deb package
|
||||
continue-on-error: false
|
||||
run: |
|
||||
mkdir /tmp/debpkg
|
||||
mkdir /tmp/debpkg/Debian64
|
||||
mkdir /tmp/debpkg/Debian64/etc
|
||||
mkdir /tmp/debpkg/Debian64/usr
|
||||
mkdir /tmp/debpkg/Debian64/etc/hisp
|
||||
mkdir /tmp/debpkg/Debian64/etc/hisp/gamedata
|
||||
mkdir /tmp/debpkg/Debian64/etc/systemd
|
||||
mkdir /tmp/debpkg/Debian64/etc/systemd/system
|
||||
mkdir /tmp/debpkg/Debian64/usr/bin
|
||||
mkdir /tmp/debpkg/Debian64/usr/lib
|
||||
mkdir /tmp/debpkg/Debian64/DEBIAN
|
||||
cp LibHISP/Resources/server.properties /tmp/debpkg/Debian64/etc/hisp/server.properties
|
||||
cp LibHISP/Resources/default_cross_domain.xml /tmp/debpkg/Debian64/etc/hisp/CrossDomainPolicy.xml
|
||||
cp -r HISPd/Resources/DEBIAN/* /tmp/debpkg/Debian64/DEBIAN
|
||||
cp -r HISPd/bin/x64/Linux/net8.0/linux-x64/publish/gamedata/* /tmp/debpkg/Debian64/etc/hisp/gamedata
|
||||
cp HISPd/bin/x64/Linux/net8.0/linux-x64/publish/libe_sqlite3.so /tmp/debpkg/Debian64/usr/lib/libe_sqlite3.so
|
||||
cp HISPd/bin/x64/Linux/net8.0/linux-x64/publish/HI1.MAP /tmp/debpkg/Debian64/etc/hisp/HI1.MAP
|
||||
cp HISPd/bin/x64/Linux/net8.0/linux-x64/publish/HISPd /tmp/debpkg/Debian64/usr/bin/HISPd
|
||||
cp HISPd/Resources/HISP.service /tmp/debpkg/Debian64/etc/systemd/system/HISP.service
|
||||
cat /tmp/debpkg/Debian64/DEBIAN/control
|
||||
dos2unix /tmp/debpkg/Debian64/DEBIAN/conffiles
|
||||
dos2unix /tmp/debpkg/Debian64/DEBIAN/control
|
||||
dos2unix /tmp/debpkg/Debian64/DEBIAN/postinst
|
||||
dos2unix /tmp/debpkg/Debian64/DEBIAN/postrm
|
||||
dos2unix /tmp/debpkg/Debian64/DEBIAN/prerm
|
||||
dos2unix /tmp/debpkg/Debian64/etc/systemd/system/HISP.service
|
||||
chmod 755 -R /tmp/debpkg/Debian64
|
||||
chmod +x /tmp/debpkg/Debian64/usr/bin/HISPd
|
||||
mkdir debpackage
|
||||
dpkg-deb --build /tmp/debpkg/Debian64
|
||||
mv /tmp/debpkg/Debian64.deb debpackage/HISP-Debian-AMD64.deb
|
||||
|
||||
# Upload LINUX
|
||||
- name: Upload linux-x64
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Linux64
|
||||
path: HorseIsleServer/HISPd/bin/x64/Linux/net8.0/linux-x64/publish/
|
||||
|
||||
- name: Upload linux-x64-noobs
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Linux64-Noobs
|
||||
path: HorseIsleServer/MPN00BS/bin/x64/Linux/net8.0/linux-x64/publish/
|
||||
|
||||
- name: Upload linux-arm
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-LinuxARM
|
||||
path: HorseIsleServer/HISPd/bin/ARM/Linux/net8.0/linux-arm/publish/
|
||||
|
||||
- name: Upload linux-arm64
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-LinuxARM64
|
||||
path: HorseIsleServer/HISPd/bin/ARM64/Linux/net8.0/linux-arm64/publish/
|
||||
|
||||
- name: Upload deb package
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-DebianPackage
|
||||
path: HorseIsleServer/debpackage
|
||||
|
||||
build-win:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Git Submodule update
|
||||
run: git submodule update --init --recursive
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
include-prerelease: false
|
||||
|
||||
- name: Install utils
|
||||
run: dotnet tool install -g dotnet-script
|
||||
|
||||
- name: Restore dependencies
|
||||
run: dotnet restore
|
||||
|
||||
|
||||
|
||||
# x64 build
|
||||
- name: Build win-x64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=Win64.pubxml
|
||||
cd ..
|
||||
cd MPN00BS
|
||||
dotnet publish -p:PublishProfile=Win64.pubxml
|
||||
cd ..
|
||||
|
||||
- name: Build win-x86
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=Win32.pubxml
|
||||
cd ..
|
||||
cd MPN00BS
|
||||
dotnet publish -p:PublishProfile=Win32.pubxml
|
||||
cd ..
|
||||
|
||||
- name: Build win-arm
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=WinARM.pubxml
|
||||
|
||||
# arm64 build
|
||||
- name: Build win-arm64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=WinARM64.pubxml
|
||||
cd ..
|
||||
|
||||
- name: Build linux-x64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=Linux64.pubxml
|
||||
# Upload WINDOWS
|
||||
|
||||
- name: Upload win-x64
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Win64
|
||||
path: HorseIsleServer/HISPd/bin/x64/Windows/net8.0/win-x64/publish/
|
||||
|
||||
- name: Build linux-arm
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=LinuxARM.pubxml
|
||||
- name: Upload win-x86
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Win32
|
||||
path: HorseIsleServer/HISPd/bin/x86/Windows/net8.0/win-x86/publish/
|
||||
|
||||
- name: Upload win-arm64
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-WinARM64
|
||||
path: HorseIsleServer/HISPd/bin/arm64/Windows/net8.0/win-arm64/publish/
|
||||
|
||||
- name: Upload win-x86-noobs
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Win32-Noobs
|
||||
path: HorseIsleServer/MPN00BS/bin/x86/Windows/net8.0/win-x86/publish/
|
||||
|
||||
- name: Upload win-x64-noobs
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Win64-Noobs
|
||||
path: HorseIsleServer/MPN00BS/bin/x64/Windows/net8.0/win-x64/publish/
|
||||
|
||||
build-mac:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Build linux-arm64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=LinuxARM64.pubxml
|
||||
- name: Git Submodule update
|
||||
run: git submodule update --init --recursive
|
||||
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 8.0.x
|
||||
include-prerelease: false
|
||||
|
||||
- name: Install utils
|
||||
run: dotnet tool install -g dotnet-script
|
||||
|
||||
- name: Restore dependencies
|
||||
run: |
|
||||
dotnet restore LibHISP
|
||||
dotnet restore HISPd
|
||||
|
||||
- name: Build mac-x64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=Osx64.pubxml
|
||||
|
||||
cd ..
|
||||
cd MPN00BS
|
||||
dotnet publish -p:PublishProfile=Osx64.pubxml
|
||||
cd ..
|
||||
- name: Build mac-arm64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
cd HISPd
|
||||
dotnet publish -p:PublishProfile=OsxARM64.pubxml
|
||||
|
||||
- name: Build android-arm
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=AndroidARM.pubxml
|
||||
|
||||
- name: Build android-arm64
|
||||
continue-on-error: false
|
||||
run: |
|
||||
dotnet publish -p:PublishProfile=AndroidARM64.pubxml
|
||||
|
||||
|
||||
- name: Upload win-x64
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-Win64
|
||||
path: HorseIsleServer\HISP\bin\x64\Windows\net6.0\win-x64\publish\
|
||||
|
||||
- name: Upload win-x86
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-Win32
|
||||
path: HorseIsleServer\HISP\bin\x86\Windows\net6.0\win-x86\publish\
|
||||
|
||||
- name: Upload win-arm
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-WinARM
|
||||
path: HorseIsleServer\HISP\bin\arm\Windows\net6.0\windows-arm\publish\
|
||||
|
||||
- name: Upload win-arm64
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-WinARM64
|
||||
path: HorseIsleServer\HISP\bin\arm64\Windows\net6.0\windows-arm64\publish\
|
||||
|
||||
- name: Upload win-x86-noobs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-Win32-Noobs
|
||||
path: HorseIsleServer\N00BS\bin\x86\Windows\net6.0\win-x86\publish\
|
||||
|
||||
- name: Upload win-x64-noobs
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-Win64-Noobs
|
||||
path: HorseIsleServer\N00BS\bin\x64\Windows\net6.0\win-x64\publish\
|
||||
|
||||
- name: Upload linux-x64
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-Linux64
|
||||
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/HISPCli/bin/ARM/Linux/net6.0/linux-arm/publish/
|
||||
|
||||
- name: Upload linux-arm64
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: HISP-LinuxARM64
|
||||
path: HorseIsleServer/HISPCli/bin/ARM64/Linux/net6.0/linux-arm64/publish/
|
||||
|
||||
cd ..
|
||||
- name: Upload mac-x64
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Mac64
|
||||
path: HorseIsleServer/HISPCli/bin/x64/MacOS/net6.0/osx-x64/publish/
|
||||
path: HorseIsleServer/HISPd/bin/x64/MacOS/net8.0/osx-x64/publish/
|
||||
|
||||
- name: Upload mac-arm64
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-MacARM64
|
||||
path: HorseIsleServer/HISPCli/bin/arm64/MacOS/net6.0/osx-arm64/publish/
|
||||
|
||||
- name: Upload android-arm
|
||||
uses: actions/upload-artifact@v2
|
||||
path: HorseIsleServer/HISPd/bin/arm64/MacOS/net8.0/osx-arm64/publish/
|
||||
|
||||
- name: Upload mac-x64-noobs
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-AndroidARM
|
||||
path: HorseIsleServer/HISPCli/bin/arm/Android/net6.0/android-arm/publish/
|
||||
name: HISP-Mac-Noobs
|
||||
path: HorseIsleServer/MPN00BS/bin/x64/MacOS/net8.0/osx-x64/publish/
|
||||
|
||||
- name: Upload android-arm64
|
||||
uses: actions/upload-artifact@v2
|
||||
build-web:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
name: HISP-AndroidARM64
|
||||
path: HorseIsleServer/HISPCli/bin/arm64/Android/net6.0/android-arm64/publish/
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Git Submodule update
|
||||
run: git submodule update --init --recursive
|
||||
|
||||
# UPLOAD WEB
|
||||
|
||||
- name: Upload Website (master)
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Web-Master
|
||||
path: HorseIsleWeb/master-site
|
||||
|
||||
- name: Upload Website (game)
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: HISP-Web-Game
|
||||
path: HorseIsleWeb/game-site
|
||||
|
|
23
.gitignore
vendored
23
.gitignore
vendored
|
@ -3,19 +3,32 @@
|
|||
*/.vs/*
|
||||
*.log
|
||||
*.suo
|
||||
*.csproj.user
|
||||
*.pubxml.user
|
||||
*.user
|
||||
*.idb
|
||||
|
||||
*Thumbs.db
|
||||
*.DS_Store
|
||||
|
||||
HorseIsleServer/N00BS/obj/*
|
||||
HorseIsleServer/N00BS/bin/*
|
||||
|
||||
HorseIsleServer/HISPCli/obj/*
|
||||
HorseIsleServer/HISPCli/bin/*
|
||||
HorseIsleServer/MPN00BS/obj/*
|
||||
HorseIsleServer/MPN00BS/bin/*
|
||||
|
||||
HorseIsleServer/HISPd/obj/*
|
||||
HorseIsleServer/HISPd/bin/*
|
||||
|
||||
HorseIsleServer/HISPtests/obj/*
|
||||
HorseIsleServer/HISPtests/bin/*
|
||||
|
||||
HorseIsleServer/Installer/obj/*
|
||||
HorseIsleServer/Installer/bin/*
|
||||
|
||||
HorseIsleServer/LibHISP/obj/*
|
||||
HorseIsleServer/LibHISP/bin/*
|
||||
HorseIsleServer/LibHISP/Resources/Versioning/*
|
||||
|
||||
HorseIsleServer/.vs/*
|
||||
HorseIsleServer/Installer/Windows/*
|
||||
|
||||
|
||||
HorseIsleServer/.vs/*
|
||||
|
|
2
.gitmodules
vendored
Normal file → Executable file
2
.gitmodules
vendored
Normal file → Executable file
|
@ -1,6 +1,8 @@
|
|||
[submodule "HorseIsleWeb"]
|
||||
path = HorseIsleWeb
|
||||
url = https://github.com/islehorse/HorseIsleWeb.git
|
||||
branch = master
|
||||
[submodule "HorseIsleData"]
|
||||
path = HorseIsleData
|
||||
url = https://github.com/islehorse/HorseIsleData.git
|
||||
branch = master
|
||||
|
|
7
.mailmap
Executable file
7
.mailmap
Executable file
|
@ -0,0 +1,7 @@
|
|||
Li <li@silica.codes> SilicaAndPina <earsyum@gmail.com>
|
||||
Li <li@silica.codes> Bluzume <39113159+KuromeSan@users.noreply.github.com>
|
||||
Li <li@silica.codes> SilicaPi <silica@silica.com>
|
||||
Li <li@silica.codes> SilicaPi <silica@raspberrypi.com>
|
||||
Li <li@silica.codes> Silica <Silica@Silica.com>
|
||||
Li <li@silica.codes> AtelierWindows <SilicaAndPina@AtelierWindows.com>
|
||||
Li <li@silica.codes> KuromeSan <psp1080p@gmail.com>
|
|
@ -1 +1 @@
|
|||
Subproject commit 35bf0e04a686990d7237326c048fd18b3a081aa5
|
||||
Subproject commit e9c09c77cd0dd99eb12e16b679478fb0e3742b55
|
300
HorseIsleServer/HISP.sln
Normal file → Executable file
300
HorseIsleServer/HISP.sln
Normal file → Executable file
|
@ -5,11 +5,11 @@ 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}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HISPd", "HISPd\HISPd.csproj", "{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "N00BS", "N00BS\N00BS.csproj", "{6B45A1E8-0F54-4BF7-AF48-41B9FE676570}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MPN00BS", "MPN00BS\MPN00BS.csproj", "{72EF95FC-03DB-4E61-A696-E0095DD42A4E}"
|
||||
EndProject
|
||||
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{D330A197-67D4-42B0-8906-54264AF95EC1}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HISPtests", "HISPtests\HISPtests.csproj", "{689FB972-1612-440E-817D-BE290F655AA8}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -23,6 +23,11 @@ Global
|
|||
Debug|ARM64 = Debug|ARM64
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
iOS|Any CPU = iOS|Any CPU
|
||||
iOS|ARM = iOS|ARM
|
||||
iOS|ARM64 = iOS|ARM64
|
||||
iOS|x64 = iOS|x64
|
||||
iOS|x86 = iOS|x86
|
||||
Linux|Any CPU = Linux|Any CPU
|
||||
Linux|ARM = Linux|ARM
|
||||
Linux|ARM64 = Linux|ARM64
|
||||
|
@ -33,6 +38,11 @@ Global
|
|||
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
|
||||
|
@ -40,8 +50,8 @@ Global
|
|||
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|Any CPU.ActiveCfg = Android|Any CPU
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Android|Any CPU.Build.0 = Android|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
|
||||
|
@ -58,8 +68,17 @@ Global
|
|||
{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}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Debug|x86.Build.0 = Debug|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|Any CPU.ActiveCfg = iOS|Any CPU
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|Any CPU.Build.0 = iOS|Any CPU
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|ARM.ActiveCfg = iOS|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|ARM.Build.0 = iOS|ARM
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|ARM64.ActiveCfg = iOS|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|ARM64.Build.0 = iOS|ARM64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|x64.ActiveCfg = iOS|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|x64.Build.0 = iOS|x64
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.iOS|x86.ActiveCfg = iOS|x86
|
||||
{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
|
||||
|
@ -80,8 +99,18 @@ Global
|
|||
{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}.Release|Any CPU.ActiveCfg = Windows|Any CPU
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|Any CPU.Build.0 = Windows|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 = Windows|x86
|
||||
{C48CBD82-AB30-494A-8FFA-4DE7069B5827}.Release|x86.Build.0 = Windows|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
|
||||
|
@ -90,8 +119,8 @@ Global
|
|||
{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|Any CPU.ActiveCfg = Android|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Android|Any CPU.Build.0 = Android|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
|
||||
|
@ -102,16 +131,25 @@ Global
|
|||
{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}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x64.Build.0 = Debug|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Debug|x86.Build.0 = Debug|x86
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|Any CPU.ActiveCfg = iOS|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|Any CPU.Build.0 = iOS|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|ARM.ActiveCfg = iOS|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|ARM.Build.0 = iOS|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|ARM64.ActiveCfg = iOS|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|ARM64.Build.0 = iOS|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|x64.ActiveCfg = iOS|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|x64.Build.0 = iOS|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.iOS|x86.ActiveCfg = iOS|x86
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.ActiveCfg = Linux|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Linux|Any CPU.Build.0 = Linux|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
|
||||
|
@ -130,78 +168,166 @@ Global
|
|||
{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}.Release|Any CPU.ActiveCfg = Windows|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|Any CPU.Build.0 = Windows|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM.ActiveCfg = Windows|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM.Build.0 = Windows|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM64.ActiveCfg = Windows|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|ARM64.Build.0 = Windows|ARM64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x64.ActiveCfg = Windows|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x64.Build.0 = Windows|x64
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x86.ActiveCfg = Windows|x86
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Release|x86.Build.0 = Windows|x86
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.ActiveCfg = Windows|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|Any CPU.Build.0 = Windows|Any CPU
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.ActiveCfg = Windows|ARM
|
||||
{DEAD5CB0-C6B6-4B63-B1FB-A9F649CA1D27}.Windows|ARM.Build.0 = Windows|ARM
|
||||
{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
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|Any CPU.ActiveCfg = Android|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|Any CPU.Build.0 = Android|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|ARM.ActiveCfg = Android|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|ARM.Build.0 = Android|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|ARM64.ActiveCfg = Android|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|ARM64.Build.0 = Android|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|x64.ActiveCfg = Android|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|x64.Build.0 = Android|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|x86.ActiveCfg = Android|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Android|x86.Build.0 = Android|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|x64.Build.0 = Debug|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Debug|x86.Build.0 = Debug|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|Any CPU.ActiveCfg = iOS|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|Any CPU.Build.0 = iOS|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|ARM.ActiveCfg = iOS|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|ARM.Build.0 = iOS|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|ARM64.ActiveCfg = iOS|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|ARM64.Build.0 = iOS|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|x64.ActiveCfg = iOS|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|x64.Build.0 = iOS|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|x86.ActiveCfg = iOS|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.iOS|x86.Build.0 = iOS|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|Any CPU.ActiveCfg = Linux|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|Any CPU.Build.0 = Linux|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|ARM.ActiveCfg = Linux|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|ARM.Build.0 = Linux|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|ARM64.ActiveCfg = Linux|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|ARM64.Build.0 = Linux|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|x64.ActiveCfg = Linux|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|x64.Build.0 = Linux|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|x86.ActiveCfg = Linux|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Linux|x86.Build.0 = Linux|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|Any CPU.ActiveCfg = MacOS|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|Any CPU.Build.0 = MacOS|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|ARM.ActiveCfg = MacOS|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|ARM.Build.0 = MacOS|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|ARM64.ActiveCfg = MacOS|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|ARM64.Build.0 = MacOS|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|x64.ActiveCfg = MacOS|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|x64.Build.0 = MacOS|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|x86.ActiveCfg = MacOS|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.MacOS|x86.Build.0 = MacOS|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|Any CPU.ActiveCfg = Windows|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|Any CPU.Build.0 = Windows|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|ARM.ActiveCfg = Windows|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|ARM.Build.0 = Windows|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|ARM64.ActiveCfg = Windows|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|ARM64.Build.0 = Windows|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|x64.ActiveCfg = Windows|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|x64.Build.0 = Windows|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|x86.ActiveCfg = Windows|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Release|x86.Build.0 = Windows|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|Any CPU.ActiveCfg = Windows|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|Any CPU.Build.0 = Windows|Any CPU
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|ARM.ActiveCfg = Windows|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|ARM.Build.0 = Windows|ARM
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|ARM64.ActiveCfg = Windows|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|ARM64.Build.0 = Windows|ARM64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|x64.ActiveCfg = Windows|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|x64.Build.0 = Windows|x64
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|x86.ActiveCfg = Windows|x86
|
||||
{72EF95FC-03DB-4E61-A696-E0095DD42A4E}.Windows|x86.Build.0 = Windows|x86
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|ARM.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|ARM.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|ARM64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|x64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|x64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|x86.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Android|x86.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|ARM.ActiveCfg = Debug|ARM
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|ARM.Build.0 = Debug|ARM
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|x64.Build.0 = Debug|x64
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Debug|x86.Build.0 = Debug|x86
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|ARM.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|ARM.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|ARM64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|x64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|x64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|x86.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.iOS|x86.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|ARM.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|ARM.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|ARM64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|x64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|x64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|x86.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Linux|x86.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|ARM.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|ARM.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|ARM64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|x64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|x64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|x86.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.MacOS|x86.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|ARM.ActiveCfg = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|ARM.Build.0 = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|ARM64.ActiveCfg = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|ARM64.Build.0 = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|x64.Build.0 = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Release|x86.Build.0 = Release|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|Any CPU.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|ARM.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|ARM.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|ARM64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|ARM64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|x64.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|x64.Build.0 = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|x86.ActiveCfg = Debug|Any CPU
|
||||
{689FB972-1612-440E-817D-BE290F655AA8}.Windows|x86.Build.0 = Debug|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
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. */ };
|
||||
|
||||
}
|
||||
}
|
||||
}
|
118
HorseIsleServer/HISPCli/Properties/Resources.Designer.cs
generated
118
HorseIsleServer/HISPCli/Properties/Resources.Designer.cs
generated
|
@ -1,118 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace HISP.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource public class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This public class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// public class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this public class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HISP.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource public class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <cross-domain-policy>
|
||||
/// <allow-access-from domain="*" to-ports="12321" secure="false"/>
|
||||
///</cross-domain-policy>.
|
||||
/// </summary>
|
||||
internal static string DefaultCrossDomain {
|
||||
get {
|
||||
return ResourceManager.GetString("DefaultCrossDomain", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to # HorseIsleServer Default Configuration File
|
||||
///
|
||||
///# Ip address the server will bind to (default: 0.0.0.0 ALL INTERFACES)
|
||||
///ip=0.0.0.0
|
||||
///# Port the server will bind to (default: 12321)
|
||||
///port=12321
|
||||
///
|
||||
///# MariaDB Database
|
||||
///db_ip=127.0.0.1
|
||||
///db_name=beta
|
||||
///db_username=root
|
||||
///db_password=test123
|
||||
///db_port=3306
|
||||
///
|
||||
///# Map Data
|
||||
///map=HI1.MAP
|
||||
///
|
||||
///# JSON Format Data
|
||||
///
|
||||
///gamedata=gamedata.json
|
||||
///
|
||||
///# Cross-Domain Policy File
|
||||
///crossdomain=CrossDomainPolicy.xml
|
||||
///
|
||||
///# Red Text Stating "Todays Note:"
|
||||
///motd=April 11, 2020. New breed, C [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
internal static string DefaultServerProperties {
|
||||
get {
|
||||
return ResourceManager.GetString("DefaultServerProperties", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// UNKNOWN COMMIT HASH
|
||||
/// </summary>
|
||||
internal static string GitCommit {
|
||||
get {
|
||||
return ResourceManager.GetString("GitCommit", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
399
HorseIsleServer/HISPCli/HISPCli.csproj → HorseIsleServer/HISPd/HISPd.csproj
Normal file → Executable file
399
HorseIsleServer/HISPCli/HISPCli.csproj → HorseIsleServer/HISPd/HISPd.csproj
Normal file → Executable file
|
@ -1,230 +1,169 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>HISP</RootNamespace>
|
||||
<LangVersion>10.0</LangVersion>
|
||||
<Platforms>x64;x86;ARM;ARM64;AnyCPU</Platforms>
|
||||
<Configurations>Debug;Windows;Linux;MacOS;Android</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibHISP\LibHISP.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||
<GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
<StartupObject>HISP.Program</StartupObject>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<DebugType>embedded</DebugType>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AnalysisLevel>none</AnalysisLevel>
|
||||
<EnableNETAnalyzers>False</EnableNETAnalyzers>
|
||||
<Copyright>Public Domain, 2022</Copyright>
|
||||
<PackageProjectUrl>https://islehorse.com</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/islehorse/HISP</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x86'">
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x64'">
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM'">
|
||||
<RuntimeIdentifier>win-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM64'">
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM'">
|
||||
<RuntimeIdentifier>android-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM64'">
|
||||
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x64'">
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM'">
|
||||
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM64'">
|
||||
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x64'">
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM64'">
|
||||
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='All|AnyCPU'">
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm;win-arm64;linux-x64;linux-arm;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_ALL;ARCH_ANYCPU</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_ARM64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_X86_64</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG;ARCH_X86</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x86'">
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_X86</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x86'">
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_X86</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|AnyCPU'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ANYCPU</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|AnyCPU'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ANYCPU</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|AnyCPU'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_ANYCPU</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM'">
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026</NoWarn>
|
||||
<Optimize>False</Optimize>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
</Project>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>HISP.Cli</RootNamespace>
|
||||
<LangVersion>10.0</LangVersion>
|
||||
<Platforms>x64;x86;ARM;ARM64;AnyCPU</Platforms>
|
||||
<Configurations>Debug;Windows;Linux;MacOS;Android;iOS</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibHISP\LibHISP.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Properties\Resources.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||
<GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
<StartupObject>HISP.Cli.Program</StartupObject>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<DebugType>embedded</DebugType>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AnalysisLevel>none</AnalysisLevel>
|
||||
<EnableNETAnalyzers>False</EnableNETAnalyzers>
|
||||
<Copyright>Public Domain, 2022</Copyright>
|
||||
<PackageProjectUrl>https://islehorse.com</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/islehorse/HISP</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026;IL2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
||||
<TrimMode>partial</TrimMode>
|
||||
<EnableTrimAnalyzer>false</EnableTrimAnalyzer>
|
||||
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>
|
||||
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x86'">
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<Platforms>x86</Platforms>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x64'">
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<Platforms>x64</Platforms>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM'">
|
||||
<RuntimeIdentifier>win-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM64'">
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM'">
|
||||
<RuntimeIdentifier>android-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM64'">
|
||||
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x64'">
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM'">
|
||||
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM64'">
|
||||
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x64'">
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM64'">
|
||||
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM'">
|
||||
<RuntimeIdentifier>ios-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM64'">
|
||||
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='All|AnyCPU'">
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm;win-arm64;linux-x64;linux-arm;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_ALL;ARCH_ANYCPU</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
197
HorseIsleServer/HISPd/Program.cs
Executable file
197
HorseIsleServer/HISPd/Program.cs
Executable file
|
@ -0,0 +1,197 @@
|
|||
using HISP.Cli.Properties;
|
||||
using HISP.Server;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
|
||||
namespace HISP.Cli
|
||||
{
|
||||
public static class Program
|
||||
{
|
||||
private static StreamWriter sw = null;
|
||||
private static FileStream fs = null;
|
||||
private static string logFile;
|
||||
private static EventWaitHandle shutdownHandle = null;
|
||||
|
||||
public static bool ShuttingDown = false;
|
||||
public static string BaseDir;
|
||||
public static string LogFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return logFile;
|
||||
}
|
||||
set
|
||||
{
|
||||
logFile = value;
|
||||
if(sw != null)
|
||||
{
|
||||
sw.Flush();
|
||||
sw.Dispose();
|
||||
sw = null;
|
||||
}
|
||||
if(fs != null)
|
||||
{
|
||||
fs.Flush();
|
||||
fs.Dispose();
|
||||
fs = null;
|
||||
}
|
||||
|
||||
fs = File.OpenWrite(logFile);
|
||||
sw = new StreamWriter(fs);
|
||||
}
|
||||
}
|
||||
|
||||
public static void OnShutdown()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (sw != null)
|
||||
{
|
||||
sw.Flush();
|
||||
sw.Close();
|
||||
sw.Dispose();
|
||||
sw = null;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
try
|
||||
{
|
||||
if (fs != null)
|
||||
{
|
||||
fs.Flush();
|
||||
fs.Close();
|
||||
fs.Dispose();
|
||||
fs = null;
|
||||
}
|
||||
}
|
||||
catch (Exception) { };
|
||||
|
||||
|
||||
if(shutdownHandle != null)
|
||||
shutdownHandle.Set();
|
||||
}
|
||||
|
||||
private static string formatMessage(string type, string text, bool console)
|
||||
{
|
||||
#if OS_WINDOWS
|
||||
string newline = "\r\n";
|
||||
#else
|
||||
string newline = "\n";
|
||||
#endif
|
||||
|
||||
string msg = DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss") + ": [" + type + "] ";
|
||||
if (console && text.Length > (Console.WindowWidth - msg.Length) - newline.Length)
|
||||
text = text.Substring(0, (Console.WindowWidth - msg.Length) - newline.Length);
|
||||
|
||||
return msg + text + newline;
|
||||
}
|
||||
|
||||
public static void LogToFile(bool error, string type,string text)
|
||||
{
|
||||
sw.WriteLine(formatMessage(type, text, false));
|
||||
if (error)
|
||||
sw.Flush();
|
||||
}
|
||||
public static void LogStdout(bool error, string type, string text)
|
||||
{
|
||||
if (type == "CRASH")
|
||||
LogToFile(error, type, text);
|
||||
try
|
||||
{
|
||||
if (error)
|
||||
Console.Error.WriteAsync(formatMessage(type, text, true));
|
||||
else
|
||||
Console.Out.WriteAsync(formatMessage(type, text, true));
|
||||
|
||||
}
|
||||
catch (Exception) { };
|
||||
}
|
||||
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
AppDomain.CurrentDomain.ProcessExit += ProcessQuitHandler;
|
||||
|
||||
string baseDir = Directory.GetCurrentDirectory();
|
||||
Logger.SetCallback(LogStdout);
|
||||
Entry.SetShutdownCallback(OnShutdown);
|
||||
|
||||
string hispConfVar = Environment.GetEnvironmentVariable("HISP_CONF_FILE");
|
||||
string hispLogVar = Environment.GetEnvironmentVariable("HISP_LOG_FILE");
|
||||
string hispBaseDir = Environment.GetEnvironmentVariable("HISP_BASE_DIR");
|
||||
|
||||
foreach (string arg in args)
|
||||
{
|
||||
switch (arg)
|
||||
{
|
||||
case "--install-service":
|
||||
#if OS_LINUX
|
||||
File.WriteAllBytes("/etc/systemd/system/HISP.service", Resources.HISPService);
|
||||
LogStdout(false, "INFO", "Crreated Service! enable it with \"sudo systemctl enable HISP\"");
|
||||
#else
|
||||
LogStdout(true, "ERROR", "Installing as a service unsupported on this platform");
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
if (arg.Contains("="))
|
||||
{
|
||||
string[] argu = arg.Split("=");
|
||||
if (argu.Length >= 2)
|
||||
{
|
||||
switch (argu[0])
|
||||
{
|
||||
case "--config-file":
|
||||
ConfigReader.ConfigurationFileName = argu[1];
|
||||
break;
|
||||
case "--log-to-file":
|
||||
LogFile = argu[1];
|
||||
Logger.SetCallback(LogToFile);
|
||||
break;
|
||||
case "--base-directory":
|
||||
baseDir = argu[1];
|
||||
Directory.SetCurrentDirectory(baseDir);
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (hispConfVar != null)
|
||||
{
|
||||
ConfigReader.ConfigurationFileName = hispConfVar;
|
||||
}
|
||||
|
||||
if (hispLogVar != null)
|
||||
{
|
||||
LogFile = hispLogVar;
|
||||
Logger.SetCallback(LogToFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogFile = Path.Combine(baseDir, "crash.log");
|
||||
}
|
||||
|
||||
if (hispBaseDir != null)
|
||||
{
|
||||
baseDir = hispBaseDir;
|
||||
Directory.SetCurrentDirectory(baseDir);
|
||||
}
|
||||
|
||||
Entry.Start();
|
||||
|
||||
shutdownHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
|
||||
shutdownHandle.WaitOne();
|
||||
}
|
||||
|
||||
private static void ProcessQuitHandler(object sender, EventArgs e)
|
||||
{
|
||||
GameServer.ShutdownServer("HISPd process quitting.");
|
||||
}
|
||||
}
|
||||
}
|
70
HorseIsleServer/N00BS/Properties/AssemblyInfo.cs → HorseIsleServer/HISPd/Properties/AssemblyInfo.cs
Normal file → Executable file
70
HorseIsleServer/N00BS/Properties/AssemblyInfo.cs → HorseIsleServer/HISPd/Properties/AssemblyInfo.cs
Normal file → Executable file
|
@ -1,35 +1,35 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("HISP Noobs")]
|
||||
[assembly: AssemblyDescription("Noob-Friendly One-Click Run HISP.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("SilicaAndPina")]
|
||||
[assembly: AssemblyProduct("HISP")]
|
||||
[assembly: AssemblyCopyright("Public Domain © 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("72adebe4-f5d5-41e1-90d1-3ee7706a8fe3")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.3.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.3.0.0")]
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("HISPd")]
|
||||
[assembly: AssemblyDescription("Server Emulator for \"Horse Isle\"")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Li")]
|
||||
[assembly: AssemblyProduct("HISP")]
|
||||
[assembly: AssemblyCopyright("Public Domain <EFBFBD> 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("57264c6b-1461-41d6-9304-3890cf6c8390")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.8.73.0")]
|
||||
[assembly: AssemblyFileVersion("1.8.73.0")]
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Android</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\Android\net6.0\android-arm\publish\</PublishDir>
|
||||
<PublishDir>bin\arm\Android\net8.0\android-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>android-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<UseAppHost>True</UseAppHost>
|
||||
|
@ -17,4 +17,4 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Android</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\Android\net6.0\android-arm64\publish\</PublishDir>
|
||||
<PublishDir>bin\arm64\Android\net8.0\android-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<UseAppHost>True</UseAppHost>
|
||||
|
@ -17,4 +17,4 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\Linux\net6.0\linux-x64\publish\</PublishDir>
|
||||
<PublishDir>bin\x64\Linux\net8.0\linux-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\ARM\Linux\net6.0\linux-arm\publish\</PublishDir>
|
||||
<PublishDir>bin\ARM\Linux\net8.0\linux-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\ARM64\Linux\net6.0\linux-arm64\publish\</PublishDir>
|
||||
<PublishDir>bin\ARM64\Linux\net8.0\linux-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
4
HorseIsleServer/HISPCli/Properties/PublishProfiles/Osx64.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Osx64.pubxml
Normal file → Executable file
4
HorseIsleServer/HISPCli/Properties/PublishProfiles/Osx64.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Osx64.pubxml
Normal file → Executable file
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>MacOS</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\MacOS\net6.0\osx-x64\publish\</PublishDir>
|
||||
<PublishDir>bin\x64\MacOS\net8.0\osx-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>MacOS</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\MacOS\net6.0\osx-arm64\publish\</PublishDir>
|
||||
<PublishDir>bin\arm64\MacOS\net8.0\osx-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
4
HorseIsleServer/HISPCli/Properties/PublishProfiles/Win32.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Win32.pubxml
Normal file → Executable file
4
HorseIsleServer/HISPCli/Properties/PublishProfiles/Win32.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Win32.pubxml
Normal file → Executable file
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
<PublishDir>bin\x86\Windows\net6.0\win-x86\publish\</PublishDir>
|
||||
<PublishDir>bin\x86\Windows\net8.0\win-x86\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
6
HorseIsleServer/HISPCli/Properties/PublishProfiles/Win64.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Win64.pubxml
Normal file → Executable file
6
HorseIsleServer/HISPCli/Properties/PublishProfiles/Win64.pubxml → HorseIsleServer/HISPd/Properties/PublishProfiles/Win64.pubxml
Normal file → Executable file
|
@ -6,14 +6,14 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\Windows\net6.0\win-x64\publish\</PublishDir>
|
||||
<PublishDir>bin\x64\Windows\net8.0\win-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\Windows\net6.0\windows-arm\publish\</PublishDir>
|
||||
<PublishDir>bin\arm\Windows\net8.0\win-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
|
@ -6,9 +6,9 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\Windows\net6.0\windows-arm64\publish\</PublishDir>
|
||||
<PublishDir>bin\arm64\Windows\net8.0\win-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
19
HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM.pubxml
Executable file
19
HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM.pubxml
Executable file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>iOS</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\iOS\net8.0\ios-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>ios-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>False</PublishSingleFile>
|
||||
<PublishReadyToRun>False</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
19
HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM64.pubxml
Executable file
19
HorseIsleServer/HISPd/Properties/PublishProfiles/iOSARM64.pubxml
Executable file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>iOS</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\iOS\net8.0\ios-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>False</PublishSingleFile>
|
||||
<PublishReadyToRun>False</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
73
HorseIsleServer/HISPd/Properties/Resources.Designer.cs
generated
Executable file
73
HorseIsleServer/HISPd/Properties/Resources.Designer.cs
generated
Executable file
|
@ -0,0 +1,73 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace HISP.Cli.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HISP.Cli.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Byte[].
|
||||
/// </summary>
|
||||
public static byte[] HISPService {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("HISPService", resourceCulture);
|
||||
return ((byte[])(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
242
HorseIsleServer/N00BS/Properties/Resources.resx → HorseIsleServer/HISPd/Properties/Resources.resx
Normal file → Executable file
242
HorseIsleServer/N00BS/Properties/Resources.resx → HorseIsleServer/HISPd/Properties/Resources.resx
Normal file → Executable file
|
@ -1,120 +1,124 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="HISPService" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\HISP.service;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
0
HorseIsleServer/HISPCli/Properties/launchSettings.json → HorseIsleServer/HISPd/Properties/launchSettings.json
Normal file → Executable file
0
HorseIsleServer/HISPCli/Properties/launchSettings.json → HorseIsleServer/HISPd/Properties/launchSettings.json
Normal file → Executable file
2
HorseIsleServer/HISPd/Resources/DEBIAN/conffiles
Executable file
2
HorseIsleServer/HISPd/Resources/DEBIAN/conffiles
Executable file
|
@ -0,0 +1,2 @@
|
|||
/etc/hisp/server.properties
|
||||
/etc/hisp/CrossDomainPolicy.xml
|
7
HorseIsleServer/HISPd/Resources/DEBIAN/control
Executable file
7
HorseIsleServer/HISPd/Resources/DEBIAN/control
Executable file
|
@ -0,0 +1,7 @@
|
|||
Package: hisp
|
||||
Version: 1.8.73
|
||||
Depends: coreutils,systemd,mariadb-server,libsqlite3-dev,zlib1g-dev,libicu-dev,libkrb5-dev
|
||||
Maintainer: Li
|
||||
Homepage: https://islehorse.com
|
||||
Architecture: amd64
|
||||
Description: Open Source Implementation of the server for flash game "Horse Isle".
|
4
HorseIsleServer/HISPd/Resources/DEBIAN/copyright
Executable file
4
HorseIsleServer/HISPd/Resources/DEBIAN/copyright
Executable file
|
@ -0,0 +1,4 @@
|
|||
== Silica's Public Domain License ==
|
||||
|
||||
All source code and binaries, for the HISP Software are entered into the Public Domain.
|
||||
However the software is provided "AS-IS" without any warrenty and i shall take no liability for anything that may happen by using this software.
|
11
HorseIsleServer/HISPd/Resources/DEBIAN/postinst
Executable file
11
HorseIsleServer/HISPd/Resources/DEBIAN/postinst
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
useradd -r horseisle
|
||||
mkdir -p /etc/hisp
|
||||
mkdir -p /var/log/hisp
|
||||
chown -R horseisle:horseisle /etc/hisp
|
||||
chown -R horseisle:horseisle /var/log/hisp
|
||||
systemctl enable HISP.service
|
||||
systemctl start HISP
|
||||
|
||||
echo "Make sure to edit /etc/hisp/server.properties!"
|
1
HorseIsleServer/HISPd/Resources/DEBIAN/postrm
Executable file
1
HorseIsleServer/HISPd/Resources/DEBIAN/postrm
Executable file
|
@ -0,0 +1 @@
|
|||
#!/bin/sh
|
4
HorseIsleServer/HISPd/Resources/DEBIAN/prerm
Executable file
4
HorseIsleServer/HISPd/Resources/DEBIAN/prerm
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
systemctl stop HISP
|
||||
systemctl disable HISP
|
||||
userdel horseisle
|
32
HorseIsleServer/HISPd/Resources/HISP.service
Executable file
32
HorseIsleServer/HISPd/Resources/HISP.service
Executable file
|
@ -0,0 +1,32 @@
|
|||
[Unit]
|
||||
Description=HISP (Horse Isle Server Program)
|
||||
|
||||
After=syslog.target
|
||||
After=network.target
|
||||
|
||||
Wants=mariadb.service
|
||||
After=mariadb.service
|
||||
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
# Disable access to features HISP doesnt need
|
||||
# (For security ...)
|
||||
ProtectSystem=full
|
||||
PrivateDevices=true
|
||||
|
||||
StandardError=journal+console
|
||||
StandardOutput=journal+console
|
||||
|
||||
User=horseisle
|
||||
Group=horseisle
|
||||
|
||||
WorkingDirectory=/etc/hisp
|
||||
ExecStart=/usr/bin/HISPd
|
||||
|
||||
Environment=USER=horseisle HOME=/etc/hisp HISP_BASE_DIR=/etc/hisp HISP_CONF_FILE=/etc/hisp/server.properties HISP_LOG_FILE=/var/log/hisp/hisp.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Alias=hisp.service
|
0
HorseIsleServer/HISPCli/icon.ico → HorseIsleServer/HISPd/icon.ico
Normal file → Executable file
0
HorseIsleServer/HISPCli/icon.ico → HorseIsleServer/HISPd/icon.ico
Normal file → Executable file
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
169
HorseIsleServer/HISPtests/HISPtests.csproj
Normal file
169
HorseIsleServer/HISPtests/HISPtests.csproj
Normal file
|
@ -0,0 +1,169 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>HISP.Tests</RootNamespace>
|
||||
<LangVersion>10.0</LangVersion>
|
||||
<Platforms>x64;x86;ARM;ARM64;AnyCPU</Platforms>
|
||||
<Configurations>Debug;Windows;Linux;MacOS;Android;iOS</Configurations>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\LibHISP\LibHISP.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="Properties\Resources.Designer.cs">
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Properties\Resources.resx">
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
||||
<GenerateBindingRedirectsOutputType>false</GenerateBindingRedirectsOutputType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<NoWin32Manifest>true</NoWin32Manifest>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
<StartupObject>HISP.Tests.Program</StartupObject>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<DebugType>embedded</DebugType>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AnalysisLevel>none</AnalysisLevel>
|
||||
<EnableNETAnalyzers>False</EnableNETAnalyzers>
|
||||
<Copyright>Public Domain, 2022</Copyright>
|
||||
<PackageProjectUrl>https://islehorse.com</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/islehorse/HISP</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn>1701;1702;2026;IL2026</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
||||
<TrimMode>partial</TrimMode>
|
||||
<EnableTrimAnalyzer>false</EnableTrimAnalyzer>
|
||||
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols>
|
||||
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x86'">
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<Platforms>x86</Platforms>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|x64'">
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<Platforms>x64</Platforms>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM'">
|
||||
<RuntimeIdentifier>win-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Windows|ARM64'">
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM'">
|
||||
<RuntimeIdentifier>android-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
|
||||
<WarningLevel>3</WarningLevel>
|
||||
<NoWarn></NoWarn>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Android|ARM64'">
|
||||
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|x64'">
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM'">
|
||||
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Linux|ARM64'">
|
||||
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|x64'">
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='MacOS|ARM64'">
|
||||
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM'">
|
||||
<RuntimeIdentifier>ios-arm</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM</PlatformTarget>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='iOS|ARM64'">
|
||||
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
|
||||
<Optimize>true</Optimize>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM64</DefineConstants>
|
||||
<DebugType>none</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='All|AnyCPU'">
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm;win-arm64;linux-x64;linux-arm;linux-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
|
||||
<Optimize>True</Optimize>
|
||||
<DefineConstants>OS_ALL;ARCH_ANYCPU</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
|
||||
<Optimize>False</Optimize>
|
||||
<DefineConstants>DEBUG;TRACE;OS_DEBUG</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
20
HorseIsleServer/HISPtests/Program.cs
Normal file
20
HorseIsleServer/HISPtests/Program.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using HISP.Server;
|
||||
using HISP.Tests.UnitTests;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HISP.Tests
|
||||
{
|
||||
public static class Program
|
||||
{
|
||||
|
||||
public static async Task Main(string[] args)
|
||||
{
|
||||
ServerStartTest.RunServerStartTest();
|
||||
AuthenticationTest.RunAuthenticationTest();
|
||||
await UserTest.RunUserTest();
|
||||
PacketTest.RunPacketTest();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
35
HorseIsleServer/HISPtests/Properties/AssemblyInfo.cs
Normal file
35
HorseIsleServer/HISPtests/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,35 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("HISPd")]
|
||||
[assembly: AssemblyDescription("Server Emulator for \"Horse Isle\"")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Li")]
|
||||
[assembly: AssemblyProduct("HISP")]
|
||||
[assembly: AssemblyCopyright("Public Domain <20> 2022")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("57264c6b-1461-41d6-9304-3890cf6c8390")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.8.30.0")]
|
||||
[assembly: AssemblyFileVersion("1.8.30.0")]
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>Android</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\Android\net8.0\android-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>android-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<UseAppHost>True</UseAppHost>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>Android</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\Android\net8.0\android-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>android-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<UseAppHost>True</UseAppHost>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_ANDROID;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\Linux\net8.0\linux-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_LINUX;ARCH_X86_64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\ARM\Linux\net8.0\linux-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>Linux</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\ARM64\Linux\net8.0\linux-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_LINUX;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>MacOS</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\MacOS\net8.0\osx-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>osx-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_MACOS;ARCH_X86_64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>MacOS</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\MacOS\net8.0\osx-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_MACOS;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -2,18 +2,18 @@
|
|||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
<PublishDir>bin\x86\Windows\net6.0\win-x86\publish\</PublishDir>
|
||||
<PublishDir>bin\x86\Windows\net8.0\win-x86\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<!-- <PublishTrimmed>True</PublishTrimmed> -->
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -6,14 +6,14 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
|||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
<PublishDir>bin\x64\Windows\net6.0\win-x64\publish\</PublishDir>
|
||||
<PublishDir>bin\x64\Windows\net8.0\win-x64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<!-- <PublishTrimmed>True</PublishTrimmed> -->
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_X86_64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\Windows\net8.0\win-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration>Windows</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\Windows\net8.0\win-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>True</PublishSingleFile>
|
||||
<PublishReadyToRun>True</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_WINDOWS;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>iOS</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
<PublishDir>bin\arm\iOS\net8.0\ios-arm\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>ios-arm</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>False</PublishSingleFile>
|
||||
<PublishReadyToRun>False</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<Configuration>iOS</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
<PublishDir>bin\arm64\iOS\net8.0\ios-arm64\publish\</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
|
||||
<SelfContained>True</SelfContained>
|
||||
<PublishSingleFile>False</PublishSingleFile>
|
||||
<PublishReadyToRun>False</PublishReadyToRun>
|
||||
<PublishTrimmed>True</PublishTrimmed>
|
||||
<DefineConstants>OS_IOS;ARCH_ARM64</DefineConstants>
|
||||
</PropertyGroup>
|
||||
</Project>
|
74
HorseIsleServer/HISPtests/Properties/Resources.Designer.cs
generated
Normal file
74
HorseIsleServer/HISPtests/Properties/Resources.Designer.cs
generated
Normal file
|
@ -0,0 +1,74 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace HISP.Tests.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HISP.Tests.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to {
|
||||
/// "2PlayerClose": "UFgA",
|
||||
/// "BirdMap_OutsideMapTop": "dgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
public static string PacketTestDataSet {
|
||||
get {
|
||||
return ResourceManager.GetString("PacketTestDataSet", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,120 +1,124 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="PacketTestDataSet" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\PacketTestDataSet.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"profiles": {
|
||||
"N00BS": {
|
||||
"HISPtests": {
|
||||
"commandName": "Project"
|
||||
}
|
||||
}
|
256
HorseIsleServer/HISPtests/Resources/PacketTestDataSet.json
Normal file
256
HorseIsleServer/HISPtests/Resources/PacketTestDataSet.json
Normal file
File diff suppressed because one or more lines are too long
51
HorseIsleServer/HISPtests/ResultLogger.cs
Normal file
51
HorseIsleServer/HISPtests/ResultLogger.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HISP.Tests
|
||||
{
|
||||
public class ResultLogger
|
||||
{
|
||||
public static void LogTestStatus(bool successful, string testname, string message)
|
||||
{
|
||||
if (successful)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||
Console.Out.Write("[ " + testname + " ] ");
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.Out.WriteLine("* " + message + " *");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||
Console.Error.Write("[ " + testname + " ] ");
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Error.WriteLine("* " + message + " *");
|
||||
}
|
||||
}
|
||||
|
||||
public static void LogTestResult(bool successful, string testname, string message, string expected)
|
||||
{
|
||||
if (successful)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||
Console.Out.Write("[ " + testname + " ] ");
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.Out.WriteLine("* " + message + " == " + expected + " *");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Cyan;
|
||||
Console.Error.Write("[ " + testname + " ] ");
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.Error.WriteLine("* " + message + " != " + expected + " *");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
59
HorseIsleServer/HISPtests/UnitTests/AuthenticationTest.cs
Normal file
59
HorseIsleServer/HISPtests/UnitTests/AuthenticationTest.cs
Normal file
|
@ -0,0 +1,59 @@
|
|||
using HISP.Security;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Tests.UnitTests
|
||||
{
|
||||
public class AuthenticationTest
|
||||
{
|
||||
|
||||
private const string ALLOWED_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
|
||||
public static bool Test(string testName, object value, object valueComp)
|
||||
{
|
||||
bool result = value.Equals(valueComp);
|
||||
if (result)
|
||||
ResultLogger.LogTestStatus(true, "AUTH_TEST " + testName, "Success.");
|
||||
else
|
||||
ResultLogger.LogTestResult(false, "AUTH_TEST " + testName, value.ToString(), valueComp.ToString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static bool RunAuthenticationTest()
|
||||
{
|
||||
List<bool> results = new List<bool>();
|
||||
|
||||
// Test Login Encrypt/Decrypt
|
||||
for(int i = 0; i <= 100; i++)
|
||||
{
|
||||
string rngStr = Helper.RandomString(ALLOWED_CHARS);
|
||||
string cipherText = Authentication.EncryptLogin(rngStr);
|
||||
string plainText = Authentication.DecryptLogin(cipherText);
|
||||
|
||||
results.Add(Test("LoginEncryptDecrypt" + i.ToString(), plainText, rngStr));
|
||||
|
||||
}
|
||||
|
||||
|
||||
string username = Helper.RandomString(ALLOWED_CHARS);
|
||||
string password = Helper.RandomString(ALLOWED_CHARS);
|
||||
|
||||
string wrongPassword = Helper.RandomString(ALLOWED_CHARS);
|
||||
string wrongUsername = Helper.RandomString(ALLOWED_CHARS);
|
||||
|
||||
Authentication.CreateAccount(username, password, "DEMIGIRL", true, true);
|
||||
|
||||
// Test Login function
|
||||
results.Add(Test("CorrectUsernameAndPassword", Authentication.CheckPassword(username, password), true));
|
||||
results.Add(Test("CorrectUsernameWrongPassword", Authentication.CheckPassword(username, wrongPassword), false));
|
||||
results.Add(Test("WrongPasswordAndUsername", Authentication.CheckPassword(wrongUsername, wrongPassword), false));
|
||||
results.Add(Test("WrongUsernameCorrectPassword", Authentication.CheckPassword(wrongUsername, password), false));
|
||||
|
||||
|
||||
foreach (bool result in results)
|
||||
if (!result)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
416
HorseIsleServer/HISPtests/UnitTests/PacketTest.cs
Normal file
416
HorseIsleServer/HISPtests/UnitTests/PacketTest.cs
Normal file
|
@ -0,0 +1,416 @@
|
|||
//#define GENERATE
|
||||
|
||||
using HISP.Tests.Properties;
|
||||
using HISP.Game.SwfModules;
|
||||
using HISP.Game;
|
||||
using HISP.Server;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
|
||||
namespace HISP.Tests.UnitTests
|
||||
{
|
||||
public class PacketTest
|
||||
{
|
||||
|
||||
private static Dictionary<string, string> knownGoodPackets = new Dictionary<string, string>();
|
||||
|
||||
public static bool Test(string name, byte[] packet)
|
||||
{
|
||||
#if GENERATE
|
||||
knownGoodPackets.Add(name, Convert.ToBase64String(packet));
|
||||
return true;
|
||||
#else
|
||||
string goodPacketStr = null;
|
||||
knownGoodPackets.TryGetValue(name, out goodPacketStr);
|
||||
byte[] goodPacket = Convert.FromBase64String(goodPacketStr);
|
||||
|
||||
|
||||
if(!goodPacket.SequenceEqual(packet))
|
||||
{
|
||||
ResultLogger.LogTestResult(false, "PACKET_TEST "+name, BitConverter.ToString(packet).Replace("-", ""), goodPacket.ToString().Replace("-", ""));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
ResultLogger.LogTestStatus(true, "PACKET_TEST " + name, "Success.");
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
public static bool RunPacketTest()
|
||||
{
|
||||
#if !GENERATE
|
||||
JObject jobj = JsonConvert.DeserializeObject(Resources.PacketTestDataSet) as JObject;
|
||||
knownGoodPackets = jobj.ToObject<Dictionary<string, string>>();
|
||||
#endif
|
||||
|
||||
List<bool> results = new List<bool>();
|
||||
|
||||
results.Add(Test("2PlayerClose", PacketBuilder.Create2PlayerClose()));
|
||||
|
||||
// Test Map
|
||||
results.Add(Test("BirdMap_OutsideMapTop", PacketBuilder.CreateBirdMap(-100, -800)));
|
||||
results.Add(Test("BirdMap_OutsideMapBottom", PacketBuilder.CreateBirdMap(Map.Height+100, Map.Width+600)));
|
||||
results.Add(Test("BirdMap_InsideMap", PacketBuilder.CreateBirdMap(100, 200)));
|
||||
|
||||
// Test Brickpoet
|
||||
results.Add(Test("BrickPoetList", PacketBuilder.CreateBrickPoetList(Brickpoet.GetPoetryRoom(1))));
|
||||
results.Add(Test("BrickPoetMove", PacketBuilder.CreateBrickPoetMove(Brickpoet.GetPoetryPeice(Brickpoet.GetPoetryRoom(1), 30))));
|
||||
|
||||
// Test Chat
|
||||
results.Add(Test("ChatBottomLeft", PacketBuilder.CreateChat("Trans Rights", PacketBuilder.CHAT_BOTTOM_LEFT)));
|
||||
results.Add(Test("ChatBottomRight", PacketBuilder.CreateChat("Are Human", PacketBuilder.CHAT_BOTTOM_RIGHT)));
|
||||
results.Add(Test("ChatDmRight", PacketBuilder.CreateChat("Rights", PacketBuilder.CHAT_DM_RIGHT)));
|
||||
results.Add(Test("ChatMotd", PacketBuilder.CreateMotd("Enbies are valid!")));
|
||||
|
||||
// Test Drawing Room
|
||||
results.Add(Test("DrawingRoomUpdate", PacketBuilder.CreateDrawingUpdate("C959|64^67|66^73|68^79|69^87")));
|
||||
|
||||
// Test Dressup Room
|
||||
results.Add(Test("DressupRoomPeiceLoad", PacketBuilder.CreateDressupRoomPeiceLoad(Dressup.GetDressupRoom(2).DressupPeices)));
|
||||
results.Add(Test("DressupRoomPeiceMove", PacketBuilder.CreateDressupRoomPeiceMove(11, 14.4, 2.4, true)));
|
||||
|
||||
// Test SwfModule Forwarding
|
||||
results.Add(Test("ForwardedSwfModule_516152", PacketBuilder.CreateForwardedSwfModule(new byte[] { 0x51, 0x61, 0x52 })));
|
||||
results.Add(Test("ForwardedSwfModule_AF8D91C8", PacketBuilder.CreateForwardedSwfModule(new byte[] { 0xAF, 0x8D, 0x91, 0xC8 })));
|
||||
|
||||
// Test KeepAlive
|
||||
results.Add(Test("KeepAlive", PacketBuilder.CreateKeepAlive()));
|
||||
|
||||
// Test KickMessage
|
||||
results.Add(Test("KickMessage", PacketBuilder.CreateKickMessage("Transphobia")));
|
||||
|
||||
// Test Login
|
||||
results.Add(Test("LoginSuccess", PacketBuilder.CreateLogin(true)));
|
||||
results.Add(Test("LoginFail", PacketBuilder.CreateLogin(false)));
|
||||
results.Add(Test("LoginFail_ReasonBanned", PacketBuilder.CreateLogin(false, "You are banned.")));
|
||||
|
||||
// Test Meta
|
||||
results.Add(Test("CreateMeta", PacketBuilder.CreateMeta("^R1Trans Rights^X^Z")));
|
||||
|
||||
// Test Money, PlayerCount, Mail
|
||||
results.Add(Test("MoneyPlayerCountAndMail", PacketBuilder.CreateMoneyPlayerCountAndMail(100, 1, 40)));
|
||||
|
||||
// Test Movement
|
||||
results.Add(Test("Movement_DirectionUpMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpInsideMapWalk", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownInsideMapWalk", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftInsideMapWalk", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightInsideMapWalk", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateInsideMapWalk", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeInsideMapWalk", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
// walk = false
|
||||
|
||||
results.Add(Test("Movement_DirectionUpMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpInsideMap", PacketBuilder.CreateMovement(100, 131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownInsideMap", PacketBuilder.CreateMovement(123, 170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftInsideMap", PacketBuilder.CreateMovement(210, 156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightInsideMap", PacketBuilder.CreateMovement(51, 53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateInsideMap", PacketBuilder.CreateMovement(90, 150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeInsideMap", PacketBuilder.CreateMovement(87, 43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
/*
|
||||
* Test Outside Map (From Top)
|
||||
*/
|
||||
|
||||
results.Add(Test("Movement_DirectionUpMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpOutsideMapTopWalk", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownOutsideMapTopWalk", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftOutsideMapTopWalk", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightOutsideMapTopWalk", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateOutsideMapTopWalk", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeOutsideMapTopWalk", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
// walk = false
|
||||
|
||||
results.Add(Test("Movement_DirectionUpMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpOutsideMapTop", PacketBuilder.CreateMovement(-100, -131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownOutsideMapTop", PacketBuilder.CreateMovement(-123, -170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftOutsideMapTop", PacketBuilder.CreateMovement(-210, -156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightOutsideMapTop", PacketBuilder.CreateMovement(-51, -53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateOutsideMapTop", PacketBuilder.CreateMovement(-90, -150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeOutsideMapTop", PacketBuilder.CreateMovement(-87, -43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
/*
|
||||
* Test Outside Map (From Bottom)
|
||||
*/
|
||||
|
||||
results.Add(Test("Movement_DirectionUpMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, true)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeOutsideMapBottomWalk", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, true)));
|
||||
|
||||
// walk = false
|
||||
|
||||
results.Add(Test("Movement_DirectionUpMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionUpMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_UP, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionDownMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionDownMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_DOWN, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionLeftMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_LEFT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionRightMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionRightMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_RIGHT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionTeleportMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_TELEPORT, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+100, Map.Height+131, 10, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UP, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveDownOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+123, Map.Height+170, 12, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_DOWN, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveLeftOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+210, Map.Height+156, 14, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_LEFT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveRightOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+51, Map.Height+53, 16, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_RIGHT, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveUpdateOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+90, Map.Height+150, 1, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_UPDATE, false)));
|
||||
results.Add(Test("Movement_DirectionNoneMoveEscapeOutsideMapBottom", PacketBuilder.CreateMovement(Map.Width+87, Map.Height+43, 7, PacketBuilder.DIRECTION_NONE, PacketBuilder.MOVE_ESCAPE, false)));
|
||||
|
||||
// Test Place Data Packet
|
||||
results.Add(Test("PlaceData", PacketBuilder.CreatePlaceData(World.Isles.ToArray(), World.Towns.ToArray(), World.Areas.ToArray())));
|
||||
|
||||
// Test Player Update
|
||||
results.Add(Test("PlayerInfoUpdateOrCreate", PacketBuilder.CreatePlayerInfoUpdateOrCreate(100, 200, PacketBuilder.DIRECTION_UP, 10, "Li")));
|
||||
results.Add(Test("PlayerLeave", PacketBuilder.CreatePlayerLeave("Li")));
|
||||
|
||||
// Test PlaySound Packet
|
||||
results.Add(Test("PlaySound", PacketBuilder.CreatePlaySound("PM")));
|
||||
|
||||
// Test Profile Page
|
||||
results.Add(Test("ProfilePage", PacketBuilder.CreateProfilePage("TRANS RIGHTS ARE HUMAN RIGHTS")));
|
||||
|
||||
// Test SecCode
|
||||
results.Add(Test("SecCode_AdminMod", PacketBuilder.CreateSecCode(new byte[] { 0x31, 0x52, 0x22 }, 0x34, true, true)));
|
||||
results.Add(Test("SecCode_Admin", PacketBuilder.CreateSecCode(new byte[] { 0x54, 0x32, 0x24 }, 0x34, true, false)));
|
||||
results.Add(Test("SecCode_Mod", PacketBuilder.CreateSecCode(new byte[] { 0x22, 0x12, 0x12 }, 0x34, false, true)));
|
||||
results.Add(Test("SecCode_User", PacketBuilder.CreateSecCode(new byte[] { 0x12, 0x32, 0x14 }, 0x34, false, false)));
|
||||
|
||||
// Test SwfModule
|
||||
results.Add(Test("SwfModule_Force", PacketBuilder.CreateSwfModule("test.swf", PacketBuilder.PACKET_SWF_MODULE_FORCE)));
|
||||
results.Add(Test("SwfModule_Gentle", PacketBuilder.CreateSwfModule("test.swf", PacketBuilder.PACKET_SWF_MODULE_GENTLE)));
|
||||
results.Add(Test("SwfModule_Cutscene", PacketBuilder.CreateSwfModule("test.swf", PacketBuilder.PACKET_SWF_MODULE_CUTSCENE)));
|
||||
|
||||
// Test TileClickInfo
|
||||
results.Add(Test("TileClickInfo", PacketBuilder.CreateTileClickInfo("Trans Rights Are Human Rights")));
|
||||
|
||||
// Test TileOverlayFlags
|
||||
//results.Add(Test("TileOverlayFlags", PacketBuilder.CreateTileOverlayFlags(new int[] { 1, 2, 3, 1, 2, 3, 1, 2, 3 })));
|
||||
|
||||
// Test TimeAndWeatherUpdate
|
||||
results.Add(Test("TimeAndWeatherUpdate", PacketBuilder.CreateTimeAndWeatherUpdate(10, 4, 541, "SUNNY")));
|
||||
results.Add(Test("WeatherUpdate", PacketBuilder.CreateWeatherUpdate("CLOUD")));
|
||||
|
||||
#if GENERATE
|
||||
string resultsStr = JsonConvert.SerializeObject(knownGoodPackets, Formatting.Indented);
|
||||
File.WriteAllText("test.json", resultsStr);
|
||||
#endif
|
||||
|
||||
foreach(bool result in results)
|
||||
{
|
||||
if (result == false)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
40
HorseIsleServer/HISPtests/UnitTests/ServerStartTest.cs
Normal file
40
HorseIsleServer/HISPtests/UnitTests/ServerStartTest.cs
Normal file
|
@ -0,0 +1,40 @@
|
|||
using HISP.Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HISP.Tests.UnitTests
|
||||
{
|
||||
public class ServerStartTest
|
||||
{
|
||||
|
||||
public static void OnShutdown()
|
||||
{
|
||||
ResultLogger.LogTestStatus(false, "START_SERVER", "OnShutdown called");
|
||||
}
|
||||
public static void LogStdout(bool error, string type, string text)
|
||||
{
|
||||
if (type == "CRASH")
|
||||
ResultLogger.LogTestStatus(false, "START_SERVER", text);
|
||||
}
|
||||
|
||||
public static bool RunServerStartTest()
|
||||
{
|
||||
try
|
||||
{
|
||||
Logger.SetCallback(LogStdout);
|
||||
Entry.SetShutdownCallback(OnShutdown);
|
||||
Entry.Start();
|
||||
ResultLogger.LogTestStatus(true, "START_SERVER_TEST", "Success.");
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ResultLogger.LogTestStatus(false, "START_SERVER_TEST", e.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
248
HorseIsleServer/HISPtests/UnitTests/UserTest.cs
Normal file
248
HorseIsleServer/HISPtests/UnitTests/UserTest.cs
Normal file
|
@ -0,0 +1,248 @@
|
|||
using HISP.Game;
|
||||
using HISP.Game.Horse;
|
||||
using HISP.Game.Items;
|
||||
using HISP.Player;
|
||||
using HISP.Security;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Sockets;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HISP.Tests.UnitTests
|
||||
{
|
||||
public class UserTest
|
||||
{
|
||||
private const string ALLOWED_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
|
||||
|
||||
private static byte[] createLoginPacket(string username, string password)
|
||||
{
|
||||
byte[] loginInformation = Encoding.UTF8.GetBytes("91|" + Authentication.EncryptLogin(username) + "|" + Authentication.EncryptLogin(password) + "|");
|
||||
byte[] loginPacket = new byte[1 * 3 + loginInformation.Length];
|
||||
loginPacket[0] = PacketBuilder.PACKET_LOGIN;
|
||||
loginPacket[loginPacket.Length - 2] = PacketBuilder.PACKET_CLIENT_TERMINATOR;
|
||||
loginPacket[loginPacket.Length - 1] = 0;
|
||||
|
||||
Array.ConstrainedCopy(loginInformation, 0, loginPacket, 1, loginInformation.Length);
|
||||
|
||||
return loginPacket;
|
||||
}
|
||||
|
||||
private static byte[] createUserInfoPacket()
|
||||
{
|
||||
byte[] packet = new byte[] { PacketBuilder.PACKET_LOGIN, PacketBuilder.PACKET_CLIENT_TERMINATOR, 0};
|
||||
return packet;
|
||||
}
|
||||
|
||||
public static bool Test(string testName, object value, object valueComp)
|
||||
{
|
||||
bool result = value.Equals(valueComp);
|
||||
if (result)
|
||||
ResultLogger.LogTestStatus(true, "USER_TEST "+testName, "Success.");
|
||||
else
|
||||
ResultLogger.LogTestResult(false, "USER_TEST " + testName, value.ToString(), valueComp.ToString());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static async Task<byte[]> receiveAsync(Socket s)
|
||||
{
|
||||
byte[] buffer = new byte[s.Available];
|
||||
await s.ReceiveAsync(buffer);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
public static async Task<bool> RunUserTest()
|
||||
{
|
||||
List<bool> results = new List<bool>();
|
||||
|
||||
string username = Helper.RandomString(ALLOWED_CHARS);
|
||||
string password = Helper.RandomString(ALLOWED_CHARS);
|
||||
|
||||
int userId = Authentication.CreateAccount(username, password, "GENDERFLUID", true, true);
|
||||
|
||||
// Connect to running server via TCP;
|
||||
using (Socket hispServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
|
||||
{
|
||||
// This is already a pretty good unit test; confirming we can actually login to the game,
|
||||
|
||||
try
|
||||
{
|
||||
await hispServer.ConnectAsync("127.0.0.1", ConfigReader.Port);
|
||||
|
||||
// Login to the game;
|
||||
await hispServer.SendAsync(createLoginPacket(username, password));
|
||||
await receiveAsync(hispServer);
|
||||
|
||||
await hispServer.SendAsync(createUserInfoPacket());
|
||||
await receiveAsync(hispServer);
|
||||
|
||||
|
||||
ResultLogger.LogTestStatus(true, "GAME_LOGIN_TEST", "Success.");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ResultLogger.LogTestStatus(false, "GAME_LOGIN_TEST", e.Message);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// While were here; lets do a bunch of tests on HISPs "User" object.
|
||||
User user = GameServer.GetUserById(userId);
|
||||
|
||||
|
||||
// Test Maximums
|
||||
|
||||
user.SetMoney(Int32.MaxValue);
|
||||
user.AddMoney(1000);
|
||||
results.Add(Test("MoneyOverflow", user.Money, Int32.MaxValue));
|
||||
|
||||
user.Hunger = 8000;
|
||||
results.Add(Test("HungerMaximumEnforcement", user.Hunger, 1000));
|
||||
user.Hunger = -8000;
|
||||
results.Add(Test("HungerMinimumEnforcement", user.Hunger, 0));
|
||||
|
||||
user.Thirst = 8000;
|
||||
results.Add(Test("ThirstMaximumEnforcement", user.Thirst, 1000));
|
||||
user.Thirst = -8000;
|
||||
results.Add(Test("ThirstMinimumEnforcement", user.Thirst, 0));
|
||||
|
||||
user.Tiredness = 8000;
|
||||
results.Add(Test("TirednessMaximumEnforcement", user.Tiredness, 1000));
|
||||
user.Tiredness = -8000;
|
||||
results.Add(Test("TirednessMinimumEnforcement", user.Tiredness, 0));
|
||||
|
||||
|
||||
user.BankMoney = 9999999999.9999;
|
||||
user.BankMoney += 1000.0;
|
||||
results.Add(Test("BankMoneyMaximumEnforcement", user.BankMoney, 9999999999.9999));
|
||||
|
||||
user.BankInterest = 9999999999.9999;
|
||||
user.BankInterest += 1000.0;
|
||||
results.Add(Test("BankInterestMaximumEnforcement", user.BankInterest, 9999999999.9999));
|
||||
|
||||
// Test Gender Setting
|
||||
user.Gender = "GENDERFLUID";
|
||||
results.Add(Test("GenderedPronounsTestTheir", user.GetPronouns(true), Messages.PronounNeutralTheir));
|
||||
results.Add(Test("GenderedPronounsTestThey", user.GetPronouns(false), Messages.PronounNeutralThey));
|
||||
|
||||
user.Gender = "MALE";
|
||||
results.Add(Test("GenderedPronounsTestHis", user.GetPronouns(true), Messages.PronounMaleHis));
|
||||
results.Add(Test("GenderedPronounsTestHe", user.GetPronouns(false), Messages.PronounMaleHe));
|
||||
|
||||
user.Gender = "FEMALE";
|
||||
results.Add(Test("GenderedPronounsTestHer", user.GetPronouns(true), Messages.PronounFemaleHer));
|
||||
results.Add(Test("GenderedPronounsTestShe", user.GetPronouns(false), Messages.PronounFemaleShe));
|
||||
|
||||
// Test icon
|
||||
|
||||
results.Add(Test("IconTestAdmin", user.GetPlayerListIcon(), Messages.AdminIcon));
|
||||
user.Administrator = false;
|
||||
results.Add(Test("IconTestModerator", user.GetPlayerListIcon(), Messages.ModeratorIcon));
|
||||
user.Moderator = false;
|
||||
results.Add(Test("IconTestNew", user.GetPlayerListIcon(), Messages.NewUserIcon));
|
||||
user.NewPlayer = false;
|
||||
results.Add(Test("IconTestNone", user.GetPlayerListIcon(), -1));
|
||||
|
||||
user.SubscribedUntil = DateTime.UtcNow.AddMonths(1);
|
||||
user.Subscribed = true;
|
||||
results.Add(Test("IconTest1Month", user.GetPlayerListIcon(), Messages.MonthSubscriptionIcon));
|
||||
user.SubscribedUntil = DateTime.UtcNow.AddMonths(3);
|
||||
results.Add(Test("IconTest3Month", user.GetPlayerListIcon(), Messages.ThreeMonthSubscripitionIcon));
|
||||
user.SubscribedUntil = DateTime.UtcNow.AddYears(1).AddMonths(3);
|
||||
results.Add(Test("IconTest1Year", user.GetPlayerListIcon(), Messages.YearSubscriptionIcon));
|
||||
|
||||
// SecCode
|
||||
user.SecCodeSeeds[0] = 0x34;
|
||||
user.SecCodeSeeds[1] = 0x39;
|
||||
user.SecCodeSeeds[2] = 0x2a;
|
||||
user.SecCodeInc = 0x3e;
|
||||
|
||||
byte[] expectedSecCodeResult = { 0x55, 0x3C, 0x4B, 0x58 };
|
||||
byte[] gotSecCode = user.GenerateSecCode();
|
||||
|
||||
results.Add(Test("GenerateSecCode", gotSecCode.SequenceEqual(expectedSecCodeResult), true));
|
||||
|
||||
// Check max horses count
|
||||
user.Subscribed = false;
|
||||
results.Add(Test("UnsubbedMaxHorses", user.MaxHorses, 7));
|
||||
|
||||
user.Subscribed = true;
|
||||
results.Add(Test("SubbedMaxHorses", user.MaxHorses, 11));
|
||||
|
||||
|
||||
HorseInstance horse = new HorseInstance(HorseInfo.GetBreedById(170));
|
||||
horse.BasicStats.Thirst = 0;
|
||||
horse.BasicStats.Hunger = 0;
|
||||
int horseId = horse.RandomId;
|
||||
|
||||
user.HorseInventory.AddHorse(horse);
|
||||
|
||||
/*
|
||||
* Test Ranches
|
||||
*/
|
||||
|
||||
// Give player ranch id 10
|
||||
Ranch.GetRanchById(37).OwnerId = user.Id;
|
||||
|
||||
// Check ranch is now owned by that player, and propagates to user object.
|
||||
results.Add(Test("GiveRanchTest", user.OwnedRanch.Id, 37));
|
||||
results.Add(Test("HaveDorothyShoes", user.Inventory.HasItemId(Item.DorothyShoes), true));
|
||||
|
||||
// Ranch upgrade test
|
||||
foreach(Ranch.RanchUpgrade upgrade in Ranch.RanchUpgrade.RanchUpgrades)
|
||||
{
|
||||
int id = upgrade.Id;
|
||||
user.OwnedRanch.UpgradedLevel = id;
|
||||
}
|
||||
|
||||
// Test swf
|
||||
results.Add(Test("RanchSwfMine", user.OwnedRanch.GetSwf(true), "ranchviewer.swf?H=10&B1=11&B2=&B3=&B4=&B5=&B6=&B7=&B8=&B9=&B10=&B11=&B12=&B13=&B14=&B15=&B16=&MINE=1"));
|
||||
results.Add(Test("RanchSwf", user.OwnedRanch.GetSwf(false), "ranchviewer.swf?H=10&B1=11&B2=&B3=&B4=&B5=&B6=&B7=&B8=&B9=&B10=&B11=&B12=&B13=&B14=&B15=&B16="));
|
||||
|
||||
// Test Ranch Building Functionality
|
||||
|
||||
// Test Barn
|
||||
user.OwnedRanch.SetBuilding(0, Ranch.RanchBuilding.GetRanchBuildingById(1)); // Barn
|
||||
results.Add(Test("RanchBarnMaxHorses", user.MaxHorses, 11 + 4));
|
||||
|
||||
// Test Water Well
|
||||
user.OwnedRanch.SetBuilding(0, Ranch.RanchBuilding.GetRanchBuildingById(2)); // Water Well
|
||||
user.Teleport(user.OwnedRanch.X, user.OwnedRanch.Y);
|
||||
results.Add(Test("RanchWaterWellWatering", user.HorseInventory.GetHorseById(horseId).BasicStats.Thirst, 1000));
|
||||
|
||||
// Test Grain Silo
|
||||
user.OwnedRanch.SetBuilding(0, Ranch.RanchBuilding.GetRanchBuildingById(3)); // Grain Silo
|
||||
user.Teleport(user.OwnedRanch.X, user.OwnedRanch.Y);
|
||||
results.Add(Test("RanchGrainSiloFeeding", user.HorseInventory.GetHorseById(horseId).BasicStats.Hunger, 1000));
|
||||
|
||||
|
||||
// Set building id 0 to a big barn
|
||||
user.OwnedRanch.SetBuilding(0, Ranch.RanchBuilding.GetRanchBuildingById(10)); // Big Barn
|
||||
results.Add(Test("RanchBigBarnMaxHorses", user.MaxHorses, 11 + 8));
|
||||
|
||||
// Set building id 0 to a gold barn
|
||||
user.OwnedRanch.SetBuilding(0, Ranch.RanchBuilding.GetRanchBuildingById(11)); // Gold Barn
|
||||
results.Add(Test("RanchGoldBarnMaxHorses", user.MaxHorses, 11 + 12));
|
||||
|
||||
|
||||
|
||||
|
||||
foreach (bool result in results)
|
||||
if (!result)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
@ -1,956 +0,0 @@
|
|||
"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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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:<VsdDialogDir>\\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"
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
3
HorseIsleServer/LibHISP/Game/AbuseReport.cs
Normal file → Executable file
3
HorseIsleServer/LibHISP/Game/AbuseReport.cs
Normal file → Executable file
|
@ -1,4 +1,5 @@
|
|||
using System.Collections.Generic;
|
||||
using HISP.Server;
|
||||
using System.Collections.Generic;
|
||||
namespace HISP.Game
|
||||
{
|
||||
public class AbuseReport
|
||||
|
|
24
HorseIsleServer/LibHISP/Game/Arena.cs
Normal file → Executable file
24
HorseIsleServer/LibHISP/Game/Arena.cs
Normal file → Executable file
|
@ -2,7 +2,7 @@
|
|||
using HISP.Player;
|
||||
using HISP.Security;
|
||||
using HISP.Server;
|
||||
|
||||
using HISP.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
@ -14,7 +14,7 @@ namespace HISP.Game
|
|||
{
|
||||
|
||||
private static List<Arena> arenas = new List<Arena>();
|
||||
private List<ArenaEntry> entries;
|
||||
private ThreadSafeList<ArenaEntry> entries;
|
||||
private Timer arenaTimeout;
|
||||
public static int[] ExpRewards;
|
||||
public int Id;
|
||||
|
@ -59,7 +59,7 @@ namespace HISP.Game
|
|||
Slots = slots;
|
||||
Timeout = timeOut;
|
||||
arenas.Add(this);
|
||||
entries = new List<ArenaEntry>();
|
||||
entries = new ThreadSafeList<ArenaEntry>();
|
||||
}
|
||||
|
||||
public bool HaveAllPlayersCompleted()
|
||||
|
@ -201,10 +201,10 @@ namespace HISP.Game
|
|||
break;
|
||||
}
|
||||
byte[] startingUpEventPacket = PacketBuilder.CreateChat(message, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
byte[] swfModulePacket = PacketBuilder.CreateSwfModulePacket(swf, PacketBuilder.PACKET_SWF_CUTSCENE);
|
||||
byte[] swfModulePacket = PacketBuilder.CreateSwfModule(swf, PacketBuilder.PACKET_SWF_MODULE_CUTSCENE);
|
||||
Logger.DebugPrint(entry.EnteredUser.Username + " Loading swf: " + swf);
|
||||
entry.EnteredUser.LoggedinClient.SendPacket(swfModulePacket);
|
||||
entry.EnteredUser.LoggedinClient.SendPacket(startingUpEventPacket);
|
||||
entry.EnteredUser.Client.SendPacket(swfModulePacket);
|
||||
entry.EnteredUser.Client.SendPacket(startingUpEventPacket);
|
||||
}
|
||||
|
||||
arenaTimeout = new Timer(new TimerCallback(arenaTimedOut), null, Timeout * 60 * 1000, Timeout * 60 * 1000);
|
||||
|
@ -275,7 +275,7 @@ namespace HISP.Game
|
|||
try
|
||||
{
|
||||
byte[] arenaResults = PacketBuilder.CreateChat(chatMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
entry.EnteredUser.LoggedinClient.SendPacket(arenaResults);
|
||||
entry.EnteredUser.Client.SendPacket(arenaResults);
|
||||
|
||||
int expReward = expRewards[place];
|
||||
|
||||
|
@ -289,7 +289,7 @@ namespace HISP.Game
|
|||
|
||||
|
||||
byte[] youWinMessage = PacketBuilder.CreateChat(Messages.FormatArenaYouWinMessage(prize, expReward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
entry.EnteredUser.LoggedinClient.SendPacket(youWinMessage);
|
||||
entry.EnteredUser.Client.SendPacket(youWinMessage);
|
||||
|
||||
// Awards:
|
||||
|
||||
|
@ -327,7 +327,7 @@ namespace HISP.Game
|
|||
entry.EnteredUser.Awards.AddAward(Award.GetAwardById(32)); // Perseverance
|
||||
|
||||
byte[] youDONTWinMessage = PacketBuilder.CreateChat(Messages.FormatArenaOnlyWinnerWinsMessage(expReward), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
entry.EnteredUser.LoggedinClient.SendPacket(youDONTWinMessage);
|
||||
entry.EnteredUser.Client.SendPacket(youDONTWinMessage);
|
||||
}
|
||||
place++;
|
||||
}
|
||||
|
@ -361,8 +361,8 @@ namespace HISP.Game
|
|||
if (Entries.Length + 1 > Slots)
|
||||
{
|
||||
byte[] enterFailed = PacketBuilder.CreateChat(Messages.ArenaFullErrorMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(enterFailed);
|
||||
GameServer.UpdateArea(user.LoggedinClient);
|
||||
user.Client.SendPacket(enterFailed);
|
||||
GameServer.UpdateArea(user.Client);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -378,7 +378,7 @@ namespace HISP.Game
|
|||
user.TakeMoney(EntryCost);
|
||||
|
||||
byte[] enteredIntoCompetition = PacketBuilder.CreateChat(Messages.ArenaEnteredInto, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(enteredIntoCompetition);
|
||||
user.Client.SendPacket(enteredIntoCompetition);
|
||||
GameServer.UpdateAreaForAll(user.X, user.Y, true);
|
||||
|
||||
return;
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Book.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Book.cs
Normal file → Executable file
File diff suppressed because it is too large
Load diff
2092
HorseIsleServer/LibHISP/Game/Chat/Command.cs
Normal file → Executable file
2092
HorseIsleServer/LibHISP/Game/Chat/Command.cs
Normal file → Executable file
File diff suppressed because it is too large
Load diff
57
HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
Executable file
57
HorseIsleServer/LibHISP/Game/Chat/CommandRegister.cs
Executable file
|
@ -0,0 +1,57 @@
|
|||
using HISP.Player;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
||||
namespace HISP.Game.Chat
|
||||
{
|
||||
public class CommandRegister
|
||||
{
|
||||
private static List<CommandRegister> registeredComamnds = new List<CommandRegister>();
|
||||
public static CommandRegister[] RegisteredCommands
|
||||
{
|
||||
get
|
||||
{
|
||||
return registeredComamnds.ToArray();
|
||||
}
|
||||
}
|
||||
private Func<string, string[], User, bool> commandCallback;
|
||||
|
||||
public bool CmdRequiresAdmin;
|
||||
public bool CmdRequiresMod;
|
||||
|
||||
public char CmdLetter;
|
||||
public string CmdName;
|
||||
public string CmdUsage;
|
||||
public CommandRegister(char cmdLetter, string cmdName, string cmdUsage, Func<string, string[], User, bool> cmdCallback, bool cmdRequiresAdmin, bool cmdRequiresMod)
|
||||
{
|
||||
this.CmdLetter = cmdLetter;
|
||||
this.CmdName = cmdName.ToUpper(CultureInfo.InvariantCulture).Trim();
|
||||
this.CmdUsage = cmdUsage;
|
||||
|
||||
this.CmdRequiresMod = cmdRequiresMod;
|
||||
this.CmdRequiresAdmin = cmdRequiresAdmin;
|
||||
|
||||
this.commandCallback = cmdCallback;
|
||||
|
||||
registeredComamnds.Add(this);
|
||||
}
|
||||
|
||||
public bool HasPermission(User user)
|
||||
{
|
||||
if (CmdRequiresAdmin && !(user.Administrator))
|
||||
return false;
|
||||
if (CmdRequiresMod && !(user.Moderator || user.Administrator))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Execute(string message, string[] args, User user)
|
||||
{
|
||||
if(HasPermission(user))
|
||||
return commandCallback(message, args, user);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
0
HorseIsleServer/LibHISP/Game/Chat/SocialType.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Chat/SocialType.cs
Normal file → Executable file
16
HorseIsleServer/LibHISP/Game/Events/IsleCardTradingGame.cs
Normal file → Executable file
16
HorseIsleServer/LibHISP/Game/Events/IsleCardTradingGame.cs
Normal file → Executable file
|
@ -54,16 +54,16 @@ namespace HISP.Game.Events
|
|||
int totalTypes = 0;
|
||||
|
||||
foreach (int itemId in Item.TradingCards)
|
||||
if (client.LoggedinUser.Inventory.HasItemId(itemId))
|
||||
totalCards += client.LoggedinUser.Inventory.GetItemByItemId(itemId).ItemInstances.Length;
|
||||
if (client.User.Inventory.HasItemId(itemId))
|
||||
totalCards += client.User.Inventory.GetItemByItemId(itemId).ItemInstances.Length;
|
||||
|
||||
if (client.LoggedinUser.Inventory.HasItemId(Item.ColtTradingCard))
|
||||
if (client.User.Inventory.HasItemId(Item.ColtTradingCard))
|
||||
totalTypes++;
|
||||
if (client.LoggedinUser.Inventory.HasItemId(Item.FillyTradingCard))
|
||||
if (client.User.Inventory.HasItemId(Item.FillyTradingCard))
|
||||
totalTypes++;
|
||||
if (client.LoggedinUser.Inventory.HasItemId(Item.MareTradingCard))
|
||||
if (client.User.Inventory.HasItemId(Item.MareTradingCard))
|
||||
totalTypes++;
|
||||
if (client.LoggedinUser.Inventory.HasItemId(Item.StallionTradingCard))
|
||||
if (client.User.Inventory.HasItemId(Item.StallionTradingCard))
|
||||
totalTypes++;
|
||||
|
||||
if(totalCards > 4)
|
||||
|
@ -93,12 +93,12 @@ namespace HISP.Game.Events
|
|||
}
|
||||
else if (totalTypes == 4)
|
||||
{
|
||||
client.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.IsleCardsGameWin).Count++;
|
||||
client.User.TrackedItems.GetTrackedItem(Tracking.TrackableItem.IsleCardsGameWin).Count++;
|
||||
|
||||
byte[] wonIsleCardGame = PacketBuilder.CreateChat(Messages.EventWonIsleTradingGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
client.SendPacket(wonIsleCardGame);
|
||||
|
||||
client.LoggedinUser.AddMoney(25000);
|
||||
client.User.AddMoney(25000);
|
||||
|
||||
}
|
||||
|
||||
|
|
13
HorseIsleServer/LibHISP/Game/Events/ModsRevenge.cs
Normal file → Executable file
13
HorseIsleServer/LibHISP/Game/Events/ModsRevenge.cs
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
|||
using HISP.Game.Items;
|
||||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
|
@ -13,7 +14,7 @@ namespace HISP.Game.Events
|
|||
public ThrowTracker(User thrower)
|
||||
{
|
||||
Thrower = thrower;
|
||||
thrownAt = new List<User>();
|
||||
thrownAt = new ThreadSafeList<User>();
|
||||
}
|
||||
|
||||
public void AddThrownAt(User user)
|
||||
|
@ -21,7 +22,7 @@ namespace HISP.Game.Events
|
|||
thrownAt.Add(user);
|
||||
}
|
||||
public User Thrower;
|
||||
private List<User> thrownAt;
|
||||
private ThreadSafeList<User> thrownAt;
|
||||
public User[] ThrownAt
|
||||
{
|
||||
get
|
||||
|
@ -33,7 +34,7 @@ namespace HISP.Game.Events
|
|||
|
||||
public bool Active = false;
|
||||
public const int REVENGE_TIMEOUT = 10;
|
||||
private List<ThrowTracker> trackedThrows;
|
||||
private ThreadSafeList<ThrowTracker> trackedThrows;
|
||||
private Timer revengeTimeout;
|
||||
public ThrowTracker[] TrackedThrows
|
||||
{
|
||||
|
@ -45,7 +46,7 @@ namespace HISP.Game.Events
|
|||
|
||||
public ModsRevenge()
|
||||
{
|
||||
trackedThrows = new List<ThrowTracker>();
|
||||
trackedThrows = new ThreadSafeList<ThrowTracker>();
|
||||
Active = false;
|
||||
}
|
||||
|
||||
|
@ -147,8 +148,8 @@ namespace HISP.Game.Events
|
|||
thrower.AddMoney(50);
|
||||
throwAt.AddMoney(500);
|
||||
|
||||
thrower.LoggedinClient.SendPacket(youEarned);
|
||||
throwAt.LoggedinClient.SendPacket(otherEarned);
|
||||
thrower.Client.SendPacket(youEarned);
|
||||
throwAt.Client.SendPacket(otherEarned);
|
||||
|
||||
throwCounter.AddThrownAt(throwAt);
|
||||
}
|
||||
|
|
2
HorseIsleServer/LibHISP/Game/Events/RandomEvent.cs
Normal file → Executable file
2
HorseIsleServer/LibHISP/Game/Events/RandomEvent.cs
Normal file → Executable file
|
@ -59,7 +59,7 @@ namespace HISP.Game.Events
|
|||
|
||||
string msg = Messages.FormatRandomEvent(rngEvent.Text, moneyEarned, horseName);
|
||||
byte[] chatPacket = PacketBuilder.CreateChat(Messages.RandomEventPrefix + msg, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(chatPacket);
|
||||
user.Client.SendPacket(chatPacket);
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
17
HorseIsleServer/LibHISP/Game/Events/RealTimeQuiz.cs
Normal file → Executable file
17
HorseIsleServer/LibHISP/Game/Events/RealTimeQuiz.cs
Normal file → Executable file
|
@ -1,5 +1,6 @@
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
|
@ -46,8 +47,8 @@ namespace HISP.Game.Events
|
|||
if (this.Quit)
|
||||
return;
|
||||
|
||||
byte[] realTimeQuizQuestion = PacketBuilder.CreateMetaPacket(Meta.BuildRealTimeQuiz(this));
|
||||
this.UserInstance.LoggedinClient.SendPacket(realTimeQuizQuestion);
|
||||
byte[] realTimeQuizQuestion = PacketBuilder.CreateMeta(Meta.BuildRealTimeQuiz(this));
|
||||
this.UserInstance.Client.SendPacket(realTimeQuizQuestion);
|
||||
}
|
||||
|
||||
public void CheckAnswer(string answer)
|
||||
|
@ -97,11 +98,11 @@ namespace HISP.Game.Events
|
|||
return participents.ToArray();
|
||||
}
|
||||
}
|
||||
private List<Participent> participents;
|
||||
private ThreadSafeList<Participent> participents;
|
||||
|
||||
public RealTimeQuiz()
|
||||
{
|
||||
participents = new List<Participent>();
|
||||
participents = new ThreadSafeList<Participent>();
|
||||
Questions = new QuizQuestion[8];
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
|
@ -159,7 +160,7 @@ namespace HISP.Game.Events
|
|||
Participent partcipent = getParticipent(user.Id);
|
||||
partcipent.Quit = true;
|
||||
user.InRealTimeQuiz = false;
|
||||
GameServer.UpdateArea(user.LoggedinClient);
|
||||
GameServer.UpdateArea(user.Client);
|
||||
}
|
||||
catch (KeyNotFoundException) { };
|
||||
}
|
||||
|
@ -218,7 +219,7 @@ namespace HISP.Game.Events
|
|||
|
||||
|
||||
participent.UserInstance.InRealTimeQuiz = false;
|
||||
GameServer.UpdateArea(participent.UserInstance.LoggedinClient);
|
||||
GameServer.UpdateArea(participent.UserInstance.Client);
|
||||
|
||||
int money = 0;
|
||||
|
||||
|
@ -237,12 +238,12 @@ namespace HISP.Game.Events
|
|||
if (participent.Won)
|
||||
{
|
||||
byte[] wonBonusMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeQuizWinBonus(money), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
participent.UserInstance.LoggedinClient.SendPacket(wonBonusMessage);
|
||||
participent.UserInstance.Client.SendPacket(wonBonusMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
byte[] bonusMessage = PacketBuilder.CreateChat(Messages.FormatEventRealTimeQuizBonus(money), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
participent.UserInstance.LoggedinClient.SendPacket(bonusMessage);
|
||||
participent.UserInstance.Client.SendPacket(bonusMessage);
|
||||
}
|
||||
|
||||
participent.UserInstance.AddMoney(money);
|
||||
|
|
4
HorseIsleServer/LibHISP/Game/Events/RealTimeRiddle.cs
Normal file → Executable file
4
HorseIsleServer/LibHISP/Game/Events/RealTimeRiddle.cs
Normal file → Executable file
|
@ -59,7 +59,7 @@ namespace HISP.Game.Events
|
|||
if (Database.HasPlayerCompletedRealTimeRiddle(RiddleId, winner.Id))
|
||||
{
|
||||
byte[] alreadyWonRiddleMessage = PacketBuilder.CreateChat(Messages.EventAlreadySovledRealTimeRiddle, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
winner.LoggedinClient.SendPacket(alreadyWonRiddleMessage);
|
||||
winner.Client.SendPacket(alreadyWonRiddleMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,7 @@ namespace HISP.Game.Events
|
|||
foreach (GameClient client in GameClient.ConnectedClients)
|
||||
{
|
||||
if (client.LoggedIn)
|
||||
if (client.LoggedinUser.Id != winner.Id)
|
||||
if (client.User.Id != winner.Id)
|
||||
client.SendPacket(riddleWonMessage);
|
||||
else
|
||||
client.SendPacket(riddleYouWonMessage);
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Events/TackShopGiveaway.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Events/TackShopGiveaway.cs
Normal file → Executable file
2
HorseIsleServer/LibHISP/Game/Events/WaterBalloonGame.cs
Normal file → Executable file
2
HorseIsleServer/LibHISP/Game/Events/WaterBalloonGame.cs
Normal file → Executable file
|
@ -80,7 +80,7 @@ namespace HISP.Game.Events
|
|||
{
|
||||
byte[] youWinMsg = PacketBuilder.CreateChat(Messages.EventWonWaterBallonGame, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
winner.UserHit.AddMoney(20000);
|
||||
winner.UserHit.LoggedinClient.SendPacket(youWinMsg);
|
||||
winner.UserHit.Client.SendPacket(youWinMsg);
|
||||
winner.UserHit.TrackedItems.GetTrackedItem(Tracking.TrackableItem.WaterbaloonGameWin).Count++;
|
||||
}
|
||||
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/GameExceptions.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/GameExceptions.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/HorseInfo.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/HorseInfo.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/HorseInstance.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/HorseInstance.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/Leaser.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Horse/Leaser.cs
Normal file → Executable file
3
HorseIsleServer/LibHISP/Game/Horse/WildHorse.cs
Normal file → Executable file
3
HorseIsleServer/LibHISP/Game/Horse/WildHorse.cs
Normal file → Executable file
|
@ -1,5 +1,6 @@
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
namespace HISP.Game.Horse
|
||||
{
|
||||
|
@ -181,7 +182,7 @@ namespace HISP.Game.Horse
|
|||
Despawn(this);
|
||||
}
|
||||
|
||||
private static List<WildHorse> wildHorses = new List<WildHorse>();
|
||||
private static ThreadSafeList<WildHorse> wildHorses = new ThreadSafeList<WildHorse>();
|
||||
public static WildHorse[] WildHorses
|
||||
{
|
||||
get
|
||||
|
|
3
HorseIsleServer/LibHISP/Game/Inventory/HorseInventory.cs
Normal file → Executable file
3
HorseIsleServer/LibHISP/Game/Inventory/HorseInventory.cs
Normal file → Executable file
|
@ -1,6 +1,7 @@
|
|||
using HISP.Game.Horse;
|
||||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Game.Inventory
|
||||
|
@ -8,7 +9,7 @@ namespace HISP.Game.Inventory
|
|||
public class HorseInventory
|
||||
{
|
||||
private User baseUser;
|
||||
private List<HorseInstance> horsesList = new List<HorseInstance>();
|
||||
private ThreadSafeList<HorseInstance> horsesList = new ThreadSafeList<HorseInstance>();
|
||||
public HorseInstance[] HorseList
|
||||
{
|
||||
get
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Inventory/IInventory.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Inventory/IInventory.cs
Normal file → Executable file
11
HorseIsleServer/LibHISP/Game/Inventory/InventoryItem.cs
Normal file → Executable file
11
HorseIsleServer/LibHISP/Game/Inventory/InventoryItem.cs
Normal file → Executable file
|
@ -1,21 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using HISP.Game.Items;
|
||||
|
||||
using HISP.Game.Items;
|
||||
using HISP.Util;
|
||||
|
||||
namespace HISP.Game.Inventory
|
||||
{
|
||||
public class InventoryItem
|
||||
{
|
||||
public InventoryItem()
|
||||
{
|
||||
itemInstances = new List<ItemInstance>();
|
||||
itemInstances = new ThreadSafeList<ItemInstance>();
|
||||
Infinite = false;
|
||||
ItemId = 0;
|
||||
}
|
||||
|
||||
public int ItemId;
|
||||
public bool Infinite;
|
||||
private List<ItemInstance> itemInstances;
|
||||
private ThreadSafeList<ItemInstance> itemInstances;
|
||||
public void RemoveItem(ItemInstance itm)
|
||||
{
|
||||
itemInstances.Remove(itm);
|
||||
|
|
11
HorseIsleServer/LibHISP/Game/Inventory/PlayerInventory.cs
Normal file → Executable file
11
HorseIsleServer/LibHISP/Game/Inventory/PlayerInventory.cs
Normal file → Executable file
|
@ -4,19 +4,20 @@ using System.Linq;
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Game.Items;
|
||||
|
||||
using HISP.Util;
|
||||
|
||||
namespace HISP.Game.Inventory
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
public class PlayerInventory : IInventory
|
||||
{
|
||||
|
||||
|
||||
public User BaseUser;
|
||||
private List<InventoryItem> inventoryItems;
|
||||
private ThreadSafeList<InventoryItem> inventoryItems;
|
||||
public PlayerInventory(User forUser)
|
||||
{
|
||||
inventoryItems = new List<InventoryItem>();
|
||||
inventoryItems = new ThreadSafeList<InventoryItem>();
|
||||
|
||||
BaseUser = forUser;
|
||||
ItemInstance[] instances = Database.GetPlayerInventory(BaseUser.Id).ToArray();
|
||||
|
|
7
HorseIsleServer/LibHISP/Game/Inventory/ShopInventory.cs
Normal file → Executable file
7
HorseIsleServer/LibHISP/Game/Inventory/ShopInventory.cs
Normal file → Executable file
|
@ -4,13 +4,14 @@ using HISP.Game.Items;
|
|||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
using HISP.Util;
|
||||
|
||||
namespace HISP.Game.Inventory
|
||||
{
|
||||
public class ShopInventory : IInventory
|
||||
{
|
||||
private Shop baseShop;
|
||||
private List<InventoryItem> inventoryItems;
|
||||
private ThreadSafeList<InventoryItem> inventoryItems;
|
||||
public int Count
|
||||
{
|
||||
get
|
||||
|
@ -21,7 +22,7 @@ namespace HISP.Game.Inventory
|
|||
public ShopInventory(Shop shopkeeper)
|
||||
{
|
||||
baseShop = shopkeeper;
|
||||
inventoryItems = new List<InventoryItem>();
|
||||
inventoryItems = new ThreadSafeList<InventoryItem>();
|
||||
}
|
||||
|
||||
private void addItem(ItemInstance item, bool addToDatabase)
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Items/DroppedItems.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Items/DroppedItems.cs
Normal file → Executable file
6
HorseIsleServer/LibHISP/Game/Items/Item.cs
Normal file → Executable file
6
HorseIsleServer/LibHISP/Game/Items/Item.cs
Normal file → Executable file
|
@ -150,7 +150,7 @@ namespace HISP.Game.Items
|
|||
if (isle.Name == "Prison Isle")
|
||||
{
|
||||
byte[] dontWorkHere = PacketBuilder.CreateChat(Messages.RanchDorothyShoesPrisonIsleMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(dontWorkHere);
|
||||
user.Client.SendPacket(dontWorkHere);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -162,14 +162,14 @@ namespace HISP.Game.Items
|
|||
return;
|
||||
}
|
||||
byte[] noPlaceLIke127001 = PacketBuilder.CreateChat(Messages.RanchDorothyShoesMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(noPlaceLIke127001);
|
||||
user.Client.SendPacket(noPlaceLIke127001);
|
||||
|
||||
user.Teleport(user.OwnedRanch.X, user.OwnedRanch.Y);
|
||||
}
|
||||
else if (itm.ItemId == Item.Telescope)
|
||||
{
|
||||
byte[] birdMap = PacketBuilder.CreateBirdMap(user.X, user.Y);
|
||||
user.LoggedinClient.SendPacket(birdMap);
|
||||
user.Client.SendPacket(birdMap);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Items/ItemInstance.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Items/ItemInstance.cs
Normal file → Executable file
7
HorseIsleServer/LibHISP/Game/Items/Tack.cs
Normal file → Executable file
7
HorseIsleServer/LibHISP/Game/Items/Tack.cs
Normal file → Executable file
|
@ -4,7 +4,8 @@ using System.Collections.Generic;
|
|||
using System.Text;
|
||||
|
||||
using HISP.Server;
|
||||
|
||||
using HISP.Util;
|
||||
|
||||
namespace HISP.Game.Items
|
||||
{
|
||||
public class Tack
|
||||
|
@ -122,13 +123,13 @@ namespace HISP.Game.Items
|
|||
|
||||
try
|
||||
{
|
||||
TackSet set = GetSetByName(Util.CapitalizeFirstLetter(itemInfo.EmbedSwf));
|
||||
TackSet set = GetSetByName(Helper.CapitalizeFirstLetter(itemInfo.EmbedSwf));
|
||||
set.Add(itemInfo);
|
||||
}
|
||||
catch(KeyNotFoundException)
|
||||
{
|
||||
TackSet tackSet = new TackSet();
|
||||
tackSet.SetName = Util.CapitalizeFirstLetter(itemInfo.EmbedSwf);
|
||||
tackSet.SetName = Helper.CapitalizeFirstLetter(itemInfo.EmbedSwf);
|
||||
tackSet.Add(itemInfo);
|
||||
tackSets.Add(tackSet);
|
||||
}
|
||||
|
|
27
HorseIsleServer/LibHISP/Game/Map.cs
Normal file → Executable file
27
HorseIsleServer/LibHISP/Game/Map.cs
Normal file → Executable file
|
@ -12,7 +12,14 @@ namespace HISP.Game
|
|||
public string Type;
|
||||
}
|
||||
|
||||
public static int[] OverlayTileDepth;
|
||||
public struct TileDepth
|
||||
{
|
||||
public bool ShowPlayer;
|
||||
public bool Passable;
|
||||
}
|
||||
|
||||
public static TileDepth[] OverlayTileDepth;
|
||||
public static TerrainTile[] TerrainTiles;
|
||||
|
||||
public static int Width;
|
||||
public static int Height;
|
||||
|
@ -20,8 +27,6 @@ namespace HISP.Game
|
|||
public static byte[] MapData;
|
||||
public static byte[] oMapData;
|
||||
|
||||
public static TerrainTile[] TerrainTiles;
|
||||
|
||||
|
||||
public static int NewUserStartX;
|
||||
public static int NewUserStartY;
|
||||
|
@ -75,19 +80,9 @@ namespace HISP.Game
|
|||
if (World.InIsle(x, y))
|
||||
tileset = World.GetIsle(x, y).Tileset;
|
||||
otileId = otileId + 64 * tileset;
|
||||
}
|
||||
|
||||
|
||||
int tileDepth = OverlayTileDepth[otileId];
|
||||
bool overlayPassable = false;
|
||||
if (tileDepth == 0)
|
||||
overlayPassable = false;
|
||||
if (tileDepth == 1)
|
||||
overlayPassable = false;
|
||||
if (tileDepth == 2)
|
||||
overlayPassable = true;
|
||||
if (tileDepth == 3)
|
||||
overlayPassable = true;
|
||||
}
|
||||
|
||||
bool overlayPassable = OverlayTileDepth[otileId].Passable;
|
||||
|
||||
if ((!terrainPassable && overlayPassable) && otileId == 0)
|
||||
return false;
|
||||
|
|
6078
HorseIsleServer/LibHISP/Game/Messages.cs
Normal file → Executable file
6078
HorseIsleServer/LibHISP/Game/Messages.cs
Normal file → Executable file
File diff suppressed because it is too large
Load diff
6144
HorseIsleServer/LibHISP/Game/Meta.cs
Normal file → Executable file
6144
HorseIsleServer/LibHISP/Game/Meta.cs
Normal file → Executable file
File diff suppressed because it is too large
Load diff
7
HorseIsleServer/LibHISP/Game/Multiroom.cs
Normal file → Executable file
7
HorseIsleServer/LibHISP/Game/Multiroom.cs
Normal file → Executable file
|
@ -1,5 +1,6 @@
|
|||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
|
@ -8,7 +9,7 @@ namespace HISP.Game
|
|||
public class Multiroom
|
||||
{
|
||||
private static List<Multiroom> multirooms = new List<Multiroom>();
|
||||
private List<User> joinedUsers = new List<User>();
|
||||
private ThreadSafeList<User> joinedUsers = new ThreadSafeList<User>();
|
||||
|
||||
public int x;
|
||||
public int y;
|
||||
|
@ -83,7 +84,7 @@ namespace HISP.Game
|
|||
if (joinedUser.Id != user.Id)
|
||||
if(!TwoPlayer.IsPlayerInGame(joinedUser))
|
||||
if(!joinedUser.MajorPriority)
|
||||
GameServer.UpdateArea(joinedUser.LoggedinClient);
|
||||
GameServer.UpdateArea(joinedUser.Client);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -100,7 +101,7 @@ namespace HISP.Game
|
|||
foreach (User joinedUser in JoinedUsers)
|
||||
if (!TwoPlayer.IsPlayerInGame(joinedUser))
|
||||
if (!joinedUser.MajorPriority)
|
||||
GameServer.UpdateArea(joinedUser.LoggedinClient);
|
||||
GameServer.UpdateArea(joinedUser.Client);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Npc.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Npc.cs
Normal file → Executable file
20
HorseIsleServer/LibHISP/Game/Quest.cs
Normal file → Executable file
20
HorseIsleServer/LibHISP/Game/Quest.cs
Normal file → Executable file
|
@ -15,7 +15,7 @@ namespace HISP.Game
|
|||
public const string Binoculars = "BINOCS";
|
||||
public const string Rake = "RAKE";
|
||||
public const string MagnifyingGlass = "MAGNIFY";
|
||||
|
||||
public const int CloudIslesQuest = 1373;
|
||||
public struct QuestItemInfo
|
||||
{
|
||||
public int ItemId;
|
||||
|
@ -219,7 +219,7 @@ namespace HISP.Game
|
|||
res.QuestCompleted = true;
|
||||
if (npcActivation)
|
||||
{
|
||||
if (quest.SuccessNpcChat != null && quest.SuccessNpcChat != "")
|
||||
if (quest.SuccessNpcChat != null && quest.SuccessNpcChat.Trim() != "")
|
||||
res.NpcChat = quest.SuccessNpcChat;
|
||||
|
||||
if(quest.SetNpcChatpoint != -1)
|
||||
|
@ -238,7 +238,7 @@ namespace HISP.Game
|
|||
if (quest.SuccessMessage != null)
|
||||
{
|
||||
byte[] ChatPacket = PacketBuilder.CreateChat(quest.SuccessMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(ChatPacket);
|
||||
user.Client.SendPacket(ChatPacket);
|
||||
}
|
||||
|
||||
if (quest.SuccessNpcChat != null)
|
||||
|
@ -246,7 +246,7 @@ namespace HISP.Game
|
|||
if (!npcActivation)
|
||||
{
|
||||
byte[] ChatPacket = PacketBuilder.CreateChat(quest.SuccessNpcChat, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(ChatPacket);
|
||||
user.Client.SendPacket(ChatPacket);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -262,10 +262,10 @@ namespace HISP.Game
|
|||
user.Awards.AddAward(Award.GetAwardById(4)); // 100% Quest Completion Award.
|
||||
|
||||
// Is cloud isles quest?
|
||||
if (quest.Id == 1373)
|
||||
if (quest.Id == CloudIslesQuest)
|
||||
{
|
||||
byte[] swfLoadPacket = PacketBuilder.CreateSwfModulePacket("ballooncutscene", PacketBuilder.PACKET_SWF_CUTSCENE);
|
||||
user.LoggedinClient.SendPacket(swfLoadPacket);
|
||||
byte[] swfLoadPacket = PacketBuilder.CreateSwfModule("ballooncutscene", PacketBuilder.PACKET_SWF_MODULE_CUTSCENE);
|
||||
user.Client.SendPacket(swfLoadPacket);
|
||||
}
|
||||
|
||||
return res;
|
||||
|
@ -290,7 +290,7 @@ namespace HISP.Game
|
|||
if (!npcActivation)
|
||||
{
|
||||
byte[] ChatPacket = PacketBuilder.CreateChat(quest.FailNpcChat, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(ChatPacket);
|
||||
user.Client.SendPacket(ChatPacket);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -371,7 +371,7 @@ namespace HISP.Game
|
|||
if(result.NpcChat != null)
|
||||
{
|
||||
byte[] ChatPacket = PacketBuilder.CreateChat(result.NpcChat, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(ChatPacket);
|
||||
user.Client.SendPacket(ChatPacket);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -383,7 +383,7 @@ namespace HISP.Game
|
|||
if (result.NpcChat != null)
|
||||
{
|
||||
byte[] ChatPacket = PacketBuilder.CreateChat(result.NpcChat, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(ChatPacket);
|
||||
user.Client.SendPacket(ChatPacket);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
988
HorseIsleServer/LibHISP/Game/Ranch.cs
Normal file → Executable file
988
HorseIsleServer/LibHISP/Game/Ranch.cs
Normal file → Executable file
|
@ -1,488 +1,500 @@
|
|||
using HISP.Game.Inventory;
|
||||
using HISP.Game.Items;
|
||||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Game
|
||||
{
|
||||
public class Ranch
|
||||
{
|
||||
public class RanchUpgrade
|
||||
{
|
||||
public static List<RanchUpgrade> RanchUpgrades = new List<RanchUpgrade>();
|
||||
public int Id;
|
||||
public int Cost;
|
||||
public string Title;
|
||||
public string Description;
|
||||
public int Limit;
|
||||
|
||||
public static bool RanchUpgradeExists(int id)
|
||||
{
|
||||
foreach (RanchUpgrade rachUpgrade in RanchUpgrades)
|
||||
{
|
||||
if (rachUpgrade.Id == id)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static RanchUpgrade GetRanchUpgradeById(int id)
|
||||
{
|
||||
foreach (RanchUpgrade rachUpgrade in RanchUpgrades)
|
||||
{
|
||||
if (rachUpgrade.Id == id)
|
||||
return rachUpgrade;
|
||||
}
|
||||
throw new KeyNotFoundException("No ranch found.");
|
||||
}
|
||||
}
|
||||
public class RanchBuilding
|
||||
{
|
||||
public static List<RanchBuilding> RanchBuildings = new List<RanchBuilding>();
|
||||
public int Id;
|
||||
public int Cost;
|
||||
public string Title;
|
||||
public string Description;
|
||||
|
||||
public static bool RanchBuildingExists(int id)
|
||||
{
|
||||
foreach (RanchBuilding ranchBuilding in RanchBuildings)
|
||||
{
|
||||
if (ranchBuilding.Id == id)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static RanchBuilding GetRanchBuildingById(int id)
|
||||
{
|
||||
foreach(RanchBuilding ranchBuilding in RanchBuildings)
|
||||
{
|
||||
if (ranchBuilding.Id == id)
|
||||
return ranchBuilding;
|
||||
}
|
||||
throw new KeyNotFoundException("No ranch found.");
|
||||
}
|
||||
|
||||
public int GetTeardownPrice()
|
||||
{
|
||||
return Convert.ToInt32(Math.Round((float)this.Cost / (100 / 35.0)));
|
||||
}
|
||||
}
|
||||
public static List<Ranch> Ranches = new List<Ranch>();
|
||||
|
||||
public int X;
|
||||
public int Y;
|
||||
public int Id;
|
||||
public int Value;
|
||||
|
||||
private int ownerId;
|
||||
private int upgradedLevel;
|
||||
private int investedMoney;
|
||||
private string title;
|
||||
private string description;
|
||||
|
||||
public int GetSellPrice()
|
||||
{
|
||||
return Convert.ToInt32(Math.Round((double)this.InvestedMoney / (100 / 75.0)));
|
||||
}
|
||||
private void removeDorothyShoes(int Id)
|
||||
{
|
||||
if (Id == -1)
|
||||
return;
|
||||
|
||||
if(GameServer.IsUserOnline(Id))
|
||||
{
|
||||
User user = GameServer.GetUserById(Id);
|
||||
user.OwnedRanch = null;
|
||||
InventoryItem items = user.Inventory.GetItemByItemId(Item.DorothyShoes);
|
||||
foreach (ItemInstance itm in items.ItemInstances)
|
||||
{
|
||||
user.Inventory.Remove(itm);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Database.RemoveAllItemTypesFromPlayerInventory(this.Id, Item.DorothyShoes);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void deleteRanch()
|
||||
{
|
||||
Database.DeleteRanchOwner(this.Id);
|
||||
removeDorothyShoes(this.ownerId);
|
||||
resetRanch();
|
||||
}
|
||||
private void resetRanch()
|
||||
{
|
||||
title = "";
|
||||
description = "";
|
||||
investedMoney = 0;
|
||||
upgradedLevel = 0;
|
||||
ownerId = -1;
|
||||
for (int i = 0; i < 16; i++)
|
||||
buildings[i] = null;
|
||||
}
|
||||
public int OwnerId
|
||||
{
|
||||
get
|
||||
{
|
||||
if(ownerId != -1)
|
||||
{
|
||||
if (ConfigReader.AllUsersSubbed || Database.IsUserAdmin(ownerId))
|
||||
return ownerId;
|
||||
|
||||
int subExp = Database.GetUserSubscriptionExpireDate(ownerId);
|
||||
DateTime expTime = Util.UnixTimeStampToDateTime(subExp);
|
||||
if ((DateTime.UtcNow.Date - expTime.Date).Days >= 30)
|
||||
{
|
||||
int price = GetSellPrice();
|
||||
try
|
||||
{
|
||||
checked
|
||||
{
|
||||
Database.SetPlayerMoney(Database.GetPlayerMoney(ownerId) + price, ownerId);
|
||||
}
|
||||
}
|
||||
catch (OverflowException)
|
||||
{
|
||||
Database.SetPlayerMoney(2147483647, ownerId);;
|
||||
}
|
||||
|
||||
Database.AddMessageToQueue(ownerId, Messages.FormatRanchForcefullySoldMessage(price));
|
||||
deleteRanch();
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
return ownerId;
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == -1)
|
||||
{
|
||||
deleteRanch();
|
||||
}
|
||||
else
|
||||
{
|
||||
if(Database.IsRanchOwned(this.Id))
|
||||
{
|
||||
Database.SetRanchOwner(this.Id, ownerId);
|
||||
removeDorothyShoes(ownerId);
|
||||
}
|
||||
else
|
||||
{
|
||||
resetRanch();
|
||||
Database.AddRanch(this.Id, value, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
ownerId = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int UpgradedLevel
|
||||
{
|
||||
get
|
||||
{
|
||||
return upgradedLevel;
|
||||
}
|
||||
set
|
||||
{
|
||||
upgradedLevel = value;
|
||||
Database.SetRanchUpgradeLevel(Id, value);
|
||||
}
|
||||
}
|
||||
public int InvestedMoney
|
||||
{
|
||||
get
|
||||
{
|
||||
return investedMoney;
|
||||
}
|
||||
set
|
||||
{
|
||||
investedMoney = value;
|
||||
Database.SetRanchInvestment(Id, value);
|
||||
}
|
||||
}
|
||||
public string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return title;
|
||||
}
|
||||
set
|
||||
{
|
||||
title = value.Trim();
|
||||
Database.SetRanchTitle(Id, title);
|
||||
}
|
||||
}
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return description;
|
||||
}
|
||||
set
|
||||
{
|
||||
description = value.Trim();
|
||||
Database.SetRanchDescription(Id, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private RanchBuilding[] buildings = new RanchBuilding[16];
|
||||
public int GetBuildingCount(int buildingId)
|
||||
{
|
||||
int count = 0;
|
||||
foreach(RanchBuilding building in buildings)
|
||||
{
|
||||
if(building != null)
|
||||
if (building.Id == buildingId)
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
private void updateBuildings()
|
||||
{
|
||||
if (buildings[0] != null)
|
||||
Database.SetRanchBuilding1(this.Id, buildings[0].Id);
|
||||
else
|
||||
Database.SetRanchBuilding1(this.Id, 0);
|
||||
if (buildings[1] != null)
|
||||
Database.SetRanchBuilding2(this.Id, buildings[1].Id);
|
||||
else
|
||||
Database.SetRanchBuilding2(this.Id, 0);
|
||||
if (buildings[2] != null)
|
||||
Database.SetRanchBuilding3(this.Id, buildings[2].Id);
|
||||
else
|
||||
Database.SetRanchBuilding3(this.Id, 0);
|
||||
if (buildings[3] != null)
|
||||
Database.SetRanchBuilding4(this.Id, buildings[3].Id);
|
||||
else
|
||||
Database.SetRanchBuilding4(this.Id, 0);
|
||||
if (buildings[4] != null)
|
||||
Database.SetRanchBuilding5(this.Id, buildings[4].Id);
|
||||
else
|
||||
Database.SetRanchBuilding5(this.Id, 0);
|
||||
if (buildings[5] != null)
|
||||
Database.SetRanchBuilding6(this.Id, buildings[5].Id);
|
||||
else
|
||||
Database.SetRanchBuilding6(this.Id, 0);
|
||||
if (buildings[6] != null)
|
||||
Database.SetRanchBuilding7(this.Id, buildings[6].Id);
|
||||
else
|
||||
Database.SetRanchBuilding7(this.Id, 0);
|
||||
if (buildings[7] != null)
|
||||
Database.SetRanchBuilding8(this.Id, buildings[7].Id);
|
||||
else
|
||||
Database.SetRanchBuilding8(this.Id, 0);
|
||||
if (buildings[8] != null)
|
||||
Database.SetRanchBuilding9(this.Id, buildings[8].Id);
|
||||
else
|
||||
Database.SetRanchBuilding9(this.Id, 0);
|
||||
if (buildings[9] != null)
|
||||
Database.SetRanchBuilding10(this.Id, buildings[9].Id);
|
||||
else
|
||||
Database.SetRanchBuilding10(this.Id, 0);
|
||||
if (buildings[10] != null)
|
||||
Database.SetRanchBuilding11(this.Id, buildings[10].Id);
|
||||
else
|
||||
Database.SetRanchBuilding11(this.Id, 0);
|
||||
if (buildings[11] != null)
|
||||
Database.SetRanchBuilding12(this.Id, buildings[11].Id);
|
||||
else
|
||||
Database.SetRanchBuilding12(this.Id, 0);
|
||||
if (buildings[12] != null)
|
||||
Database.SetRanchBuilding13(this.Id, buildings[12].Id);
|
||||
else
|
||||
Database.SetRanchBuilding13(this.Id, 0);
|
||||
if (buildings[13] != null)
|
||||
Database.SetRanchBuilding14(this.Id, buildings[13].Id);
|
||||
else
|
||||
Database.SetRanchBuilding14(this.Id, 0);
|
||||
if (buildings[14] != null)
|
||||
Database.SetRanchBuilding15(this.Id, buildings[14].Id);
|
||||
else
|
||||
Database.SetRanchBuilding15(this.Id, 0);
|
||||
if (buildings[15] != null)
|
||||
Database.SetRanchBuilding16(this.Id, buildings[15].Id);
|
||||
else
|
||||
Database.SetRanchBuilding16(this.Id, 0);
|
||||
}
|
||||
public RanchBuilding GetBuilding(int buildingId)
|
||||
{
|
||||
if (buildingId < 0)
|
||||
return null;
|
||||
|
||||
if (buildingId >= buildings.Length)
|
||||
return null;
|
||||
|
||||
return buildings[buildingId];
|
||||
}
|
||||
public void SetBuilding(int buildingId, RanchBuilding value)
|
||||
{
|
||||
buildings[buildingId] = value;
|
||||
updateBuildings();
|
||||
}
|
||||
|
||||
|
||||
public string GetSwf(bool mine)
|
||||
{
|
||||
string swf = "ranchviewer.swf?H=" + (upgradedLevel+1).ToString();
|
||||
for(int i = 0; i < buildings.Length; i++)
|
||||
{
|
||||
swf += "&B" + (i+1).ToString() + "=";
|
||||
if (buildings[i] != null)
|
||||
{
|
||||
swf += buildings[i].Id.ToString();
|
||||
}
|
||||
}
|
||||
if (mine)
|
||||
swf += "&MINE=1";
|
||||
return swf;
|
||||
}
|
||||
|
||||
|
||||
public Ranch(int x, int y, int id, int value)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
Id = id;
|
||||
Value = value;
|
||||
title = "";
|
||||
description = "";
|
||||
upgradedLevel = 0;
|
||||
ownerId = -1;
|
||||
investedMoney = 0;
|
||||
for (int i = 0; i < 16; i++)
|
||||
buildings[i] = null;
|
||||
bool owned = Database.IsRanchOwned(id);
|
||||
if (owned)
|
||||
{
|
||||
upgradedLevel = Database.GetRanchUpgradeLevel(id);
|
||||
title = Database.GetRanchTitle(id);
|
||||
description = Database.GetRanchDescription(id);
|
||||
ownerId = Database.GetRanchOwner(id);
|
||||
int b1 = Database.GetRanchBuilding1(id);
|
||||
int b2 = Database.GetRanchBuilding2(id);
|
||||
int b3 = Database.GetRanchBuilding3(id);
|
||||
int b4 = Database.GetRanchBuilding4(id);
|
||||
int b5 = Database.GetRanchBuilding5(id);
|
||||
int b6 = Database.GetRanchBuilding6(id);
|
||||
int b7 = Database.GetRanchBuilding7(id);
|
||||
int b8 = Database.GetRanchBuilding8(id);
|
||||
int b9 = Database.GetRanchBuilding9(id);
|
||||
int b10 = Database.GetRanchBuilding10(id);
|
||||
int b11 = Database.GetRanchBuilding11(id);
|
||||
int b12 = Database.GetRanchBuilding12(id);
|
||||
int b13 = Database.GetRanchBuilding13(id);
|
||||
int b14 = Database.GetRanchBuilding14(id);
|
||||
int b15 = Database.GetRanchBuilding15(id);
|
||||
int b16 = Database.GetRanchBuilding16(id);
|
||||
|
||||
if (RanchBuilding.RanchBuildingExists(b1))
|
||||
buildings[0] = RanchBuilding.GetRanchBuildingById(b1);
|
||||
if (RanchBuilding.RanchBuildingExists(b2))
|
||||
buildings[1] = RanchBuilding.GetRanchBuildingById(b2);
|
||||
if (RanchBuilding.RanchBuildingExists(b3))
|
||||
buildings[2] = RanchBuilding.GetRanchBuildingById(b3);
|
||||
if (RanchBuilding.RanchBuildingExists(b4))
|
||||
buildings[3] = RanchBuilding.GetRanchBuildingById(b4);
|
||||
if (RanchBuilding.RanchBuildingExists(b5))
|
||||
buildings[4] = RanchBuilding.GetRanchBuildingById(b5);
|
||||
if (RanchBuilding.RanchBuildingExists(b6))
|
||||
buildings[5] = RanchBuilding.GetRanchBuildingById(b6);
|
||||
if (RanchBuilding.RanchBuildingExists(b7))
|
||||
buildings[6] = RanchBuilding.GetRanchBuildingById(b7);
|
||||
if (RanchBuilding.RanchBuildingExists(b8))
|
||||
buildings[7] = RanchBuilding.GetRanchBuildingById(b8);
|
||||
if (RanchBuilding.RanchBuildingExists(b9))
|
||||
buildings[8] = RanchBuilding.GetRanchBuildingById(b9);
|
||||
if (RanchBuilding.RanchBuildingExists(b10))
|
||||
buildings[9] = RanchBuilding.GetRanchBuildingById(b10);
|
||||
if (RanchBuilding.RanchBuildingExists(b11))
|
||||
buildings[10] = RanchBuilding.GetRanchBuildingById(b11);
|
||||
if (RanchBuilding.RanchBuildingExists(b12))
|
||||
buildings[11] = RanchBuilding.GetRanchBuildingById(b12);
|
||||
if (RanchBuilding.RanchBuildingExists(b13))
|
||||
buildings[12] = RanchBuilding.GetRanchBuildingById(b13);
|
||||
if (RanchBuilding.RanchBuildingExists(b14))
|
||||
buildings[13] = RanchBuilding.GetRanchBuildingById(b14);
|
||||
if (RanchBuilding.RanchBuildingExists(b15))
|
||||
buildings[14] = RanchBuilding.GetRanchBuildingById(b15);
|
||||
if (RanchBuilding.RanchBuildingExists(b16))
|
||||
buildings[15] = RanchBuilding.GetRanchBuildingById(b16);
|
||||
|
||||
|
||||
InvestedMoney = Database.GetRanchInvestment(id);
|
||||
}
|
||||
}
|
||||
|
||||
public RanchUpgrade GetRanchUpgrade()
|
||||
{
|
||||
return RanchUpgrade.GetRanchUpgradeById(this.upgradedLevel + 1);
|
||||
}
|
||||
public static bool IsRanchHere(int x, int y)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.X == x && ranch.Y == y)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static bool RanchExists(int ranchId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.Id == ranchId)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static Ranch GetRanchById(int ranchId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.Id == ranchId)
|
||||
return ranch;
|
||||
}
|
||||
throw new KeyNotFoundException("No Ranch with id " + ranchId);
|
||||
}
|
||||
public static Ranch GetRanchAt(int x, int y)
|
||||
{
|
||||
foreach(Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.X == x && ranch.Y == y)
|
||||
return ranch;
|
||||
}
|
||||
throw new KeyNotFoundException("No Ranch found at x" + x + " y" + y);
|
||||
}
|
||||
|
||||
public static bool IsRanchOwned(int playerId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.OwnerId == playerId)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static Ranch GetRanchOwnedBy(int playerId)
|
||||
{
|
||||
foreach(Ranch ranch in Ranches)
|
||||
{
|
||||
if(ranch.OwnerId == playerId)
|
||||
{
|
||||
return ranch;
|
||||
}
|
||||
}
|
||||
throw new KeyNotFoundException("Player " + playerId + " does not own a ranch.");
|
||||
}
|
||||
}
|
||||
}
|
||||
using HISP.Game.Inventory;
|
||||
using HISP.Game.Items;
|
||||
using HISP.Player;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Game
|
||||
{
|
||||
public class Ranch
|
||||
{
|
||||
public class RanchUpgrade
|
||||
{
|
||||
public static List<RanchUpgrade> RanchUpgrades = new List<RanchUpgrade>();
|
||||
public int Id;
|
||||
public int Cost;
|
||||
public string Title;
|
||||
public string Description;
|
||||
public int Limit;
|
||||
|
||||
public static bool RanchUpgradeExists(int id)
|
||||
{
|
||||
foreach (RanchUpgrade rachUpgrade in RanchUpgrades)
|
||||
{
|
||||
if (rachUpgrade.Id == id)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static RanchUpgrade GetRanchUpgradeById(int id)
|
||||
{
|
||||
foreach (RanchUpgrade ranchUpgrade in RanchUpgrades)
|
||||
{
|
||||
if (ranchUpgrade.Id == id)
|
||||
return ranchUpgrade;
|
||||
}
|
||||
throw new KeyNotFoundException("No ranch found.");
|
||||
}
|
||||
}
|
||||
public class RanchBuilding
|
||||
{
|
||||
public static List<RanchBuilding> RanchBuildings = new List<RanchBuilding>();
|
||||
public int Id;
|
||||
public int Cost;
|
||||
public string Title;
|
||||
public string Description;
|
||||
|
||||
public static bool RanchBuildingExists(int id)
|
||||
{
|
||||
foreach (RanchBuilding ranchBuilding in RanchBuildings)
|
||||
{
|
||||
if (ranchBuilding.Id == id)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static RanchBuilding GetRanchBuildingById(int id)
|
||||
{
|
||||
foreach(RanchBuilding ranchBuilding in RanchBuildings)
|
||||
{
|
||||
if (ranchBuilding.Id == id)
|
||||
return ranchBuilding;
|
||||
}
|
||||
throw new KeyNotFoundException("No ranch found.");
|
||||
}
|
||||
|
||||
public int GetTeardownPrice()
|
||||
{
|
||||
return Convert.ToInt32(Math.Round((float)this.Cost / (100 / 35.0)));
|
||||
}
|
||||
}
|
||||
public static List<Ranch> Ranches = new List<Ranch>();
|
||||
|
||||
public int X;
|
||||
public int Y;
|
||||
public int Id;
|
||||
public int Value;
|
||||
|
||||
private int ownerId;
|
||||
private int upgradedLevel;
|
||||
private int investedMoney;
|
||||
private string title;
|
||||
private string description;
|
||||
|
||||
public int GetSellPrice()
|
||||
{
|
||||
return Convert.ToInt32(Math.Round((double)this.InvestedMoney / (100 / 75.0)));
|
||||
}
|
||||
private void removeDorothyShoes(int Id)
|
||||
{
|
||||
if (Id == -1)
|
||||
return;
|
||||
|
||||
if(GameServer.IsUserOnline(Id))
|
||||
{
|
||||
User user = GameServer.GetUserById(Id);
|
||||
user.OwnedRanch = null;
|
||||
InventoryItem items = user.Inventory.GetItemByItemId(Item.DorothyShoes);
|
||||
foreach (ItemInstance itm in items.ItemInstances)
|
||||
{
|
||||
user.Inventory.Remove(itm);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Database.RemoveAllItemTypesFromPlayerInventory(this.Id, Item.DorothyShoes);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void deleteRanch()
|
||||
{
|
||||
Database.DeleteRanchOwner(this.Id);
|
||||
removeDorothyShoes(this.ownerId);
|
||||
resetRanch();
|
||||
}
|
||||
private void resetRanch()
|
||||
{
|
||||
title = "";
|
||||
description = "";
|
||||
investedMoney = 0;
|
||||
upgradedLevel = 0;
|
||||
ownerId = -1;
|
||||
for (int i = 0; i < 16; i++)
|
||||
buildings[i] = null;
|
||||
}
|
||||
public int OwnerId
|
||||
{
|
||||
get
|
||||
{
|
||||
if(ownerId != -1)
|
||||
{
|
||||
if (ConfigReader.AllUsersSubbed || Database.GetUserAdmin(ownerId))
|
||||
return ownerId;
|
||||
|
||||
int subExp = Database.GetUserSubscriptionExpireDate(ownerId);
|
||||
DateTime expTime = Helper.UnixTimeStampToDateTime(subExp);
|
||||
if ((DateTime.UtcNow.Date - expTime.Date).Days >= 30)
|
||||
{
|
||||
int price = GetSellPrice();
|
||||
try
|
||||
{
|
||||
checked
|
||||
{
|
||||
Database.SetPlayerMoney(Database.GetPlayerMoney(ownerId) + price, ownerId);
|
||||
}
|
||||
}
|
||||
catch (OverflowException)
|
||||
{
|
||||
Database.SetPlayerMoney(2147483647, ownerId);;
|
||||
}
|
||||
|
||||
Database.AddMessageToQueue(ownerId, Messages.FormatRanchForcefullySoldMessage(price));
|
||||
deleteRanch();
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
return ownerId;
|
||||
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == -1)
|
||||
{
|
||||
deleteRanch();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Database.IsRanchOwned(this.Id))
|
||||
{
|
||||
Database.SetRanchOwner(this.Id, ownerId);
|
||||
removeDorothyShoes(ownerId);
|
||||
}
|
||||
else
|
||||
{
|
||||
resetRanch();
|
||||
Database.AddRanch(this.Id, value, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (GameServer.IsUserOnline(value))
|
||||
{
|
||||
User user = GameServer.GetUserById(value);
|
||||
user.OwnedRanch = this;
|
||||
user.Inventory.AddIgnoringFull(new ItemInstance(Item.DorothyShoes));
|
||||
}
|
||||
else
|
||||
{
|
||||
Database.AddItemToInventory(value, new ItemInstance(Item.DorothyShoes));
|
||||
}
|
||||
|
||||
ownerId = value;
|
||||
}
|
||||
}
|
||||
|
||||
public int UpgradedLevel
|
||||
{
|
||||
get
|
||||
{
|
||||
return upgradedLevel;
|
||||
}
|
||||
set
|
||||
{
|
||||
upgradedLevel = value;
|
||||
Database.SetRanchUpgradeLevel(Id, value);
|
||||
}
|
||||
}
|
||||
public int InvestedMoney
|
||||
{
|
||||
get
|
||||
{
|
||||
return investedMoney;
|
||||
}
|
||||
set
|
||||
{
|
||||
investedMoney = value;
|
||||
Database.SetRanchInvestment(Id, value);
|
||||
}
|
||||
}
|
||||
public string Title
|
||||
{
|
||||
get
|
||||
{
|
||||
return title;
|
||||
}
|
||||
set
|
||||
{
|
||||
title = value.Trim();
|
||||
Database.SetRanchTitle(Id, title);
|
||||
}
|
||||
}
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
{
|
||||
return description;
|
||||
}
|
||||
set
|
||||
{
|
||||
description = value.Trim();
|
||||
Database.SetRanchDescription(Id, value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private RanchBuilding[] buildings = new RanchBuilding[16];
|
||||
public int GetBuildingCount(int buildingId)
|
||||
{
|
||||
int count = 0;
|
||||
foreach(RanchBuilding building in buildings)
|
||||
{
|
||||
if(building != null)
|
||||
if (building.Id == buildingId)
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
private void updateBuildings()
|
||||
{
|
||||
if (buildings[0] != null)
|
||||
Database.SetRanchBuilding1(this.Id, buildings[0].Id);
|
||||
else
|
||||
Database.SetRanchBuilding1(this.Id, 0);
|
||||
if (buildings[1] != null)
|
||||
Database.SetRanchBuilding2(this.Id, buildings[1].Id);
|
||||
else
|
||||
Database.SetRanchBuilding2(this.Id, 0);
|
||||
if (buildings[2] != null)
|
||||
Database.SetRanchBuilding3(this.Id, buildings[2].Id);
|
||||
else
|
||||
Database.SetRanchBuilding3(this.Id, 0);
|
||||
if (buildings[3] != null)
|
||||
Database.SetRanchBuilding4(this.Id, buildings[3].Id);
|
||||
else
|
||||
Database.SetRanchBuilding4(this.Id, 0);
|
||||
if (buildings[4] != null)
|
||||
Database.SetRanchBuilding5(this.Id, buildings[4].Id);
|
||||
else
|
||||
Database.SetRanchBuilding5(this.Id, 0);
|
||||
if (buildings[5] != null)
|
||||
Database.SetRanchBuilding6(this.Id, buildings[5].Id);
|
||||
else
|
||||
Database.SetRanchBuilding6(this.Id, 0);
|
||||
if (buildings[6] != null)
|
||||
Database.SetRanchBuilding7(this.Id, buildings[6].Id);
|
||||
else
|
||||
Database.SetRanchBuilding7(this.Id, 0);
|
||||
if (buildings[7] != null)
|
||||
Database.SetRanchBuilding8(this.Id, buildings[7].Id);
|
||||
else
|
||||
Database.SetRanchBuilding8(this.Id, 0);
|
||||
if (buildings[8] != null)
|
||||
Database.SetRanchBuilding9(this.Id, buildings[8].Id);
|
||||
else
|
||||
Database.SetRanchBuilding9(this.Id, 0);
|
||||
if (buildings[9] != null)
|
||||
Database.SetRanchBuilding10(this.Id, buildings[9].Id);
|
||||
else
|
||||
Database.SetRanchBuilding10(this.Id, 0);
|
||||
if (buildings[10] != null)
|
||||
Database.SetRanchBuilding11(this.Id, buildings[10].Id);
|
||||
else
|
||||
Database.SetRanchBuilding11(this.Id, 0);
|
||||
if (buildings[11] != null)
|
||||
Database.SetRanchBuilding12(this.Id, buildings[11].Id);
|
||||
else
|
||||
Database.SetRanchBuilding12(this.Id, 0);
|
||||
if (buildings[12] != null)
|
||||
Database.SetRanchBuilding13(this.Id, buildings[12].Id);
|
||||
else
|
||||
Database.SetRanchBuilding13(this.Id, 0);
|
||||
if (buildings[13] != null)
|
||||
Database.SetRanchBuilding14(this.Id, buildings[13].Id);
|
||||
else
|
||||
Database.SetRanchBuilding14(this.Id, 0);
|
||||
if (buildings[14] != null)
|
||||
Database.SetRanchBuilding15(this.Id, buildings[14].Id);
|
||||
else
|
||||
Database.SetRanchBuilding15(this.Id, 0);
|
||||
if (buildings[15] != null)
|
||||
Database.SetRanchBuilding16(this.Id, buildings[15].Id);
|
||||
else
|
||||
Database.SetRanchBuilding16(this.Id, 0);
|
||||
}
|
||||
public RanchBuilding GetBuilding(int buildingId)
|
||||
{
|
||||
if (buildingId < 0)
|
||||
return null;
|
||||
|
||||
if (buildingId >= buildings.Length)
|
||||
return null;
|
||||
|
||||
return buildings[buildingId];
|
||||
}
|
||||
public void SetBuilding(int buildingId, RanchBuilding value)
|
||||
{
|
||||
buildings[buildingId] = value;
|
||||
updateBuildings();
|
||||
}
|
||||
|
||||
|
||||
public string GetSwf(bool mine)
|
||||
{
|
||||
string swf = "ranchviewer.swf?H=" + (upgradedLevel+1).ToString();
|
||||
for(int i = 0; i < buildings.Length; i++)
|
||||
{
|
||||
swf += "&B" + (i+1).ToString() + "=";
|
||||
if (buildings[i] != null)
|
||||
{
|
||||
swf += buildings[i].Id.ToString();
|
||||
}
|
||||
}
|
||||
if (mine)
|
||||
swf += "&MINE=1";
|
||||
return swf;
|
||||
}
|
||||
|
||||
|
||||
public Ranch(int x, int y, int id, int value)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
Id = id;
|
||||
Value = value;
|
||||
title = "";
|
||||
description = "";
|
||||
upgradedLevel = 0;
|
||||
ownerId = -1;
|
||||
investedMoney = 0;
|
||||
for (int i = 0; i < 16; i++)
|
||||
buildings[i] = null;
|
||||
bool owned = Database.IsRanchOwned(id);
|
||||
if (owned)
|
||||
{
|
||||
upgradedLevel = Database.GetRanchUpgradeLevel(id);
|
||||
title = Database.GetRanchTitle(id);
|
||||
description = Database.GetRanchDescription(id);
|
||||
ownerId = Database.GetRanchOwner(id);
|
||||
int b1 = Database.GetRanchBuilding1(id);
|
||||
int b2 = Database.GetRanchBuilding2(id);
|
||||
int b3 = Database.GetRanchBuilding3(id);
|
||||
int b4 = Database.GetRanchBuilding4(id);
|
||||
int b5 = Database.GetRanchBuilding5(id);
|
||||
int b6 = Database.GetRanchBuilding6(id);
|
||||
int b7 = Database.GetRanchBuilding7(id);
|
||||
int b8 = Database.GetRanchBuilding8(id);
|
||||
int b9 = Database.GetRanchBuilding9(id);
|
||||
int b10 = Database.GetRanchBuilding10(id);
|
||||
int b11 = Database.GetRanchBuilding11(id);
|
||||
int b12 = Database.GetRanchBuilding12(id);
|
||||
int b13 = Database.GetRanchBuilding13(id);
|
||||
int b14 = Database.GetRanchBuilding14(id);
|
||||
int b15 = Database.GetRanchBuilding15(id);
|
||||
int b16 = Database.GetRanchBuilding16(id);
|
||||
|
||||
if (RanchBuilding.RanchBuildingExists(b1))
|
||||
buildings[0] = RanchBuilding.GetRanchBuildingById(b1);
|
||||
if (RanchBuilding.RanchBuildingExists(b2))
|
||||
buildings[1] = RanchBuilding.GetRanchBuildingById(b2);
|
||||
if (RanchBuilding.RanchBuildingExists(b3))
|
||||
buildings[2] = RanchBuilding.GetRanchBuildingById(b3);
|
||||
if (RanchBuilding.RanchBuildingExists(b4))
|
||||
buildings[3] = RanchBuilding.GetRanchBuildingById(b4);
|
||||
if (RanchBuilding.RanchBuildingExists(b5))
|
||||
buildings[4] = RanchBuilding.GetRanchBuildingById(b5);
|
||||
if (RanchBuilding.RanchBuildingExists(b6))
|
||||
buildings[5] = RanchBuilding.GetRanchBuildingById(b6);
|
||||
if (RanchBuilding.RanchBuildingExists(b7))
|
||||
buildings[6] = RanchBuilding.GetRanchBuildingById(b7);
|
||||
if (RanchBuilding.RanchBuildingExists(b8))
|
||||
buildings[7] = RanchBuilding.GetRanchBuildingById(b8);
|
||||
if (RanchBuilding.RanchBuildingExists(b9))
|
||||
buildings[8] = RanchBuilding.GetRanchBuildingById(b9);
|
||||
if (RanchBuilding.RanchBuildingExists(b10))
|
||||
buildings[9] = RanchBuilding.GetRanchBuildingById(b10);
|
||||
if (RanchBuilding.RanchBuildingExists(b11))
|
||||
buildings[10] = RanchBuilding.GetRanchBuildingById(b11);
|
||||
if (RanchBuilding.RanchBuildingExists(b12))
|
||||
buildings[11] = RanchBuilding.GetRanchBuildingById(b12);
|
||||
if (RanchBuilding.RanchBuildingExists(b13))
|
||||
buildings[12] = RanchBuilding.GetRanchBuildingById(b13);
|
||||
if (RanchBuilding.RanchBuildingExists(b14))
|
||||
buildings[13] = RanchBuilding.GetRanchBuildingById(b14);
|
||||
if (RanchBuilding.RanchBuildingExists(b15))
|
||||
buildings[14] = RanchBuilding.GetRanchBuildingById(b15);
|
||||
if (RanchBuilding.RanchBuildingExists(b16))
|
||||
buildings[15] = RanchBuilding.GetRanchBuildingById(b16);
|
||||
|
||||
|
||||
InvestedMoney = Database.GetRanchInvestment(id);
|
||||
}
|
||||
}
|
||||
|
||||
public RanchUpgrade GetRanchUpgrade()
|
||||
{
|
||||
return RanchUpgrade.GetRanchUpgradeById(this.upgradedLevel + 1);
|
||||
}
|
||||
public static bool IsRanchHere(int x, int y)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.X == x && ranch.Y == y)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static bool RanchExists(int ranchId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.Id == ranchId)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static Ranch GetRanchById(int ranchId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.Id == ranchId)
|
||||
return ranch;
|
||||
}
|
||||
throw new KeyNotFoundException("No Ranch with id " + ranchId);
|
||||
}
|
||||
public static Ranch GetRanchAt(int x, int y)
|
||||
{
|
||||
foreach(Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.X == x && ranch.Y == y)
|
||||
return ranch;
|
||||
}
|
||||
throw new KeyNotFoundException("No Ranch found at x" + x + " y" + y);
|
||||
}
|
||||
|
||||
public static bool GetOwnedRanch(int playerId)
|
||||
{
|
||||
foreach (Ranch ranch in Ranches)
|
||||
{
|
||||
if (ranch.OwnerId == playerId)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public static Ranch GetRanchOwnedBy(int playerId)
|
||||
{
|
||||
foreach(Ranch ranch in Ranches)
|
||||
{
|
||||
if(ranch.OwnerId == playerId)
|
||||
{
|
||||
return ranch;
|
||||
}
|
||||
}
|
||||
throw new KeyNotFoundException("Player " + playerId + " does not own a ranch.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
4
HorseIsleServer/LibHISP/Game/Riddler.cs
Normal file → Executable file
4
HorseIsleServer/LibHISP/Game/Riddler.cs
Normal file → Executable file
|
@ -32,7 +32,7 @@ namespace HISP.Game
|
|||
Database.CompleteRiddle(this.Id, user.Id);
|
||||
|
||||
byte[] riddleAnswerCorrectPacket = PacketBuilder.CreateChat(Messages.FormatRiddlerAnswerCorrect(this.Reason), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(riddleAnswerCorrectPacket);
|
||||
user.Client.SendPacket(riddleAnswerCorrectPacket);
|
||||
user.AddMoney(10000);
|
||||
|
||||
if(HasCompletedAllRiddles(user))
|
||||
|
@ -42,7 +42,7 @@ namespace HISP.Game
|
|||
public void AnswerFail(User user)
|
||||
{
|
||||
byte[] riddleIncorrect = PacketBuilder.CreateChat(Messages.RiddlerIncorrectAnswer, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
user.LoggedinClient.SendPacket(riddleIncorrect);
|
||||
user.Client.SendPacket(riddleIncorrect);
|
||||
}
|
||||
|
||||
public bool CheckAnswer(User user, string txt)
|
||||
|
|
27
HorseIsleServer/LibHISP/Game/Services/Auction.cs
Normal file → Executable file
27
HorseIsleServer/LibHISP/Game/Services/Auction.cs
Normal file → Executable file
|
@ -2,13 +2,14 @@
|
|||
using HISP.Player;
|
||||
using HISP.Security;
|
||||
using HISP.Server;
|
||||
using HISP.Util;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HISP.Game.Services
|
||||
{
|
||||
public class Auction
|
||||
{
|
||||
private static List<Auction> auctionRooms = new List<Auction>();
|
||||
private static ThreadSafeList<Auction> auctionRooms = new ThreadSafeList<Auction>();
|
||||
public static Auction[] AuctionRooms
|
||||
{
|
||||
get
|
||||
|
@ -20,7 +21,7 @@ namespace HISP.Game.Services
|
|||
public Auction(int id)
|
||||
{
|
||||
RoomId = id;
|
||||
auctionEntries = new List<AuctionEntry>();
|
||||
auctionEntries = new ThreadSafeList<AuctionEntry>();
|
||||
Database.LoadAuctionRoom(this, RoomId);
|
||||
}
|
||||
|
||||
|
@ -37,7 +38,7 @@ namespace HISP.Game.Services
|
|||
if(BidUser.HorseInventory.HorseList.Length >= BidUser.MaxHorses)
|
||||
{
|
||||
byte[] tooManyHorses = PacketBuilder.CreateChat(Messages.AuctionYouHaveTooManyHorses, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
BidUser.LoggedinClient.SendPacket(tooManyHorses);
|
||||
BidUser.Client.SendPacket(tooManyHorses);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -46,7 +47,7 @@ namespace HISP.Game.Services
|
|||
if(BidAmount >= MAX_BID)
|
||||
{
|
||||
byte[] maxBidReached = PacketBuilder.CreateChat(Messages.AuctionBidMax, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
BidUser.LoggedinClient.SendPacket(maxBidReached);
|
||||
BidUser.Client.SendPacket(maxBidReached);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -55,7 +56,7 @@ namespace HISP.Game.Services
|
|||
{
|
||||
|
||||
byte[] cantAffordBid = PacketBuilder.CreateChat(Messages.AuctionCantAffordBid, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
BidUser.LoggedinClient.SendPacket(cantAffordBid);
|
||||
BidUser.Client.SendPacket(cantAffordBid);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -77,7 +78,7 @@ namespace HISP.Game.Services
|
|||
if(entry.RandomId != AuctionItem.RandomId && entry.HighestBidder == BidUser.Id)
|
||||
{
|
||||
byte[] cantWinTooMuch = PacketBuilder.CreateChat(Messages.AuctionOnlyOneWinningBidAllowed, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
BidUser.LoggedinClient.SendPacket(cantWinTooMuch);
|
||||
BidUser.Client.SendPacket(cantWinTooMuch);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +92,7 @@ namespace HISP.Game.Services
|
|||
{
|
||||
User oldBidder = GameServer.GetUserById(AuctionItem.HighestBidder);
|
||||
byte[] outbidMessage = PacketBuilder.CreateChat(Messages.FormatAuctionYourOutbidBy(BidUser.Username, AuctionItem.HighestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
oldBidder.LoggedinClient.SendPacket(outbidMessage);
|
||||
oldBidder.Client.SendPacket(outbidMessage);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -104,7 +105,7 @@ namespace HISP.Game.Services
|
|||
}
|
||||
|
||||
byte[] bidPlacedMsg = PacketBuilder.CreateChat(yourBidRaisedTo, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
BidUser.LoggedinClient.SendPacket(bidPlacedMsg);
|
||||
BidUser.Client.SendPacket(bidPlacedMsg);
|
||||
|
||||
}
|
||||
|
||||
|
@ -122,7 +123,7 @@ namespace HISP.Game.Services
|
|||
|
||||
public HorseInstance Horse;
|
||||
public int OwnerId;
|
||||
private List<AuctionBid> bidders = new List<AuctionBid>();
|
||||
private ThreadSafeList<AuctionBid> bidders = new ThreadSafeList<AuctionBid>();
|
||||
public AuctionBid[] Bidders
|
||||
{
|
||||
get
|
||||
|
@ -151,7 +152,7 @@ namespace HISP.Game.Services
|
|||
User auctionRunner = GameServer.GetUserById(highestBidder);
|
||||
auctionRunner.HorseInventory.UnHide(Horse.RandomId);
|
||||
byte[] notSold = PacketBuilder.CreateChat(Messages.AuctionNoHorseBrought, PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
auctionRunner.LoggedinClient.SendPacket(notSold);
|
||||
auctionRunner.Client.SendPacket(notSold);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -161,7 +162,7 @@ namespace HISP.Game.Services
|
|||
{
|
||||
User userWon = GameServer.GetUserById(highestBidder);
|
||||
byte[] wonAuction = PacketBuilder.CreateChat(Messages.FormatAuctionBroughtHorse(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
userWon.LoggedinClient.SendPacket(wonAuction);
|
||||
userWon.Client.SendPacket(wonAuction);
|
||||
userWon.TakeMoney(highestBid);
|
||||
userWon.HorseInventory.AddHorse(Horse, false);
|
||||
}
|
||||
|
@ -174,7 +175,7 @@ namespace HISP.Game.Services
|
|||
{
|
||||
User userSold = GameServer.GetUserById(OwnerId);
|
||||
byte[] horseSold = PacketBuilder.CreateChat(Messages.FormatAuctionHorseSold(highestBid), PacketBuilder.CHAT_BOTTOM_RIGHT);
|
||||
userSold.LoggedinClient.SendPacket(horseSold);
|
||||
userSold.Client.SendPacket(horseSold);
|
||||
userSold.AddMoney(highestBid);
|
||||
userSold.HorseInventory.DeleteHorse(Horse, false);
|
||||
}
|
||||
|
@ -297,7 +298,7 @@ namespace HISP.Game.Services
|
|||
auctionEntries.Add(entry);
|
||||
}
|
||||
|
||||
private List<AuctionEntry> auctionEntries;
|
||||
private ThreadSafeList<AuctionEntry> auctionEntries;
|
||||
public int RoomId;
|
||||
|
||||
public AuctionEntry[] AuctionEntries
|
||||
|
|
0
HorseIsleServer/LibHISP/Game/Services/Barn.cs
Normal file → Executable file
0
HorseIsleServer/LibHISP/Game/Services/Barn.cs
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue