diff --git a/eslint.config.js b/eslint.config.js index 3caf4b48d..c8dede61e 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -13,7 +13,7 @@ const gitignorePath = path.resolve(__dirname, ".gitignore"); /** @type {import('eslint').Linter.Config[]} */ export default [ includeIgnoreFile(gitignorePath), - { ignores: ["src/server/gatekeeper/**"] }, + { ignores: ["src/generated/**"] }, { files: ["**/*.{js,mjs,cjs,ts}"] }, { languageOptions: { globals: { ...globals.browser, ...globals.node } } }, pluginJs.configs.recommended, diff --git a/package-lock.json b/package-lock.json index 1f6cd8a0f..dbfa893fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "express": "^4.21.1", "express-rate-limit": "^7.5.0", "fastpriorityqueue": "^0.7.5", + "flatbuffers": "^25.9.23", "howler": "^2.2.4", "intl-messageformat": "^10.7.16", "ip-anonymize": "^0.1.0", @@ -1049,7 +1050,6 @@ "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -2922,7 +2922,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -2946,7 +2945,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -5101,7 +5099,6 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=8.0.0" } @@ -6420,6 +6417,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=10" } @@ -6436,6 +6434,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=10" } @@ -6452,6 +6451,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -6468,6 +6468,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -6484,6 +6485,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -6500,6 +6502,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -6516,6 +6519,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=10" } @@ -6532,6 +6536,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -6548,6 +6553,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -6564,6 +6570,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=10" } @@ -6599,6 +6606,7 @@ "integrity": "sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@swc/counter": "^0.1.3" } @@ -7253,7 +7261,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.32.tgz", "integrity": "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==", "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -7488,7 +7495,6 @@ "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.34.1", "@typescript-eslint/types": "8.34.1", @@ -8259,7 +8265,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8318,7 +8323,6 @@ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -8884,7 +8888,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001718", "electron-to-chromium": "^1.5.160", @@ -9063,7 +9066,6 @@ "dev": true, "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "node-addon-api": "^7.0.0", "prebuild-install": "^7.1.1" @@ -9085,7 +9087,6 @@ "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", @@ -9690,7 +9691,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -10278,7 +10278,6 @@ "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", "dev": true, "license": "ISC", - "peer": true, "engines": { "node": ">=12" } @@ -11021,7 +11020,6 @@ "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -11191,7 +11189,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -11550,7 +11547,6 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "license": "MIT", - "peer": true, "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -11904,6 +11900,12 @@ "node": ">=16" } }, + "node_modules/flatbuffers": { + "version": "25.9.23", + "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-25.9.23.tgz", + "integrity": "sha512-MI1qs7Lo4Syw0EOzUl0xjs2lsoeqFku44KpngfIduHBYvzm8h2+7K8YMQh1JtVVVrUvhLpNwqVi4DERegUJhPQ==", + "license": "Apache-2.0" + }, "node_modules/flatted": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", @@ -12451,7 +12453,6 @@ "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -14981,7 +14982,6 @@ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", @@ -16695,7 +16695,6 @@ "integrity": "sha512-dyuThzncsgEgJZnvd/A/5x6IkUERbK+phXqUQrI+0C6WE+8xqGH5VChRTLecemhgZF0kQ+gZOM3tJTX9937xpg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@pixi/colord": "^2.9.6", "@types/css-font-loading-module": "^0.0.12", @@ -16753,7 +16752,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -17092,7 +17090,6 @@ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -18362,7 +18359,6 @@ "integrity": "sha512-TOgRcwFPbfGtpqvZw+hyqJDvqfapr1qUlOizROIk4bBLjlsjlB00Pg6wMFXNtJRpu+eCZuVOaLatG7M8105kAw==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^13.0.5", @@ -19075,7 +19071,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -19307,7 +19302,6 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -19495,7 +19489,6 @@ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "license": "MIT", - "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -19578,8 +19571,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "peer": true + "license": "0BSD" }, "node_modules/tsx": { "version": "4.20.3", @@ -19668,7 +19660,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -19963,7 +19954,6 @@ "integrity": "sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -20013,7 +20003,6 @@ "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@discoveryjs/json-ext": "^0.6.1", "@webpack-cli/configtest": "^3.0.1", @@ -20097,7 +20086,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -20213,7 +20201,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -20306,7 +20293,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", diff --git a/package.json b/package.json index 9e93c8b16..d8c173af6 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "lint": "eslint", "lint:fix": "eslint --fix", "prepare": "husky", - "gen-maps": "cd map-generator && go run . && npm run format" + "gen-maps": "cd map-generator && go run . && npm run format", + "gen:fb": "flatc --ts -o ./src/generated ./src/core/game/GameUpdates.fbs" }, "lint-staged": { "**/*": [ @@ -121,6 +122,7 @@ "express": "^4.21.1", "express-rate-limit": "^7.5.0", "fastpriorityqueue": "^0.7.5", + "flatbuffers": "^25.9.23", "howler": "^2.2.4", "intl-messageformat": "^10.7.16", "ip-anonymize": "^0.1.0", diff --git a/src/core/game/GameUpdates.fbs b/src/core/game/GameUpdates.fbs new file mode 100644 index 000000000..a608b4cf3 --- /dev/null +++ b/src/core/game/GameUpdates.fbs @@ -0,0 +1,308 @@ +// GameUpdates FlatBuffer Schema + +namespace GameUpdates; + +// Basic types +table TileRef { + x: int; + y: int; +} + +table NameViewData { + name: string; + display_name: string; + color: uint; +} + +// Enums +enum GameUpdateType : byte { + Tile = 0, + Unit = 1, + Player = 2, + DisplayEvent = 3, + DisplayChatEvent = 4, + AllianceRequest = 5, + AllianceRequestReply = 6, + BrokeAlliance = 7, + AllianceExpired = 8, + AllianceExtension = 9, + TargetPlayer = 10, + Emoji = 11, + Win = 12, + Hash = 13, + UnitIncoming = 14, + BonusEvent = 15, + RailroadEvent = 16, + ConquestEvent = 17, + EmbargoEvent = 18 +} + +enum RailType : byte { + VERTICAL = 0, + HORIZONTAL = 1, + TOP_LEFT = 2, + TOP_RIGHT = 3, + BOTTOM_LEFT = 4, + BOTTOM_RIGHT = 5 +} + +enum UnitType : byte { + Infantry = 0, + Tank = 1, + Ship = 2, + Plane = 3, + Nuke = 4, + Train = 5 +} + +enum TrainType : byte { + Passenger = 0, + Freight = 1 +} + +enum PlayerType : byte { + Human = 0, + Bot = 1, + Spectator = 2 +} + +enum MessageType : byte { + Info = 0, + Warning = 1, + Error = 2, + Success = 3 +} + +// Update structures +table TileUpdate { + tile_ref: TileRef; + owner_id: int = -1; + troops: int; + gold: long; + is_city: bool; + is_capital: bool; + has_train_station: bool; +} + +table TileUpdateWrapper { + update: TileUpdate; +} + +table UnitUpdate { + unit_type: UnitType; + troops: int; + id: int; + owner_id: int; + last_owner_id: int = -1; + pos: TileRef; + last_pos: TileRef; + is_active: bool; + reached_target: bool; + retreating: bool; + targetable: bool; + marked_for_deletion: int = -1; + target_unit_id: int = -1; + target_tile: TileRef; + health: int = 100; + under_construction: bool = false; + missile_timer_queue: [int]; + level: int = 1; + has_train_station: bool = false; + train_type: TrainType; + loaded: bool = false; +} + +table AttackUpdate { + attacker_id: int; + target_id: int; + troops: int; + id: string; + retreating: bool; +} + +table EmojiMessage { + player_id: int; + emoji: string; + target_player_id: int = -1; + tick: int; +} + +table AllianceView { + id: int; + other: int; + created_at: int; + expires_at: int; + has_extension_request: bool; +} + +table PlayerUpdate { + name_view_data: NameViewData; + client_id: string; + name: string; + display_name: string; + id: int; + team: int = -1; + small_id: int; + player_type: PlayerType; + is_alive: bool; + is_disconnected: bool; + tiles_owned: int; + gold: long; + troops: int; + allies: [int]; + embargoes: [int]; + is_traitor: bool; + traitor_remaining_ticks: int = -1; + targets: [int]; + outgoing_emojis: [EmojiMessage]; + outgoing_attacks: [AttackUpdate]; + incoming_attacks: [AttackUpdate]; + outgoing_alliance_requests: [int]; + alliances: [AllianceView]; + has_spawned: bool; + betrayals: int; + last_delete_unit_tick: int; +} + +table AllianceRequestUpdate { + requestor_id: int; + recipient_id: int; + created_at: int; +} + +table AllianceRequestReplyUpdate { + request: AllianceRequestUpdate; + accepted: bool; +} + +table BrokeAllianceUpdate { + traitor_id: int; + betrayed_id: int; +} + +table AllianceExpiredUpdate { + player1_id: int; + player2_id: int; +} + +table AllianceExtensionUpdate { + player_id: int; + alliance_id: int; +} + +table TargetPlayerUpdate { + player_id: int; + target_id: int; +} + +table EmojiUpdate { + emoji: EmojiMessage; +} + +table DisplayMessageUpdate { + message: string; + message_type: MessageType; + gold_amount: long = 0; + player_id: int = -1; + params_keys: [string]; + params_values: [string]; +} + +table DisplayChatMessageUpdate { + key: string; + category: string; + target: string; + player_id: int = -1; + is_from: bool; + recipient: string; +} + +table WinUpdate { + all_players_stats: string; // JSON serialized + winner: string; // JSON serialized +} + +table HashUpdate { + tick: int; + hash: int; +} + +table UnitIncomingUpdate { + unit_id: int; + message: string; + message_type: MessageType; + player_id: int; +} + +table BonusEventUpdate { + player: int; + tile: TileRef; + gold: int; + troops: int; +} + +table RailTile { + tile: TileRef; + rail_type: RailType; +} + +table RailroadUpdate { + is_active: bool; + rail_tiles: [RailTile]; +} + +table ConquestUpdate { + conqueror_id: int; + conquered_id: int; + gold: long; +} + +table EmbargoUpdate { + event: string; // "start" or "stop" + player_id: int; + embargoed_id: int; +} + +table ErrorUpdate { + err_msg: string; + stack: string; +} + +// Union for all update types +union GameUpdateUnion { + TileUpdateWrapper, + UnitUpdate, + PlayerUpdate, + AllianceRequestUpdate, + AllianceRequestReplyUpdate, + BrokeAllianceUpdate, + AllianceExpiredUpdate, + DisplayMessageUpdate, + DisplayChatMessageUpdate, + TargetPlayerUpdate, + EmojiUpdate, + WinUpdate, + HashUpdate, + UnitIncomingUpdate, + AllianceExtensionUpdate, + BonusEventUpdate, + RailroadUpdate, + ConquestUpdate, + EmbargoUpdate +} + +table GameUpdate { + type: GameUpdateType; + update: GameUpdateUnion; +} + +table GameUpdateViewData { + tick: int; + updates: [GameUpdate]; + packed_tile_updates: [ulong]; + player_name_view_data_keys: [string]; + player_name_view_data_values: [NameViewData]; + tick_execution_duration: float = 0.0; +} + +root_type GameUpdateViewData; diff --git a/src/generated/GameUpdates.ts b/src/generated/GameUpdates.ts new file mode 100644 index 000000000..4b5dc89f5 --- /dev/null +++ b/src/generated/GameUpdates.ts @@ -0,0 +1,5 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export * as GameUpdates from "./game-updates.js"; diff --git a/src/generated/game-updates.ts b/src/generated/game-updates.ts new file mode 100644 index 000000000..fa82e2303 --- /dev/null +++ b/src/generated/game-updates.ts @@ -0,0 +1,40 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export { AllianceExpiredUpdate } from "./game-updates/alliance-expired-update.js"; +export { AllianceExtensionUpdate } from "./game-updates/alliance-extension-update.js"; +export { AllianceRequestReplyUpdate } from "./game-updates/alliance-request-reply-update.js"; +export { AllianceRequestUpdate } from "./game-updates/alliance-request-update.js"; +export { AllianceView } from "./game-updates/alliance-view.js"; +export { AttackUpdate } from "./game-updates/attack-update.js"; +export { BonusEventUpdate } from "./game-updates/bonus-event-update.js"; +export { BrokeAllianceUpdate } from "./game-updates/broke-alliance-update.js"; +export { ConquestUpdate } from "./game-updates/conquest-update.js"; +export { DisplayChatMessageUpdate } from "./game-updates/display-chat-message-update.js"; +export { DisplayMessageUpdate } from "./game-updates/display-message-update.js"; +export { EmbargoUpdate } from "./game-updates/embargo-update.js"; +export { EmojiMessage } from "./game-updates/emoji-message.js"; +export { EmojiUpdate } from "./game-updates/emoji-update.js"; +export { ErrorUpdate } from "./game-updates/error-update.js"; +export { GameUpdateType } from "./game-updates/game-update-type.js"; +export { GameUpdateUnion } from "./game-updates/game-update-union.js"; +export { GameUpdateViewData } from "./game-updates/game-update-view-data.js"; +export { GameUpdate } from "./game-updates/game-update.js"; +export { HashUpdate } from "./game-updates/hash-update.js"; +export { MessageType } from "./game-updates/message-type.js"; +export { NameViewData } from "./game-updates/name-view-data.js"; +export { PlayerType } from "./game-updates/player-type.js"; +export { PlayerUpdate } from "./game-updates/player-update.js"; +export { RailTile } from "./game-updates/rail-tile.js"; +export { RailType } from "./game-updates/rail-type.js"; +export { RailroadUpdate } from "./game-updates/railroad-update.js"; +export { TargetPlayerUpdate } from "./game-updates/target-player-update.js"; +export { TileRef } from "./game-updates/tile-ref.js"; +export { TileUpdateWrapper } from "./game-updates/tile-update-wrapper.js"; +export { TileUpdate } from "./game-updates/tile-update.js"; +export { TrainType } from "./game-updates/train-type.js"; +export { UnitIncomingUpdate } from "./game-updates/unit-incoming-update.js"; +export { UnitType } from "./game-updates/unit-type.js"; +export { UnitUpdate } from "./game-updates/unit-update.js"; +export { WinUpdate } from "./game-updates/win-update.js"; diff --git a/src/generated/game-updates/alliance-expired-update.ts b/src/generated/game-updates/alliance-expired-update.ts new file mode 100644 index 000000000..8b084475a --- /dev/null +++ b/src/generated/game-updates/alliance-expired-update.ts @@ -0,0 +1,76 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class AllianceExpiredUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AllianceExpiredUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAllianceExpiredUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceExpiredUpdate, + ): AllianceExpiredUpdate { + return (obj || new AllianceExpiredUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAllianceExpiredUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceExpiredUpdate, + ): AllianceExpiredUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AllianceExpiredUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + player1Id(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + player2Id(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startAllianceExpiredUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addPlayer1Id(builder: flatbuffers.Builder, player1Id: number) { + builder.addFieldInt32(0, player1Id, 0); + } + + static addPlayer2Id(builder: flatbuffers.Builder, player2Id: number) { + builder.addFieldInt32(1, player2Id, 0); + } + + static endAllianceExpiredUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAllianceExpiredUpdate( + builder: flatbuffers.Builder, + player1Id: number, + player2Id: number, + ): flatbuffers.Offset { + AllianceExpiredUpdate.startAllianceExpiredUpdate(builder); + AllianceExpiredUpdate.addPlayer1Id(builder, player1Id); + AllianceExpiredUpdate.addPlayer2Id(builder, player2Id); + return AllianceExpiredUpdate.endAllianceExpiredUpdate(builder); + } +} diff --git a/src/generated/game-updates/alliance-extension-update.ts b/src/generated/game-updates/alliance-extension-update.ts new file mode 100644 index 000000000..0af56b3aa --- /dev/null +++ b/src/generated/game-updates/alliance-extension-update.ts @@ -0,0 +1,76 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class AllianceExtensionUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AllianceExtensionUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAllianceExtensionUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceExtensionUpdate, + ): AllianceExtensionUpdate { + return (obj || new AllianceExtensionUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAllianceExtensionUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceExtensionUpdate, + ): AllianceExtensionUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AllianceExtensionUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + allianceId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startAllianceExtensionUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(0, playerId, 0); + } + + static addAllianceId(builder: flatbuffers.Builder, allianceId: number) { + builder.addFieldInt32(1, allianceId, 0); + } + + static endAllianceExtensionUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAllianceExtensionUpdate( + builder: flatbuffers.Builder, + playerId: number, + allianceId: number, + ): flatbuffers.Offset { + AllianceExtensionUpdate.startAllianceExtensionUpdate(builder); + AllianceExtensionUpdate.addPlayerId(builder, playerId); + AllianceExtensionUpdate.addAllianceId(builder, allianceId); + return AllianceExtensionUpdate.endAllianceExtensionUpdate(builder); + } +} diff --git a/src/generated/game-updates/alliance-request-reply-update.ts b/src/generated/game-updates/alliance-request-reply-update.ts new file mode 100644 index 000000000..d1b6e1715 --- /dev/null +++ b/src/generated/game-updates/alliance-request-reply-update.ts @@ -0,0 +1,86 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { AllianceRequestUpdate } from "../game-updates/alliance-request-update.js"; + +export class AllianceRequestReplyUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AllianceRequestReplyUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAllianceRequestReplyUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceRequestReplyUpdate, + ): AllianceRequestReplyUpdate { + return (obj || new AllianceRequestReplyUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAllianceRequestReplyUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceRequestReplyUpdate, + ): AllianceRequestReplyUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AllianceRequestReplyUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + request(obj?: AllianceRequestUpdate): AllianceRequestUpdate | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new AllianceRequestUpdate()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + accepted(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + static startAllianceRequestReplyUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addRequest( + builder: flatbuffers.Builder, + requestOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, requestOffset, 0); + } + + static addAccepted(builder: flatbuffers.Builder, accepted: boolean) { + builder.addFieldInt8(1, +accepted, +false); + } + + static endAllianceRequestReplyUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAllianceRequestReplyUpdate( + builder: flatbuffers.Builder, + requestOffset: flatbuffers.Offset, + accepted: boolean, + ): flatbuffers.Offset { + AllianceRequestReplyUpdate.startAllianceRequestReplyUpdate(builder); + AllianceRequestReplyUpdate.addRequest(builder, requestOffset); + AllianceRequestReplyUpdate.addAccepted(builder, accepted); + return AllianceRequestReplyUpdate.endAllianceRequestReplyUpdate(builder); + } +} diff --git a/src/generated/game-updates/alliance-request-update.ts b/src/generated/game-updates/alliance-request-update.ts new file mode 100644 index 000000000..bc8440407 --- /dev/null +++ b/src/generated/game-updates/alliance-request-update.ts @@ -0,0 +1,87 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class AllianceRequestUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AllianceRequestUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAllianceRequestUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceRequestUpdate, + ): AllianceRequestUpdate { + return (obj || new AllianceRequestUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAllianceRequestUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AllianceRequestUpdate, + ): AllianceRequestUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AllianceRequestUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + requestorId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + recipientId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + createdAt(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startAllianceRequestUpdate(builder: flatbuffers.Builder) { + builder.startObject(3); + } + + static addRequestorId(builder: flatbuffers.Builder, requestorId: number) { + builder.addFieldInt32(0, requestorId, 0); + } + + static addRecipientId(builder: flatbuffers.Builder, recipientId: number) { + builder.addFieldInt32(1, recipientId, 0); + } + + static addCreatedAt(builder: flatbuffers.Builder, createdAt: number) { + builder.addFieldInt32(2, createdAt, 0); + } + + static endAllianceRequestUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAllianceRequestUpdate( + builder: flatbuffers.Builder, + requestorId: number, + recipientId: number, + createdAt: number, + ): flatbuffers.Offset { + AllianceRequestUpdate.startAllianceRequestUpdate(builder); + AllianceRequestUpdate.addRequestorId(builder, requestorId); + AllianceRequestUpdate.addRecipientId(builder, recipientId); + AllianceRequestUpdate.addCreatedAt(builder, createdAt); + return AllianceRequestUpdate.endAllianceRequestUpdate(builder); + } +} diff --git a/src/generated/game-updates/alliance-view.ts b/src/generated/game-updates/alliance-view.ts new file mode 100644 index 000000000..464af1cd5 --- /dev/null +++ b/src/generated/game-updates/alliance-view.ts @@ -0,0 +1,110 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class AllianceView { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AllianceView { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAllianceView( + bb: flatbuffers.ByteBuffer, + obj?: AllianceView, + ): AllianceView { + return (obj || new AllianceView()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAllianceView( + bb: flatbuffers.ByteBuffer, + obj?: AllianceView, + ): AllianceView { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AllianceView()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + id(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + other(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + createdAt(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + expiresAt(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + hasExtensionRequest(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + static startAllianceView(builder: flatbuffers.Builder) { + builder.startObject(5); + } + + static addId(builder: flatbuffers.Builder, id: number) { + builder.addFieldInt32(0, id, 0); + } + + static addOther(builder: flatbuffers.Builder, other: number) { + builder.addFieldInt32(1, other, 0); + } + + static addCreatedAt(builder: flatbuffers.Builder, createdAt: number) { + builder.addFieldInt32(2, createdAt, 0); + } + + static addExpiresAt(builder: flatbuffers.Builder, expiresAt: number) { + builder.addFieldInt32(3, expiresAt, 0); + } + + static addHasExtensionRequest( + builder: flatbuffers.Builder, + hasExtensionRequest: boolean, + ) { + builder.addFieldInt8(4, +hasExtensionRequest, +false); + } + + static endAllianceView(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAllianceView( + builder: flatbuffers.Builder, + id: number, + other: number, + createdAt: number, + expiresAt: number, + hasExtensionRequest: boolean, + ): flatbuffers.Offset { + AllianceView.startAllianceView(builder); + AllianceView.addId(builder, id); + AllianceView.addOther(builder, other); + AllianceView.addCreatedAt(builder, createdAt); + AllianceView.addExpiresAt(builder, expiresAt); + AllianceView.addHasExtensionRequest(builder, hasExtensionRequest); + return AllianceView.endAllianceView(builder); + } +} diff --git a/src/generated/game-updates/attack-update.ts b/src/generated/game-updates/attack-update.ts new file mode 100644 index 000000000..f6cf559ea --- /dev/null +++ b/src/generated/game-updates/attack-update.ts @@ -0,0 +1,111 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class AttackUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): AttackUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsAttackUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AttackUpdate, + ): AttackUpdate { + return (obj || new AttackUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsAttackUpdate( + bb: flatbuffers.ByteBuffer, + obj?: AttackUpdate, + ): AttackUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new AttackUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + attackerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + targetId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + troops(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + id(): string | null; + id(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + id(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + retreating(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + static startAttackUpdate(builder: flatbuffers.Builder) { + builder.startObject(5); + } + + static addAttackerId(builder: flatbuffers.Builder, attackerId: number) { + builder.addFieldInt32(0, attackerId, 0); + } + + static addTargetId(builder: flatbuffers.Builder, targetId: number) { + builder.addFieldInt32(1, targetId, 0); + } + + static addTroops(builder: flatbuffers.Builder, troops: number) { + builder.addFieldInt32(2, troops, 0); + } + + static addId(builder: flatbuffers.Builder, idOffset: flatbuffers.Offset) { + builder.addFieldOffset(3, idOffset, 0); + } + + static addRetreating(builder: flatbuffers.Builder, retreating: boolean) { + builder.addFieldInt8(4, +retreating, +false); + } + + static endAttackUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createAttackUpdate( + builder: flatbuffers.Builder, + attackerId: number, + targetId: number, + troops: number, + idOffset: flatbuffers.Offset, + retreating: boolean, + ): flatbuffers.Offset { + AttackUpdate.startAttackUpdate(builder); + AttackUpdate.addAttackerId(builder, attackerId); + AttackUpdate.addTargetId(builder, targetId); + AttackUpdate.addTroops(builder, troops); + AttackUpdate.addId(builder, idOffset); + AttackUpdate.addRetreating(builder, retreating); + return AttackUpdate.endAttackUpdate(builder); + } +} diff --git a/src/generated/game-updates/bonus-event-update.ts b/src/generated/game-updates/bonus-event-update.ts new file mode 100644 index 000000000..2fed773b2 --- /dev/null +++ b/src/generated/game-updates/bonus-event-update.ts @@ -0,0 +1,88 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { TileRef } from "../game-updates/tile-ref.js"; + +export class BonusEventUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): BonusEventUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsBonusEventUpdate( + bb: flatbuffers.ByteBuffer, + obj?: BonusEventUpdate, + ): BonusEventUpdate { + return (obj || new BonusEventUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsBonusEventUpdate( + bb: flatbuffers.ByteBuffer, + obj?: BonusEventUpdate, + ): BonusEventUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new BonusEventUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + player(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + tile(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + gold(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + troops(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startBonusEventUpdate(builder: flatbuffers.Builder) { + builder.startObject(4); + } + + static addPlayer(builder: flatbuffers.Builder, player: number) { + builder.addFieldInt32(0, player, 0); + } + + static addTile(builder: flatbuffers.Builder, tileOffset: flatbuffers.Offset) { + builder.addFieldOffset(1, tileOffset, 0); + } + + static addGold(builder: flatbuffers.Builder, gold: number) { + builder.addFieldInt32(2, gold, 0); + } + + static addTroops(builder: flatbuffers.Builder, troops: number) { + builder.addFieldInt32(3, troops, 0); + } + + static endBonusEventUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } +} diff --git a/src/generated/game-updates/broke-alliance-update.ts b/src/generated/game-updates/broke-alliance-update.ts new file mode 100644 index 000000000..fe04888a6 --- /dev/null +++ b/src/generated/game-updates/broke-alliance-update.ts @@ -0,0 +1,76 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class BrokeAllianceUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): BrokeAllianceUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsBrokeAllianceUpdate( + bb: flatbuffers.ByteBuffer, + obj?: BrokeAllianceUpdate, + ): BrokeAllianceUpdate { + return (obj || new BrokeAllianceUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsBrokeAllianceUpdate( + bb: flatbuffers.ByteBuffer, + obj?: BrokeAllianceUpdate, + ): BrokeAllianceUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new BrokeAllianceUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + traitorId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + betrayedId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startBrokeAllianceUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addTraitorId(builder: flatbuffers.Builder, traitorId: number) { + builder.addFieldInt32(0, traitorId, 0); + } + + static addBetrayedId(builder: flatbuffers.Builder, betrayedId: number) { + builder.addFieldInt32(1, betrayedId, 0); + } + + static endBrokeAllianceUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createBrokeAllianceUpdate( + builder: flatbuffers.Builder, + traitorId: number, + betrayedId: number, + ): flatbuffers.Offset { + BrokeAllianceUpdate.startBrokeAllianceUpdate(builder); + BrokeAllianceUpdate.addTraitorId(builder, traitorId); + BrokeAllianceUpdate.addBetrayedId(builder, betrayedId); + return BrokeAllianceUpdate.endBrokeAllianceUpdate(builder); + } +} diff --git a/src/generated/game-updates/conquest-update.ts b/src/generated/game-updates/conquest-update.ts new file mode 100644 index 000000000..2df044a81 --- /dev/null +++ b/src/generated/game-updates/conquest-update.ts @@ -0,0 +1,85 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class ConquestUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): ConquestUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsConquestUpdate( + bb: flatbuffers.ByteBuffer, + obj?: ConquestUpdate, + ): ConquestUpdate { + return (obj || new ConquestUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsConquestUpdate( + bb: flatbuffers.ByteBuffer, + obj?: ConquestUpdate, + ): ConquestUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new ConquestUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + conquerorId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + conqueredId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + gold(): bigint { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : BigInt("0"); + } + + static startConquestUpdate(builder: flatbuffers.Builder) { + builder.startObject(3); + } + + static addConquerorId(builder: flatbuffers.Builder, conquerorId: number) { + builder.addFieldInt32(0, conquerorId, 0); + } + + static addConqueredId(builder: flatbuffers.Builder, conqueredId: number) { + builder.addFieldInt32(1, conqueredId, 0); + } + + static addGold(builder: flatbuffers.Builder, gold: bigint) { + builder.addFieldInt64(2, gold, BigInt("0")); + } + + static endConquestUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createConquestUpdate( + builder: flatbuffers.Builder, + conquerorId: number, + conqueredId: number, + gold: bigint, + ): flatbuffers.Offset { + ConquestUpdate.startConquestUpdate(builder); + ConquestUpdate.addConquerorId(builder, conquerorId); + ConquestUpdate.addConqueredId(builder, conqueredId); + ConquestUpdate.addGold(builder, gold); + return ConquestUpdate.endConquestUpdate(builder); + } +} diff --git a/src/generated/game-updates/display-chat-message-update.ts b/src/generated/game-updates/display-chat-message-update.ts new file mode 100644 index 000000000..88eccdcd3 --- /dev/null +++ b/src/generated/game-updates/display-chat-message-update.ts @@ -0,0 +1,145 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class DisplayChatMessageUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): DisplayChatMessageUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsDisplayChatMessageUpdate( + bb: flatbuffers.ByteBuffer, + obj?: DisplayChatMessageUpdate, + ): DisplayChatMessageUpdate { + return (obj || new DisplayChatMessageUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsDisplayChatMessageUpdate( + bb: flatbuffers.ByteBuffer, + obj?: DisplayChatMessageUpdate, + ): DisplayChatMessageUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new DisplayChatMessageUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + key(): string | null; + key(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + key(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + category(): string | null; + category(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + category(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + target(): string | null; + target(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + target(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + isFrom(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + recipient(): string | null; + recipient(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + recipient(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + static startDisplayChatMessageUpdate(builder: flatbuffers.Builder) { + builder.startObject(6); + } + + static addKey(builder: flatbuffers.Builder, keyOffset: flatbuffers.Offset) { + builder.addFieldOffset(0, keyOffset, 0); + } + + static addCategory( + builder: flatbuffers.Builder, + categoryOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, categoryOffset, 0); + } + + static addTarget( + builder: flatbuffers.Builder, + targetOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(2, targetOffset, 0); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(3, playerId, -1); + } + + static addIsFrom(builder: flatbuffers.Builder, isFrom: boolean) { + builder.addFieldInt8(4, +isFrom, +false); + } + + static addRecipient( + builder: flatbuffers.Builder, + recipientOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(5, recipientOffset, 0); + } + + static endDisplayChatMessageUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createDisplayChatMessageUpdate( + builder: flatbuffers.Builder, + keyOffset: flatbuffers.Offset, + categoryOffset: flatbuffers.Offset, + targetOffset: flatbuffers.Offset, + playerId: number, + isFrom: boolean, + recipientOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + DisplayChatMessageUpdate.startDisplayChatMessageUpdate(builder); + DisplayChatMessageUpdate.addKey(builder, keyOffset); + DisplayChatMessageUpdate.addCategory(builder, categoryOffset); + DisplayChatMessageUpdate.addTarget(builder, targetOffset); + DisplayChatMessageUpdate.addPlayerId(builder, playerId); + DisplayChatMessageUpdate.addIsFrom(builder, isFrom); + DisplayChatMessageUpdate.addRecipient(builder, recipientOffset); + return DisplayChatMessageUpdate.endDisplayChatMessageUpdate(builder); + } +} diff --git a/src/generated/game-updates/display-message-update.ts b/src/generated/game-updates/display-message-update.ts new file mode 100644 index 000000000..d7ac3b66c --- /dev/null +++ b/src/generated/game-updates/display-message-update.ts @@ -0,0 +1,207 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { MessageType } from "../game-updates/message-type.js"; + +export class DisplayMessageUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): DisplayMessageUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsDisplayMessageUpdate( + bb: flatbuffers.ByteBuffer, + obj?: DisplayMessageUpdate, + ): DisplayMessageUpdate { + return (obj || new DisplayMessageUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsDisplayMessageUpdate( + bb: flatbuffers.ByteBuffer, + obj?: DisplayMessageUpdate, + ): DisplayMessageUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new DisplayMessageUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + message(): string | null; + message(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + message(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + messageType(): MessageType { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : MessageType.Info; + } + + goldAmount(): bigint { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : BigInt("0"); + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + paramsKeys(index: number): string; + paramsKeys( + index: number, + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array; + paramsKeys( + index: number, + optionalEncoding?: any, + ): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset + ? this.bb!.__string( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + optionalEncoding, + ) + : null; + } + + paramsKeysLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + paramsValues(index: number): string; + paramsValues( + index: number, + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array; + paramsValues( + index: number, + optionalEncoding?: any, + ): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset + ? this.bb!.__string( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + optionalEncoding, + ) + : null; + } + + paramsValuesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + static startDisplayMessageUpdate(builder: flatbuffers.Builder) { + builder.startObject(6); + } + + static addMessage( + builder: flatbuffers.Builder, + messageOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, messageOffset, 0); + } + + static addMessageType( + builder: flatbuffers.Builder, + messageType: MessageType, + ) { + builder.addFieldInt8(1, messageType, MessageType.Info); + } + + static addGoldAmount(builder: flatbuffers.Builder, goldAmount: bigint) { + builder.addFieldInt64(2, goldAmount, BigInt("0")); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(3, playerId, -1); + } + + static addParamsKeys( + builder: flatbuffers.Builder, + paramsKeysOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(4, paramsKeysOffset, 0); + } + + static createParamsKeysVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startParamsKeysVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addParamsValues( + builder: flatbuffers.Builder, + paramsValuesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(5, paramsValuesOffset, 0); + } + + static createParamsValuesVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startParamsValuesVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static endDisplayMessageUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createDisplayMessageUpdate( + builder: flatbuffers.Builder, + messageOffset: flatbuffers.Offset, + messageType: MessageType, + goldAmount: bigint, + playerId: number, + paramsKeysOffset: flatbuffers.Offset, + paramsValuesOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + DisplayMessageUpdate.startDisplayMessageUpdate(builder); + DisplayMessageUpdate.addMessage(builder, messageOffset); + DisplayMessageUpdate.addMessageType(builder, messageType); + DisplayMessageUpdate.addGoldAmount(builder, goldAmount); + DisplayMessageUpdate.addPlayerId(builder, playerId); + DisplayMessageUpdate.addParamsKeys(builder, paramsKeysOffset); + DisplayMessageUpdate.addParamsValues(builder, paramsValuesOffset); + return DisplayMessageUpdate.endDisplayMessageUpdate(builder); + } +} diff --git a/src/generated/game-updates/embargo-update.ts b/src/generated/game-updates/embargo-update.ts new file mode 100644 index 000000000..dab9efce4 --- /dev/null +++ b/src/generated/game-updates/embargo-update.ts @@ -0,0 +1,92 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class EmbargoUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): EmbargoUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsEmbargoUpdate( + bb: flatbuffers.ByteBuffer, + obj?: EmbargoUpdate, + ): EmbargoUpdate { + return (obj || new EmbargoUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsEmbargoUpdate( + bb: flatbuffers.ByteBuffer, + obj?: EmbargoUpdate, + ): EmbargoUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new EmbargoUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + event(): string | null; + event(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + event(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + embargoedId(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startEmbargoUpdate(builder: flatbuffers.Builder) { + builder.startObject(3); + } + + static addEvent( + builder: flatbuffers.Builder, + eventOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, eventOffset, 0); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(1, playerId, 0); + } + + static addEmbargoedId(builder: flatbuffers.Builder, embargoedId: number) { + builder.addFieldInt32(2, embargoedId, 0); + } + + static endEmbargoUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createEmbargoUpdate( + builder: flatbuffers.Builder, + eventOffset: flatbuffers.Offset, + playerId: number, + embargoedId: number, + ): flatbuffers.Offset { + EmbargoUpdate.startEmbargoUpdate(builder); + EmbargoUpdate.addEvent(builder, eventOffset); + EmbargoUpdate.addPlayerId(builder, playerId); + EmbargoUpdate.addEmbargoedId(builder, embargoedId); + return EmbargoUpdate.endEmbargoUpdate(builder); + } +} diff --git a/src/generated/game-updates/emoji-message.ts b/src/generated/game-updates/emoji-message.ts new file mode 100644 index 000000000..12aa4677a --- /dev/null +++ b/src/generated/game-updates/emoji-message.ts @@ -0,0 +1,106 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class EmojiMessage { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): EmojiMessage { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsEmojiMessage( + bb: flatbuffers.ByteBuffer, + obj?: EmojiMessage, + ): EmojiMessage { + return (obj || new EmojiMessage()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsEmojiMessage( + bb: flatbuffers.ByteBuffer, + obj?: EmojiMessage, + ): EmojiMessage { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new EmojiMessage()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + emoji(): string | null; + emoji(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + emoji(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + targetPlayerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + tick(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startEmojiMessage(builder: flatbuffers.Builder) { + builder.startObject(4); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(0, playerId, 0); + } + + static addEmoji( + builder: flatbuffers.Builder, + emojiOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, emojiOffset, 0); + } + + static addTargetPlayerId( + builder: flatbuffers.Builder, + targetPlayerId: number, + ) { + builder.addFieldInt32(2, targetPlayerId, -1); + } + + static addTick(builder: flatbuffers.Builder, tick: number) { + builder.addFieldInt32(3, tick, 0); + } + + static endEmojiMessage(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createEmojiMessage( + builder: flatbuffers.Builder, + playerId: number, + emojiOffset: flatbuffers.Offset, + targetPlayerId: number, + tick: number, + ): flatbuffers.Offset { + EmojiMessage.startEmojiMessage(builder); + EmojiMessage.addPlayerId(builder, playerId); + EmojiMessage.addEmoji(builder, emojiOffset); + EmojiMessage.addTargetPlayerId(builder, targetPlayerId); + EmojiMessage.addTick(builder, tick); + return EmojiMessage.endEmojiMessage(builder); + } +} diff --git a/src/generated/game-updates/emoji-update.ts b/src/generated/game-updates/emoji-update.ts new file mode 100644 index 000000000..7a3564b8e --- /dev/null +++ b/src/generated/game-updates/emoji-update.ts @@ -0,0 +1,73 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { EmojiMessage } from "../game-updates/emoji-message.js"; + +export class EmojiUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): EmojiUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsEmojiUpdate( + bb: flatbuffers.ByteBuffer, + obj?: EmojiUpdate, + ): EmojiUpdate { + return (obj || new EmojiUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsEmojiUpdate( + bb: flatbuffers.ByteBuffer, + obj?: EmojiUpdate, + ): EmojiUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new EmojiUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + emoji(obj?: EmojiMessage): EmojiMessage | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new EmojiMessage()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + static startEmojiUpdate(builder: flatbuffers.Builder) { + builder.startObject(1); + } + + static addEmoji( + builder: flatbuffers.Builder, + emojiOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, emojiOffset, 0); + } + + static endEmojiUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createEmojiUpdate( + builder: flatbuffers.Builder, + emojiOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + EmojiUpdate.startEmojiUpdate(builder); + EmojiUpdate.addEmoji(builder, emojiOffset); + return EmojiUpdate.endEmojiUpdate(builder); + } +} diff --git a/src/generated/game-updates/error-update.ts b/src/generated/game-updates/error-update.ts new file mode 100644 index 000000000..e45bce82a --- /dev/null +++ b/src/generated/game-updates/error-update.ts @@ -0,0 +1,88 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class ErrorUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): ErrorUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsErrorUpdate( + bb: flatbuffers.ByteBuffer, + obj?: ErrorUpdate, + ): ErrorUpdate { + return (obj || new ErrorUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsErrorUpdate( + bb: flatbuffers.ByteBuffer, + obj?: ErrorUpdate, + ): ErrorUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new ErrorUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + errMsg(): string | null; + errMsg(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + errMsg(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + stack(): string | null; + stack(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + stack(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + static startErrorUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addErrMsg( + builder: flatbuffers.Builder, + errMsgOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, errMsgOffset, 0); + } + + static addStack( + builder: flatbuffers.Builder, + stackOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, stackOffset, 0); + } + + static endErrorUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createErrorUpdate( + builder: flatbuffers.Builder, + errMsgOffset: flatbuffers.Offset, + stackOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + ErrorUpdate.startErrorUpdate(builder); + ErrorUpdate.addErrMsg(builder, errMsgOffset); + ErrorUpdate.addStack(builder, stackOffset); + return ErrorUpdate.endErrorUpdate(builder); + } +} diff --git a/src/generated/game-updates/game-update-type.ts b/src/generated/game-updates/game-update-type.ts new file mode 100644 index 000000000..4a7ab636e --- /dev/null +++ b/src/generated/game-updates/game-update-type.ts @@ -0,0 +1,25 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum GameUpdateType { + Tile = 0, + Unit = 1, + Player = 2, + DisplayEvent = 3, + DisplayChatEvent = 4, + AllianceRequest = 5, + AllianceRequestReply = 6, + BrokeAlliance = 7, + AllianceExpired = 8, + AllianceExtension = 9, + TargetPlayer = 10, + Emoji = 11, + Win = 12, + Hash = 13, + UnitIncoming = 14, + BonusEvent = 15, + RailroadEvent = 16, + ConquestEvent = 17, + EmbargoEvent = 18, +} diff --git a/src/generated/game-updates/game-update-union.ts b/src/generated/game-updates/game-update-union.ts new file mode 100644 index 000000000..93dcfdda3 --- /dev/null +++ b/src/generated/game-updates/game-update-union.ts @@ -0,0 +1,294 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import { AllianceExpiredUpdate } from "../game-updates/alliance-expired-update.js"; +import { AllianceExtensionUpdate } from "../game-updates/alliance-extension-update.js"; +import { AllianceRequestReplyUpdate } from "../game-updates/alliance-request-reply-update.js"; +import { AllianceRequestUpdate } from "../game-updates/alliance-request-update.js"; +import { BonusEventUpdate } from "../game-updates/bonus-event-update.js"; +import { BrokeAllianceUpdate } from "../game-updates/broke-alliance-update.js"; +import { ConquestUpdate } from "../game-updates/conquest-update.js"; +import { DisplayChatMessageUpdate } from "../game-updates/display-chat-message-update.js"; +import { DisplayMessageUpdate } from "../game-updates/display-message-update.js"; +import { EmbargoUpdate } from "../game-updates/embargo-update.js"; +import { EmojiUpdate } from "../game-updates/emoji-update.js"; +import { HashUpdate } from "../game-updates/hash-update.js"; +import { PlayerUpdate } from "../game-updates/player-update.js"; +import { RailroadUpdate } from "../game-updates/railroad-update.js"; +import { TargetPlayerUpdate } from "../game-updates/target-player-update.js"; +import { TileUpdateWrapper } from "../game-updates/tile-update-wrapper.js"; +import { UnitIncomingUpdate } from "../game-updates/unit-incoming-update.js"; +import { UnitUpdate } from "../game-updates/unit-update.js"; +import { WinUpdate } from "../game-updates/win-update.js"; + +export enum GameUpdateUnion { + NONE = 0, + TileUpdateWrapper = 1, + UnitUpdate = 2, + PlayerUpdate = 3, + AllianceRequestUpdate = 4, + AllianceRequestReplyUpdate = 5, + BrokeAllianceUpdate = 6, + AllianceExpiredUpdate = 7, + DisplayMessageUpdate = 8, + DisplayChatMessageUpdate = 9, + TargetPlayerUpdate = 10, + EmojiUpdate = 11, + WinUpdate = 12, + HashUpdate = 13, + UnitIncomingUpdate = 14, + AllianceExtensionUpdate = 15, + BonusEventUpdate = 16, + RailroadUpdate = 17, + ConquestUpdate = 18, + EmbargoUpdate = 19, +} + +export function unionToGameUpdateUnion( + type: GameUpdateUnion, + accessor: ( + obj: + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate, + ) => + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate + | null, +): + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate + | null { + switch (GameUpdateUnion[type]) { + case "NONE": + return null; + case "TileUpdateWrapper": + return accessor(new TileUpdateWrapper())! as TileUpdateWrapper; + case "UnitUpdate": + return accessor(new UnitUpdate())! as UnitUpdate; + case "PlayerUpdate": + return accessor(new PlayerUpdate())! as PlayerUpdate; + case "AllianceRequestUpdate": + return accessor(new AllianceRequestUpdate())! as AllianceRequestUpdate; + case "AllianceRequestReplyUpdate": + return accessor( + new AllianceRequestReplyUpdate(), + )! as AllianceRequestReplyUpdate; + case "BrokeAllianceUpdate": + return accessor(new BrokeAllianceUpdate())! as BrokeAllianceUpdate; + case "AllianceExpiredUpdate": + return accessor(new AllianceExpiredUpdate())! as AllianceExpiredUpdate; + case "DisplayMessageUpdate": + return accessor(new DisplayMessageUpdate())! as DisplayMessageUpdate; + case "DisplayChatMessageUpdate": + return accessor( + new DisplayChatMessageUpdate(), + )! as DisplayChatMessageUpdate; + case "TargetPlayerUpdate": + return accessor(new TargetPlayerUpdate())! as TargetPlayerUpdate; + case "EmojiUpdate": + return accessor(new EmojiUpdate())! as EmojiUpdate; + case "WinUpdate": + return accessor(new WinUpdate())! as WinUpdate; + case "HashUpdate": + return accessor(new HashUpdate())! as HashUpdate; + case "UnitIncomingUpdate": + return accessor(new UnitIncomingUpdate())! as UnitIncomingUpdate; + case "AllianceExtensionUpdate": + return accessor( + new AllianceExtensionUpdate(), + )! as AllianceExtensionUpdate; + case "BonusEventUpdate": + return accessor(new BonusEventUpdate())! as BonusEventUpdate; + case "RailroadUpdate": + return accessor(new RailroadUpdate())! as RailroadUpdate; + case "ConquestUpdate": + return accessor(new ConquestUpdate())! as ConquestUpdate; + case "EmbargoUpdate": + return accessor(new EmbargoUpdate())! as EmbargoUpdate; + default: + return null; + } +} + +export function unionListToGameUpdateUnion( + type: GameUpdateUnion, + accessor: ( + index: number, + obj: + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate, + ) => + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate + | null, + index: number, +): + | AllianceExpiredUpdate + | AllianceExtensionUpdate + | AllianceRequestReplyUpdate + | AllianceRequestUpdate + | BonusEventUpdate + | BrokeAllianceUpdate + | ConquestUpdate + | DisplayChatMessageUpdate + | DisplayMessageUpdate + | EmbargoUpdate + | EmojiUpdate + | HashUpdate + | PlayerUpdate + | RailroadUpdate + | TargetPlayerUpdate + | TileUpdateWrapper + | UnitIncomingUpdate + | UnitUpdate + | WinUpdate + | null { + switch (GameUpdateUnion[type]) { + case "NONE": + return null; + case "TileUpdateWrapper": + return accessor(index, new TileUpdateWrapper())! as TileUpdateWrapper; + case "UnitUpdate": + return accessor(index, new UnitUpdate())! as UnitUpdate; + case "PlayerUpdate": + return accessor(index, new PlayerUpdate())! as PlayerUpdate; + case "AllianceRequestUpdate": + return accessor( + index, + new AllianceRequestUpdate(), + )! as AllianceRequestUpdate; + case "AllianceRequestReplyUpdate": + return accessor( + index, + new AllianceRequestReplyUpdate(), + )! as AllianceRequestReplyUpdate; + case "BrokeAllianceUpdate": + return accessor(index, new BrokeAllianceUpdate())! as BrokeAllianceUpdate; + case "AllianceExpiredUpdate": + return accessor( + index, + new AllianceExpiredUpdate(), + )! as AllianceExpiredUpdate; + case "DisplayMessageUpdate": + return accessor( + index, + new DisplayMessageUpdate(), + )! as DisplayMessageUpdate; + case "DisplayChatMessageUpdate": + return accessor( + index, + new DisplayChatMessageUpdate(), + )! as DisplayChatMessageUpdate; + case "TargetPlayerUpdate": + return accessor(index, new TargetPlayerUpdate())! as TargetPlayerUpdate; + case "EmojiUpdate": + return accessor(index, new EmojiUpdate())! as EmojiUpdate; + case "WinUpdate": + return accessor(index, new WinUpdate())! as WinUpdate; + case "HashUpdate": + return accessor(index, new HashUpdate())! as HashUpdate; + case "UnitIncomingUpdate": + return accessor(index, new UnitIncomingUpdate())! as UnitIncomingUpdate; + case "AllianceExtensionUpdate": + return accessor( + index, + new AllianceExtensionUpdate(), + )! as AllianceExtensionUpdate; + case "BonusEventUpdate": + return accessor(index, new BonusEventUpdate())! as BonusEventUpdate; + case "RailroadUpdate": + return accessor(index, new RailroadUpdate())! as RailroadUpdate; + case "ConquestUpdate": + return accessor(index, new ConquestUpdate())! as ConquestUpdate; + case "EmbargoUpdate": + return accessor(index, new EmbargoUpdate())! as EmbargoUpdate; + default: + return null; + } +} diff --git a/src/generated/game-updates/game-update-view-data.ts b/src/generated/game-updates/game-update-view-data.ts new file mode 100644 index 000000000..45767f2f1 --- /dev/null +++ b/src/generated/game-updates/game-update-view-data.ts @@ -0,0 +1,279 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { GameUpdate } from "../game-updates/game-update.js"; +import { NameViewData } from "../game-updates/name-view-data.js"; + +export class GameUpdateViewData { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): GameUpdateViewData { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsGameUpdateViewData( + bb: flatbuffers.ByteBuffer, + obj?: GameUpdateViewData, + ): GameUpdateViewData { + return (obj || new GameUpdateViewData()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsGameUpdateViewData( + bb: flatbuffers.ByteBuffer, + obj?: GameUpdateViewData, + ): GameUpdateViewData { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new GameUpdateViewData()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + tick(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + updates(index: number, obj?: GameUpdate): GameUpdate | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? (obj || new GameUpdate()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + updatesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + packedTileUpdates(index: number): bigint | null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset + ? this.bb!.readUint64(this.bb!.__vector(this.bb_pos + offset) + index * 8) + : BigInt(0); + } + + packedTileUpdatesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + playerNameViewDataKeys(index: number): string; + playerNameViewDataKeys( + index: number, + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array; + playerNameViewDataKeys( + index: number, + optionalEncoding?: any, + ): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset + ? this.bb!.__string( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + optionalEncoding, + ) + : null; + } + + playerNameViewDataKeysLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + playerNameViewDataValues( + index: number, + obj?: NameViewData, + ): NameViewData | null { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset + ? (obj || new NameViewData()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + playerNameViewDataValuesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + tickExecutionDuration(): number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.readFloat32(this.bb_pos + offset) : 0.0; + } + + static startGameUpdateViewData(builder: flatbuffers.Builder) { + builder.startObject(6); + } + + static addTick(builder: flatbuffers.Builder, tick: number) { + builder.addFieldInt32(0, tick, 0); + } + + static addUpdates( + builder: flatbuffers.Builder, + updatesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, updatesOffset, 0); + } + + static createUpdatesVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startUpdatesVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addPackedTileUpdates( + builder: flatbuffers.Builder, + packedTileUpdatesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(2, packedTileUpdatesOffset, 0); + } + + static createPackedTileUpdatesVector( + builder: flatbuffers.Builder, + data: bigint[], + ): flatbuffers.Offset { + builder.startVector(8, data.length, 8); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt64(data[i]!); + } + return builder.endVector(); + } + + static startPackedTileUpdatesVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(8, numElems, 8); + } + + static addPlayerNameViewDataKeys( + builder: flatbuffers.Builder, + playerNameViewDataKeysOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(3, playerNameViewDataKeysOffset, 0); + } + + static createPlayerNameViewDataKeysVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startPlayerNameViewDataKeysVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addPlayerNameViewDataValues( + builder: flatbuffers.Builder, + playerNameViewDataValuesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(4, playerNameViewDataValuesOffset, 0); + } + + static createPlayerNameViewDataValuesVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startPlayerNameViewDataValuesVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addTickExecutionDuration( + builder: flatbuffers.Builder, + tickExecutionDuration: number, + ) { + builder.addFieldFloat32(5, tickExecutionDuration, 0.0); + } + + static endGameUpdateViewData( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static finishGameUpdateViewDataBuffer( + builder: flatbuffers.Builder, + offset: flatbuffers.Offset, + ) { + builder.finish(offset); + } + + static finishSizePrefixedGameUpdateViewDataBuffer( + builder: flatbuffers.Builder, + offset: flatbuffers.Offset, + ) { + builder.finish(offset, undefined, true); + } + + static createGameUpdateViewData( + builder: flatbuffers.Builder, + tick: number, + updatesOffset: flatbuffers.Offset, + packedTileUpdatesOffset: flatbuffers.Offset, + playerNameViewDataKeysOffset: flatbuffers.Offset, + playerNameViewDataValuesOffset: flatbuffers.Offset, + tickExecutionDuration: number, + ): flatbuffers.Offset { + GameUpdateViewData.startGameUpdateViewData(builder); + GameUpdateViewData.addTick(builder, tick); + GameUpdateViewData.addUpdates(builder, updatesOffset); + GameUpdateViewData.addPackedTileUpdates(builder, packedTileUpdatesOffset); + GameUpdateViewData.addPlayerNameViewDataKeys( + builder, + playerNameViewDataKeysOffset, + ); + GameUpdateViewData.addPlayerNameViewDataValues( + builder, + playerNameViewDataValuesOffset, + ); + GameUpdateViewData.addTickExecutionDuration(builder, tickExecutionDuration); + return GameUpdateViewData.endGameUpdateViewData(builder); + } +} diff --git a/src/generated/game-updates/game-update.ts b/src/generated/game-updates/game-update.ts new file mode 100644 index 000000000..d388a2e26 --- /dev/null +++ b/src/generated/game-updates/game-update.ts @@ -0,0 +1,98 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { GameUpdateType } from "../game-updates/game-update-type.js"; +import { GameUpdateUnion } from "../game-updates/game-update-union.js"; + +export class GameUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): GameUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsGameUpdate( + bb: flatbuffers.ByteBuffer, + obj?: GameUpdate, + ): GameUpdate { + return (obj || new GameUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsGameUpdate( + bb: flatbuffers.ByteBuffer, + obj?: GameUpdate, + ): GameUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new GameUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + type(): GameUpdateType { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.readInt8(this.bb_pos + offset) + : GameUpdateType.Tile; + } + + updateType(): GameUpdateUnion { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.readUint8(this.bb_pos + offset) + : GameUpdateUnion.NONE; + } + + update(obj: any): any | null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.__union(obj, this.bb_pos + offset) : null; + } + + static startGameUpdate(builder: flatbuffers.Builder) { + builder.startObject(3); + } + + static addType(builder: flatbuffers.Builder, type: GameUpdateType) { + builder.addFieldInt8(0, type, GameUpdateType.Tile); + } + + static addUpdateType( + builder: flatbuffers.Builder, + updateType: GameUpdateUnion, + ) { + builder.addFieldInt8(1, updateType, GameUpdateUnion.NONE); + } + + static addUpdate( + builder: flatbuffers.Builder, + updateOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(2, updateOffset, 0); + } + + static endGameUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createGameUpdate( + builder: flatbuffers.Builder, + type: GameUpdateType, + updateType: GameUpdateUnion, + updateOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + GameUpdate.startGameUpdate(builder); + GameUpdate.addType(builder, type); + GameUpdate.addUpdateType(builder, updateType); + GameUpdate.addUpdate(builder, updateOffset); + return GameUpdate.endGameUpdate(builder); + } +} diff --git a/src/generated/game-updates/hash-update.ts b/src/generated/game-updates/hash-update.ts new file mode 100644 index 000000000..c0e1f6440 --- /dev/null +++ b/src/generated/game-updates/hash-update.ts @@ -0,0 +1,74 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class HashUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): HashUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsHashUpdate( + bb: flatbuffers.ByteBuffer, + obj?: HashUpdate, + ): HashUpdate { + return (obj || new HashUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsHashUpdate( + bb: flatbuffers.ByteBuffer, + obj?: HashUpdate, + ): HashUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new HashUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + tick(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + hash(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startHashUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addTick(builder: flatbuffers.Builder, tick: number) { + builder.addFieldInt32(0, tick, 0); + } + + static addHash(builder: flatbuffers.Builder, hash: number) { + builder.addFieldInt32(1, hash, 0); + } + + static endHashUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createHashUpdate( + builder: flatbuffers.Builder, + tick: number, + hash: number, + ): flatbuffers.Offset { + HashUpdate.startHashUpdate(builder); + HashUpdate.addTick(builder, tick); + HashUpdate.addHash(builder, hash); + return HashUpdate.endHashUpdate(builder); + } +} diff --git a/src/generated/game-updates/message-type.ts b/src/generated/game-updates/message-type.ts new file mode 100644 index 000000000..22e4aa05c --- /dev/null +++ b/src/generated/game-updates/message-type.ts @@ -0,0 +1,10 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum MessageType { + Info = 0, + Warning = 1, + Error = 2, + Success = 3, +} diff --git a/src/generated/game-updates/name-view-data.ts b/src/generated/game-updates/name-view-data.ts new file mode 100644 index 000000000..db3ace821 --- /dev/null +++ b/src/generated/game-updates/name-view-data.ts @@ -0,0 +1,98 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class NameViewData { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): NameViewData { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsNameViewData( + bb: flatbuffers.ByteBuffer, + obj?: NameViewData, + ): NameViewData { + return (obj || new NameViewData()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsNameViewData( + bb: flatbuffers.ByteBuffer, + obj?: NameViewData, + ): NameViewData { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new NameViewData()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + name(): string | null; + name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + name(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + displayName(): string | null; + displayName( + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array | null; + displayName(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + color(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0; + } + + static startNameViewData(builder: flatbuffers.Builder) { + builder.startObject(3); + } + + static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset) { + builder.addFieldOffset(0, nameOffset, 0); + } + + static addDisplayName( + builder: flatbuffers.Builder, + displayNameOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, displayNameOffset, 0); + } + + static addColor(builder: flatbuffers.Builder, color: number) { + builder.addFieldInt32(2, color, 0); + } + + static endNameViewData(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createNameViewData( + builder: flatbuffers.Builder, + nameOffset: flatbuffers.Offset, + displayNameOffset: flatbuffers.Offset, + color: number, + ): flatbuffers.Offset { + NameViewData.startNameViewData(builder); + NameViewData.addName(builder, nameOffset); + NameViewData.addDisplayName(builder, displayNameOffset); + NameViewData.addColor(builder, color); + return NameViewData.endNameViewData(builder); + } +} diff --git a/src/generated/game-updates/player-type.ts b/src/generated/game-updates/player-type.ts new file mode 100644 index 000000000..b84c59642 --- /dev/null +++ b/src/generated/game-updates/player-type.ts @@ -0,0 +1,9 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum PlayerType { + Human = 0, + Bot = 1, + Spectator = 2, +} diff --git a/src/generated/game-updates/player-update.ts b/src/generated/game-updates/player-update.ts new file mode 100644 index 000000000..f4a4f2137 --- /dev/null +++ b/src/generated/game-updates/player-update.ts @@ -0,0 +1,704 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { AllianceView } from "../game-updates/alliance-view.js"; +import { AttackUpdate } from "../game-updates/attack-update.js"; +import { EmojiMessage } from "../game-updates/emoji-message.js"; +import { NameViewData } from "../game-updates/name-view-data.js"; +import { PlayerType } from "../game-updates/player-type.js"; + +export class PlayerUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): PlayerUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsPlayerUpdate( + bb: flatbuffers.ByteBuffer, + obj?: PlayerUpdate, + ): PlayerUpdate { + return (obj || new PlayerUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsPlayerUpdate( + bb: flatbuffers.ByteBuffer, + obj?: PlayerUpdate, + ): PlayerUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new PlayerUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + nameViewData(obj?: NameViewData): NameViewData | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new NameViewData()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + clientId(): string | null; + clientId(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + clientId(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + name(): string | null; + name(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + name(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + displayName(): string | null; + displayName( + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array | null; + displayName(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + id(): number { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + team(): number { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + smallId(): number { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + playerType(): PlayerType { + const offset = this.bb!.__offset(this.bb_pos, 18); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : PlayerType.Human; + } + + isAlive(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 20); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + isDisconnected(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + tilesOwned(): number { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + gold(): bigint { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : BigInt("0"); + } + + troops(): number { + const offset = this.bb!.__offset(this.bb_pos, 28); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + allies(index: number): number | null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset + ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) + : 0; + } + + alliesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + alliesArray(): Int32Array | null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset + ? new Int32Array( + this.bb!.bytes().buffer, + this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), + this.bb!.__vector_len(this.bb_pos + offset), + ) + : null; + } + + embargoes(index: number): number | null { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset + ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) + : 0; + } + + embargoesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + embargoesArray(): Int32Array | null { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset + ? new Int32Array( + this.bb!.bytes().buffer, + this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), + this.bb!.__vector_len(this.bb_pos + offset), + ) + : null; + } + + isTraitor(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 34); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + traitorRemainingTicks(): number { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + targets(index: number): number | null { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset + ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) + : 0; + } + + targetsLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + targetsArray(): Int32Array | null { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset + ? new Int32Array( + this.bb!.bytes().buffer, + this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), + this.bb!.__vector_len(this.bb_pos + offset), + ) + : null; + } + + outgoingEmojis(index: number, obj?: EmojiMessage): EmojiMessage | null { + const offset = this.bb!.__offset(this.bb_pos, 40); + return offset + ? (obj || new EmojiMessage()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + outgoingEmojisLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 40); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + outgoingAttacks(index: number, obj?: AttackUpdate): AttackUpdate | null { + const offset = this.bb!.__offset(this.bb_pos, 42); + return offset + ? (obj || new AttackUpdate()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + outgoingAttacksLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 42); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + incomingAttacks(index: number, obj?: AttackUpdate): AttackUpdate | null { + const offset = this.bb!.__offset(this.bb_pos, 44); + return offset + ? (obj || new AttackUpdate()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + incomingAttacksLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 44); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + outgoingAllianceRequests(index: number): number | null { + const offset = this.bb!.__offset(this.bb_pos, 46); + return offset + ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) + : 0; + } + + outgoingAllianceRequestsLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 46); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + outgoingAllianceRequestsArray(): Int32Array | null { + const offset = this.bb!.__offset(this.bb_pos, 46); + return offset + ? new Int32Array( + this.bb!.bytes().buffer, + this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), + this.bb!.__vector_len(this.bb_pos + offset), + ) + : null; + } + + alliances(index: number, obj?: AllianceView): AllianceView | null { + const offset = this.bb!.__offset(this.bb_pos, 48); + return offset + ? (obj || new AllianceView()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + alliancesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 48); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + hasSpawned(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 50); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + betrayals(): number { + const offset = this.bb!.__offset(this.bb_pos, 52); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + lastDeleteUnitTick(): number { + const offset = this.bb!.__offset(this.bb_pos, 54); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startPlayerUpdate(builder: flatbuffers.Builder) { + builder.startObject(26); + } + + static addNameViewData( + builder: flatbuffers.Builder, + nameViewDataOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, nameViewDataOffset, 0); + } + + static addClientId( + builder: flatbuffers.Builder, + clientIdOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, clientIdOffset, 0); + } + + static addName(builder: flatbuffers.Builder, nameOffset: flatbuffers.Offset) { + builder.addFieldOffset(2, nameOffset, 0); + } + + static addDisplayName( + builder: flatbuffers.Builder, + displayNameOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(3, displayNameOffset, 0); + } + + static addId(builder: flatbuffers.Builder, id: number) { + builder.addFieldInt32(4, id, 0); + } + + static addTeam(builder: flatbuffers.Builder, team: number) { + builder.addFieldInt32(5, team, -1); + } + + static addSmallId(builder: flatbuffers.Builder, smallId: number) { + builder.addFieldInt32(6, smallId, 0); + } + + static addPlayerType(builder: flatbuffers.Builder, playerType: PlayerType) { + builder.addFieldInt8(7, playerType, PlayerType.Human); + } + + static addIsAlive(builder: flatbuffers.Builder, isAlive: boolean) { + builder.addFieldInt8(8, +isAlive, +false); + } + + static addIsDisconnected( + builder: flatbuffers.Builder, + isDisconnected: boolean, + ) { + builder.addFieldInt8(9, +isDisconnected, +false); + } + + static addTilesOwned(builder: flatbuffers.Builder, tilesOwned: number) { + builder.addFieldInt32(10, tilesOwned, 0); + } + + static addGold(builder: flatbuffers.Builder, gold: bigint) { + builder.addFieldInt64(11, gold, BigInt("0")); + } + + static addTroops(builder: flatbuffers.Builder, troops: number) { + builder.addFieldInt32(12, troops, 0); + } + + static addAllies( + builder: flatbuffers.Builder, + alliesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(13, alliesOffset, 0); + } + + static createAlliesVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array, + ): flatbuffers.Offset; + /** + * @deprecated This Uint8Array overload will be removed in the future. + */ + static createAlliesVector( + builder: flatbuffers.Builder, + data: number[] | Uint8Array, + ): flatbuffers.Offset; + static createAlliesVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array | Uint8Array, + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]!); + } + return builder.endVector(); + } + + static startAlliesVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addEmbargoes( + builder: flatbuffers.Builder, + embargoesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(14, embargoesOffset, 0); + } + + static createEmbargoesVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array, + ): flatbuffers.Offset; + /** + * @deprecated This Uint8Array overload will be removed in the future. + */ + static createEmbargoesVector( + builder: flatbuffers.Builder, + data: number[] | Uint8Array, + ): flatbuffers.Offset; + static createEmbargoesVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array | Uint8Array, + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]!); + } + return builder.endVector(); + } + + static startEmbargoesVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addIsTraitor(builder: flatbuffers.Builder, isTraitor: boolean) { + builder.addFieldInt8(15, +isTraitor, +false); + } + + static addTraitorRemainingTicks( + builder: flatbuffers.Builder, + traitorRemainingTicks: number, + ) { + builder.addFieldInt32(16, traitorRemainingTicks, -1); + } + + static addTargets( + builder: flatbuffers.Builder, + targetsOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(17, targetsOffset, 0); + } + + static createTargetsVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array, + ): flatbuffers.Offset; + /** + * @deprecated This Uint8Array overload will be removed in the future. + */ + static createTargetsVector( + builder: flatbuffers.Builder, + data: number[] | Uint8Array, + ): flatbuffers.Offset; + static createTargetsVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array | Uint8Array, + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]!); + } + return builder.endVector(); + } + + static startTargetsVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addOutgoingEmojis( + builder: flatbuffers.Builder, + outgoingEmojisOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(18, outgoingEmojisOffset, 0); + } + + static createOutgoingEmojisVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startOutgoingEmojisVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addOutgoingAttacks( + builder: flatbuffers.Builder, + outgoingAttacksOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(19, outgoingAttacksOffset, 0); + } + + static createOutgoingAttacksVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startOutgoingAttacksVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addIncomingAttacks( + builder: flatbuffers.Builder, + incomingAttacksOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(20, incomingAttacksOffset, 0); + } + + static createIncomingAttacksVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startIncomingAttacksVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addOutgoingAllianceRequests( + builder: flatbuffers.Builder, + outgoingAllianceRequestsOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(21, outgoingAllianceRequestsOffset, 0); + } + + static createOutgoingAllianceRequestsVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array, + ): flatbuffers.Offset; + /** + * @deprecated This Uint8Array overload will be removed in the future. + */ + static createOutgoingAllianceRequestsVector( + builder: flatbuffers.Builder, + data: number[] | Uint8Array, + ): flatbuffers.Offset; + static createOutgoingAllianceRequestsVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array | Uint8Array, + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]!); + } + return builder.endVector(); + } + + static startOutgoingAllianceRequestsVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addAlliances( + builder: flatbuffers.Builder, + alliancesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(22, alliancesOffset, 0); + } + + static createAlliancesVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startAlliancesVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static addHasSpawned(builder: flatbuffers.Builder, hasSpawned: boolean) { + builder.addFieldInt8(23, +hasSpawned, +false); + } + + static addBetrayals(builder: flatbuffers.Builder, betrayals: number) { + builder.addFieldInt32(24, betrayals, 0); + } + + static addLastDeleteUnitTick( + builder: flatbuffers.Builder, + lastDeleteUnitTick: number, + ) { + builder.addFieldInt32(25, lastDeleteUnitTick, 0); + } + + static endPlayerUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createPlayerUpdate( + builder: flatbuffers.Builder, + nameViewDataOffset: flatbuffers.Offset, + clientIdOffset: flatbuffers.Offset, + nameOffset: flatbuffers.Offset, + displayNameOffset: flatbuffers.Offset, + id: number, + team: number, + smallId: number, + playerType: PlayerType, + isAlive: boolean, + isDisconnected: boolean, + tilesOwned: number, + gold: bigint, + troops: number, + alliesOffset: flatbuffers.Offset, + embargoesOffset: flatbuffers.Offset, + isTraitor: boolean, + traitorRemainingTicks: number, + targetsOffset: flatbuffers.Offset, + outgoingEmojisOffset: flatbuffers.Offset, + outgoingAttacksOffset: flatbuffers.Offset, + incomingAttacksOffset: flatbuffers.Offset, + outgoingAllianceRequestsOffset: flatbuffers.Offset, + alliancesOffset: flatbuffers.Offset, + hasSpawned: boolean, + betrayals: number, + lastDeleteUnitTick: number, + ): flatbuffers.Offset { + PlayerUpdate.startPlayerUpdate(builder); + PlayerUpdate.addNameViewData(builder, nameViewDataOffset); + PlayerUpdate.addClientId(builder, clientIdOffset); + PlayerUpdate.addName(builder, nameOffset); + PlayerUpdate.addDisplayName(builder, displayNameOffset); + PlayerUpdate.addId(builder, id); + PlayerUpdate.addTeam(builder, team); + PlayerUpdate.addSmallId(builder, smallId); + PlayerUpdate.addPlayerType(builder, playerType); + PlayerUpdate.addIsAlive(builder, isAlive); + PlayerUpdate.addIsDisconnected(builder, isDisconnected); + PlayerUpdate.addTilesOwned(builder, tilesOwned); + PlayerUpdate.addGold(builder, gold); + PlayerUpdate.addTroops(builder, troops); + PlayerUpdate.addAllies(builder, alliesOffset); + PlayerUpdate.addEmbargoes(builder, embargoesOffset); + PlayerUpdate.addIsTraitor(builder, isTraitor); + PlayerUpdate.addTraitorRemainingTicks(builder, traitorRemainingTicks); + PlayerUpdate.addTargets(builder, targetsOffset); + PlayerUpdate.addOutgoingEmojis(builder, outgoingEmojisOffset); + PlayerUpdate.addOutgoingAttacks(builder, outgoingAttacksOffset); + PlayerUpdate.addIncomingAttacks(builder, incomingAttacksOffset); + PlayerUpdate.addOutgoingAllianceRequests( + builder, + outgoingAllianceRequestsOffset, + ); + PlayerUpdate.addAlliances(builder, alliancesOffset); + PlayerUpdate.addHasSpawned(builder, hasSpawned); + PlayerUpdate.addBetrayals(builder, betrayals); + PlayerUpdate.addLastDeleteUnitTick(builder, lastDeleteUnitTick); + return PlayerUpdate.endPlayerUpdate(builder); + } +} diff --git a/src/generated/game-updates/rail-tile.ts b/src/generated/game-updates/rail-tile.ts new file mode 100644 index 000000000..03d15d0cb --- /dev/null +++ b/src/generated/game-updates/rail-tile.ts @@ -0,0 +1,82 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { RailType } from "../game-updates/rail-type.js"; +import { TileRef } from "../game-updates/tile-ref.js"; + +export class RailTile { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): RailTile { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsRailTile( + bb: flatbuffers.ByteBuffer, + obj?: RailTile, + ): RailTile { + return (obj || new RailTile()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsRailTile( + bb: flatbuffers.ByteBuffer, + obj?: RailTile, + ): RailTile { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new RailTile()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + tile(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + railType(): RailType { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : RailType.VERTICAL; + } + + static startRailTile(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addTile(builder: flatbuffers.Builder, tileOffset: flatbuffers.Offset) { + builder.addFieldOffset(0, tileOffset, 0); + } + + static addRailType(builder: flatbuffers.Builder, railType: RailType) { + builder.addFieldInt8(1, railType, RailType.VERTICAL); + } + + static endRailTile(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createRailTile( + builder: flatbuffers.Builder, + tileOffset: flatbuffers.Offset, + railType: RailType, + ): flatbuffers.Offset { + RailTile.startRailTile(builder); + RailTile.addTile(builder, tileOffset); + RailTile.addRailType(builder, railType); + return RailTile.endRailTile(builder); + } +} diff --git a/src/generated/game-updates/rail-type.ts b/src/generated/game-updates/rail-type.ts new file mode 100644 index 000000000..f5839c48d --- /dev/null +++ b/src/generated/game-updates/rail-type.ts @@ -0,0 +1,12 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum RailType { + VERTICAL = 0, + HORIZONTAL = 1, + TOP_LEFT = 2, + TOP_RIGHT = 3, + BOTTOM_LEFT = 4, + BOTTOM_RIGHT = 5, +} diff --git a/src/generated/game-updates/railroad-update.ts b/src/generated/game-updates/railroad-update.ts new file mode 100644 index 000000000..eeead9a1a --- /dev/null +++ b/src/generated/game-updates/railroad-update.ts @@ -0,0 +1,106 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { RailTile } from "../game-updates/rail-tile.js"; + +export class RailroadUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): RailroadUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsRailroadUpdate( + bb: flatbuffers.ByteBuffer, + obj?: RailroadUpdate, + ): RailroadUpdate { + return (obj || new RailroadUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsRailroadUpdate( + bb: flatbuffers.ByteBuffer, + obj?: RailroadUpdate, + ): RailroadUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new RailroadUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + isActive(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + railTiles(index: number, obj?: RailTile): RailTile | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? (obj || new RailTile()).__init( + this.bb!.__indirect( + this.bb!.__vector(this.bb_pos + offset) + index * 4, + ), + this.bb!, + ) + : null; + } + + railTilesLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + static startRailroadUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addIsActive(builder: flatbuffers.Builder, isActive: boolean) { + builder.addFieldInt8(0, +isActive, +false); + } + + static addRailTiles( + builder: flatbuffers.Builder, + railTilesOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, railTilesOffset, 0); + } + + static createRailTilesVector( + builder: flatbuffers.Builder, + data: flatbuffers.Offset[], + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addOffset(data[i]!); + } + return builder.endVector(); + } + + static startRailTilesVector(builder: flatbuffers.Builder, numElems: number) { + builder.startVector(4, numElems, 4); + } + + static endRailroadUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createRailroadUpdate( + builder: flatbuffers.Builder, + isActive: boolean, + railTilesOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + RailroadUpdate.startRailroadUpdate(builder); + RailroadUpdate.addIsActive(builder, isActive); + RailroadUpdate.addRailTiles(builder, railTilesOffset); + return RailroadUpdate.endRailroadUpdate(builder); + } +} diff --git a/src/generated/game-updates/target-player-update.ts b/src/generated/game-updates/target-player-update.ts new file mode 100644 index 000000000..f191714bf --- /dev/null +++ b/src/generated/game-updates/target-player-update.ts @@ -0,0 +1,76 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class TargetPlayerUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): TargetPlayerUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsTargetPlayerUpdate( + bb: flatbuffers.ByteBuffer, + obj?: TargetPlayerUpdate, + ): TargetPlayerUpdate { + return (obj || new TargetPlayerUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsTargetPlayerUpdate( + bb: flatbuffers.ByteBuffer, + obj?: TargetPlayerUpdate, + ): TargetPlayerUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TargetPlayerUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + targetId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startTargetPlayerUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(0, playerId, 0); + } + + static addTargetId(builder: flatbuffers.Builder, targetId: number) { + builder.addFieldInt32(1, targetId, 0); + } + + static endTargetPlayerUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createTargetPlayerUpdate( + builder: flatbuffers.Builder, + playerId: number, + targetId: number, + ): flatbuffers.Offset { + TargetPlayerUpdate.startTargetPlayerUpdate(builder); + TargetPlayerUpdate.addPlayerId(builder, playerId); + TargetPlayerUpdate.addTargetId(builder, targetId); + return TargetPlayerUpdate.endTargetPlayerUpdate(builder); + } +} diff --git a/src/generated/game-updates/tile-ref.ts b/src/generated/game-updates/tile-ref.ts new file mode 100644 index 000000000..60d4c0d81 --- /dev/null +++ b/src/generated/game-updates/tile-ref.ts @@ -0,0 +1,71 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class TileRef { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): TileRef { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsTileRef(bb: flatbuffers.ByteBuffer, obj?: TileRef): TileRef { + return (obj || new TileRef()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsTileRef( + bb: flatbuffers.ByteBuffer, + obj?: TileRef, + ): TileRef { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TileRef()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + x(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + y(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startTileRef(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addX(builder: flatbuffers.Builder, x: number) { + builder.addFieldInt32(0, x, 0); + } + + static addY(builder: flatbuffers.Builder, y: number) { + builder.addFieldInt32(1, y, 0); + } + + static endTileRef(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createTileRef( + builder: flatbuffers.Builder, + x: number, + y: number, + ): flatbuffers.Offset { + TileRef.startTileRef(builder); + TileRef.addX(builder, x); + TileRef.addY(builder, y); + return TileRef.endTileRef(builder); + } +} diff --git a/src/generated/game-updates/tile-update-wrapper.ts b/src/generated/game-updates/tile-update-wrapper.ts new file mode 100644 index 000000000..e875d22c5 --- /dev/null +++ b/src/generated/game-updates/tile-update-wrapper.ts @@ -0,0 +1,75 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { TileUpdate } from "../game-updates/tile-update.js"; + +export class TileUpdateWrapper { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): TileUpdateWrapper { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsTileUpdateWrapper( + bb: flatbuffers.ByteBuffer, + obj?: TileUpdateWrapper, + ): TileUpdateWrapper { + return (obj || new TileUpdateWrapper()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsTileUpdateWrapper( + bb: flatbuffers.ByteBuffer, + obj?: TileUpdateWrapper, + ): TileUpdateWrapper { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TileUpdateWrapper()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + update(obj?: TileUpdate): TileUpdate | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new TileUpdate()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + static startTileUpdateWrapper(builder: flatbuffers.Builder) { + builder.startObject(1); + } + + static addUpdate( + builder: flatbuffers.Builder, + updateOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, updateOffset, 0); + } + + static endTileUpdateWrapper( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createTileUpdateWrapper( + builder: flatbuffers.Builder, + updateOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + TileUpdateWrapper.startTileUpdateWrapper(builder); + TileUpdateWrapper.addUpdate(builder, updateOffset); + return TileUpdateWrapper.endTileUpdateWrapper(builder); + } +} diff --git a/src/generated/game-updates/tile-update.ts b/src/generated/game-updates/tile-update.ts new file mode 100644 index 000000000..32af2aa29 --- /dev/null +++ b/src/generated/game-updates/tile-update.ts @@ -0,0 +1,142 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { TileRef } from "../game-updates/tile-ref.js"; + +export class TileUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): TileUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsTileUpdate( + bb: flatbuffers.ByteBuffer, + obj?: TileUpdate, + ): TileUpdate { + return (obj || new TileUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsTileUpdate( + bb: flatbuffers.ByteBuffer, + obj?: TileUpdate, + ): TileUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new TileUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + tileRef(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + ownerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + troops(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + gold(): bigint { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt64(this.bb_pos + offset) : BigInt("0"); + } + + isCity(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + isCapital(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + hasTrainStation(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + static startTileUpdate(builder: flatbuffers.Builder) { + builder.startObject(7); + } + + static addTileRef( + builder: flatbuffers.Builder, + tileRefOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, tileRefOffset, 0); + } + + static addOwnerId(builder: flatbuffers.Builder, ownerId: number) { + builder.addFieldInt32(1, ownerId, -1); + } + + static addTroops(builder: flatbuffers.Builder, troops: number) { + builder.addFieldInt32(2, troops, 0); + } + + static addGold(builder: flatbuffers.Builder, gold: bigint) { + builder.addFieldInt64(3, gold, BigInt("0")); + } + + static addIsCity(builder: flatbuffers.Builder, isCity: boolean) { + builder.addFieldInt8(4, +isCity, +false); + } + + static addIsCapital(builder: flatbuffers.Builder, isCapital: boolean) { + builder.addFieldInt8(5, +isCapital, +false); + } + + static addHasTrainStation( + builder: flatbuffers.Builder, + hasTrainStation: boolean, + ) { + builder.addFieldInt8(6, +hasTrainStation, +false); + } + + static endTileUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createTileUpdate( + builder: flatbuffers.Builder, + tileRefOffset: flatbuffers.Offset, + ownerId: number, + troops: number, + gold: bigint, + isCity: boolean, + isCapital: boolean, + hasTrainStation: boolean, + ): flatbuffers.Offset { + TileUpdate.startTileUpdate(builder); + TileUpdate.addTileRef(builder, tileRefOffset); + TileUpdate.addOwnerId(builder, ownerId); + TileUpdate.addTroops(builder, troops); + TileUpdate.addGold(builder, gold); + TileUpdate.addIsCity(builder, isCity); + TileUpdate.addIsCapital(builder, isCapital); + TileUpdate.addHasTrainStation(builder, hasTrainStation); + return TileUpdate.endTileUpdate(builder); + } +} diff --git a/src/generated/game-updates/train-type.ts b/src/generated/game-updates/train-type.ts new file mode 100644 index 000000000..e93b55407 --- /dev/null +++ b/src/generated/game-updates/train-type.ts @@ -0,0 +1,8 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum TrainType { + Passenger = 0, + Freight = 1, +} diff --git a/src/generated/game-updates/unit-incoming-update.ts b/src/generated/game-updates/unit-incoming-update.ts new file mode 100644 index 000000000..133aee830 --- /dev/null +++ b/src/generated/game-updates/unit-incoming-update.ts @@ -0,0 +1,110 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { MessageType } from "../game-updates/message-type.js"; + +export class UnitIncomingUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): UnitIncomingUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsUnitIncomingUpdate( + bb: flatbuffers.ByteBuffer, + obj?: UnitIncomingUpdate, + ): UnitIncomingUpdate { + return (obj || new UnitIncomingUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsUnitIncomingUpdate( + bb: flatbuffers.ByteBuffer, + obj?: UnitIncomingUpdate, + ): UnitIncomingUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new UnitIncomingUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + unitId(): number { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + message(): string | null; + message(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + message(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + messageType(): MessageType { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : MessageType.Info; + } + + playerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + static startUnitIncomingUpdate(builder: flatbuffers.Builder) { + builder.startObject(4); + } + + static addUnitId(builder: flatbuffers.Builder, unitId: number) { + builder.addFieldInt32(0, unitId, 0); + } + + static addMessage( + builder: flatbuffers.Builder, + messageOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, messageOffset, 0); + } + + static addMessageType( + builder: flatbuffers.Builder, + messageType: MessageType, + ) { + builder.addFieldInt8(2, messageType, MessageType.Info); + } + + static addPlayerId(builder: flatbuffers.Builder, playerId: number) { + builder.addFieldInt32(3, playerId, 0); + } + + static endUnitIncomingUpdate( + builder: flatbuffers.Builder, + ): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createUnitIncomingUpdate( + builder: flatbuffers.Builder, + unitId: number, + messageOffset: flatbuffers.Offset, + messageType: MessageType, + playerId: number, + ): flatbuffers.Offset { + UnitIncomingUpdate.startUnitIncomingUpdate(builder); + UnitIncomingUpdate.addUnitId(builder, unitId); + UnitIncomingUpdate.addMessage(builder, messageOffset); + UnitIncomingUpdate.addMessageType(builder, messageType); + UnitIncomingUpdate.addPlayerId(builder, playerId); + return UnitIncomingUpdate.endUnitIncomingUpdate(builder); + } +} diff --git a/src/generated/game-updates/unit-type.ts b/src/generated/game-updates/unit-type.ts new file mode 100644 index 000000000..9d341d775 --- /dev/null +++ b/src/generated/game-updates/unit-type.ts @@ -0,0 +1,12 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +export enum UnitType { + Infantry = 0, + Tank = 1, + Ship = 2, + Plane = 3, + Nuke = 4, + Train = 5, +} diff --git a/src/generated/game-updates/unit-update.ts b/src/generated/game-updates/unit-update.ts new file mode 100644 index 000000000..15ec4205c --- /dev/null +++ b/src/generated/game-updates/unit-update.ts @@ -0,0 +1,323 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +import { TileRef } from "../game-updates/tile-ref.js"; +import { TrainType } from "../game-updates/train-type.js"; +import { UnitType } from "../game-updates/unit-type.js"; + +export class UnitUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): UnitUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsUnitUpdate( + bb: flatbuffers.ByteBuffer, + obj?: UnitUpdate, + ): UnitUpdate { + return (obj || new UnitUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsUnitUpdate( + bb: flatbuffers.ByteBuffer, + obj?: UnitUpdate, + ): UnitUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new UnitUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + unitType(): UnitType { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset ? this.bb!.readInt8(this.bb_pos + offset) : UnitType.Infantry; + } + + troops(): number { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + id(): number { + const offset = this.bb!.__offset(this.bb_pos, 8); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + ownerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 10); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0; + } + + lastOwnerId(): number { + const offset = this.bb!.__offset(this.bb_pos, 12); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + pos(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 14); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + lastPos(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 16); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + isActive(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 18); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + reachedTarget(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 20); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + retreating(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 22); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + targetable(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 24); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + markedForDeletion(): number { + const offset = this.bb!.__offset(this.bb_pos, 26); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + targetUnitId(): number { + const offset = this.bb!.__offset(this.bb_pos, 28); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : -1; + } + + targetTile(obj?: TileRef): TileRef | null { + const offset = this.bb!.__offset(this.bb_pos, 30); + return offset + ? (obj || new TileRef()).__init( + this.bb!.__indirect(this.bb_pos + offset), + this.bb!, + ) + : null; + } + + health(): number { + const offset = this.bb!.__offset(this.bb_pos, 32); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 100; + } + + underConstruction(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 34); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + missileTimerQueue(index: number): number | null { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset + ? this.bb!.readInt32(this.bb!.__vector(this.bb_pos + offset) + index * 4) + : 0; + } + + missileTimerQueueLength(): number { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0; + } + + missileTimerQueueArray(): Int32Array | null { + const offset = this.bb!.__offset(this.bb_pos, 36); + return offset + ? new Int32Array( + this.bb!.bytes().buffer, + this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), + this.bb!.__vector_len(this.bb_pos + offset), + ) + : null; + } + + level(): number { + const offset = this.bb!.__offset(this.bb_pos, 38); + return offset ? this.bb!.readInt32(this.bb_pos + offset) : 1; + } + + hasTrainStation(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 40); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + trainType(): TrainType { + const offset = this.bb!.__offset(this.bb_pos, 42); + return offset + ? this.bb!.readInt8(this.bb_pos + offset) + : TrainType.Passenger; + } + + loaded(): boolean { + const offset = this.bb!.__offset(this.bb_pos, 44); + return offset ? !!this.bb!.readInt8(this.bb_pos + offset) : false; + } + + static startUnitUpdate(builder: flatbuffers.Builder) { + builder.startObject(21); + } + + static addUnitType(builder: flatbuffers.Builder, unitType: UnitType) { + builder.addFieldInt8(0, unitType, UnitType.Infantry); + } + + static addTroops(builder: flatbuffers.Builder, troops: number) { + builder.addFieldInt32(1, troops, 0); + } + + static addId(builder: flatbuffers.Builder, id: number) { + builder.addFieldInt32(2, id, 0); + } + + static addOwnerId(builder: flatbuffers.Builder, ownerId: number) { + builder.addFieldInt32(3, ownerId, 0); + } + + static addLastOwnerId(builder: flatbuffers.Builder, lastOwnerId: number) { + builder.addFieldInt32(4, lastOwnerId, -1); + } + + static addPos(builder: flatbuffers.Builder, posOffset: flatbuffers.Offset) { + builder.addFieldOffset(5, posOffset, 0); + } + + static addLastPos( + builder: flatbuffers.Builder, + lastPosOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(6, lastPosOffset, 0); + } + + static addIsActive(builder: flatbuffers.Builder, isActive: boolean) { + builder.addFieldInt8(7, +isActive, +false); + } + + static addReachedTarget( + builder: flatbuffers.Builder, + reachedTarget: boolean, + ) { + builder.addFieldInt8(8, +reachedTarget, +false); + } + + static addRetreating(builder: flatbuffers.Builder, retreating: boolean) { + builder.addFieldInt8(9, +retreating, +false); + } + + static addTargetable(builder: flatbuffers.Builder, targetable: boolean) { + builder.addFieldInt8(10, +targetable, +false); + } + + static addMarkedForDeletion( + builder: flatbuffers.Builder, + markedForDeletion: number, + ) { + builder.addFieldInt32(11, markedForDeletion, -1); + } + + static addTargetUnitId(builder: flatbuffers.Builder, targetUnitId: number) { + builder.addFieldInt32(12, targetUnitId, -1); + } + + static addTargetTile( + builder: flatbuffers.Builder, + targetTileOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(13, targetTileOffset, 0); + } + + static addHealth(builder: flatbuffers.Builder, health: number) { + builder.addFieldInt32(14, health, 100); + } + + static addUnderConstruction( + builder: flatbuffers.Builder, + underConstruction: boolean, + ) { + builder.addFieldInt8(15, +underConstruction, +false); + } + + static addMissileTimerQueue( + builder: flatbuffers.Builder, + missileTimerQueueOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(16, missileTimerQueueOffset, 0); + } + + static createMissileTimerQueueVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array, + ): flatbuffers.Offset; + /** + * @deprecated This Uint8Array overload will be removed in the future. + */ + static createMissileTimerQueueVector( + builder: flatbuffers.Builder, + data: number[] | Uint8Array, + ): flatbuffers.Offset; + static createMissileTimerQueueVector( + builder: flatbuffers.Builder, + data: number[] | Int32Array | Uint8Array, + ): flatbuffers.Offset { + builder.startVector(4, data.length, 4); + for (let i = data.length - 1; i >= 0; i--) { + builder.addInt32(data[i]!); + } + return builder.endVector(); + } + + static startMissileTimerQueueVector( + builder: flatbuffers.Builder, + numElems: number, + ) { + builder.startVector(4, numElems, 4); + } + + static addLevel(builder: flatbuffers.Builder, level: number) { + builder.addFieldInt32(17, level, 1); + } + + static addHasTrainStation( + builder: flatbuffers.Builder, + hasTrainStation: boolean, + ) { + builder.addFieldInt8(18, +hasTrainStation, +false); + } + + static addTrainType(builder: flatbuffers.Builder, trainType: TrainType) { + builder.addFieldInt8(19, trainType, TrainType.Passenger); + } + + static addLoaded(builder: flatbuffers.Builder, loaded: boolean) { + builder.addFieldInt8(20, +loaded, +false); + } + + static endUnitUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } +} diff --git a/src/generated/game-updates/win-update.ts b/src/generated/game-updates/win-update.ts new file mode 100644 index 000000000..0c0adc282 --- /dev/null +++ b/src/generated/game-updates/win-update.ts @@ -0,0 +1,90 @@ +// automatically generated by the FlatBuffers compiler, do not modify + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */ + +import * as flatbuffers from "flatbuffers"; + +export class WinUpdate { + bb: flatbuffers.ByteBuffer | null = null; + bb_pos = 0; + __init(i: number, bb: flatbuffers.ByteBuffer): WinUpdate { + this.bb_pos = i; + this.bb = bb; + return this; + } + + static getRootAsWinUpdate( + bb: flatbuffers.ByteBuffer, + obj?: WinUpdate, + ): WinUpdate { + return (obj || new WinUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + static getSizePrefixedRootAsWinUpdate( + bb: flatbuffers.ByteBuffer, + obj?: WinUpdate, + ): WinUpdate { + bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH); + return (obj || new WinUpdate()).__init( + bb.readInt32(bb.position()) + bb.position(), + bb, + ); + } + + allPlayersStats(): string | null; + allPlayersStats( + optionalEncoding: flatbuffers.Encoding, + ): string | Uint8Array | null; + allPlayersStats(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 4); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + winner(): string | null; + winner(optionalEncoding: flatbuffers.Encoding): string | Uint8Array | null; + winner(optionalEncoding?: any): string | Uint8Array | null { + const offset = this.bb!.__offset(this.bb_pos, 6); + return offset + ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) + : null; + } + + static startWinUpdate(builder: flatbuffers.Builder) { + builder.startObject(2); + } + + static addAllPlayersStats( + builder: flatbuffers.Builder, + allPlayersStatsOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(0, allPlayersStatsOffset, 0); + } + + static addWinner( + builder: flatbuffers.Builder, + winnerOffset: flatbuffers.Offset, + ) { + builder.addFieldOffset(1, winnerOffset, 0); + } + + static endWinUpdate(builder: flatbuffers.Builder): flatbuffers.Offset { + const offset = builder.endObject(); + return offset; + } + + static createWinUpdate( + builder: flatbuffers.Builder, + allPlayersStatsOffset: flatbuffers.Offset, + winnerOffset: flatbuffers.Offset, + ): flatbuffers.Offset { + WinUpdate.startWinUpdate(builder); + WinUpdate.addAllPlayersStats(builder, allPlayersStatsOffset); + WinUpdate.addWinner(builder, winnerOffset); + return WinUpdate.endWinUpdate(builder); + } +} diff --git a/tsconfig.json b/tsconfig.json index 01034daca..229285b3e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,7 +27,7 @@ "src/**/*", "resources/**/*", "proprietary/**/*", - "generated/**/*", + "src/generated/**/*", "tests/**/*", "src/scripts" ],