From 382f90fac72a494d90fa1f3c04b3e37b476c7c6a Mon Sep 17 00:00:00 2001 From: Evoleo <44549380+evolutionleo@users.noreply.github.com> Date: Sat, 29 Apr 2023 18:34:55 +0300 Subject: [PATCH] v5.1 Release! --- JavascriptServer/cmd/senders/types/auth.d.ts | 7 +++++++ .../cmd/senders/types/custom.d.ts | 6 ++++++ .../cmd/senders/types/friends.d.ts | 7 +++++++ .../cmd/senders/types/game_loop.d.ts | 10 ++++++++++ JavascriptServer/cmd/senders/types/lobby.d.ts | 11 +++++++++++ JavascriptServer/cmd/senders/types/party.d.ts | 10 ++++++++++ .../cmd/senders/types/system.d.ts | 10 ++++++++++ JavascriptServer/concepts/client.js | 2 +- JavascriptServer/initializers/10_cmd.js | 6 +++++- Release/GMClient.zip | Bin 164346 -> 164440 bytes Release/JSServer.zip | Bin 38546 -> 40803 bytes Release/TSServer.zip | Bin 50701 -> 50694 bytes Release/Warp.yymps | Bin 164346 -> 164440 bytes TypescriptServer/src/cmd/sendStuff.ts | 10 ++++------ TypescriptServer/src/cmd/senders/auth.ts | 2 +- TypescriptServer/src/cmd/senders/custom.ts | 4 ++-- TypescriptServer/src/concepts/client.ts | 2 +- TypescriptServer/src/initializers/10_cmd.ts | 5 ++++- TypescriptServer/tsconfig.json | 2 ++ 19 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 JavascriptServer/cmd/senders/types/auth.d.ts create mode 100644 JavascriptServer/cmd/senders/types/custom.d.ts create mode 100644 JavascriptServer/cmd/senders/types/friends.d.ts create mode 100644 JavascriptServer/cmd/senders/types/game_loop.d.ts create mode 100644 JavascriptServer/cmd/senders/types/lobby.d.ts create mode 100644 JavascriptServer/cmd/senders/types/party.d.ts create mode 100644 JavascriptServer/cmd/senders/types/system.d.ts diff --git a/JavascriptServer/cmd/senders/types/auth.d.ts b/JavascriptServer/cmd/senders/types/auth.d.ts new file mode 100644 index 0000000..6ff735d --- /dev/null +++ b/JavascriptServer/cmd/senders/types/auth.d.ts @@ -0,0 +1,7 @@ +declare module "#cmd/sendStuff" { + interface SendStuff { + sendRegister(status: string, reason?: string): any; + sendLogin(status: string, reason?: string): any; + } +} +export {}; diff --git a/JavascriptServer/cmd/senders/types/custom.d.ts b/JavascriptServer/cmd/senders/types/custom.d.ts new file mode 100644 index 0000000..28e17d2 --- /dev/null +++ b/JavascriptServer/cmd/senders/types/custom.d.ts @@ -0,0 +1,6 @@ +import { IPlayerInputs } from "#entity/player"; +declare module "#cmd/sendStuff" { + interface SendStuff { + sendPlayerControls(data: IPlayerInputs): any; + } +} diff --git a/JavascriptServer/cmd/senders/types/friends.d.ts b/JavascriptServer/cmd/senders/types/friends.d.ts new file mode 100644 index 0000000..cc68477 --- /dev/null +++ b/JavascriptServer/cmd/senders/types/friends.d.ts @@ -0,0 +1,7 @@ +import { IProfile, ProfileInfo } from "#schemas/profile"; +declare module '#cmd/sendStuff' { + interface SendStuff { + sendFriends(friends: IProfile[]): any; + sendIncomingFriendRequests(from_profiles: ProfileInfo[]): any; + } +} diff --git a/JavascriptServer/cmd/senders/types/game_loop.d.ts b/JavascriptServer/cmd/senders/types/game_loop.d.ts new file mode 100644 index 0000000..cbcaec6 --- /dev/null +++ b/JavascriptServer/cmd/senders/types/game_loop.d.ts @@ -0,0 +1,10 @@ +import Lobby from "#concepts/lobby"; +import Room from "#concepts/room"; +import Point from '#types/point'; +declare module '#cmd/sendStuff' { + interface SendStuff { + sendPlay(lobby: Lobby, room?: Room, start_pos?: Point, uuid?: string): void; + sendRoomTransition(room_to: Room, start_pos?: Point, uuid?: string): void; + sendGameOver(outcome: string, reason?: string): void; + } +} diff --git a/JavascriptServer/cmd/senders/types/lobby.d.ts b/JavascriptServer/cmd/senders/types/lobby.d.ts new file mode 100644 index 0000000..78b70b7 --- /dev/null +++ b/JavascriptServer/cmd/senders/types/lobby.d.ts @@ -0,0 +1,11 @@ +import Lobby from '#concepts/lobby'; +declare module '#cmd/sendStuff' { + interface SendStuff { + sendLobbyJoin(lobby: Lobby): void; + sendLobbyReject(lobby: Lobby, reason?: string): void; + sendLobbyLeave(lobby: Lobby, reason?: string, forced?: boolean): void; + sendLobbyUpdate(lobby: Lobby): void; + sendLobbyInfo(lobbyid: string): void; + sendLobbyList(): void; + } +} diff --git a/JavascriptServer/cmd/senders/types/party.d.ts b/JavascriptServer/cmd/senders/types/party.d.ts new file mode 100644 index 0000000..d4cf45e --- /dev/null +++ b/JavascriptServer/cmd/senders/types/party.d.ts @@ -0,0 +1,10 @@ +import Party from "#concepts/party"; +declare module '#cmd/sendStuff' { + interface SendStuff { + sendPartyInvite(party: Party): any; + sendPartyLeave(party: Party, reason: string, forced: boolean): any; + sendPartyJoin(party: Party): any; + sendPartyReject(party?: Party, reason?: string): any; + sendPartyInviteSent(): any; + } +} diff --git a/JavascriptServer/cmd/senders/types/system.d.ts b/JavascriptServer/cmd/senders/types/system.d.ts new file mode 100644 index 0000000..94f7185 --- /dev/null +++ b/JavascriptServer/cmd/senders/types/system.d.ts @@ -0,0 +1,10 @@ +import { ValidationError } from "fastest-validator"; +declare module '#cmd/sendStuff' { + interface SendStuff { + sendServerInfo(compatible: boolean): any; + sendPing(): any; + sendPong(T: number): any; + sendServerTime(client_t: number): any; + sendInvalidInput(from_cmd: string, errors: ValidationError[]): any; + } +} diff --git a/JavascriptServer/concepts/client.js b/JavascriptServer/concepts/client.js index 5589488..de14a60 100644 --- a/JavascriptServer/concepts/client.js +++ b/JavascriptServer/concepts/client.js @@ -1,6 +1,6 @@ import trace from '#util/logging'; import chalk from 'chalk'; -import SendStuff from '#cmd/sendStuff'; +import { SendStuff } from '#cmd/sendStuff'; import mongoose from 'mongoose'; const ObjectId = mongoose.Types.ObjectId; diff --git a/JavascriptServer/initializers/10_cmd.js b/JavascriptServer/initializers/10_cmd.js index a349ff7..6a76005 100644 --- a/JavascriptServer/initializers/10_cmd.js +++ b/JavascriptServer/initializers/10_cmd.js @@ -9,11 +9,15 @@ const __dirname = dirname(fileURLToPath(import.meta.url)); async function loadFolder(type) { - let files = fs.readdirSync(__dirname + `/../cmd/${type}s`, 'utf8'); + let dir = __dirname + `/../cmd/${type}s`; + let files = fs.readdirSync(dir, 'utf8'); trace(chalk.blueBright(`Loading ${type}s...`)); // load everything asynchronously await Promise.all(files.map(file => { + if (fs.statSync(dir + '/' + file).isDirectory()) + return; + trace(chalk.blueBright(`> loading ${type}:`, file)); return import(`file://${__dirname}/../cmd/${type}s/${file}`); })); diff --git a/Release/GMClient.zip b/Release/GMClient.zip index 0ddb4d2eb063a5453aeac0414a3563c7f2611c84..1691ee733af73d18d21d411f96221c4e5cf58f4b 100644 GIT binary patch delta 220 zcmey>%ypxMizmRFnMH(wfrEo#M#n~;sVq!0I+_==Y+ua6c=9ihJ$+*Zqww@COiUu% zr!p}mG699Q|6pNStz-<*#sJhdH;e%Za01ySnK`M&sU^kw0p5&EB3v-@r>|FMas-+1 zNu6nrH;A#JnCTBAh_SAe$%1EkgEJF{Gj<~(HV6Qzh3ZVm7O=8`q|_MI7^|Wf7)}5s G85jW96*WHq delta 138 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 QKy)C^;Kn}_g&qF?0Qua1Q2+n{ delta 5448 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 diff --git a/Release/TSServer.zip b/Release/TSServer.zip index 06feba3bab28215f5127e4a04cf74509e34c5663..8e1730f78b939ae8938316bedce266011cfb298c 100644 GIT binary patch delta 6476 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⁢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 G85jW96*WHq delta 138 zcmcc7!u6|}izmRFnMH(wfrEp=xqKtfR2C-Z^5(@X+ZVGip8Pxgb~vNJ^!*i#tkbtJ zF^O!S%EXk&#MBkH{Ra!vY9$^ { + if (fs.statSync(dir + '/' + file).isDirectory()) return; + trace(chalk.blueBright(`> loading ${type}:`, file)); return import(`file://${__dirname}/../cmd/${type}s/${file}`); })); diff --git a/TypescriptServer/tsconfig.json b/TypescriptServer/tsconfig.json index b26031a..1a91330 100644 --- a/TypescriptServer/tsconfig.json +++ b/TypescriptServer/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "allowJs": true, + "removeComments": false, "moduleResolution": "Node", "baseUrl": "src", "outDir": "out/", @@ -9,6 +10,7 @@ "target": "ESNext", "allowSyntheticDefaultImports": true, "resolveJsonModule": true, + // "declaration": true, "paths": { "#schemas/*": ["schemas/*"], "#entity/*": ["entities/entity_types/*"],