diff --git a/package.json b/package.json index 0b4bffd7c..0946abcda 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "build:reviews": "cd packages/scripts && bun build:reviews", "build:ids": "cd packages/scripts && bun build:ids", "prunestrings": "cd packages/scripts && bun prunestrings", - "dev:cli:unpack": "cd src/CLI && dotnet run unpack \"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest\"", + "dev:cli:unpack": "cd src/CLI && dotnet run unpack \"C:/Program Files (x86)/Steam/steamapps/common/World of Tanks Blitz Playtest\" --no-overwrite", "dev:cli:test": "cd src/CLI && dotnet run test" }, "license": "MIT", diff --git a/packages/core/src/protos/average_definitions.proto b/packages/core/src/protos/average_definitions.proto deleted file mode 100644 index 3844b4738..000000000 --- a/packages/core/src/protos/average_definitions.proto +++ /dev/null @@ -1,47 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -message AverageDefinitions { - map averages = 1; - required Samples samples = 2; - required uint64 time = 3; -} - -message AverageDefinitionsEntry { - required AverageDefinitionsAllStats mu = 1; - required AverageDefinitionsAllStats sigma = 2; - required AverageDefinitionsAllStats r = 3; - required Samples samples = 4; -} - -message AverageDefinitionsAllStats { - required float battles = 1; - required float capture_points = 2; - required float damage_dealt = 3; - required float damage_received = 4; - required float dropped_capture_points = 5; - required float frags = 6; - required float frags8p = 7; - required float hits = 8; - required float losses = 9; - required float max_frags = 10; - required float max_xp = 11; - required float shots = 12; - required float spotted = 13; - required float survived_battles = 14; - required float win_and_survived = 15; - required float wins = 16; - required float xp = 17; - required float battle_life_time = 18; -} - -message Samples { - required uint32 d_1 = 1; - required uint32 d_7 = 2; - required uint32 d_30 = 3; - required uint32 d_60 = 4; - required uint32 d_90 = 5; - required uint32 d_120 = 6; - required uint32 total = 7; -} \ No newline at end of file diff --git a/packages/core/src/protos/average_definitions.ts b/packages/core/src/protos/average_definitions.ts deleted file mode 100644 index 507678f6d..000000000 --- a/packages/core/src/protos/average_definitions.ts +++ /dev/null @@ -1,944 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/average_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; - -export const protobufPackage = "blitzkit"; - -export interface AverageDefinitions { - averages: { [key: number]: AverageDefinitionsEntry }; - samples: Samples; - time: number; -} - -export interface AverageDefinitions_AveragesEntry { - key: number; - value: AverageDefinitionsEntry | undefined; -} - -export interface AverageDefinitionsEntry { - mu: AverageDefinitionsAllStats; - sigma: AverageDefinitionsAllStats; - r: AverageDefinitionsAllStats; - samples: Samples; -} - -export interface AverageDefinitionsAllStats { - battles: number; - capture_points: number; - damage_dealt: number; - damage_received: number; - dropped_capture_points: number; - frags: number; - frags8p: number; - hits: number; - losses: number; - max_frags: number; - max_xp: number; - shots: number; - spotted: number; - survived_battles: number; - win_and_survived: number; - wins: number; - xp: number; - battle_life_time: number; -} - -export interface Samples { - d_1: number; - d_7: number; - d_30: number; - d_60: number; - d_90: number; - d_120: number; - total: number; -} - -function createBaseAverageDefinitions(): AverageDefinitions { - return { averages: {}, samples: createBaseSamples(), time: 0 }; -} - -export const AverageDefinitions: MessageFns = { - encode(message: AverageDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.averages).forEach(([key, value]) => { - AverageDefinitions_AveragesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - if (message.samples !== undefined) { - Samples.encode(message.samples, writer.uint32(18).fork()).join(); - } - if (message.time !== 0) { - writer.uint32(24).uint64(message.time); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): AverageDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAverageDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = AverageDefinitions_AveragesEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.averages[entry1.key] = entry1.value; - } - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.samples = Samples.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.time = longToNumber(reader.uint64()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): AverageDefinitions { - return { - averages: isObject(object.averages) - ? Object.entries(object.averages).reduce<{ [key: number]: AverageDefinitionsEntry }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = AverageDefinitionsEntry.fromJSON(value); - return acc; - }, {}) - : {}, - samples: Samples.fromJSON(assertSet("AverageDefinitions.samples", object.samples)), - time: globalThis.Number(assertSet("AverageDefinitions.time", object.time)), - }; - }, - - toJSON(message: AverageDefinitions): unknown { - const obj: any = {}; - if (message.averages) { - const entries = Object.entries(message.averages); - if (entries.length > 0) { - obj.averages = {}; - entries.forEach(([k, v]) => { - obj.averages[k] = AverageDefinitionsEntry.toJSON(v); - }); - } - } - if (message.samples !== undefined) { - obj.samples = Samples.toJSON(message.samples); - } - if (message.time !== 0) { - obj.time = Math.round(message.time); - } - return obj; - }, - - create, I>>(base?: I): AverageDefinitions { - return AverageDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): AverageDefinitions { - const message = createBaseAverageDefinitions(); - message.averages = Object.entries(object.averages ?? {}).reduce<{ [key: number]: AverageDefinitionsEntry }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = AverageDefinitionsEntry.fromPartial(value); - } - return acc; - }, - {}, - ); - message.samples = (object.samples !== undefined && object.samples !== null) - ? Samples.fromPartial(object.samples) - : createBaseSamples(); - message.time = object.time ?? 0; - return message; - }, -}; - -function createBaseAverageDefinitions_AveragesEntry(): AverageDefinitions_AveragesEntry { - return { key: 0, value: createBaseAverageDefinitionsEntry() }; -} - -export const AverageDefinitions_AveragesEntry: MessageFns = { - encode(message: AverageDefinitions_AveragesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - AverageDefinitionsEntry.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): AverageDefinitions_AveragesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAverageDefinitions_AveragesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = AverageDefinitionsEntry.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): AverageDefinitions_AveragesEntry { - return { - key: globalThis.Number(assertSet("AverageDefinitions_AveragesEntry.key", object.key)), - value: AverageDefinitionsEntry.fromJSON(assertSet("AverageDefinitions_AveragesEntry.value", object.value)), - }; - }, - - toJSON(message: AverageDefinitions_AveragesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = AverageDefinitionsEntry.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): AverageDefinitions_AveragesEntry { - return AverageDefinitions_AveragesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): AverageDefinitions_AveragesEntry { - const message = createBaseAverageDefinitions_AveragesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? AverageDefinitionsEntry.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseAverageDefinitionsEntry(): AverageDefinitionsEntry { - return { - mu: createBaseAverageDefinitionsAllStats(), - sigma: createBaseAverageDefinitionsAllStats(), - r: createBaseAverageDefinitionsAllStats(), - samples: createBaseSamples(), - }; -} - -export const AverageDefinitionsEntry: MessageFns = { - encode(message: AverageDefinitionsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.mu !== undefined) { - AverageDefinitionsAllStats.encode(message.mu, writer.uint32(10).fork()).join(); - } - if (message.sigma !== undefined) { - AverageDefinitionsAllStats.encode(message.sigma, writer.uint32(18).fork()).join(); - } - if (message.r !== undefined) { - AverageDefinitionsAllStats.encode(message.r, writer.uint32(26).fork()).join(); - } - if (message.samples !== undefined) { - Samples.encode(message.samples, writer.uint32(34).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): AverageDefinitionsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAverageDefinitionsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.mu = AverageDefinitionsAllStats.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.sigma = AverageDefinitionsAllStats.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.r = AverageDefinitionsAllStats.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.samples = Samples.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): AverageDefinitionsEntry { - return { - mu: AverageDefinitionsAllStats.fromJSON(assertSet("AverageDefinitionsEntry.mu", object.mu)), - sigma: AverageDefinitionsAllStats.fromJSON(assertSet("AverageDefinitionsEntry.sigma", object.sigma)), - r: AverageDefinitionsAllStats.fromJSON(assertSet("AverageDefinitionsEntry.r", object.r)), - samples: Samples.fromJSON(assertSet("AverageDefinitionsEntry.samples", object.samples)), - }; - }, - - toJSON(message: AverageDefinitionsEntry): unknown { - const obj: any = {}; - if (message.mu !== undefined) { - obj.mu = AverageDefinitionsAllStats.toJSON(message.mu); - } - if (message.sigma !== undefined) { - obj.sigma = AverageDefinitionsAllStats.toJSON(message.sigma); - } - if (message.r !== undefined) { - obj.r = AverageDefinitionsAllStats.toJSON(message.r); - } - if (message.samples !== undefined) { - obj.samples = Samples.toJSON(message.samples); - } - return obj; - }, - - create, I>>(base?: I): AverageDefinitionsEntry { - return AverageDefinitionsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): AverageDefinitionsEntry { - const message = createBaseAverageDefinitionsEntry(); - message.mu = (object.mu !== undefined && object.mu !== null) - ? AverageDefinitionsAllStats.fromPartial(object.mu) - : createBaseAverageDefinitionsAllStats(); - message.sigma = (object.sigma !== undefined && object.sigma !== null) - ? AverageDefinitionsAllStats.fromPartial(object.sigma) - : createBaseAverageDefinitionsAllStats(); - message.r = (object.r !== undefined && object.r !== null) - ? AverageDefinitionsAllStats.fromPartial(object.r) - : createBaseAverageDefinitionsAllStats(); - message.samples = (object.samples !== undefined && object.samples !== null) - ? Samples.fromPartial(object.samples) - : createBaseSamples(); - return message; - }, -}; - -function createBaseAverageDefinitionsAllStats(): AverageDefinitionsAllStats { - return { - battles: 0, - capture_points: 0, - damage_dealt: 0, - damage_received: 0, - dropped_capture_points: 0, - frags: 0, - frags8p: 0, - hits: 0, - losses: 0, - max_frags: 0, - max_xp: 0, - shots: 0, - spotted: 0, - survived_battles: 0, - win_and_survived: 0, - wins: 0, - xp: 0, - battle_life_time: 0, - }; -} - -export const AverageDefinitionsAllStats: MessageFns = { - encode(message: AverageDefinitionsAllStats, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.battles !== 0) { - writer.uint32(13).float(message.battles); - } - if (message.capture_points !== 0) { - writer.uint32(21).float(message.capture_points); - } - if (message.damage_dealt !== 0) { - writer.uint32(29).float(message.damage_dealt); - } - if (message.damage_received !== 0) { - writer.uint32(37).float(message.damage_received); - } - if (message.dropped_capture_points !== 0) { - writer.uint32(45).float(message.dropped_capture_points); - } - if (message.frags !== 0) { - writer.uint32(53).float(message.frags); - } - if (message.frags8p !== 0) { - writer.uint32(61).float(message.frags8p); - } - if (message.hits !== 0) { - writer.uint32(69).float(message.hits); - } - if (message.losses !== 0) { - writer.uint32(77).float(message.losses); - } - if (message.max_frags !== 0) { - writer.uint32(85).float(message.max_frags); - } - if (message.max_xp !== 0) { - writer.uint32(93).float(message.max_xp); - } - if (message.shots !== 0) { - writer.uint32(101).float(message.shots); - } - if (message.spotted !== 0) { - writer.uint32(109).float(message.spotted); - } - if (message.survived_battles !== 0) { - writer.uint32(117).float(message.survived_battles); - } - if (message.win_and_survived !== 0) { - writer.uint32(125).float(message.win_and_survived); - } - if (message.wins !== 0) { - writer.uint32(133).float(message.wins); - } - if (message.xp !== 0) { - writer.uint32(141).float(message.xp); - } - if (message.battle_life_time !== 0) { - writer.uint32(149).float(message.battle_life_time); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): AverageDefinitionsAllStats { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseAverageDefinitionsAllStats(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.battles = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.capture_points = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.damage_dealt = reader.float(); - continue; - } - case 4: { - if (tag !== 37) { - break; - } - - message.damage_received = reader.float(); - continue; - } - case 5: { - if (tag !== 45) { - break; - } - - message.dropped_capture_points = reader.float(); - continue; - } - case 6: { - if (tag !== 53) { - break; - } - - message.frags = reader.float(); - continue; - } - case 7: { - if (tag !== 61) { - break; - } - - message.frags8p = reader.float(); - continue; - } - case 8: { - if (tag !== 69) { - break; - } - - message.hits = reader.float(); - continue; - } - case 9: { - if (tag !== 77) { - break; - } - - message.losses = reader.float(); - continue; - } - case 10: { - if (tag !== 85) { - break; - } - - message.max_frags = reader.float(); - continue; - } - case 11: { - if (tag !== 93) { - break; - } - - message.max_xp = reader.float(); - continue; - } - case 12: { - if (tag !== 101) { - break; - } - - message.shots = reader.float(); - continue; - } - case 13: { - if (tag !== 109) { - break; - } - - message.spotted = reader.float(); - continue; - } - case 14: { - if (tag !== 117) { - break; - } - - message.survived_battles = reader.float(); - continue; - } - case 15: { - if (tag !== 125) { - break; - } - - message.win_and_survived = reader.float(); - continue; - } - case 16: { - if (tag !== 133) { - break; - } - - message.wins = reader.float(); - continue; - } - case 17: { - if (tag !== 141) { - break; - } - - message.xp = reader.float(); - continue; - } - case 18: { - if (tag !== 149) { - break; - } - - message.battle_life_time = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): AverageDefinitionsAllStats { - return { - battles: globalThis.Number(assertSet("AverageDefinitionsAllStats.battles", object.battles)), - capture_points: globalThis.Number(assertSet("AverageDefinitionsAllStats.capture_points", object.capture_points)), - damage_dealt: globalThis.Number(assertSet("AverageDefinitionsAllStats.damage_dealt", object.damage_dealt)), - damage_received: globalThis.Number( - assertSet("AverageDefinitionsAllStats.damage_received", object.damage_received), - ), - dropped_capture_points: globalThis.Number( - assertSet("AverageDefinitionsAllStats.dropped_capture_points", object.dropped_capture_points), - ), - frags: globalThis.Number(assertSet("AverageDefinitionsAllStats.frags", object.frags)), - frags8p: globalThis.Number(assertSet("AverageDefinitionsAllStats.frags8p", object.frags8p)), - hits: globalThis.Number(assertSet("AverageDefinitionsAllStats.hits", object.hits)), - losses: globalThis.Number(assertSet("AverageDefinitionsAllStats.losses", object.losses)), - max_frags: globalThis.Number(assertSet("AverageDefinitionsAllStats.max_frags", object.max_frags)), - max_xp: globalThis.Number(assertSet("AverageDefinitionsAllStats.max_xp", object.max_xp)), - shots: globalThis.Number(assertSet("AverageDefinitionsAllStats.shots", object.shots)), - spotted: globalThis.Number(assertSet("AverageDefinitionsAllStats.spotted", object.spotted)), - survived_battles: globalThis.Number( - assertSet("AverageDefinitionsAllStats.survived_battles", object.survived_battles), - ), - win_and_survived: globalThis.Number( - assertSet("AverageDefinitionsAllStats.win_and_survived", object.win_and_survived), - ), - wins: globalThis.Number(assertSet("AverageDefinitionsAllStats.wins", object.wins)), - xp: globalThis.Number(assertSet("AverageDefinitionsAllStats.xp", object.xp)), - battle_life_time: globalThis.Number( - assertSet("AverageDefinitionsAllStats.battle_life_time", object.battle_life_time), - ), - }; - }, - - toJSON(message: AverageDefinitionsAllStats): unknown { - const obj: any = {}; - if (message.battles !== 0) { - obj.battles = message.battles; - } - if (message.capture_points !== 0) { - obj.capture_points = message.capture_points; - } - if (message.damage_dealt !== 0) { - obj.damage_dealt = message.damage_dealt; - } - if (message.damage_received !== 0) { - obj.damage_received = message.damage_received; - } - if (message.dropped_capture_points !== 0) { - obj.dropped_capture_points = message.dropped_capture_points; - } - if (message.frags !== 0) { - obj.frags = message.frags; - } - if (message.frags8p !== 0) { - obj.frags8p = message.frags8p; - } - if (message.hits !== 0) { - obj.hits = message.hits; - } - if (message.losses !== 0) { - obj.losses = message.losses; - } - if (message.max_frags !== 0) { - obj.max_frags = message.max_frags; - } - if (message.max_xp !== 0) { - obj.max_xp = message.max_xp; - } - if (message.shots !== 0) { - obj.shots = message.shots; - } - if (message.spotted !== 0) { - obj.spotted = message.spotted; - } - if (message.survived_battles !== 0) { - obj.survived_battles = message.survived_battles; - } - if (message.win_and_survived !== 0) { - obj.win_and_survived = message.win_and_survived; - } - if (message.wins !== 0) { - obj.wins = message.wins; - } - if (message.xp !== 0) { - obj.xp = message.xp; - } - if (message.battle_life_time !== 0) { - obj.battle_life_time = message.battle_life_time; - } - return obj; - }, - - create, I>>(base?: I): AverageDefinitionsAllStats { - return AverageDefinitionsAllStats.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): AverageDefinitionsAllStats { - const message = createBaseAverageDefinitionsAllStats(); - message.battles = object.battles ?? 0; - message.capture_points = object.capture_points ?? 0; - message.damage_dealt = object.damage_dealt ?? 0; - message.damage_received = object.damage_received ?? 0; - message.dropped_capture_points = object.dropped_capture_points ?? 0; - message.frags = object.frags ?? 0; - message.frags8p = object.frags8p ?? 0; - message.hits = object.hits ?? 0; - message.losses = object.losses ?? 0; - message.max_frags = object.max_frags ?? 0; - message.max_xp = object.max_xp ?? 0; - message.shots = object.shots ?? 0; - message.spotted = object.spotted ?? 0; - message.survived_battles = object.survived_battles ?? 0; - message.win_and_survived = object.win_and_survived ?? 0; - message.wins = object.wins ?? 0; - message.xp = object.xp ?? 0; - message.battle_life_time = object.battle_life_time ?? 0; - return message; - }, -}; - -function createBaseSamples(): Samples { - return { d_1: 0, d_7: 0, d_30: 0, d_60: 0, d_90: 0, d_120: 0, total: 0 }; -} - -export const Samples: MessageFns = { - encode(message: Samples, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.d_1 !== 0) { - writer.uint32(8).uint32(message.d_1); - } - if (message.d_7 !== 0) { - writer.uint32(16).uint32(message.d_7); - } - if (message.d_30 !== 0) { - writer.uint32(24).uint32(message.d_30); - } - if (message.d_60 !== 0) { - writer.uint32(32).uint32(message.d_60); - } - if (message.d_90 !== 0) { - writer.uint32(40).uint32(message.d_90); - } - if (message.d_120 !== 0) { - writer.uint32(48).uint32(message.d_120); - } - if (message.total !== 0) { - writer.uint32(56).uint32(message.total); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Samples { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSamples(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.d_1 = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.d_7 = reader.uint32(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.d_30 = reader.uint32(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.d_60 = reader.uint32(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.d_90 = reader.uint32(); - continue; - } - case 6: { - if (tag !== 48) { - break; - } - - message.d_120 = reader.uint32(); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.total = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Samples { - return { - d_1: globalThis.Number(assertSet("Samples.d_1", object.d_1)), - d_7: globalThis.Number(assertSet("Samples.d_7", object.d_7)), - d_30: globalThis.Number(assertSet("Samples.d_30", object.d_30)), - d_60: globalThis.Number(assertSet("Samples.d_60", object.d_60)), - d_90: globalThis.Number(assertSet("Samples.d_90", object.d_90)), - d_120: globalThis.Number(assertSet("Samples.d_120", object.d_120)), - total: globalThis.Number(assertSet("Samples.total", object.total)), - }; - }, - - toJSON(message: Samples): unknown { - const obj: any = {}; - if (message.d_1 !== 0) { - obj.d_1 = Math.round(message.d_1); - } - if (message.d_7 !== 0) { - obj.d_7 = Math.round(message.d_7); - } - if (message.d_30 !== 0) { - obj.d_30 = Math.round(message.d_30); - } - if (message.d_60 !== 0) { - obj.d_60 = Math.round(message.d_60); - } - if (message.d_90 !== 0) { - obj.d_90 = Math.round(message.d_90); - } - if (message.d_120 !== 0) { - obj.d_120 = Math.round(message.d_120); - } - if (message.total !== 0) { - obj.total = Math.round(message.total); - } - return obj; - }, - - create, I>>(base?: I): Samples { - return Samples.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Samples { - const message = createBaseSamples(); - message.d_1 = object.d_1 ?? 0; - message.d_7 = object.d_7 ?? 0; - message.d_30 = object.d_30 ?? 0; - message.d_60 = object.d_60 ?? 0; - message.d_90 = object.d_90 ?? 0; - message.d_120 = object.d_120 ?? 0; - message.total = object.total ?? 0; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function longToNumber(int64: { toString(): string }): number { - const num = globalThis.Number(int64.toString()); - if (num > globalThis.Number.MAX_SAFE_INTEGER) { - throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - if (num < globalThis.Number.MIN_SAFE_INTEGER) { - throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); - } - return num; -} - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/camouflage_definitions.proto b/packages/core/src/protos/camouflage_definitions.proto deleted file mode 100644 index bfcfd5a7a..000000000 --- a/packages/core/src/protos/camouflage_definitions.proto +++ /dev/null @@ -1,16 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message CamouflageDefinitions { - map camouflages = 1; -} - -message Camouflage { - required uint32 id = 1; - required I18nString name = 2; - optional I18nString tank_name = 3; - optional I18nString tank_name_full = 4; -} \ No newline at end of file diff --git a/packages/core/src/protos/camouflage_definitions.ts b/packages/core/src/protos/camouflage_definitions.ts deleted file mode 100644 index 02d3e846d..000000000 --- a/packages/core/src/protos/camouflage_definitions.ts +++ /dev/null @@ -1,343 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/camouflage_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export interface CamouflageDefinitions { - camouflages: { [key: number]: Camouflage }; -} - -export interface CamouflageDefinitions_CamouflagesEntry { - key: number; - value: Camouflage | undefined; -} - -export interface Camouflage { - id: number; - name: I18nString; - tank_name?: I18nString | undefined; - tank_name_full?: I18nString | undefined; -} - -function createBaseCamouflageDefinitions(): CamouflageDefinitions { - return { camouflages: {} }; -} - -export const CamouflageDefinitions: MessageFns = { - encode(message: CamouflageDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.camouflages).forEach(([key, value]) => { - CamouflageDefinitions_CamouflagesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): CamouflageDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCamouflageDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = CamouflageDefinitions_CamouflagesEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.camouflages[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): CamouflageDefinitions { - return { - camouflages: isObject(object.camouflages) - ? Object.entries(object.camouflages).reduce<{ [key: number]: Camouflage }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Camouflage.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: CamouflageDefinitions): unknown { - const obj: any = {}; - if (message.camouflages) { - const entries = Object.entries(message.camouflages); - if (entries.length > 0) { - obj.camouflages = {}; - entries.forEach(([k, v]) => { - obj.camouflages[k] = Camouflage.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): CamouflageDefinitions { - return CamouflageDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): CamouflageDefinitions { - const message = createBaseCamouflageDefinitions(); - message.camouflages = Object.entries(object.camouflages ?? {}).reduce<{ [key: number]: Camouflage }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = Camouflage.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseCamouflageDefinitions_CamouflagesEntry(): CamouflageDefinitions_CamouflagesEntry { - return { key: 0, value: createBaseCamouflage() }; -} - -export const CamouflageDefinitions_CamouflagesEntry: MessageFns = { - encode(message: CamouflageDefinitions_CamouflagesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - Camouflage.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): CamouflageDefinitions_CamouflagesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCamouflageDefinitions_CamouflagesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = Camouflage.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): CamouflageDefinitions_CamouflagesEntry { - return { - key: globalThis.Number(assertSet("CamouflageDefinitions_CamouflagesEntry.key", object.key)), - value: Camouflage.fromJSON(assertSet("CamouflageDefinitions_CamouflagesEntry.value", object.value)), - }; - }, - - toJSON(message: CamouflageDefinitions_CamouflagesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Camouflage.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): CamouflageDefinitions_CamouflagesEntry { - return CamouflageDefinitions_CamouflagesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): CamouflageDefinitions_CamouflagesEntry { - const message = createBaseCamouflageDefinitions_CamouflagesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? Camouflage.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseCamouflage(): Camouflage { - return { id: 0, name: createBaseI18nString(), tank_name: undefined, tank_name_full: undefined }; -} - -export const Camouflage: MessageFns = { - encode(message: Camouflage, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - if (message.tank_name !== undefined) { - I18nString.encode(message.tank_name, writer.uint32(26).fork()).join(); - } - if (message.tank_name_full !== undefined) { - I18nString.encode(message.tank_name_full, writer.uint32(34).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Camouflage { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCamouflage(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.tank_name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.tank_name_full = I18nString.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Camouflage { - return { - id: globalThis.Number(assertSet("Camouflage.id", object.id)), - name: I18nString.fromJSON(assertSet("Camouflage.name", object.name)), - tank_name: isSet(object.tank_name) ? I18nString.fromJSON(object.tank_name) : undefined, - tank_name_full: isSet(object.tank_name_full) ? I18nString.fromJSON(object.tank_name_full) : undefined, - }; - }, - - toJSON(message: Camouflage): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.tank_name !== undefined) { - obj.tank_name = I18nString.toJSON(message.tank_name); - } - if (message.tank_name_full !== undefined) { - obj.tank_name_full = I18nString.toJSON(message.tank_name_full); - } - return obj; - }, - - create, I>>(base?: I): Camouflage { - return Camouflage.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Camouflage { - const message = createBaseCamouflage(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.tank_name = (object.tank_name !== undefined && object.tank_name !== null) - ? I18nString.fromPartial(object.tank_name) - : undefined; - message.tank_name_full = (object.tank_name_full !== undefined && object.tank_name_full !== null) - ? I18nString.fromPartial(object.tank_name_full) - : undefined; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/consumable_definitions.proto b/packages/core/src/protos/consumable_definitions.proto deleted file mode 100644 index 0d65daaf3..000000000 --- a/packages/core/src/protos/consumable_definitions.proto +++ /dev/null @@ -1,49 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message ConsumableDefinitions { - map consumables = 1; -} - -message Consumable { - required uint32 id = 1; - required I18nString name = 2; - required uint32 cooldown = 3; - optional float duration = 4; - required bool game_mode_exclusive = 5; - repeated ConsumableTankFilter include = 6; - repeated ConsumableTankFilter exclude = 7; -} - -message ConsumableTankFilter { - oneof filter_type { - ConsumableTankTierFilter tiers = 1; - ConsumableTankIdsFilter ids = 2; - ConsumableTankCategoryFilter categories = 3; - ConsumableTankNationFilter nations = 4; - } -} - -message ConsumableTankTierFilter { - required uint32 min = 1; - required uint32 max = 2; -} - -message ConsumableTankIdsFilter { - repeated uint32 ids = 1; -} - -message ConsumableTankCategoryFilter { - repeated ConsumableTankCategoryFilterCategory categories = 1; -} - -enum ConsumableTankCategoryFilterCategory { - CONSUMABLE_TANK_CATEGORY_FILTER_CATEGORY_CLIP = 0; -} - -message ConsumableTankNationFilter { - repeated string nations = 1; -} \ No newline at end of file diff --git a/packages/core/src/protos/consumable_definitions.ts b/packages/core/src/protos/consumable_definitions.ts deleted file mode 100644 index 27bbbe6d3..000000000 --- a/packages/core/src/protos/consumable_definitions.ts +++ /dev/null @@ -1,883 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/consumable_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export enum ConsumableTankCategoryFilterCategory { - CLIP = 0, -} - -export function consumableTankCategoryFilterCategoryFromJSON(object: any): ConsumableTankCategoryFilterCategory { - switch (object) { - case 0: - case "CONSUMABLE_TANK_CATEGORY_FILTER_CATEGORY_CLIP": - return ConsumableTankCategoryFilterCategory.CLIP; - default: - throw new globalThis.Error( - "Unrecognized enum value " + object + " for enum ConsumableTankCategoryFilterCategory", - ); - } -} - -export function consumableTankCategoryFilterCategoryToJSON(object: ConsumableTankCategoryFilterCategory): string { - switch (object) { - case ConsumableTankCategoryFilterCategory.CLIP: - return "CONSUMABLE_TANK_CATEGORY_FILTER_CATEGORY_CLIP"; - default: - throw new globalThis.Error( - "Unrecognized enum value " + object + " for enum ConsumableTankCategoryFilterCategory", - ); - } -} - -export interface ConsumableDefinitions { - consumables: { [key: number]: Consumable }; -} - -export interface ConsumableDefinitions_ConsumablesEntry { - key: number; - value: Consumable | undefined; -} - -export interface Consumable { - id: number; - name: I18nString; - cooldown: number; - duration?: number | undefined; - game_mode_exclusive: boolean; - include: ConsumableTankFilter[]; - exclude: ConsumableTankFilter[]; -} - -export interface ConsumableTankFilter { - filter_type?: - | { $case: "tiers"; value: ConsumableTankTierFilter } - | { $case: "ids"; value: ConsumableTankIdsFilter } - | { $case: "categories"; value: ConsumableTankCategoryFilter } - | { $case: "nations"; value: ConsumableTankNationFilter } - | undefined; -} - -export interface ConsumableTankTierFilter { - min: number; - max: number; -} - -export interface ConsumableTankIdsFilter { - ids: number[]; -} - -export interface ConsumableTankCategoryFilter { - categories: ConsumableTankCategoryFilterCategory[]; -} - -export interface ConsumableTankNationFilter { - nations: string[]; -} - -function createBaseConsumableDefinitions(): ConsumableDefinitions { - return { consumables: {} }; -} - -export const ConsumableDefinitions: MessageFns = { - encode(message: ConsumableDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.consumables).forEach(([key, value]) => { - ConsumableDefinitions_ConsumablesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = ConsumableDefinitions_ConsumablesEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.consumables[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableDefinitions { - return { - consumables: isObject(object.consumables) - ? Object.entries(object.consumables).reduce<{ [key: number]: Consumable }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Consumable.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: ConsumableDefinitions): unknown { - const obj: any = {}; - if (message.consumables) { - const entries = Object.entries(message.consumables); - if (entries.length > 0) { - obj.consumables = {}; - entries.forEach(([k, v]) => { - obj.consumables[k] = Consumable.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): ConsumableDefinitions { - return ConsumableDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableDefinitions { - const message = createBaseConsumableDefinitions(); - message.consumables = Object.entries(object.consumables ?? {}).reduce<{ [key: number]: Consumable }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = Consumable.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseConsumableDefinitions_ConsumablesEntry(): ConsumableDefinitions_ConsumablesEntry { - return { key: 0, value: createBaseConsumable() }; -} - -export const ConsumableDefinitions_ConsumablesEntry: MessageFns = { - encode(message: ConsumableDefinitions_ConsumablesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - Consumable.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableDefinitions_ConsumablesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableDefinitions_ConsumablesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = Consumable.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableDefinitions_ConsumablesEntry { - return { - key: globalThis.Number(assertSet("ConsumableDefinitions_ConsumablesEntry.key", object.key)), - value: Consumable.fromJSON(assertSet("ConsumableDefinitions_ConsumablesEntry.value", object.value)), - }; - }, - - toJSON(message: ConsumableDefinitions_ConsumablesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Consumable.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): ConsumableDefinitions_ConsumablesEntry { - return ConsumableDefinitions_ConsumablesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): ConsumableDefinitions_ConsumablesEntry { - const message = createBaseConsumableDefinitions_ConsumablesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? Consumable.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseConsumable(): Consumable { - return { - id: 0, - name: createBaseI18nString(), - cooldown: 0, - duration: undefined, - game_mode_exclusive: false, - include: [], - exclude: [], - }; -} - -export const Consumable: MessageFns = { - encode(message: Consumable, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - if (message.cooldown !== 0) { - writer.uint32(24).uint32(message.cooldown); - } - if (message.duration !== undefined && message.duration !== undefined) { - writer.uint32(37).float(message.duration); - } - if (message.game_mode_exclusive !== false) { - writer.uint32(40).bool(message.game_mode_exclusive); - } - for (const v of message.include) { - ConsumableTankFilter.encode(v!, writer.uint32(50).fork()).join(); - } - for (const v of message.exclude) { - ConsumableTankFilter.encode(v!, writer.uint32(58).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Consumable { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumable(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.cooldown = reader.uint32(); - continue; - } - case 4: { - if (tag !== 37) { - break; - } - - message.duration = reader.float(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.game_mode_exclusive = reader.bool(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.include.push(ConsumableTankFilter.decode(reader, reader.uint32())); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.exclude.push(ConsumableTankFilter.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Consumable { - return { - id: globalThis.Number(assertSet("Consumable.id", object.id)), - name: I18nString.fromJSON(assertSet("Consumable.name", object.name)), - cooldown: globalThis.Number(assertSet("Consumable.cooldown", object.cooldown)), - duration: isSet(object.duration) ? globalThis.Number(object.duration) : undefined, - game_mode_exclusive: globalThis.Boolean(assertSet("Consumable.game_mode_exclusive", object.game_mode_exclusive)), - include: globalThis.Array.isArray(object?.include) - ? object.include.map((e: any) => ConsumableTankFilter.fromJSON(e)) - : [], - exclude: globalThis.Array.isArray(object?.exclude) - ? object.exclude.map((e: any) => ConsumableTankFilter.fromJSON(e)) - : [], - }; - }, - - toJSON(message: Consumable): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.cooldown !== 0) { - obj.cooldown = Math.round(message.cooldown); - } - if (message.duration !== undefined && message.duration !== undefined) { - obj.duration = message.duration; - } - if (message.game_mode_exclusive !== false) { - obj.game_mode_exclusive = message.game_mode_exclusive; - } - if (message.include?.length) { - obj.include = message.include.map((e) => ConsumableTankFilter.toJSON(e)); - } - if (message.exclude?.length) { - obj.exclude = message.exclude.map((e) => ConsumableTankFilter.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): Consumable { - return Consumable.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Consumable { - const message = createBaseConsumable(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.cooldown = object.cooldown ?? 0; - message.duration = object.duration ?? undefined; - message.game_mode_exclusive = object.game_mode_exclusive ?? false; - message.include = object.include?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; - message.exclude = object.exclude?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseConsumableTankFilter(): ConsumableTankFilter { - return { filter_type: undefined }; -} - -export const ConsumableTankFilter: MessageFns = { - encode(message: ConsumableTankFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - switch (message.filter_type?.$case) { - case "tiers": - ConsumableTankTierFilter.encode(message.filter_type.value, writer.uint32(10).fork()).join(); - break; - case "ids": - ConsumableTankIdsFilter.encode(message.filter_type.value, writer.uint32(18).fork()).join(); - break; - case "categories": - ConsumableTankCategoryFilter.encode(message.filter_type.value, writer.uint32(26).fork()).join(); - break; - case "nations": - ConsumableTankNationFilter.encode(message.filter_type.value, writer.uint32(34).fork()).join(); - break; - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableTankFilter { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableTankFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.filter_type = { $case: "tiers", value: ConsumableTankTierFilter.decode(reader, reader.uint32()) }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.filter_type = { $case: "ids", value: ConsumableTankIdsFilter.decode(reader, reader.uint32()) }; - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.filter_type = { - $case: "categories", - value: ConsumableTankCategoryFilter.decode(reader, reader.uint32()), - }; - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.filter_type = { $case: "nations", value: ConsumableTankNationFilter.decode(reader, reader.uint32()) }; - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableTankFilter { - return { - filter_type: isSet(object.tiers) - ? { $case: "tiers", value: ConsumableTankTierFilter.fromJSON(object.tiers) } - : isSet(object.ids) - ? { $case: "ids", value: ConsumableTankIdsFilter.fromJSON(object.ids) } - : isSet(object.categories) - ? { $case: "categories", value: ConsumableTankCategoryFilter.fromJSON(object.categories) } - : isSet(object.nations) - ? { $case: "nations", value: ConsumableTankNationFilter.fromJSON(object.nations) } - : undefined, - }; - }, - - toJSON(message: ConsumableTankFilter): unknown { - const obj: any = {}; - if (message.filter_type?.$case === "tiers") { - obj.tiers = ConsumableTankTierFilter.toJSON(message.filter_type.value); - } - if (message.filter_type?.$case === "ids") { - obj.ids = ConsumableTankIdsFilter.toJSON(message.filter_type.value); - } - if (message.filter_type?.$case === "categories") { - obj.categories = ConsumableTankCategoryFilter.toJSON(message.filter_type.value); - } - if (message.filter_type?.$case === "nations") { - obj.nations = ConsumableTankNationFilter.toJSON(message.filter_type.value); - } - return obj; - }, - - create, I>>(base?: I): ConsumableTankFilter { - return ConsumableTankFilter.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableTankFilter { - const message = createBaseConsumableTankFilter(); - if ( - object.filter_type?.$case === "tiers" && - object.filter_type?.value !== undefined && - object.filter_type?.value !== null - ) { - message.filter_type = { $case: "tiers", value: ConsumableTankTierFilter.fromPartial(object.filter_type.value) }; - } - if ( - object.filter_type?.$case === "ids" && - object.filter_type?.value !== undefined && - object.filter_type?.value !== null - ) { - message.filter_type = { $case: "ids", value: ConsumableTankIdsFilter.fromPartial(object.filter_type.value) }; - } - if ( - object.filter_type?.$case === "categories" && - object.filter_type?.value !== undefined && - object.filter_type?.value !== null - ) { - message.filter_type = { - $case: "categories", - value: ConsumableTankCategoryFilter.fromPartial(object.filter_type.value), - }; - } - if ( - object.filter_type?.$case === "nations" && - object.filter_type?.value !== undefined && - object.filter_type?.value !== null - ) { - message.filter_type = { - $case: "nations", - value: ConsumableTankNationFilter.fromPartial(object.filter_type.value), - }; - } - return message; - }, -}; - -function createBaseConsumableTankTierFilter(): ConsumableTankTierFilter { - return { min: 0, max: 0 }; -} - -export const ConsumableTankTierFilter: MessageFns = { - encode(message: ConsumableTankTierFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.min !== 0) { - writer.uint32(8).uint32(message.min); - } - if (message.max !== 0) { - writer.uint32(16).uint32(message.max); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableTankTierFilter { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableTankTierFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.min = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.max = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableTankTierFilter { - return { - min: globalThis.Number(assertSet("ConsumableTankTierFilter.min", object.min)), - max: globalThis.Number(assertSet("ConsumableTankTierFilter.max", object.max)), - }; - }, - - toJSON(message: ConsumableTankTierFilter): unknown { - const obj: any = {}; - if (message.min !== 0) { - obj.min = Math.round(message.min); - } - if (message.max !== 0) { - obj.max = Math.round(message.max); - } - return obj; - }, - - create, I>>(base?: I): ConsumableTankTierFilter { - return ConsumableTankTierFilter.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableTankTierFilter { - const message = createBaseConsumableTankTierFilter(); - message.min = object.min ?? 0; - message.max = object.max ?? 0; - return message; - }, -}; - -function createBaseConsumableTankIdsFilter(): ConsumableTankIdsFilter { - return { ids: [] }; -} - -export const ConsumableTankIdsFilter: MessageFns = { - encode(message: ConsumableTankIdsFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - writer.uint32(10).fork(); - for (const v of message.ids) { - writer.uint32(v); - } - writer.join(); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableTankIdsFilter { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableTankIdsFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag === 8) { - message.ids.push(reader.uint32()); - - continue; - } - - if (tag === 10) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.ids.push(reader.uint32()); - } - - continue; - } - - break; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableTankIdsFilter { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [] }; - }, - - toJSON(message: ConsumableTankIdsFilter): unknown { - const obj: any = {}; - if (message.ids?.length) { - obj.ids = message.ids.map((e) => Math.round(e)); - } - return obj; - }, - - create, I>>(base?: I): ConsumableTankIdsFilter { - return ConsumableTankIdsFilter.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableTankIdsFilter { - const message = createBaseConsumableTankIdsFilter(); - message.ids = object.ids?.map((e) => e) || []; - return message; - }, -}; - -function createBaseConsumableTankCategoryFilter(): ConsumableTankCategoryFilter { - return { categories: [] }; -} - -export const ConsumableTankCategoryFilter: MessageFns = { - encode(message: ConsumableTankCategoryFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - writer.uint32(10).fork(); - for (const v of message.categories) { - writer.int32(v); - } - writer.join(); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableTankCategoryFilter { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableTankCategoryFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag === 8) { - message.categories.push(reader.int32() as any); - - continue; - } - - if (tag === 10) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.categories.push(reader.int32() as any); - } - - continue; - } - - break; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableTankCategoryFilter { - return { - categories: globalThis.Array.isArray(object?.categories) - ? object.categories.map((e: any) => consumableTankCategoryFilterCategoryFromJSON(e)) - : [], - }; - }, - - toJSON(message: ConsumableTankCategoryFilter): unknown { - const obj: any = {}; - if (message.categories?.length) { - obj.categories = message.categories.map((e) => consumableTankCategoryFilterCategoryToJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): ConsumableTankCategoryFilter { - return ConsumableTankCategoryFilter.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableTankCategoryFilter { - const message = createBaseConsumableTankCategoryFilter(); - message.categories = object.categories?.map((e) => e) || []; - return message; - }, -}; - -function createBaseConsumableTankNationFilter(): ConsumableTankNationFilter { - return { nations: [] }; -} - -export const ConsumableTankNationFilter: MessageFns = { - encode(message: ConsumableTankNationFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - for (const v of message.nations) { - writer.uint32(10).string(v!); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ConsumableTankNationFilter { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseConsumableTankNationFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.nations.push(reader.string()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ConsumableTankNationFilter { - return { - nations: globalThis.Array.isArray(object?.nations) ? object.nations.map((e: any) => globalThis.String(e)) : [], - }; - }, - - toJSON(message: ConsumableTankNationFilter): unknown { - const obj: any = {}; - if (message.nations?.length) { - obj.nations = message.nations; - } - return obj; - }, - - create, I>>(base?: I): ConsumableTankNationFilter { - return ConsumableTankNationFilter.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ConsumableTankNationFilter { - const message = createBaseConsumableTankNationFilter(); - message.nations = object.nations?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/equipment_definitions.proto b/packages/core/src/protos/equipment_definitions.proto deleted file mode 100644 index 536b7c2e0..000000000 --- a/packages/core/src/protos/equipment_definitions.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message EquipmentDefinitions { - map presets = 1; - map equipments = 2; -} - -message Equipment { - required I18nString name = 1; - required I18nString description = 2; -} - -message EquipmentPreset { - repeated EquipmentSlot slots = 1; -} - -message EquipmentSlot { - required uint32 left = 1; - required uint32 right = 2; -} \ No newline at end of file diff --git a/packages/core/src/protos/equipment_definitions.ts b/packages/core/src/protos/equipment_definitions.ts deleted file mode 100644 index 9742df57c..000000000 --- a/packages/core/src/protos/equipment_definitions.ts +++ /dev/null @@ -1,578 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/equipment_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export interface EquipmentDefinitions { - presets: { [key: string]: EquipmentPreset }; - equipments: { [key: number]: Equipment }; -} - -export interface EquipmentDefinitions_PresetsEntry { - key: string; - value: EquipmentPreset | undefined; -} - -export interface EquipmentDefinitions_EquipmentsEntry { - key: number; - value: Equipment | undefined; -} - -export interface Equipment { - name: I18nString; - description: I18nString; -} - -export interface EquipmentPreset { - slots: EquipmentSlot[]; -} - -export interface EquipmentSlot { - left: number; - right: number; -} - -function createBaseEquipmentDefinitions(): EquipmentDefinitions { - return { presets: {}, equipments: {} }; -} - -export const EquipmentDefinitions: MessageFns = { - encode(message: EquipmentDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.presets).forEach(([key, value]) => { - EquipmentDefinitions_PresetsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - Object.entries(message.equipments).forEach(([key, value]) => { - EquipmentDefinitions_EquipmentsEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EquipmentDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipmentDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = EquipmentDefinitions_PresetsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.presets[entry1.key] = entry1.value; - } - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - const entry2 = EquipmentDefinitions_EquipmentsEntry.decode(reader, reader.uint32()); - if (entry2.value !== undefined) { - message.equipments[entry2.key] = entry2.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EquipmentDefinitions { - return { - presets: isObject(object.presets) - ? Object.entries(object.presets).reduce<{ [key: string]: EquipmentPreset }>((acc, [key, value]) => { - acc[key] = EquipmentPreset.fromJSON(value); - return acc; - }, {}) - : {}, - equipments: isObject(object.equipments) - ? Object.entries(object.equipments).reduce<{ [key: number]: Equipment }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Equipment.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: EquipmentDefinitions): unknown { - const obj: any = {}; - if (message.presets) { - const entries = Object.entries(message.presets); - if (entries.length > 0) { - obj.presets = {}; - entries.forEach(([k, v]) => { - obj.presets[k] = EquipmentPreset.toJSON(v); - }); - } - } - if (message.equipments) { - const entries = Object.entries(message.equipments); - if (entries.length > 0) { - obj.equipments = {}; - entries.forEach(([k, v]) => { - obj.equipments[k] = Equipment.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): EquipmentDefinitions { - return EquipmentDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): EquipmentDefinitions { - const message = createBaseEquipmentDefinitions(); - message.presets = Object.entries(object.presets ?? {}).reduce<{ [key: string]: EquipmentPreset }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[key] = EquipmentPreset.fromPartial(value); - } - return acc; - }, - {}, - ); - message.equipments = Object.entries(object.equipments ?? {}).reduce<{ [key: number]: Equipment }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = Equipment.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseEquipmentDefinitions_PresetsEntry(): EquipmentDefinitions_PresetsEntry { - return { key: "", value: createBaseEquipmentPreset() }; -} - -export const EquipmentDefinitions_PresetsEntry: MessageFns = { - encode(message: EquipmentDefinitions_PresetsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(10).string(message.key); - } - if (message.value !== undefined) { - EquipmentPreset.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EquipmentDefinitions_PresetsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipmentDefinitions_PresetsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.key = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = EquipmentPreset.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EquipmentDefinitions_PresetsEntry { - return { - key: globalThis.String(assertSet("EquipmentDefinitions_PresetsEntry.key", object.key)), - value: EquipmentPreset.fromJSON(assertSet("EquipmentDefinitions_PresetsEntry.value", object.value)), - }; - }, - - toJSON(message: EquipmentDefinitions_PresetsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = message.key; - } - if (message.value !== undefined) { - obj.value = EquipmentPreset.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): EquipmentDefinitions_PresetsEntry { - return EquipmentDefinitions_PresetsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): EquipmentDefinitions_PresetsEntry { - const message = createBaseEquipmentDefinitions_PresetsEntry(); - message.key = object.key ?? ""; - message.value = (object.value !== undefined && object.value !== null) - ? EquipmentPreset.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseEquipmentDefinitions_EquipmentsEntry(): EquipmentDefinitions_EquipmentsEntry { - return { key: 0, value: createBaseEquipment() }; -} - -export const EquipmentDefinitions_EquipmentsEntry: MessageFns = { - encode(message: EquipmentDefinitions_EquipmentsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - Equipment.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EquipmentDefinitions_EquipmentsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipmentDefinitions_EquipmentsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = Equipment.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EquipmentDefinitions_EquipmentsEntry { - return { - key: globalThis.Number(assertSet("EquipmentDefinitions_EquipmentsEntry.key", object.key)), - value: Equipment.fromJSON(assertSet("EquipmentDefinitions_EquipmentsEntry.value", object.value)), - }; - }, - - toJSON(message: EquipmentDefinitions_EquipmentsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Equipment.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): EquipmentDefinitions_EquipmentsEntry { - return EquipmentDefinitions_EquipmentsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): EquipmentDefinitions_EquipmentsEntry { - const message = createBaseEquipmentDefinitions_EquipmentsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? Equipment.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseEquipment(): Equipment { - return { name: createBaseI18nString(), description: createBaseI18nString() }; -} - -export const Equipment: MessageFns = { - encode(message: Equipment, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(10).fork()).join(); - } - if (message.description !== undefined) { - I18nString.encode(message.description, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Equipment { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipment(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.description = I18nString.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Equipment { - return { - name: I18nString.fromJSON(assertSet("Equipment.name", object.name)), - description: I18nString.fromJSON(assertSet("Equipment.description", object.description)), - }; - }, - - toJSON(message: Equipment): unknown { - const obj: any = {}; - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.description !== undefined) { - obj.description = I18nString.toJSON(message.description); - } - return obj; - }, - - create, I>>(base?: I): Equipment { - return Equipment.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Equipment { - const message = createBaseEquipment(); - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.description = (object.description !== undefined && object.description !== null) - ? I18nString.fromPartial(object.description) - : createBaseI18nString(); - return message; - }, -}; - -function createBaseEquipmentPreset(): EquipmentPreset { - return { slots: [] }; -} - -export const EquipmentPreset: MessageFns = { - encode(message: EquipmentPreset, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - for (const v of message.slots) { - EquipmentSlot.encode(v!, writer.uint32(10).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EquipmentPreset { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipmentPreset(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.slots.push(EquipmentSlot.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EquipmentPreset { - return { - slots: globalThis.Array.isArray(object?.slots) ? object.slots.map((e: any) => EquipmentSlot.fromJSON(e)) : [], - }; - }, - - toJSON(message: EquipmentPreset): unknown { - const obj: any = {}; - if (message.slots?.length) { - obj.slots = message.slots.map((e) => EquipmentSlot.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): EquipmentPreset { - return EquipmentPreset.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): EquipmentPreset { - const message = createBaseEquipmentPreset(); - message.slots = object.slots?.map((e) => EquipmentSlot.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseEquipmentSlot(): EquipmentSlot { - return { left: 0, right: 0 }; -} - -export const EquipmentSlot: MessageFns = { - encode(message: EquipmentSlot, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.left !== 0) { - writer.uint32(8).uint32(message.left); - } - if (message.right !== 0) { - writer.uint32(16).uint32(message.right); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EquipmentSlot { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEquipmentSlot(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.left = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.right = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EquipmentSlot { - return { - left: globalThis.Number(assertSet("EquipmentSlot.left", object.left)), - right: globalThis.Number(assertSet("EquipmentSlot.right", object.right)), - }; - }, - - toJSON(message: EquipmentSlot): unknown { - const obj: any = {}; - if (message.left !== 0) { - obj.left = Math.round(message.left); - } - if (message.right !== 0) { - obj.right = Math.round(message.right); - } - return obj; - }, - - create, I>>(base?: I): EquipmentSlot { - return EquipmentSlot.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): EquipmentSlot { - const message = createBaseEquipmentSlot(); - message.left = object.left ?? 0; - message.right = object.right ?? 0; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/game_definitions.proto b/packages/core/src/protos/game_definitions.proto deleted file mode 100644 index af8dff450..000000000 --- a/packages/core/src/protos/game_definitions.proto +++ /dev/null @@ -1,21 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message GameDefinitions { - required string version = 1; - repeated string nations = 2; - map gameModes = 3; - map roles = 4; -} - -message GameMode { - required I18nString name = 1; -} - -message GameModeRole { - repeated uint32 provisions = 1; - repeated uint32 consumables = 2; -} \ No newline at end of file diff --git a/packages/core/src/protos/game_definitions.ts b/packages/core/src/protos/game_definitions.ts deleted file mode 100644 index 5cfe6cf12..000000000 --- a/packages/core/src/protos/game_definitions.ts +++ /dev/null @@ -1,546 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/game_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export interface GameDefinitions { - version: string; - nations: string[]; - gameModes: { [key: number]: GameMode }; - roles: { [key: number]: GameModeRole }; -} - -export interface GameDefinitions_GameModesEntry { - key: number; - value: GameMode | undefined; -} - -export interface GameDefinitions_RolesEntry { - key: number; - value: GameModeRole | undefined; -} - -export interface GameMode { - name: I18nString; -} - -export interface GameModeRole { - provisions: number[]; - consumables: number[]; -} - -function createBaseGameDefinitions(): GameDefinitions { - return { version: "", nations: [], gameModes: {}, roles: {} }; -} - -export const GameDefinitions: MessageFns = { - encode(message: GameDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.version !== "") { - writer.uint32(10).string(message.version); - } - for (const v of message.nations) { - writer.uint32(18).string(v!); - } - Object.entries(message.gameModes).forEach(([key, value]) => { - GameDefinitions_GameModesEntry.encode({ key: key as any, value }, writer.uint32(26).fork()).join(); - }); - Object.entries(message.roles).forEach(([key, value]) => { - GameDefinitions_RolesEntry.encode({ key: key as any, value }, writer.uint32(34).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GameDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGameDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.version = reader.string(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.nations.push(reader.string()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - const entry3 = GameDefinitions_GameModesEntry.decode(reader, reader.uint32()); - if (entry3.value !== undefined) { - message.gameModes[entry3.key] = entry3.value; - } - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - const entry4 = GameDefinitions_RolesEntry.decode(reader, reader.uint32()); - if (entry4.value !== undefined) { - message.roles[entry4.key] = entry4.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GameDefinitions { - return { - version: globalThis.String(assertSet("GameDefinitions.version", object.version)), - nations: globalThis.Array.isArray(object?.nations) ? object.nations.map((e: any) => globalThis.String(e)) : [], - gameModes: isObject(object.gameModes) - ? Object.entries(object.gameModes).reduce<{ [key: number]: GameMode }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = GameMode.fromJSON(value); - return acc; - }, {}) - : {}, - roles: isObject(object.roles) - ? Object.entries(object.roles).reduce<{ [key: number]: GameModeRole }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = GameModeRole.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: GameDefinitions): unknown { - const obj: any = {}; - if (message.version !== "") { - obj.version = message.version; - } - if (message.nations?.length) { - obj.nations = message.nations; - } - if (message.gameModes) { - const entries = Object.entries(message.gameModes); - if (entries.length > 0) { - obj.gameModes = {}; - entries.forEach(([k, v]) => { - obj.gameModes[k] = GameMode.toJSON(v); - }); - } - } - if (message.roles) { - const entries = Object.entries(message.roles); - if (entries.length > 0) { - obj.roles = {}; - entries.forEach(([k, v]) => { - obj.roles[k] = GameModeRole.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): GameDefinitions { - return GameDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GameDefinitions { - const message = createBaseGameDefinitions(); - message.version = object.version ?? ""; - message.nations = object.nations?.map((e) => e) || []; - message.gameModes = Object.entries(object.gameModes ?? {}).reduce<{ [key: number]: GameMode }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = GameMode.fromPartial(value); - } - return acc; - }, - {}, - ); - message.roles = Object.entries(object.roles ?? {}).reduce<{ [key: number]: GameModeRole }>((acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = GameModeRole.fromPartial(value); - } - return acc; - }, {}); - return message; - }, -}; - -function createBaseGameDefinitions_GameModesEntry(): GameDefinitions_GameModesEntry { - return { key: 0, value: createBaseGameMode() }; -} - -export const GameDefinitions_GameModesEntry: MessageFns = { - encode(message: GameDefinitions_GameModesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - GameMode.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GameDefinitions_GameModesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGameDefinitions_GameModesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = GameMode.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GameDefinitions_GameModesEntry { - return { - key: globalThis.Number(assertSet("GameDefinitions_GameModesEntry.key", object.key)), - value: GameMode.fromJSON(assertSet("GameDefinitions_GameModesEntry.value", object.value)), - }; - }, - - toJSON(message: GameDefinitions_GameModesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = GameMode.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): GameDefinitions_GameModesEntry { - return GameDefinitions_GameModesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): GameDefinitions_GameModesEntry { - const message = createBaseGameDefinitions_GameModesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? GameMode.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseGameDefinitions_RolesEntry(): GameDefinitions_RolesEntry { - return { key: 0, value: createBaseGameModeRole() }; -} - -export const GameDefinitions_RolesEntry: MessageFns = { - encode(message: GameDefinitions_RolesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - GameModeRole.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GameDefinitions_RolesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGameDefinitions_RolesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = GameModeRole.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GameDefinitions_RolesEntry { - return { - key: globalThis.Number(assertSet("GameDefinitions_RolesEntry.key", object.key)), - value: GameModeRole.fromJSON(assertSet("GameDefinitions_RolesEntry.value", object.value)), - }; - }, - - toJSON(message: GameDefinitions_RolesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = GameModeRole.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): GameDefinitions_RolesEntry { - return GameDefinitions_RolesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GameDefinitions_RolesEntry { - const message = createBaseGameDefinitions_RolesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? GameModeRole.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseGameMode(): GameMode { - return { name: createBaseI18nString() }; -} - -export const GameMode: MessageFns = { - encode(message: GameMode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(10).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GameMode { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGameMode(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GameMode { - return { name: I18nString.fromJSON(assertSet("GameMode.name", object.name)) }; - }, - - toJSON(message: GameMode): unknown { - const obj: any = {}; - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - return obj; - }, - - create, I>>(base?: I): GameMode { - return GameMode.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GameMode { - const message = createBaseGameMode(); - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - return message; - }, -}; - -function createBaseGameModeRole(): GameModeRole { - return { provisions: [], consumables: [] }; -} - -export const GameModeRole: MessageFns = { - encode(message: GameModeRole, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - writer.uint32(10).fork(); - for (const v of message.provisions) { - writer.uint32(v); - } - writer.join(); - writer.uint32(18).fork(); - for (const v of message.consumables) { - writer.uint32(v); - } - writer.join(); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GameModeRole { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGameModeRole(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag === 8) { - message.provisions.push(reader.uint32()); - - continue; - } - - if (tag === 10) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.provisions.push(reader.uint32()); - } - - continue; - } - - break; - } - case 2: { - if (tag === 16) { - message.consumables.push(reader.uint32()); - - continue; - } - - if (tag === 18) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.consumables.push(reader.uint32()); - } - - continue; - } - - break; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GameModeRole { - return { - provisions: globalThis.Array.isArray(object?.provisions) - ? object.provisions.map((e: any) => globalThis.Number(e)) - : [], - consumables: globalThis.Array.isArray(object?.consumables) - ? object.consumables.map((e: any) => globalThis.Number(e)) - : [], - }; - }, - - toJSON(message: GameModeRole): unknown { - const obj: any = {}; - if (message.provisions?.length) { - obj.provisions = message.provisions.map((e) => Math.round(e)); - } - if (message.consumables?.length) { - obj.consumables = message.consumables.map((e) => Math.round(e)); - } - return obj; - }, - - create, I>>(base?: I): GameModeRole { - return GameModeRole.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GameModeRole { - const message = createBaseGameModeRole(); - message.provisions = object.provisions?.map((e) => e) || []; - message.consumables = object.consumables?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/index.ts b/packages/core/src/protos/index.ts index a0b2eb4fc..cc2599d1c 100644 --- a/packages/core/src/protos/index.ts +++ b/packages/core/src/protos/index.ts @@ -11,4 +11,4 @@ export * from './provision_definitions.ts'; export * from './rating_leaderboard.ts'; export * from './reviews.ts'; export * from './skill_definitions.ts'; -export * from './tank_definitions.ts'; \ No newline at end of file +export * from './tank_definitions.ts'; diff --git a/packages/core/src/protos/map_definitions.proto b/packages/core/src/protos/map_definitions.proto deleted file mode 100644 index 1d67d331a..000000000 --- a/packages/core/src/protos/map_definitions.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message MapDefinitions { - map maps = 1; -} - -message MapDefinition { - required uint32 id = 1; - required I18nString name = 2; -} \ No newline at end of file diff --git a/packages/core/src/protos/map_definitions.ts b/packages/core/src/protos/map_definitions.ts deleted file mode 100644 index 08b505919..000000000 --- a/packages/core/src/protos/map_definitions.ts +++ /dev/null @@ -1,298 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/map_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export interface MapDefinitions { - maps: { [key: number]: MapDefinition }; -} - -export interface MapDefinitions_MapsEntry { - key: number; - value: MapDefinition | undefined; -} - -export interface MapDefinition { - id: number; - name: I18nString; -} - -function createBaseMapDefinitions(): MapDefinitions { - return { maps: {} }; -} - -export const MapDefinitions: MessageFns = { - encode(message: MapDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.maps).forEach(([key, value]) => { - MapDefinitions_MapsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): MapDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMapDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = MapDefinitions_MapsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.maps[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): MapDefinitions { - return { - maps: isObject(object.maps) - ? Object.entries(object.maps).reduce<{ [key: number]: MapDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = MapDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: MapDefinitions): unknown { - const obj: any = {}; - if (message.maps) { - const entries = Object.entries(message.maps); - if (entries.length > 0) { - obj.maps = {}; - entries.forEach(([k, v]) => { - obj.maps[k] = MapDefinition.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): MapDefinitions { - return MapDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): MapDefinitions { - const message = createBaseMapDefinitions(); - message.maps = Object.entries(object.maps ?? {}).reduce<{ [key: number]: MapDefinition }>((acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = MapDefinition.fromPartial(value); - } - return acc; - }, {}); - return message; - }, -}; - -function createBaseMapDefinitions_MapsEntry(): MapDefinitions_MapsEntry { - return { key: 0, value: createBaseMapDefinition() }; -} - -export const MapDefinitions_MapsEntry: MessageFns = { - encode(message: MapDefinitions_MapsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).int32(message.key); - } - if (message.value !== undefined) { - MapDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): MapDefinitions_MapsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMapDefinitions_MapsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.int32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = MapDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): MapDefinitions_MapsEntry { - return { - key: globalThis.Number(assertSet("MapDefinitions_MapsEntry.key", object.key)), - value: MapDefinition.fromJSON(assertSet("MapDefinitions_MapsEntry.value", object.value)), - }; - }, - - toJSON(message: MapDefinitions_MapsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = MapDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): MapDefinitions_MapsEntry { - return MapDefinitions_MapsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): MapDefinitions_MapsEntry { - const message = createBaseMapDefinitions_MapsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? MapDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseMapDefinition(): MapDefinition { - return { id: 0, name: createBaseI18nString() }; -} - -export const MapDefinition: MessageFns = { - encode(message: MapDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): MapDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMapDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): MapDefinition { - return { - id: globalThis.Number(assertSet("MapDefinition.id", object.id)), - name: I18nString.fromJSON(assertSet("MapDefinition.name", object.name)), - }; - }, - - toJSON(message: MapDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - return obj; - }, - - create, I>>(base?: I): MapDefinition { - return MapDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): MapDefinition { - const message = createBaseMapDefinition(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/model_definitions.proto b/packages/core/src/protos/model_definitions.proto deleted file mode 100644 index 170141c14..000000000 --- a/packages/core/src/protos/model_definitions.proto +++ /dev/null @@ -1,79 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -message ModelDefinitions { - map models = 1; -} - -message ModelDefinition { - required Armor armor = 1; - required Vector3 turret_origin = 2; - optional InitialTurretRotation initial_turret_rotation = 3; - map turrets = 4; - map tracks = 5; - required BoundingBox bounding_box = 6; -} - -message Armor { - map thickness = 1; - repeated uint32 spaced = 2; -} - -message Vector3 { - required float x = 1; - required float y = 2; - required float z = 3; -} - -message InitialTurretRotation { - required float yaw = 1; - required float pitch = 2; - required float roll = 3; -} - -message TurretModelDefinition { - required BoundingBox bounding_box = 1; - required Armor armor = 2; - required uint32 model_id = 3; - required Vector3 gun_origin = 4; - map guns = 5; - optional YawLimits yaw = 6; -} - -message YawLimits { - required float min = 1; - required float max = 2; -} - -message BoundingBox { - required Vector3 min = 1; - required Vector3 max = 2; -} - -message TrackModelDefinition { - required float thickness = 1; - required Vector3 origin = 2; -} - -message GunModelDefinition { - required Armor armor = 1; - required float thickness = 2; - required uint32 model_id = 3; - required PitchLimits pitch = 4; - optional float mask = 5; -} - -message PitchLimits { - required float min = 1; - required float max = 2; - optional PitchLimitsExtrema front = 3; - optional PitchLimitsExtrema back = 4; - optional float transition = 5; -} - -message PitchLimitsExtrema { - required float min = 1; - required float max = 2; - required float range = 3; -} \ No newline at end of file diff --git a/packages/core/src/protos/model_definitions.ts b/packages/core/src/protos/model_definitions.ts deleted file mode 100644 index 3adb2b49a..000000000 --- a/packages/core/src/protos/model_definitions.ts +++ /dev/null @@ -1,1874 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/model_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; - -export const protobufPackage = "blitzkit"; - -export interface ModelDefinitions { - models: { [key: number]: ModelDefinition }; -} - -export interface ModelDefinitions_ModelsEntry { - key: number; - value: ModelDefinition | undefined; -} - -export interface ModelDefinition { - armor: Armor; - turret_origin: Vector3; - initial_turret_rotation?: InitialTurretRotation | undefined; - turrets: { [key: number]: TurretModelDefinition }; - tracks: { [key: number]: TrackModelDefinition }; - bounding_box: BoundingBox; -} - -export interface ModelDefinition_TurretsEntry { - key: number; - value: TurretModelDefinition | undefined; -} - -export interface ModelDefinition_TracksEntry { - key: number; - value: TrackModelDefinition | undefined; -} - -export interface Armor { - thickness: { [key: number]: number }; - spaced: number[]; -} - -export interface Armor_ThicknessEntry { - key: number; - value: number; -} - -export interface Vector3 { - x: number; - y: number; - z: number; -} - -export interface InitialTurretRotation { - yaw: number; - pitch: number; - roll: number; -} - -export interface TurretModelDefinition { - bounding_box: BoundingBox; - armor: Armor; - model_id: number; - gun_origin: Vector3; - guns: { [key: number]: GunModelDefinition }; - yaw?: YawLimits | undefined; -} - -export interface TurretModelDefinition_GunsEntry { - key: number; - value: GunModelDefinition | undefined; -} - -export interface YawLimits { - min: number; - max: number; -} - -export interface BoundingBox { - min: Vector3; - max: Vector3; -} - -export interface TrackModelDefinition { - thickness: number; - origin: Vector3; -} - -export interface GunModelDefinition { - armor: Armor; - thickness: number; - model_id: number; - pitch: PitchLimits; - mask?: number | undefined; -} - -export interface PitchLimits { - min: number; - max: number; - front?: PitchLimitsExtrema | undefined; - back?: PitchLimitsExtrema | undefined; - transition?: number | undefined; -} - -export interface PitchLimitsExtrema { - min: number; - max: number; - range: number; -} - -function createBaseModelDefinitions(): ModelDefinitions { - return { models: {} }; -} - -export const ModelDefinitions: MessageFns = { - encode(message: ModelDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.models).forEach(([key, value]) => { - ModelDefinitions_ModelsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ModelDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModelDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = ModelDefinitions_ModelsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.models[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModelDefinitions { - return { - models: isObject(object.models) - ? Object.entries(object.models).reduce<{ [key: number]: ModelDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = ModelDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: ModelDefinitions): unknown { - const obj: any = {}; - if (message.models) { - const entries = Object.entries(message.models); - if (entries.length > 0) { - obj.models = {}; - entries.forEach(([k, v]) => { - obj.models[k] = ModelDefinition.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): ModelDefinitions { - return ModelDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ModelDefinitions { - const message = createBaseModelDefinitions(); - message.models = Object.entries(object.models ?? {}).reduce<{ [key: number]: ModelDefinition }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = ModelDefinition.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseModelDefinitions_ModelsEntry(): ModelDefinitions_ModelsEntry { - return { key: 0, value: createBaseModelDefinition() }; -} - -export const ModelDefinitions_ModelsEntry: MessageFns = { - encode(message: ModelDefinitions_ModelsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - ModelDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ModelDefinitions_ModelsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModelDefinitions_ModelsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = ModelDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModelDefinitions_ModelsEntry { - return { - key: globalThis.Number(assertSet("ModelDefinitions_ModelsEntry.key", object.key)), - value: ModelDefinition.fromJSON(assertSet("ModelDefinitions_ModelsEntry.value", object.value)), - }; - }, - - toJSON(message: ModelDefinitions_ModelsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = ModelDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): ModelDefinitions_ModelsEntry { - return ModelDefinitions_ModelsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ModelDefinitions_ModelsEntry { - const message = createBaseModelDefinitions_ModelsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? ModelDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseModelDefinition(): ModelDefinition { - return { - armor: createBaseArmor(), - turret_origin: createBaseVector3(), - initial_turret_rotation: undefined, - turrets: {}, - tracks: {}, - bounding_box: createBaseBoundingBox(), - }; -} - -export const ModelDefinition: MessageFns = { - encode(message: ModelDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.armor !== undefined) { - Armor.encode(message.armor, writer.uint32(10).fork()).join(); - } - if (message.turret_origin !== undefined) { - Vector3.encode(message.turret_origin, writer.uint32(18).fork()).join(); - } - if (message.initial_turret_rotation !== undefined) { - InitialTurretRotation.encode(message.initial_turret_rotation, writer.uint32(26).fork()).join(); - } - Object.entries(message.turrets).forEach(([key, value]) => { - ModelDefinition_TurretsEntry.encode({ key: key as any, value }, writer.uint32(34).fork()).join(); - }); - Object.entries(message.tracks).forEach(([key, value]) => { - ModelDefinition_TracksEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join(); - }); - if (message.bounding_box !== undefined) { - BoundingBox.encode(message.bounding_box, writer.uint32(50).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ModelDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModelDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.armor = Armor.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.turret_origin = Vector3.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.initial_turret_rotation = InitialTurretRotation.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - const entry4 = ModelDefinition_TurretsEntry.decode(reader, reader.uint32()); - if (entry4.value !== undefined) { - message.turrets[entry4.key] = entry4.value; - } - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - const entry5 = ModelDefinition_TracksEntry.decode(reader, reader.uint32()); - if (entry5.value !== undefined) { - message.tracks[entry5.key] = entry5.value; - } - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.bounding_box = BoundingBox.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModelDefinition { - return { - armor: Armor.fromJSON(assertSet("ModelDefinition.armor", object.armor)), - turret_origin: Vector3.fromJSON(assertSet("ModelDefinition.turret_origin", object.turret_origin)), - initial_turret_rotation: isSet(object.initial_turret_rotation) - ? InitialTurretRotation.fromJSON(object.initial_turret_rotation) - : undefined, - turrets: isObject(object.turrets) - ? Object.entries(object.turrets).reduce<{ [key: number]: TurretModelDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = TurretModelDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - tracks: isObject(object.tracks) - ? Object.entries(object.tracks).reduce<{ [key: number]: TrackModelDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = TrackModelDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - bounding_box: BoundingBox.fromJSON(assertSet("ModelDefinition.bounding_box", object.bounding_box)), - }; - }, - - toJSON(message: ModelDefinition): unknown { - const obj: any = {}; - if (message.armor !== undefined) { - obj.armor = Armor.toJSON(message.armor); - } - if (message.turret_origin !== undefined) { - obj.turret_origin = Vector3.toJSON(message.turret_origin); - } - if (message.initial_turret_rotation !== undefined) { - obj.initial_turret_rotation = InitialTurretRotation.toJSON(message.initial_turret_rotation); - } - if (message.turrets) { - const entries = Object.entries(message.turrets); - if (entries.length > 0) { - obj.turrets = {}; - entries.forEach(([k, v]) => { - obj.turrets[k] = TurretModelDefinition.toJSON(v); - }); - } - } - if (message.tracks) { - const entries = Object.entries(message.tracks); - if (entries.length > 0) { - obj.tracks = {}; - entries.forEach(([k, v]) => { - obj.tracks[k] = TrackModelDefinition.toJSON(v); - }); - } - } - if (message.bounding_box !== undefined) { - obj.bounding_box = BoundingBox.toJSON(message.bounding_box); - } - return obj; - }, - - create, I>>(base?: I): ModelDefinition { - return ModelDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ModelDefinition { - const message = createBaseModelDefinition(); - message.armor = (object.armor !== undefined && object.armor !== null) - ? Armor.fromPartial(object.armor) - : createBaseArmor(); - message.turret_origin = (object.turret_origin !== undefined && object.turret_origin !== null) - ? Vector3.fromPartial(object.turret_origin) - : createBaseVector3(); - message.initial_turret_rotation = - (object.initial_turret_rotation !== undefined && object.initial_turret_rotation !== null) - ? InitialTurretRotation.fromPartial(object.initial_turret_rotation) - : undefined; - message.turrets = Object.entries(object.turrets ?? {}).reduce<{ [key: number]: TurretModelDefinition }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = TurretModelDefinition.fromPartial(value); - } - return acc; - }, - {}, - ); - message.tracks = Object.entries(object.tracks ?? {}).reduce<{ [key: number]: TrackModelDefinition }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = TrackModelDefinition.fromPartial(value); - } - return acc; - }, - {}, - ); - message.bounding_box = (object.bounding_box !== undefined && object.bounding_box !== null) - ? BoundingBox.fromPartial(object.bounding_box) - : createBaseBoundingBox(); - return message; - }, -}; - -function createBaseModelDefinition_TurretsEntry(): ModelDefinition_TurretsEntry { - return { key: 0, value: createBaseTurretModelDefinition() }; -} - -export const ModelDefinition_TurretsEntry: MessageFns = { - encode(message: ModelDefinition_TurretsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - TurretModelDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ModelDefinition_TurretsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModelDefinition_TurretsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = TurretModelDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModelDefinition_TurretsEntry { - return { - key: globalThis.Number(assertSet("ModelDefinition_TurretsEntry.key", object.key)), - value: TurretModelDefinition.fromJSON(assertSet("ModelDefinition_TurretsEntry.value", object.value)), - }; - }, - - toJSON(message: ModelDefinition_TurretsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = TurretModelDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): ModelDefinition_TurretsEntry { - return ModelDefinition_TurretsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ModelDefinition_TurretsEntry { - const message = createBaseModelDefinition_TurretsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? TurretModelDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseModelDefinition_TracksEntry(): ModelDefinition_TracksEntry { - return { key: 0, value: createBaseTrackModelDefinition() }; -} - -export const ModelDefinition_TracksEntry: MessageFns = { - encode(message: ModelDefinition_TracksEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - TrackModelDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ModelDefinition_TracksEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModelDefinition_TracksEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = TrackModelDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModelDefinition_TracksEntry { - return { - key: globalThis.Number(assertSet("ModelDefinition_TracksEntry.key", object.key)), - value: TrackModelDefinition.fromJSON(assertSet("ModelDefinition_TracksEntry.value", object.value)), - }; - }, - - toJSON(message: ModelDefinition_TracksEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = TrackModelDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): ModelDefinition_TracksEntry { - return ModelDefinition_TracksEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ModelDefinition_TracksEntry { - const message = createBaseModelDefinition_TracksEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? TrackModelDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseArmor(): Armor { - return { thickness: {}, spaced: [] }; -} - -export const Armor: MessageFns = { - encode(message: Armor, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.thickness).forEach(([key, value]) => { - Armor_ThicknessEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - writer.uint32(18).fork(); - for (const v of message.spaced) { - writer.uint32(v); - } - writer.join(); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Armor { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseArmor(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = Armor_ThicknessEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.thickness[entry1.key] = entry1.value; - } - continue; - } - case 2: { - if (tag === 16) { - message.spaced.push(reader.uint32()); - - continue; - } - - if (tag === 18) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.spaced.push(reader.uint32()); - } - - continue; - } - - break; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Armor { - return { - thickness: isObject(object.thickness) - ? Object.entries(object.thickness).reduce<{ [key: number]: number }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Number(value); - return acc; - }, {}) - : {}, - spaced: globalThis.Array.isArray(object?.spaced) ? object.spaced.map((e: any) => globalThis.Number(e)) : [], - }; - }, - - toJSON(message: Armor): unknown { - const obj: any = {}; - if (message.thickness) { - const entries = Object.entries(message.thickness); - if (entries.length > 0) { - obj.thickness = {}; - entries.forEach(([k, v]) => { - obj.thickness[k] = v; - }); - } - } - if (message.spaced?.length) { - obj.spaced = message.spaced.map((e) => Math.round(e)); - } - return obj; - }, - - create, I>>(base?: I): Armor { - return Armor.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Armor { - const message = createBaseArmor(); - message.thickness = Object.entries(object.thickness ?? {}).reduce<{ [key: number]: number }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = globalThis.Number(value); - } - return acc; - }, - {}, - ); - message.spaced = object.spaced?.map((e) => e) || []; - return message; - }, -}; - -function createBaseArmor_ThicknessEntry(): Armor_ThicknessEntry { - return { key: 0, value: 0 }; -} - -export const Armor_ThicknessEntry: MessageFns = { - encode(message: Armor_ThicknessEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - writer.uint32(21).float(message.value); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Armor_ThicknessEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseArmor_ThicknessEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.value = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Armor_ThicknessEntry { - return { - key: globalThis.Number(assertSet("Armor_ThicknessEntry.key", object.key)), - value: globalThis.Number(assertSet("Armor_ThicknessEntry.value", object.value)), - }; - }, - - toJSON(message: Armor_ThicknessEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = message.value; - } - return obj; - }, - - create, I>>(base?: I): Armor_ThicknessEntry { - return Armor_ThicknessEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Armor_ThicknessEntry { - const message = createBaseArmor_ThicknessEntry(); - message.key = object.key ?? 0; - message.value = object.value ?? 0; - return message; - }, -}; - -function createBaseVector3(): Vector3 { - return { x: 0, y: 0, z: 0 }; -} - -export const Vector3: MessageFns = { - encode(message: Vector3, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.x !== 0) { - writer.uint32(13).float(message.x); - } - if (message.y !== 0) { - writer.uint32(21).float(message.y); - } - if (message.z !== 0) { - writer.uint32(29).float(message.z); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Vector3 { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseVector3(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.x = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.y = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.z = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Vector3 { - return { - x: globalThis.Number(assertSet("Vector3.x", object.x)), - y: globalThis.Number(assertSet("Vector3.y", object.y)), - z: globalThis.Number(assertSet("Vector3.z", object.z)), - }; - }, - - toJSON(message: Vector3): unknown { - const obj: any = {}; - if (message.x !== 0) { - obj.x = message.x; - } - if (message.y !== 0) { - obj.y = message.y; - } - if (message.z !== 0) { - obj.z = message.z; - } - return obj; - }, - - create, I>>(base?: I): Vector3 { - return Vector3.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Vector3 { - const message = createBaseVector3(); - message.x = object.x ?? 0; - message.y = object.y ?? 0; - message.z = object.z ?? 0; - return message; - }, -}; - -function createBaseInitialTurretRotation(): InitialTurretRotation { - return { yaw: 0, pitch: 0, roll: 0 }; -} - -export const InitialTurretRotation: MessageFns = { - encode(message: InitialTurretRotation, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.yaw !== 0) { - writer.uint32(13).float(message.yaw); - } - if (message.pitch !== 0) { - writer.uint32(21).float(message.pitch); - } - if (message.roll !== 0) { - writer.uint32(29).float(message.roll); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): InitialTurretRotation { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseInitialTurretRotation(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.yaw = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.pitch = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.roll = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): InitialTurretRotation { - return { - yaw: globalThis.Number(assertSet("InitialTurretRotation.yaw", object.yaw)), - pitch: globalThis.Number(assertSet("InitialTurretRotation.pitch", object.pitch)), - roll: globalThis.Number(assertSet("InitialTurretRotation.roll", object.roll)), - }; - }, - - toJSON(message: InitialTurretRotation): unknown { - const obj: any = {}; - if (message.yaw !== 0) { - obj.yaw = message.yaw; - } - if (message.pitch !== 0) { - obj.pitch = message.pitch; - } - if (message.roll !== 0) { - obj.roll = message.roll; - } - return obj; - }, - - create, I>>(base?: I): InitialTurretRotation { - return InitialTurretRotation.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): InitialTurretRotation { - const message = createBaseInitialTurretRotation(); - message.yaw = object.yaw ?? 0; - message.pitch = object.pitch ?? 0; - message.roll = object.roll ?? 0; - return message; - }, -}; - -function createBaseTurretModelDefinition(): TurretModelDefinition { - return { - bounding_box: createBaseBoundingBox(), - armor: createBaseArmor(), - model_id: 0, - gun_origin: createBaseVector3(), - guns: {}, - yaw: undefined, - }; -} - -export const TurretModelDefinition: MessageFns = { - encode(message: TurretModelDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.bounding_box !== undefined) { - BoundingBox.encode(message.bounding_box, writer.uint32(10).fork()).join(); - } - if (message.armor !== undefined) { - Armor.encode(message.armor, writer.uint32(18).fork()).join(); - } - if (message.model_id !== 0) { - writer.uint32(24).uint32(message.model_id); - } - if (message.gun_origin !== undefined) { - Vector3.encode(message.gun_origin, writer.uint32(34).fork()).join(); - } - Object.entries(message.guns).forEach(([key, value]) => { - TurretModelDefinition_GunsEntry.encode({ key: key as any, value }, writer.uint32(42).fork()).join(); - }); - if (message.yaw !== undefined) { - YawLimits.encode(message.yaw, writer.uint32(50).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TurretModelDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTurretModelDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.bounding_box = BoundingBox.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.armor = Armor.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.model_id = reader.uint32(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.gun_origin = Vector3.decode(reader, reader.uint32()); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - const entry5 = TurretModelDefinition_GunsEntry.decode(reader, reader.uint32()); - if (entry5.value !== undefined) { - message.guns[entry5.key] = entry5.value; - } - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.yaw = YawLimits.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TurretModelDefinition { - return { - bounding_box: BoundingBox.fromJSON(assertSet("TurretModelDefinition.bounding_box", object.bounding_box)), - armor: Armor.fromJSON(assertSet("TurretModelDefinition.armor", object.armor)), - model_id: globalThis.Number(assertSet("TurretModelDefinition.model_id", object.model_id)), - gun_origin: Vector3.fromJSON(assertSet("TurretModelDefinition.gun_origin", object.gun_origin)), - guns: isObject(object.guns) - ? Object.entries(object.guns).reduce<{ [key: number]: GunModelDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = GunModelDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - yaw: isSet(object.yaw) ? YawLimits.fromJSON(object.yaw) : undefined, - }; - }, - - toJSON(message: TurretModelDefinition): unknown { - const obj: any = {}; - if (message.bounding_box !== undefined) { - obj.bounding_box = BoundingBox.toJSON(message.bounding_box); - } - if (message.armor !== undefined) { - obj.armor = Armor.toJSON(message.armor); - } - if (message.model_id !== 0) { - obj.model_id = Math.round(message.model_id); - } - if (message.gun_origin !== undefined) { - obj.gun_origin = Vector3.toJSON(message.gun_origin); - } - if (message.guns) { - const entries = Object.entries(message.guns); - if (entries.length > 0) { - obj.guns = {}; - entries.forEach(([k, v]) => { - obj.guns[k] = GunModelDefinition.toJSON(v); - }); - } - } - if (message.yaw !== undefined) { - obj.yaw = YawLimits.toJSON(message.yaw); - } - return obj; - }, - - create, I>>(base?: I): TurretModelDefinition { - return TurretModelDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TurretModelDefinition { - const message = createBaseTurretModelDefinition(); - message.bounding_box = (object.bounding_box !== undefined && object.bounding_box !== null) - ? BoundingBox.fromPartial(object.bounding_box) - : createBaseBoundingBox(); - message.armor = (object.armor !== undefined && object.armor !== null) - ? Armor.fromPartial(object.armor) - : createBaseArmor(); - message.model_id = object.model_id ?? 0; - message.gun_origin = (object.gun_origin !== undefined && object.gun_origin !== null) - ? Vector3.fromPartial(object.gun_origin) - : createBaseVector3(); - message.guns = Object.entries(object.guns ?? {}).reduce<{ [key: number]: GunModelDefinition }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = GunModelDefinition.fromPartial(value); - } - return acc; - }, - {}, - ); - message.yaw = (object.yaw !== undefined && object.yaw !== null) ? YawLimits.fromPartial(object.yaw) : undefined; - return message; - }, -}; - -function createBaseTurretModelDefinition_GunsEntry(): TurretModelDefinition_GunsEntry { - return { key: 0, value: createBaseGunModelDefinition() }; -} - -export const TurretModelDefinition_GunsEntry: MessageFns = { - encode(message: TurretModelDefinition_GunsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - GunModelDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TurretModelDefinition_GunsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTurretModelDefinition_GunsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = GunModelDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TurretModelDefinition_GunsEntry { - return { - key: globalThis.Number(assertSet("TurretModelDefinition_GunsEntry.key", object.key)), - value: GunModelDefinition.fromJSON(assertSet("TurretModelDefinition_GunsEntry.value", object.value)), - }; - }, - - toJSON(message: TurretModelDefinition_GunsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = GunModelDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): TurretModelDefinition_GunsEntry { - return TurretModelDefinition_GunsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): TurretModelDefinition_GunsEntry { - const message = createBaseTurretModelDefinition_GunsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? GunModelDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseYawLimits(): YawLimits { - return { min: 0, max: 0 }; -} - -export const YawLimits: MessageFns = { - encode(message: YawLimits, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.min !== 0) { - writer.uint32(13).float(message.min); - } - if (message.max !== 0) { - writer.uint32(21).float(message.max); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): YawLimits { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseYawLimits(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.min = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.max = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): YawLimits { - return { - min: globalThis.Number(assertSet("YawLimits.min", object.min)), - max: globalThis.Number(assertSet("YawLimits.max", object.max)), - }; - }, - - toJSON(message: YawLimits): unknown { - const obj: any = {}; - if (message.min !== 0) { - obj.min = message.min; - } - if (message.max !== 0) { - obj.max = message.max; - } - return obj; - }, - - create, I>>(base?: I): YawLimits { - return YawLimits.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): YawLimits { - const message = createBaseYawLimits(); - message.min = object.min ?? 0; - message.max = object.max ?? 0; - return message; - }, -}; - -function createBaseBoundingBox(): BoundingBox { - return { min: createBaseVector3(), max: createBaseVector3() }; -} - -export const BoundingBox: MessageFns = { - encode(message: BoundingBox, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.min !== undefined) { - Vector3.encode(message.min, writer.uint32(10).fork()).join(); - } - if (message.max !== undefined) { - Vector3.encode(message.max, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): BoundingBox { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseBoundingBox(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.min = Vector3.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.max = Vector3.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): BoundingBox { - return { - min: Vector3.fromJSON(assertSet("BoundingBox.min", object.min)), - max: Vector3.fromJSON(assertSet("BoundingBox.max", object.max)), - }; - }, - - toJSON(message: BoundingBox): unknown { - const obj: any = {}; - if (message.min !== undefined) { - obj.min = Vector3.toJSON(message.min); - } - if (message.max !== undefined) { - obj.max = Vector3.toJSON(message.max); - } - return obj; - }, - - create, I>>(base?: I): BoundingBox { - return BoundingBox.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): BoundingBox { - const message = createBaseBoundingBox(); - message.min = (object.min !== undefined && object.min !== null) - ? Vector3.fromPartial(object.min) - : createBaseVector3(); - message.max = (object.max !== undefined && object.max !== null) - ? Vector3.fromPartial(object.max) - : createBaseVector3(); - return message; - }, -}; - -function createBaseTrackModelDefinition(): TrackModelDefinition { - return { thickness: 0, origin: createBaseVector3() }; -} - -export const TrackModelDefinition: MessageFns = { - encode(message: TrackModelDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.thickness !== 0) { - writer.uint32(13).float(message.thickness); - } - if (message.origin !== undefined) { - Vector3.encode(message.origin, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TrackModelDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTrackModelDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.thickness = reader.float(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.origin = Vector3.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TrackModelDefinition { - return { - thickness: globalThis.Number(assertSet("TrackModelDefinition.thickness", object.thickness)), - origin: Vector3.fromJSON(assertSet("TrackModelDefinition.origin", object.origin)), - }; - }, - - toJSON(message: TrackModelDefinition): unknown { - const obj: any = {}; - if (message.thickness !== 0) { - obj.thickness = message.thickness; - } - if (message.origin !== undefined) { - obj.origin = Vector3.toJSON(message.origin); - } - return obj; - }, - - create, I>>(base?: I): TrackModelDefinition { - return TrackModelDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TrackModelDefinition { - const message = createBaseTrackModelDefinition(); - message.thickness = object.thickness ?? 0; - message.origin = (object.origin !== undefined && object.origin !== null) - ? Vector3.fromPartial(object.origin) - : createBaseVector3(); - return message; - }, -}; - -function createBaseGunModelDefinition(): GunModelDefinition { - return { armor: createBaseArmor(), thickness: 0, model_id: 0, pitch: createBasePitchLimits(), mask: undefined }; -} - -export const GunModelDefinition: MessageFns = { - encode(message: GunModelDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.armor !== undefined) { - Armor.encode(message.armor, writer.uint32(10).fork()).join(); - } - if (message.thickness !== 0) { - writer.uint32(21).float(message.thickness); - } - if (message.model_id !== 0) { - writer.uint32(24).uint32(message.model_id); - } - if (message.pitch !== undefined) { - PitchLimits.encode(message.pitch, writer.uint32(34).fork()).join(); - } - if (message.mask !== undefined && message.mask !== undefined) { - writer.uint32(45).float(message.mask); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunModelDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunModelDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.armor = Armor.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.thickness = reader.float(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.model_id = reader.uint32(); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.pitch = PitchLimits.decode(reader, reader.uint32()); - continue; - } - case 5: { - if (tag !== 45) { - break; - } - - message.mask = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunModelDefinition { - return { - armor: Armor.fromJSON(assertSet("GunModelDefinition.armor", object.armor)), - thickness: globalThis.Number(assertSet("GunModelDefinition.thickness", object.thickness)), - model_id: globalThis.Number(assertSet("GunModelDefinition.model_id", object.model_id)), - pitch: PitchLimits.fromJSON(assertSet("GunModelDefinition.pitch", object.pitch)), - mask: isSet(object.mask) ? globalThis.Number(object.mask) : undefined, - }; - }, - - toJSON(message: GunModelDefinition): unknown { - const obj: any = {}; - if (message.armor !== undefined) { - obj.armor = Armor.toJSON(message.armor); - } - if (message.thickness !== 0) { - obj.thickness = message.thickness; - } - if (message.model_id !== 0) { - obj.model_id = Math.round(message.model_id); - } - if (message.pitch !== undefined) { - obj.pitch = PitchLimits.toJSON(message.pitch); - } - if (message.mask !== undefined && message.mask !== undefined) { - obj.mask = message.mask; - } - return obj; - }, - - create, I>>(base?: I): GunModelDefinition { - return GunModelDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunModelDefinition { - const message = createBaseGunModelDefinition(); - message.armor = (object.armor !== undefined && object.armor !== null) - ? Armor.fromPartial(object.armor) - : createBaseArmor(); - message.thickness = object.thickness ?? 0; - message.model_id = object.model_id ?? 0; - message.pitch = (object.pitch !== undefined && object.pitch !== null) - ? PitchLimits.fromPartial(object.pitch) - : createBasePitchLimits(); - message.mask = object.mask ?? undefined; - return message; - }, -}; - -function createBasePitchLimits(): PitchLimits { - return { min: 0, max: 0, front: undefined, back: undefined, transition: undefined }; -} - -export const PitchLimits: MessageFns = { - encode(message: PitchLimits, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.min !== 0) { - writer.uint32(13).float(message.min); - } - if (message.max !== 0) { - writer.uint32(21).float(message.max); - } - if (message.front !== undefined) { - PitchLimitsExtrema.encode(message.front, writer.uint32(26).fork()).join(); - } - if (message.back !== undefined) { - PitchLimitsExtrema.encode(message.back, writer.uint32(34).fork()).join(); - } - if (message.transition !== undefined && message.transition !== undefined) { - writer.uint32(45).float(message.transition); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): PitchLimits { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePitchLimits(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.min = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.max = reader.float(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.front = PitchLimitsExtrema.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 34) { - break; - } - - message.back = PitchLimitsExtrema.decode(reader, reader.uint32()); - continue; - } - case 5: { - if (tag !== 45) { - break; - } - - message.transition = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): PitchLimits { - return { - min: globalThis.Number(assertSet("PitchLimits.min", object.min)), - max: globalThis.Number(assertSet("PitchLimits.max", object.max)), - front: isSet(object.front) ? PitchLimitsExtrema.fromJSON(object.front) : undefined, - back: isSet(object.back) ? PitchLimitsExtrema.fromJSON(object.back) : undefined, - transition: isSet(object.transition) ? globalThis.Number(object.transition) : undefined, - }; - }, - - toJSON(message: PitchLimits): unknown { - const obj: any = {}; - if (message.min !== 0) { - obj.min = message.min; - } - if (message.max !== 0) { - obj.max = message.max; - } - if (message.front !== undefined) { - obj.front = PitchLimitsExtrema.toJSON(message.front); - } - if (message.back !== undefined) { - obj.back = PitchLimitsExtrema.toJSON(message.back); - } - if (message.transition !== undefined && message.transition !== undefined) { - obj.transition = message.transition; - } - return obj; - }, - - create, I>>(base?: I): PitchLimits { - return PitchLimits.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): PitchLimits { - const message = createBasePitchLimits(); - message.min = object.min ?? 0; - message.max = object.max ?? 0; - message.front = (object.front !== undefined && object.front !== null) - ? PitchLimitsExtrema.fromPartial(object.front) - : undefined; - message.back = (object.back !== undefined && object.back !== null) - ? PitchLimitsExtrema.fromPartial(object.back) - : undefined; - message.transition = object.transition ?? undefined; - return message; - }, -}; - -function createBasePitchLimitsExtrema(): PitchLimitsExtrema { - return { min: 0, max: 0, range: 0 }; -} - -export const PitchLimitsExtrema: MessageFns = { - encode(message: PitchLimitsExtrema, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.min !== 0) { - writer.uint32(13).float(message.min); - } - if (message.max !== 0) { - writer.uint32(21).float(message.max); - } - if (message.range !== 0) { - writer.uint32(29).float(message.range); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): PitchLimitsExtrema { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePitchLimitsExtrema(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.min = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.max = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.range = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): PitchLimitsExtrema { - return { - min: globalThis.Number(assertSet("PitchLimitsExtrema.min", object.min)), - max: globalThis.Number(assertSet("PitchLimitsExtrema.max", object.max)), - range: globalThis.Number(assertSet("PitchLimitsExtrema.range", object.range)), - }; - }, - - toJSON(message: PitchLimitsExtrema): unknown { - const obj: any = {}; - if (message.min !== 0) { - obj.min = message.min; - } - if (message.max !== 0) { - obj.max = message.max; - } - if (message.range !== 0) { - obj.range = message.range; - } - return obj; - }, - - create, I>>(base?: I): PitchLimitsExtrema { - return PitchLimitsExtrema.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): PitchLimitsExtrema { - const message = createBasePitchLimitsExtrema(); - message.min = object.min ?? 0; - message.max = object.max ?? 0; - message.range = object.range ?? 0; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/provision_definitions.proto b/packages/core/src/protos/provision_definitions.proto deleted file mode 100644 index 655949553..000000000 --- a/packages/core/src/protos/provision_definitions.proto +++ /dev/null @@ -1,19 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/consumable_definitions.proto"; -import "packages/core/src/protos/i18n.proto"; - -message ProvisionDefinitions { - map provisions = 1; -} - -message Provision { - required uint32 id = 1; - required I18nString name = 2; - optional float crew = 3; - required bool game_mode_exclusive = 5; - repeated ConsumableTankFilter include = 6; - repeated ConsumableTankFilter exclude = 7; -} \ No newline at end of file diff --git a/packages/core/src/protos/provision_definitions.ts b/packages/core/src/protos/provision_definitions.ts deleted file mode 100644 index 3fc9a5e41..000000000 --- a/packages/core/src/protos/provision_definitions.ts +++ /dev/null @@ -1,378 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/provision_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { ConsumableTankFilter } from "./consumable_definitions"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export interface ProvisionDefinitions { - provisions: { [key: number]: Provision }; -} - -export interface ProvisionDefinitions_ProvisionsEntry { - key: number; - value: Provision | undefined; -} - -export interface Provision { - id: number; - name: I18nString; - crew?: number | undefined; - game_mode_exclusive: boolean; - include: ConsumableTankFilter[]; - exclude: ConsumableTankFilter[]; -} - -function createBaseProvisionDefinitions(): ProvisionDefinitions { - return { provisions: {} }; -} - -export const ProvisionDefinitions: MessageFns = { - encode(message: ProvisionDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.provisions).forEach(([key, value]) => { - ProvisionDefinitions_ProvisionsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ProvisionDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseProvisionDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = ProvisionDefinitions_ProvisionsEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.provisions[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ProvisionDefinitions { - return { - provisions: isObject(object.provisions) - ? Object.entries(object.provisions).reduce<{ [key: number]: Provision }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Provision.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: ProvisionDefinitions): unknown { - const obj: any = {}; - if (message.provisions) { - const entries = Object.entries(message.provisions); - if (entries.length > 0) { - obj.provisions = {}; - entries.forEach(([k, v]) => { - obj.provisions[k] = Provision.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): ProvisionDefinitions { - return ProvisionDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ProvisionDefinitions { - const message = createBaseProvisionDefinitions(); - message.provisions = Object.entries(object.provisions ?? {}).reduce<{ [key: number]: Provision }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = Provision.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseProvisionDefinitions_ProvisionsEntry(): ProvisionDefinitions_ProvisionsEntry { - return { key: 0, value: createBaseProvision() }; -} - -export const ProvisionDefinitions_ProvisionsEntry: MessageFns = { - encode(message: ProvisionDefinitions_ProvisionsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - Provision.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ProvisionDefinitions_ProvisionsEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseProvisionDefinitions_ProvisionsEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = Provision.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ProvisionDefinitions_ProvisionsEntry { - return { - key: globalThis.Number(assertSet("ProvisionDefinitions_ProvisionsEntry.key", object.key)), - value: Provision.fromJSON(assertSet("ProvisionDefinitions_ProvisionsEntry.value", object.value)), - }; - }, - - toJSON(message: ProvisionDefinitions_ProvisionsEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Provision.toJSON(message.value); - } - return obj; - }, - - create, I>>( - base?: I, - ): ProvisionDefinitions_ProvisionsEntry { - return ProvisionDefinitions_ProvisionsEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): ProvisionDefinitions_ProvisionsEntry { - const message = createBaseProvisionDefinitions_ProvisionsEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? Provision.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseProvision(): Provision { - return { id: 0, name: createBaseI18nString(), crew: undefined, game_mode_exclusive: false, include: [], exclude: [] }; -} - -export const Provision: MessageFns = { - encode(message: Provision, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - if (message.crew !== undefined && message.crew !== undefined) { - writer.uint32(29).float(message.crew); - } - if (message.game_mode_exclusive !== false) { - writer.uint32(40).bool(message.game_mode_exclusive); - } - for (const v of message.include) { - ConsumableTankFilter.encode(v!, writer.uint32(50).fork()).join(); - } - for (const v of message.exclude) { - ConsumableTankFilter.encode(v!, writer.uint32(58).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Provision { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseProvision(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.crew = reader.float(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.game_mode_exclusive = reader.bool(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.include.push(ConsumableTankFilter.decode(reader, reader.uint32())); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.exclude.push(ConsumableTankFilter.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Provision { - return { - id: globalThis.Number(assertSet("Provision.id", object.id)), - name: I18nString.fromJSON(assertSet("Provision.name", object.name)), - crew: isSet(object.crew) ? globalThis.Number(object.crew) : undefined, - game_mode_exclusive: globalThis.Boolean(assertSet("Provision.game_mode_exclusive", object.game_mode_exclusive)), - include: globalThis.Array.isArray(object?.include) - ? object.include.map((e: any) => ConsumableTankFilter.fromJSON(e)) - : [], - exclude: globalThis.Array.isArray(object?.exclude) - ? object.exclude.map((e: any) => ConsumableTankFilter.fromJSON(e)) - : [], - }; - }, - - toJSON(message: Provision): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.crew !== undefined && message.crew !== undefined) { - obj.crew = message.crew; - } - if (message.game_mode_exclusive !== false) { - obj.game_mode_exclusive = message.game_mode_exclusive; - } - if (message.include?.length) { - obj.include = message.include.map((e) => ConsumableTankFilter.toJSON(e)); - } - if (message.exclude?.length) { - obj.exclude = message.exclude.map((e) => ConsumableTankFilter.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): Provision { - return Provision.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Provision { - const message = createBaseProvision(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.crew = object.crew ?? undefined; - message.game_mode_exclusive = object.game_mode_exclusive ?? false; - message.include = object.include?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; - message.exclude = object.exclude?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/rating_leaderboard.proto b/packages/core/src/protos/rating_leaderboard.proto deleted file mode 100644 index ee504c090..000000000 --- a/packages/core/src/protos/rating_leaderboard.proto +++ /dev/null @@ -1,33 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -message RatingLeaderboard { - oneof version { - RatingLeaderboardV1 v1 = 1; - RatingLeaderboardV2 v2 = 2; - } -} - -message RatingLeaderboardV1 { - repeated RatingLeaderboardEntryV1 entries = 1; -} - -message RatingLeaderboardEntryV1 { - required uint32 id = 1; - required uint32 score = 2; -} - -message RatingLeaderboardV2 { - repeated RatingLeaderboardEntryV2 entries = 1; -} - -message RatingLeaderboardEntryV2 { - required uint32 id = 1; - required uint32 score = 2; - required uint32 battles = 3; - required uint32 wins = 4; - required uint32 survived = 5; - required uint32 damage = 6; - required uint32 kills = 7; -} \ No newline at end of file diff --git a/packages/core/src/protos/rating_leaderboard.ts b/packages/core/src/protos/rating_leaderboard.ts deleted file mode 100644 index 742433564..000000000 --- a/packages/core/src/protos/rating_leaderboard.ts +++ /dev/null @@ -1,512 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/rating_leaderboard.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; - -export const protobufPackage = "blitzkit"; - -export interface RatingLeaderboard { - version?: { $case: "v1"; value: RatingLeaderboardV1 } | { $case: "v2"; value: RatingLeaderboardV2 } | undefined; -} - -export interface RatingLeaderboardV1 { - entries: RatingLeaderboardEntryV1[]; -} - -export interface RatingLeaderboardEntryV1 { - id: number; - score: number; -} - -export interface RatingLeaderboardV2 { - entries: RatingLeaderboardEntryV2[]; -} - -export interface RatingLeaderboardEntryV2 { - id: number; - score: number; - battles: number; - wins: number; - survived: number; - damage: number; - kills: number; -} - -function createBaseRatingLeaderboard(): RatingLeaderboard { - return { version: undefined }; -} - -export const RatingLeaderboard: MessageFns = { - encode(message: RatingLeaderboard, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - switch (message.version?.$case) { - case "v1": - RatingLeaderboardV1.encode(message.version.value, writer.uint32(10).fork()).join(); - break; - case "v2": - RatingLeaderboardV2.encode(message.version.value, writer.uint32(18).fork()).join(); - break; - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): RatingLeaderboard { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRatingLeaderboard(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.version = { $case: "v1", value: RatingLeaderboardV1.decode(reader, reader.uint32()) }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.version = { $case: "v2", value: RatingLeaderboardV2.decode(reader, reader.uint32()) }; - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): RatingLeaderboard { - return { - version: isSet(object.v1) - ? { $case: "v1", value: RatingLeaderboardV1.fromJSON(object.v1) } - : isSet(object.v2) - ? { $case: "v2", value: RatingLeaderboardV2.fromJSON(object.v2) } - : undefined, - }; - }, - - toJSON(message: RatingLeaderboard): unknown { - const obj: any = {}; - if (message.version?.$case === "v1") { - obj.v1 = RatingLeaderboardV1.toJSON(message.version.value); - } - if (message.version?.$case === "v2") { - obj.v2 = RatingLeaderboardV2.toJSON(message.version.value); - } - return obj; - }, - - create, I>>(base?: I): RatingLeaderboard { - return RatingLeaderboard.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): RatingLeaderboard { - const message = createBaseRatingLeaderboard(); - if (object.version?.$case === "v1" && object.version?.value !== undefined && object.version?.value !== null) { - message.version = { $case: "v1", value: RatingLeaderboardV1.fromPartial(object.version.value) }; - } - if (object.version?.$case === "v2" && object.version?.value !== undefined && object.version?.value !== null) { - message.version = { $case: "v2", value: RatingLeaderboardV2.fromPartial(object.version.value) }; - } - return message; - }, -}; - -function createBaseRatingLeaderboardV1(): RatingLeaderboardV1 { - return { entries: [] }; -} - -export const RatingLeaderboardV1: MessageFns = { - encode(message: RatingLeaderboardV1, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - for (const v of message.entries) { - RatingLeaderboardEntryV1.encode(v!, writer.uint32(10).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): RatingLeaderboardV1 { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRatingLeaderboardV1(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.entries.push(RatingLeaderboardEntryV1.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): RatingLeaderboardV1 { - return { - entries: globalThis.Array.isArray(object?.entries) - ? object.entries.map((e: any) => RatingLeaderboardEntryV1.fromJSON(e)) - : [], - }; - }, - - toJSON(message: RatingLeaderboardV1): unknown { - const obj: any = {}; - if (message.entries?.length) { - obj.entries = message.entries.map((e) => RatingLeaderboardEntryV1.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): RatingLeaderboardV1 { - return RatingLeaderboardV1.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): RatingLeaderboardV1 { - const message = createBaseRatingLeaderboardV1(); - message.entries = object.entries?.map((e) => RatingLeaderboardEntryV1.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseRatingLeaderboardEntryV1(): RatingLeaderboardEntryV1 { - return { id: 0, score: 0 }; -} - -export const RatingLeaderboardEntryV1: MessageFns = { - encode(message: RatingLeaderboardEntryV1, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.score !== 0) { - writer.uint32(16).uint32(message.score); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): RatingLeaderboardEntryV1 { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRatingLeaderboardEntryV1(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.score = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): RatingLeaderboardEntryV1 { - return { - id: globalThis.Number(assertSet("RatingLeaderboardEntryV1.id", object.id)), - score: globalThis.Number(assertSet("RatingLeaderboardEntryV1.score", object.score)), - }; - }, - - toJSON(message: RatingLeaderboardEntryV1): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.score !== 0) { - obj.score = Math.round(message.score); - } - return obj; - }, - - create, I>>(base?: I): RatingLeaderboardEntryV1 { - return RatingLeaderboardEntryV1.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): RatingLeaderboardEntryV1 { - const message = createBaseRatingLeaderboardEntryV1(); - message.id = object.id ?? 0; - message.score = object.score ?? 0; - return message; - }, -}; - -function createBaseRatingLeaderboardV2(): RatingLeaderboardV2 { - return { entries: [] }; -} - -export const RatingLeaderboardV2: MessageFns = { - encode(message: RatingLeaderboardV2, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - for (const v of message.entries) { - RatingLeaderboardEntryV2.encode(v!, writer.uint32(10).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): RatingLeaderboardV2 { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRatingLeaderboardV2(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.entries.push(RatingLeaderboardEntryV2.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): RatingLeaderboardV2 { - return { - entries: globalThis.Array.isArray(object?.entries) - ? object.entries.map((e: any) => RatingLeaderboardEntryV2.fromJSON(e)) - : [], - }; - }, - - toJSON(message: RatingLeaderboardV2): unknown { - const obj: any = {}; - if (message.entries?.length) { - obj.entries = message.entries.map((e) => RatingLeaderboardEntryV2.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): RatingLeaderboardV2 { - return RatingLeaderboardV2.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): RatingLeaderboardV2 { - const message = createBaseRatingLeaderboardV2(); - message.entries = object.entries?.map((e) => RatingLeaderboardEntryV2.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseRatingLeaderboardEntryV2(): RatingLeaderboardEntryV2 { - return { id: 0, score: 0, battles: 0, wins: 0, survived: 0, damage: 0, kills: 0 }; -} - -export const RatingLeaderboardEntryV2: MessageFns = { - encode(message: RatingLeaderboardEntryV2, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.score !== 0) { - writer.uint32(16).uint32(message.score); - } - if (message.battles !== 0) { - writer.uint32(24).uint32(message.battles); - } - if (message.wins !== 0) { - writer.uint32(32).uint32(message.wins); - } - if (message.survived !== 0) { - writer.uint32(40).uint32(message.survived); - } - if (message.damage !== 0) { - writer.uint32(48).uint32(message.damage); - } - if (message.kills !== 0) { - writer.uint32(56).uint32(message.kills); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): RatingLeaderboardEntryV2 { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseRatingLeaderboardEntryV2(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.score = reader.uint32(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.battles = reader.uint32(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.wins = reader.uint32(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.survived = reader.uint32(); - continue; - } - case 6: { - if (tag !== 48) { - break; - } - - message.damage = reader.uint32(); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.kills = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): RatingLeaderboardEntryV2 { - return { - id: globalThis.Number(assertSet("RatingLeaderboardEntryV2.id", object.id)), - score: globalThis.Number(assertSet("RatingLeaderboardEntryV2.score", object.score)), - battles: globalThis.Number(assertSet("RatingLeaderboardEntryV2.battles", object.battles)), - wins: globalThis.Number(assertSet("RatingLeaderboardEntryV2.wins", object.wins)), - survived: globalThis.Number(assertSet("RatingLeaderboardEntryV2.survived", object.survived)), - damage: globalThis.Number(assertSet("RatingLeaderboardEntryV2.damage", object.damage)), - kills: globalThis.Number(assertSet("RatingLeaderboardEntryV2.kills", object.kills)), - }; - }, - - toJSON(message: RatingLeaderboardEntryV2): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.score !== 0) { - obj.score = Math.round(message.score); - } - if (message.battles !== 0) { - obj.battles = Math.round(message.battles); - } - if (message.wins !== 0) { - obj.wins = Math.round(message.wins); - } - if (message.survived !== 0) { - obj.survived = Math.round(message.survived); - } - if (message.damage !== 0) { - obj.damage = Math.round(message.damage); - } - if (message.kills !== 0) { - obj.kills = Math.round(message.kills); - } - return obj; - }, - - create, I>>(base?: I): RatingLeaderboardEntryV2 { - return RatingLeaderboardEntryV2.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): RatingLeaderboardEntryV2 { - const message = createBaseRatingLeaderboardEntryV2(); - message.id = object.id ?? 0; - message.score = object.score ?? 0; - message.battles = object.battles ?? 0; - message.wins = object.wins ?? 0; - message.survived = object.survived ?? 0; - message.damage = object.damage ?? 0; - message.kills = object.kills ?? 0; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/skill_definitions.proto b/packages/core/src/protos/skill_definitions.proto deleted file mode 100644 index b22f19046..000000000 --- a/packages/core/src/protos/skill_definitions.proto +++ /dev/null @@ -1,12 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -message SkillDefinitions { - // enums are disallowed as keys so using uint32; convert run-time - map classes = 1; -} - -message Skill { - repeated string skills = 1; -} \ No newline at end of file diff --git a/packages/core/src/protos/skill_definitions.ts b/packages/core/src/protos/skill_definitions.ts deleted file mode 100644 index e59372ba3..000000000 --- a/packages/core/src/protos/skill_definitions.ts +++ /dev/null @@ -1,279 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/skill_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; - -export const protobufPackage = "blitzkit"; - -export interface SkillDefinitions { - /** enums are disallowed as keys so using uint32; convert run-time */ - classes: { [key: number]: Skill }; -} - -export interface SkillDefinitions_ClassesEntry { - key: number; - value: Skill | undefined; -} - -export interface Skill { - skills: string[]; -} - -function createBaseSkillDefinitions(): SkillDefinitions { - return { classes: {} }; -} - -export const SkillDefinitions: MessageFns = { - encode(message: SkillDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.classes).forEach(([key, value]) => { - SkillDefinitions_ClassesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): SkillDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSkillDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = SkillDefinitions_ClassesEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.classes[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): SkillDefinitions { - return { - classes: isObject(object.classes) - ? Object.entries(object.classes).reduce<{ [key: number]: Skill }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Skill.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: SkillDefinitions): unknown { - const obj: any = {}; - if (message.classes) { - const entries = Object.entries(message.classes); - if (entries.length > 0) { - obj.classes = {}; - entries.forEach(([k, v]) => { - obj.classes[k] = Skill.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): SkillDefinitions { - return SkillDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): SkillDefinitions { - const message = createBaseSkillDefinitions(); - message.classes = Object.entries(object.classes ?? {}).reduce<{ [key: number]: Skill }>((acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = Skill.fromPartial(value); - } - return acc; - }, {}); - return message; - }, -}; - -function createBaseSkillDefinitions_ClassesEntry(): SkillDefinitions_ClassesEntry { - return { key: 0, value: createBaseSkill() }; -} - -export const SkillDefinitions_ClassesEntry: MessageFns = { - encode(message: SkillDefinitions_ClassesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - Skill.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): SkillDefinitions_ClassesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSkillDefinitions_ClassesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = Skill.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): SkillDefinitions_ClassesEntry { - return { - key: globalThis.Number(assertSet("SkillDefinitions_ClassesEntry.key", object.key)), - value: Skill.fromJSON(assertSet("SkillDefinitions_ClassesEntry.value", object.value)), - }; - }, - - toJSON(message: SkillDefinitions_ClassesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Skill.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): SkillDefinitions_ClassesEntry { - return SkillDefinitions_ClassesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): SkillDefinitions_ClassesEntry { - const message = createBaseSkillDefinitions_ClassesEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) ? Skill.fromPartial(object.value) : undefined; - return message; - }, -}; - -function createBaseSkill(): Skill { - return { skills: [] }; -} - -export const Skill: MessageFns = { - encode(message: Skill, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - for (const v of message.skills) { - writer.uint32(10).string(v!); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Skill { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseSkill(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.skills.push(reader.string()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Skill { - return { - skills: globalThis.Array.isArray(object?.skills) ? object.skills.map((e: any) => globalThis.String(e)) : [], - }; - }, - - toJSON(message: Skill): unknown { - const obj: any = {}; - if (message.skills?.length) { - obj.skills = message.skills; - } - return obj; - }, - - create, I>>(base?: I): Skill { - return Skill.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Skill { - const message = createBaseSkill(); - message.skills = object.skills?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/packages/core/src/protos/tank_definitions.proto b/packages/core/src/protos/tank_definitions.proto deleted file mode 100644 index 22dcdc698..000000000 --- a/packages/core/src/protos/tank_definitions.proto +++ /dev/null @@ -1,234 +0,0 @@ -syntax = "proto2"; - -package blitzkit; - -import "packages/core/src/protos/i18n.proto"; - -message TankDefinitions { - map tanks = 1; -} - -message TankDefinition { - required uint32 id = 1; - map roles = 2; - required bool fixed_camouflage = 4; - repeated int32 camouflages = 5; - repeated int32 ancestors = 6; - repeated int32 successors = 7; - repeated Crew crew = 8; - required uint32 health = 9; - required string nation = 10; - required I18nString name = 11; - optional I18nString name_full = 12; - required TankType type = 13; - required uint32 max_consumables = 14; - required uint32 max_provisions = 15; - required uint32 tier = 16; - required TankClass class = 17; - required bool testing = 18; - required bool deprecated = 19; - repeated TurretDefinition turrets = 20; - repeated EngineDefinition engines = 21; - repeated TrackDefinition tracks = 22; - required TankPrice price = 23; - optional ResearchCost research_cost = 24; - required float speed_forwards = 25; - required float speed_backwards = 26; - required float camouflage_still = 27; - required float camouflage_moving = 28; - required float camouflage_onFire = 29; - required string equipment_preset = 30; - required uint32 weight = 31; -} - -message ResearchCost { - oneof research_cost_type { - uint32 xp = 1; - ResearchCostSeasonalTokens seasonal_tokens = 2; - } -} - -message ResearchCostSeasonalTokens { - required uint32 season = 1; - required uint32 tokens = 2; -} - -enum TankPriceType { - TANK_PRICE_TYPE_CREDITS = 0; - TANK_PRICE_TYPE_GOLD = 1; -} - -message TankPrice { - required TankPriceType type = 1; - required uint32 value = 2; -} - -message TrackDefinition { - required uint32 id = 1; - required uint32 tier = 2; - required I18nString name = 3; - required uint32 weight = 4; - required float traverse_speed = 5; - optional ResearchCost research_cost = 6; - required float dispersion_move = 7; - required float dispersion_traverse = 8; - required float resistance_hard = 9; - required float resistance_medium = 10; - required float resistance_soft = 11; - repeated Unlock unlocks = 12; -} - -message EngineDefinition { - required uint32 id = 1; - required I18nString name = 2; - optional ResearchCost research_cost = 3; - required uint32 tier = 4; - required float fire_chance = 5; - required uint32 power = 6; - required uint32 weight = 7; - repeated Unlock unlocks = 8; -} - -message TurretDefinition { - required uint32 id = 1; - required uint32 health = 2; - required uint32 view_range = 3; - required float traverse_speed = 4; - optional ResearchCost research_cost = 5; - required I18nString name = 6; - required uint32 tier = 7; - required uint32 weight = 8; - repeated GunDefinition guns = 9; - repeated Unlock unlocks = 10; -} - -message GunDefinition { - oneof gun_type { - GunDefinitionRegular regular = 1; - GunDefinitionAutoLoader auto_loader = 2; - GunDefinitionAutoReloader auto_reloader = 3; - } -} - -message GunDefinitionRegular { - required GunDefinitionBase base = 1; - required GunDefinitionRegularProperties extension = 2; -} - -message GunDefinitionRegularProperties { - required float reload = 1; -} - -message GunDefinitionAutoLoader { - required GunDefinitionBase base = 1; - required GunDefinitionAutoLoaderProperties extension = 2; -} - -message GunDefinitionAutoLoaderProperties { - required float clip_reload = 1; - required float intra_clip = 2; - required float shell_count = 3; -} - -message GunDefinitionAutoReloader { - required GunDefinitionBase base = 1; - required GunDefinitionAutoReloaderProperties extension = 2; -} - -message GunDefinitionAutoReloaderProperties { - repeated float shell_reloads = 1; - required float intra_clip = 2; - required float shell_count = 3; -} - -message GunDefinitionBase { - required uint32 id = 1; - required float rotation_speed = 2; - optional ResearchCost research_cost = 3; - required uint32 weight = 4; - required I18nString name = 5; - required uint32 tier = 6; - repeated ShellDefinition shells = 7; - required float camouflage_loss = 8; - required float aim_time = 9; - required float dispersion_base = 10; - required float dispersion_traverse = 11; - required float dispersion_shot = 12; - required float dispersion_damaged = 13; - repeated Unlock unlocks = 14; - required uint32 shell_capacity = 15; -} - -message ShellDefinition { - required uint32 id = 1; - required I18nString name = 2; - required uint32 velocity = 3; - required uint32 armor_damage = 4; - required uint32 module_damage = 5; - required float caliber = 6; - required string icon = 7; - required ShellPenetration penetration = 8; - required ShellType type = 9; - optional float normalization = 10; - optional float ricochet = 11; - optional float explosion_radius = 12; - required uint32 range = 13; -} - -enum ShellType { - SHELL_TYPE_AP = 0; - SHELL_TYPE_APCR = 1; - SHELL_TYPE_HEAT = 2; - SHELL_TYPE_HE = 3; -} - -message ShellPenetration { - required float near = 1; - required float far = 2; -} - -message Unlock { - required int32 id = 1; - required ModuleType type = 2; - required UnlockCost cost = 3; -} - -message UnlockCost { - required string type = 1; - required int32 value = 2; -} - -enum ModuleType { - MODULE_TYPE_VEHICLE = 0; - MODULE_TYPE_ENGINE = 1; - MODULE_TYPE_TRACKS = 2; - MODULE_TYPE_TURRET = 3; - MODULE_TYPE_GUN = 4; -} - -enum TankClass { - TANK_CLASS_LIGHT = 0; - TANK_CLASS_MEDIUM = 1; - TANK_CLASS_HEAVY = 2; - TANK_CLASS_TANK_DESTROYER = 3; -} - -enum TankType { - TANK_TYPE_RESEARCHABLE = 0; - TANK_TYPE_PREMIUM = 1; - TANK_TYPE_COLLECTOR = 2; -} - -message Crew { - required CrewType type = 1; - required uint32 count = 2; - repeated CrewType substitute = 3; -} - -enum CrewType { - CREW_TYPE_COMMANDER = 0; - CREW_TYPE_RADIOMAN = 1; - CREW_TYPE_GUNNER = 2; - CREW_TYPE_DRIVER = 3; - CREW_TYPE_LOADER = 4; -} \ No newline at end of file diff --git a/packages/core/src/protos/tank_definitions.ts b/packages/core/src/protos/tank_definitions.ts deleted file mode 100644 index 01fd44dae..000000000 --- a/packages/core/src/protos/tank_definitions.ts +++ /dev/null @@ -1,3825 +0,0 @@ -// Code generated by protoc-gen-ts_proto. DO NOT EDIT. -// versions: -// protoc-gen-ts_proto v2.2.2 -// protoc v5.28.2 -// source: packages/core/src/protos/tank_definitions.proto - -/* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; -import { I18nString, createBaseI18nString } from "./i18n"; - -export const protobufPackage = "blitzkit"; - -export enum TankPriceType { - CREDITS = 0, - GOLD = 1, -} - -export function tankPriceTypeFromJSON(object: any): TankPriceType { - switch (object) { - case 0: - case "TANK_PRICE_TYPE_CREDITS": - return TankPriceType.CREDITS; - case 1: - case "TANK_PRICE_TYPE_GOLD": - return TankPriceType.GOLD; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankPriceType"); - } -} - -export function tankPriceTypeToJSON(object: TankPriceType): string { - switch (object) { - case TankPriceType.CREDITS: - return "TANK_PRICE_TYPE_CREDITS"; - case TankPriceType.GOLD: - return "TANK_PRICE_TYPE_GOLD"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankPriceType"); - } -} - -export enum ShellType { - AP = 0, - APCR = 1, - HEAT = 2, - HE = 3, -} - -export function shellTypeFromJSON(object: any): ShellType { - switch (object) { - case 0: - case "SHELL_TYPE_AP": - return ShellType.AP; - case 1: - case "SHELL_TYPE_APCR": - return ShellType.APCR; - case 2: - case "SHELL_TYPE_HEAT": - return ShellType.HEAT; - case 3: - case "SHELL_TYPE_HE": - return ShellType.HE; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum ShellType"); - } -} - -export function shellTypeToJSON(object: ShellType): string { - switch (object) { - case ShellType.AP: - return "SHELL_TYPE_AP"; - case ShellType.APCR: - return "SHELL_TYPE_APCR"; - case ShellType.HEAT: - return "SHELL_TYPE_HEAT"; - case ShellType.HE: - return "SHELL_TYPE_HE"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum ShellType"); - } -} - -export enum ModuleType { - VEHICLE = 0, - ENGINE = 1, - TRACKS = 2, - TURRET = 3, - GUN = 4, -} - -export function moduleTypeFromJSON(object: any): ModuleType { - switch (object) { - case 0: - case "MODULE_TYPE_VEHICLE": - return ModuleType.VEHICLE; - case 1: - case "MODULE_TYPE_ENGINE": - return ModuleType.ENGINE; - case 2: - case "MODULE_TYPE_TRACKS": - return ModuleType.TRACKS; - case 3: - case "MODULE_TYPE_TURRET": - return ModuleType.TURRET; - case 4: - case "MODULE_TYPE_GUN": - return ModuleType.GUN; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum ModuleType"); - } -} - -export function moduleTypeToJSON(object: ModuleType): string { - switch (object) { - case ModuleType.VEHICLE: - return "MODULE_TYPE_VEHICLE"; - case ModuleType.ENGINE: - return "MODULE_TYPE_ENGINE"; - case ModuleType.TRACKS: - return "MODULE_TYPE_TRACKS"; - case ModuleType.TURRET: - return "MODULE_TYPE_TURRET"; - case ModuleType.GUN: - return "MODULE_TYPE_GUN"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum ModuleType"); - } -} - -export enum TankClass { - LIGHT = 0, - MEDIUM = 1, - HEAVY = 2, - TANK_DESTROYER = 3, -} - -export function tankClassFromJSON(object: any): TankClass { - switch (object) { - case 0: - case "TANK_CLASS_LIGHT": - return TankClass.LIGHT; - case 1: - case "TANK_CLASS_MEDIUM": - return TankClass.MEDIUM; - case 2: - case "TANK_CLASS_HEAVY": - return TankClass.HEAVY; - case 3: - case "TANK_CLASS_TANK_DESTROYER": - return TankClass.TANK_DESTROYER; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankClass"); - } -} - -export function tankClassToJSON(object: TankClass): string { - switch (object) { - case TankClass.LIGHT: - return "TANK_CLASS_LIGHT"; - case TankClass.MEDIUM: - return "TANK_CLASS_MEDIUM"; - case TankClass.HEAVY: - return "TANK_CLASS_HEAVY"; - case TankClass.TANK_DESTROYER: - return "TANK_CLASS_TANK_DESTROYER"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankClass"); - } -} - -export enum TankType { - RESEARCHABLE = 0, - PREMIUM = 1, - COLLECTOR = 2, -} - -export function tankTypeFromJSON(object: any): TankType { - switch (object) { - case 0: - case "TANK_TYPE_RESEARCHABLE": - return TankType.RESEARCHABLE; - case 1: - case "TANK_TYPE_PREMIUM": - return TankType.PREMIUM; - case 2: - case "TANK_TYPE_COLLECTOR": - return TankType.COLLECTOR; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankType"); - } -} - -export function tankTypeToJSON(object: TankType): string { - switch (object) { - case TankType.RESEARCHABLE: - return "TANK_TYPE_RESEARCHABLE"; - case TankType.PREMIUM: - return "TANK_TYPE_PREMIUM"; - case TankType.COLLECTOR: - return "TANK_TYPE_COLLECTOR"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum TankType"); - } -} - -export enum CrewType { - COMMANDER = 0, - RADIOMAN = 1, - GUNNER = 2, - DRIVER = 3, - LOADER = 4, -} - -export function crewTypeFromJSON(object: any): CrewType { - switch (object) { - case 0: - case "CREW_TYPE_COMMANDER": - return CrewType.COMMANDER; - case 1: - case "CREW_TYPE_RADIOMAN": - return CrewType.RADIOMAN; - case 2: - case "CREW_TYPE_GUNNER": - return CrewType.GUNNER; - case 3: - case "CREW_TYPE_DRIVER": - return CrewType.DRIVER; - case 4: - case "CREW_TYPE_LOADER": - return CrewType.LOADER; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum CrewType"); - } -} - -export function crewTypeToJSON(object: CrewType): string { - switch (object) { - case CrewType.COMMANDER: - return "CREW_TYPE_COMMANDER"; - case CrewType.RADIOMAN: - return "CREW_TYPE_RADIOMAN"; - case CrewType.GUNNER: - return "CREW_TYPE_GUNNER"; - case CrewType.DRIVER: - return "CREW_TYPE_DRIVER"; - case CrewType.LOADER: - return "CREW_TYPE_LOADER"; - default: - throw new globalThis.Error("Unrecognized enum value " + object + " for enum CrewType"); - } -} - -export interface TankDefinitions { - tanks: { [key: number]: TankDefinition }; -} - -export interface TankDefinitions_TanksEntry { - key: number; - value: TankDefinition | undefined; -} - -export interface TankDefinition { - id: number; - roles: { [key: number]: number }; - fixed_camouflage: boolean; - camouflages: number[]; - ancestors: number[]; - successors: number[]; - crew: Crew[]; - health: number; - nation: string; - name: I18nString; - name_full?: I18nString | undefined; - type: TankType; - max_consumables: number; - max_provisions: number; - tier: number; - class: TankClass; - testing: boolean; - deprecated: boolean; - turrets: TurretDefinition[]; - engines: EngineDefinition[]; - tracks: TrackDefinition[]; - price: TankPrice; - research_cost?: ResearchCost | undefined; - speed_forwards: number; - speed_backwards: number; - camouflage_still: number; - camouflage_moving: number; - camouflage_onFire: number; - equipment_preset: string; - weight: number; -} - -export interface TankDefinition_RolesEntry { - key: number; - value: number; -} - -export interface ResearchCost { - research_cost_type?: - | { $case: "xp"; value: number } - | { $case: "seasonal_tokens"; value: ResearchCostSeasonalTokens } - | undefined; -} - -export interface ResearchCostSeasonalTokens { - season: number; - tokens: number; -} - -export interface TankPrice { - type: TankPriceType; - value: number; -} - -export interface TrackDefinition { - id: number; - tier: number; - name: I18nString; - weight: number; - traverse_speed: number; - research_cost?: ResearchCost | undefined; - dispersion_move: number; - dispersion_traverse: number; - resistance_hard: number; - resistance_medium: number; - resistance_soft: number; - unlocks: Unlock[]; -} - -export interface EngineDefinition { - id: number; - name: I18nString; - research_cost?: ResearchCost | undefined; - tier: number; - fire_chance: number; - power: number; - weight: number; - unlocks: Unlock[]; -} - -export interface TurretDefinition { - id: number; - health: number; - view_range: number; - traverse_speed: number; - research_cost?: ResearchCost | undefined; - name: I18nString; - tier: number; - weight: number; - guns: GunDefinition[]; - unlocks: Unlock[]; -} - -export interface GunDefinition { - gun_type?: - | { $case: "regular"; value: GunDefinitionRegular } - | { $case: "auto_loader"; value: GunDefinitionAutoLoader } - | { $case: "auto_reloader"; value: GunDefinitionAutoReloader } - | undefined; -} - -export interface GunDefinitionRegular { - base: GunDefinitionBase; - extension: GunDefinitionRegularProperties; -} - -export interface GunDefinitionRegularProperties { - reload: number; -} - -export interface GunDefinitionAutoLoader { - base: GunDefinitionBase; - extension: GunDefinitionAutoLoaderProperties; -} - -export interface GunDefinitionAutoLoaderProperties { - clip_reload: number; - intra_clip: number; - shell_count: number; -} - -export interface GunDefinitionAutoReloader { - base: GunDefinitionBase; - extension: GunDefinitionAutoReloaderProperties; -} - -export interface GunDefinitionAutoReloaderProperties { - shell_reloads: number[]; - intra_clip: number; - shell_count: number; -} - -export interface GunDefinitionBase { - id: number; - rotation_speed: number; - research_cost?: ResearchCost | undefined; - weight: number; - name: I18nString; - tier: number; - shells: ShellDefinition[]; - camouflage_loss: number; - aim_time: number; - dispersion_base: number; - dispersion_traverse: number; - dispersion_shot: number; - dispersion_damaged: number; - unlocks: Unlock[]; - shell_capacity: number; -} - -export interface ShellDefinition { - id: number; - name: I18nString; - velocity: number; - armor_damage: number; - module_damage: number; - caliber: number; - icon: string; - penetration: ShellPenetration; - type: ShellType; - normalization?: number | undefined; - ricochet?: number | undefined; - explosion_radius?: number | undefined; - range: number; -} - -export interface ShellPenetration { - near: number; - far: number; -} - -export interface Unlock { - id: number; - type: ModuleType; - cost: UnlockCost; -} - -export interface UnlockCost { - type: string; - value: number; -} - -export interface Crew { - type: CrewType; - count: number; - substitute: CrewType[]; -} - -function createBaseTankDefinitions(): TankDefinitions { - return { tanks: {} }; -} - -export const TankDefinitions: MessageFns = { - encode(message: TankDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - Object.entries(message.tanks).forEach(([key, value]) => { - TankDefinitions_TanksEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); - }); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TankDefinitions { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTankDefinitions(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - const entry1 = TankDefinitions_TanksEntry.decode(reader, reader.uint32()); - if (entry1.value !== undefined) { - message.tanks[entry1.key] = entry1.value; - } - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TankDefinitions { - return { - tanks: isObject(object.tanks) - ? Object.entries(object.tanks).reduce<{ [key: number]: TankDefinition }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = TankDefinition.fromJSON(value); - return acc; - }, {}) - : {}, - }; - }, - - toJSON(message: TankDefinitions): unknown { - const obj: any = {}; - if (message.tanks) { - const entries = Object.entries(message.tanks); - if (entries.length > 0) { - obj.tanks = {}; - entries.forEach(([k, v]) => { - obj.tanks[k] = TankDefinition.toJSON(v); - }); - } - } - return obj; - }, - - create, I>>(base?: I): TankDefinitions { - return TankDefinitions.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TankDefinitions { - const message = createBaseTankDefinitions(); - message.tanks = Object.entries(object.tanks ?? {}).reduce<{ [key: number]: TankDefinition }>( - (acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = TankDefinition.fromPartial(value); - } - return acc; - }, - {}, - ); - return message; - }, -}; - -function createBaseTankDefinitions_TanksEntry(): TankDefinitions_TanksEntry { - return { key: 0, value: createBaseTankDefinition() }; -} - -export const TankDefinitions_TanksEntry: MessageFns = { - encode(message: TankDefinitions_TanksEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - TankDefinition.encode(message.value, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TankDefinitions_TanksEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTankDefinitions_TanksEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.value = TankDefinition.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TankDefinitions_TanksEntry { - return { - key: globalThis.Number(assertSet("TankDefinitions_TanksEntry.key", object.key)), - value: TankDefinition.fromJSON(assertSet("TankDefinitions_TanksEntry.value", object.value)), - }; - }, - - toJSON(message: TankDefinitions_TanksEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = TankDefinition.toJSON(message.value); - } - return obj; - }, - - create, I>>(base?: I): TankDefinitions_TanksEntry { - return TankDefinitions_TanksEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TankDefinitions_TanksEntry { - const message = createBaseTankDefinitions_TanksEntry(); - message.key = object.key ?? 0; - message.value = (object.value !== undefined && object.value !== null) - ? TankDefinition.fromPartial(object.value) - : undefined; - return message; - }, -}; - -function createBaseTankDefinition(): TankDefinition { - return { - id: 0, - roles: {}, - fixed_camouflage: false, - camouflages: [], - ancestors: [], - successors: [], - crew: [], - health: 0, - nation: "", - name: createBaseI18nString(), - name_full: undefined, - type: 0, - max_consumables: 0, - max_provisions: 0, - tier: 0, - class: 0, - testing: false, - deprecated: false, - turrets: [], - engines: [], - tracks: [], - price: createBaseTankPrice(), - research_cost: undefined, - speed_forwards: 0, - speed_backwards: 0, - camouflage_still: 0, - camouflage_moving: 0, - camouflage_onFire: 0, - equipment_preset: "", - weight: 0, - }; -} - -export const TankDefinition: MessageFns = { - encode(message: TankDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - Object.entries(message.roles).forEach(([key, value]) => { - TankDefinition_RolesEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).join(); - }); - if (message.fixed_camouflage !== false) { - writer.uint32(32).bool(message.fixed_camouflage); - } - writer.uint32(42).fork(); - for (const v of message.camouflages) { - writer.int32(v); - } - writer.join(); - writer.uint32(50).fork(); - for (const v of message.ancestors) { - writer.int32(v); - } - writer.join(); - writer.uint32(58).fork(); - for (const v of message.successors) { - writer.int32(v); - } - writer.join(); - for (const v of message.crew) { - Crew.encode(v!, writer.uint32(66).fork()).join(); - } - if (message.health !== 0) { - writer.uint32(72).uint32(message.health); - } - if (message.nation !== "") { - writer.uint32(82).string(message.nation); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(90).fork()).join(); - } - if (message.name_full !== undefined) { - I18nString.encode(message.name_full, writer.uint32(98).fork()).join(); - } - if (message.type !== 0) { - writer.uint32(104).int32(message.type); - } - if (message.max_consumables !== 0) { - writer.uint32(112).uint32(message.max_consumables); - } - if (message.max_provisions !== 0) { - writer.uint32(120).uint32(message.max_provisions); - } - if (message.tier !== 0) { - writer.uint32(128).uint32(message.tier); - } - if (message.class !== 0) { - writer.uint32(136).int32(message.class); - } - if (message.testing !== false) { - writer.uint32(144).bool(message.testing); - } - if (message.deprecated !== false) { - writer.uint32(152).bool(message.deprecated); - } - for (const v of message.turrets) { - TurretDefinition.encode(v!, writer.uint32(162).fork()).join(); - } - for (const v of message.engines) { - EngineDefinition.encode(v!, writer.uint32(170).fork()).join(); - } - for (const v of message.tracks) { - TrackDefinition.encode(v!, writer.uint32(178).fork()).join(); - } - if (message.price !== undefined) { - TankPrice.encode(message.price, writer.uint32(186).fork()).join(); - } - if (message.research_cost !== undefined) { - ResearchCost.encode(message.research_cost, writer.uint32(194).fork()).join(); - } - if (message.speed_forwards !== 0) { - writer.uint32(205).float(message.speed_forwards); - } - if (message.speed_backwards !== 0) { - writer.uint32(213).float(message.speed_backwards); - } - if (message.camouflage_still !== 0) { - writer.uint32(221).float(message.camouflage_still); - } - if (message.camouflage_moving !== 0) { - writer.uint32(229).float(message.camouflage_moving); - } - if (message.camouflage_onFire !== 0) { - writer.uint32(237).float(message.camouflage_onFire); - } - if (message.equipment_preset !== "") { - writer.uint32(242).string(message.equipment_preset); - } - if (message.weight !== 0) { - writer.uint32(248).uint32(message.weight); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TankDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTankDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - const entry2 = TankDefinition_RolesEntry.decode(reader, reader.uint32()); - if (entry2.value !== undefined) { - message.roles[entry2.key] = entry2.value; - } - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.fixed_camouflage = reader.bool(); - continue; - } - case 5: { - if (tag === 40) { - message.camouflages.push(reader.int32()); - - continue; - } - - if (tag === 42) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.camouflages.push(reader.int32()); - } - - continue; - } - - break; - } - case 6: { - if (tag === 48) { - message.ancestors.push(reader.int32()); - - continue; - } - - if (tag === 50) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.ancestors.push(reader.int32()); - } - - continue; - } - - break; - } - case 7: { - if (tag === 56) { - message.successors.push(reader.int32()); - - continue; - } - - if (tag === 58) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.successors.push(reader.int32()); - } - - continue; - } - - break; - } - case 8: { - if (tag !== 66) { - break; - } - - message.crew.push(Crew.decode(reader, reader.uint32())); - continue; - } - case 9: { - if (tag !== 72) { - break; - } - - message.health = reader.uint32(); - continue; - } - case 10: { - if (tag !== 82) { - break; - } - - message.nation = reader.string(); - continue; - } - case 11: { - if (tag !== 90) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 12: { - if (tag !== 98) { - break; - } - - message.name_full = I18nString.decode(reader, reader.uint32()); - continue; - } - case 13: { - if (tag !== 104) { - break; - } - - message.type = reader.int32() as any; - continue; - } - case 14: { - if (tag !== 112) { - break; - } - - message.max_consumables = reader.uint32(); - continue; - } - case 15: { - if (tag !== 120) { - break; - } - - message.max_provisions = reader.uint32(); - continue; - } - case 16: { - if (tag !== 128) { - break; - } - - message.tier = reader.uint32(); - continue; - } - case 17: { - if (tag !== 136) { - break; - } - - message.class = reader.int32() as any; - continue; - } - case 18: { - if (tag !== 144) { - break; - } - - message.testing = reader.bool(); - continue; - } - case 19: { - if (tag !== 152) { - break; - } - - message.deprecated = reader.bool(); - continue; - } - case 20: { - if (tag !== 162) { - break; - } - - message.turrets.push(TurretDefinition.decode(reader, reader.uint32())); - continue; - } - case 21: { - if (tag !== 170) { - break; - } - - message.engines.push(EngineDefinition.decode(reader, reader.uint32())); - continue; - } - case 22: { - if (tag !== 178) { - break; - } - - message.tracks.push(TrackDefinition.decode(reader, reader.uint32())); - continue; - } - case 23: { - if (tag !== 186) { - break; - } - - message.price = TankPrice.decode(reader, reader.uint32()); - continue; - } - case 24: { - if (tag !== 194) { - break; - } - - message.research_cost = ResearchCost.decode(reader, reader.uint32()); - continue; - } - case 25: { - if (tag !== 205) { - break; - } - - message.speed_forwards = reader.float(); - continue; - } - case 26: { - if (tag !== 213) { - break; - } - - message.speed_backwards = reader.float(); - continue; - } - case 27: { - if (tag !== 221) { - break; - } - - message.camouflage_still = reader.float(); - continue; - } - case 28: { - if (tag !== 229) { - break; - } - - message.camouflage_moving = reader.float(); - continue; - } - case 29: { - if (tag !== 237) { - break; - } - - message.camouflage_onFire = reader.float(); - continue; - } - case 30: { - if (tag !== 242) { - break; - } - - message.equipment_preset = reader.string(); - continue; - } - case 31: { - if (tag !== 248) { - break; - } - - message.weight = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TankDefinition { - return { - id: globalThis.Number(assertSet("TankDefinition.id", object.id)), - roles: isObject(object.roles) - ? Object.entries(object.roles).reduce<{ [key: number]: number }>((acc, [key, value]) => { - acc[globalThis.Number(key)] = Number(value); - return acc; - }, {}) - : {}, - fixed_camouflage: globalThis.Boolean(assertSet("TankDefinition.fixed_camouflage", object.fixed_camouflage)), - camouflages: globalThis.Array.isArray(object?.camouflages) - ? object.camouflages.map((e: any) => globalThis.Number(e)) - : [], - ancestors: globalThis.Array.isArray(object?.ancestors) - ? object.ancestors.map((e: any) => globalThis.Number(e)) - : [], - successors: globalThis.Array.isArray(object?.successors) - ? object.successors.map((e: any) => globalThis.Number(e)) - : [], - crew: globalThis.Array.isArray(object?.crew) ? object.crew.map((e: any) => Crew.fromJSON(e)) : [], - health: globalThis.Number(assertSet("TankDefinition.health", object.health)), - nation: globalThis.String(assertSet("TankDefinition.nation", object.nation)), - name: I18nString.fromJSON(assertSet("TankDefinition.name", object.name)), - name_full: isSet(object.name_full) ? I18nString.fromJSON(object.name_full) : undefined, - type: tankTypeFromJSON(assertSet("TankDefinition.type", object.type)), - max_consumables: globalThis.Number(assertSet("TankDefinition.max_consumables", object.max_consumables)), - max_provisions: globalThis.Number(assertSet("TankDefinition.max_provisions", object.max_provisions)), - tier: globalThis.Number(assertSet("TankDefinition.tier", object.tier)), - class: tankClassFromJSON(assertSet("TankDefinition.class", object.class)), - testing: globalThis.Boolean(assertSet("TankDefinition.testing", object.testing)), - deprecated: globalThis.Boolean(assertSet("TankDefinition.deprecated", object.deprecated)), - turrets: globalThis.Array.isArray(object?.turrets) - ? object.turrets.map((e: any) => TurretDefinition.fromJSON(e)) - : [], - engines: globalThis.Array.isArray(object?.engines) - ? object.engines.map((e: any) => EngineDefinition.fromJSON(e)) - : [], - tracks: globalThis.Array.isArray(object?.tracks) - ? object.tracks.map((e: any) => TrackDefinition.fromJSON(e)) - : [], - price: TankPrice.fromJSON(assertSet("TankDefinition.price", object.price)), - research_cost: isSet(object.research_cost) ? ResearchCost.fromJSON(object.research_cost) : undefined, - speed_forwards: globalThis.Number(assertSet("TankDefinition.speed_forwards", object.speed_forwards)), - speed_backwards: globalThis.Number(assertSet("TankDefinition.speed_backwards", object.speed_backwards)), - camouflage_still: globalThis.Number(assertSet("TankDefinition.camouflage_still", object.camouflage_still)), - camouflage_moving: globalThis.Number(assertSet("TankDefinition.camouflage_moving", object.camouflage_moving)), - camouflage_onFire: globalThis.Number(assertSet("TankDefinition.camouflage_onFire", object.camouflage_onFire)), - equipment_preset: globalThis.String(assertSet("TankDefinition.equipment_preset", object.equipment_preset)), - weight: globalThis.Number(assertSet("TankDefinition.weight", object.weight)), - }; - }, - - toJSON(message: TankDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.roles) { - const entries = Object.entries(message.roles); - if (entries.length > 0) { - obj.roles = {}; - entries.forEach(([k, v]) => { - obj.roles[k] = Math.round(v); - }); - } - } - if (message.fixed_camouflage !== false) { - obj.fixed_camouflage = message.fixed_camouflage; - } - if (message.camouflages?.length) { - obj.camouflages = message.camouflages.map((e) => Math.round(e)); - } - if (message.ancestors?.length) { - obj.ancestors = message.ancestors.map((e) => Math.round(e)); - } - if (message.successors?.length) { - obj.successors = message.successors.map((e) => Math.round(e)); - } - if (message.crew?.length) { - obj.crew = message.crew.map((e) => Crew.toJSON(e)); - } - if (message.health !== 0) { - obj.health = Math.round(message.health); - } - if (message.nation !== "") { - obj.nation = message.nation; - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.name_full !== undefined) { - obj.name_full = I18nString.toJSON(message.name_full); - } - if (message.type !== 0) { - obj.type = tankTypeToJSON(message.type); - } - if (message.max_consumables !== 0) { - obj.max_consumables = Math.round(message.max_consumables); - } - if (message.max_provisions !== 0) { - obj.max_provisions = Math.round(message.max_provisions); - } - if (message.tier !== 0) { - obj.tier = Math.round(message.tier); - } - if (message.class !== 0) { - obj.class = tankClassToJSON(message.class); - } - if (message.testing !== false) { - obj.testing = message.testing; - } - if (message.deprecated !== false) { - obj.deprecated = message.deprecated; - } - if (message.turrets?.length) { - obj.turrets = message.turrets.map((e) => TurretDefinition.toJSON(e)); - } - if (message.engines?.length) { - obj.engines = message.engines.map((e) => EngineDefinition.toJSON(e)); - } - if (message.tracks?.length) { - obj.tracks = message.tracks.map((e) => TrackDefinition.toJSON(e)); - } - if (message.price !== undefined) { - obj.price = TankPrice.toJSON(message.price); - } - if (message.research_cost !== undefined) { - obj.research_cost = ResearchCost.toJSON(message.research_cost); - } - if (message.speed_forwards !== 0) { - obj.speed_forwards = message.speed_forwards; - } - if (message.speed_backwards !== 0) { - obj.speed_backwards = message.speed_backwards; - } - if (message.camouflage_still !== 0) { - obj.camouflage_still = message.camouflage_still; - } - if (message.camouflage_moving !== 0) { - obj.camouflage_moving = message.camouflage_moving; - } - if (message.camouflage_onFire !== 0) { - obj.camouflage_onFire = message.camouflage_onFire; - } - if (message.equipment_preset !== "") { - obj.equipment_preset = message.equipment_preset; - } - if (message.weight !== 0) { - obj.weight = Math.round(message.weight); - } - return obj; - }, - - create, I>>(base?: I): TankDefinition { - return TankDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TankDefinition { - const message = createBaseTankDefinition(); - message.id = object.id ?? 0; - message.roles = Object.entries(object.roles ?? {}).reduce<{ [key: number]: number }>((acc, [key, value]) => { - if (value !== undefined) { - acc[globalThis.Number(key)] = globalThis.Number(value); - } - return acc; - }, {}); - message.fixed_camouflage = object.fixed_camouflage ?? false; - message.camouflages = object.camouflages?.map((e) => e) || []; - message.ancestors = object.ancestors?.map((e) => e) || []; - message.successors = object.successors?.map((e) => e) || []; - message.crew = object.crew?.map((e) => Crew.fromPartial(e)) || []; - message.health = object.health ?? 0; - message.nation = object.nation ?? ""; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.name_full = (object.name_full !== undefined && object.name_full !== null) - ? I18nString.fromPartial(object.name_full) - : undefined; - message.type = object.type ?? 0; - message.max_consumables = object.max_consumables ?? 0; - message.max_provisions = object.max_provisions ?? 0; - message.tier = object.tier ?? 0; - message.class = object.class ?? 0; - message.testing = object.testing ?? false; - message.deprecated = object.deprecated ?? false; - message.turrets = object.turrets?.map((e) => TurretDefinition.fromPartial(e)) || []; - message.engines = object.engines?.map((e) => EngineDefinition.fromPartial(e)) || []; - message.tracks = object.tracks?.map((e) => TrackDefinition.fromPartial(e)) || []; - message.price = (object.price !== undefined && object.price !== null) - ? TankPrice.fromPartial(object.price) - : createBaseTankPrice(); - message.research_cost = (object.research_cost !== undefined && object.research_cost !== null) - ? ResearchCost.fromPartial(object.research_cost) - : undefined; - message.speed_forwards = object.speed_forwards ?? 0; - message.speed_backwards = object.speed_backwards ?? 0; - message.camouflage_still = object.camouflage_still ?? 0; - message.camouflage_moving = object.camouflage_moving ?? 0; - message.camouflage_onFire = object.camouflage_onFire ?? 0; - message.equipment_preset = object.equipment_preset ?? ""; - message.weight = object.weight ?? 0; - return message; - }, -}; - -function createBaseTankDefinition_RolesEntry(): TankDefinition_RolesEntry { - return { key: 0, value: 0 }; -} - -export const TankDefinition_RolesEntry: MessageFns = { - encode(message: TankDefinition_RolesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.key !== undefined) { - writer.uint32(8).uint32(message.key); - } - if (message.value !== undefined) { - writer.uint32(16).uint32(message.value); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TankDefinition_RolesEntry { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTankDefinition_RolesEntry(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.key = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.value = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TankDefinition_RolesEntry { - return { - key: globalThis.Number(assertSet("TankDefinition_RolesEntry.key", object.key)), - value: globalThis.Number(assertSet("TankDefinition_RolesEntry.value", object.value)), - }; - }, - - toJSON(message: TankDefinition_RolesEntry): unknown { - const obj: any = {}; - if (message.key !== undefined) { - obj.key = Math.round(message.key); - } - if (message.value !== undefined) { - obj.value = Math.round(message.value); - } - return obj; - }, - - create, I>>(base?: I): TankDefinition_RolesEntry { - return TankDefinition_RolesEntry.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TankDefinition_RolesEntry { - const message = createBaseTankDefinition_RolesEntry(); - message.key = object.key ?? 0; - message.value = object.value ?? 0; - return message; - }, -}; - -function createBaseResearchCost(): ResearchCost { - return { research_cost_type: undefined }; -} - -export const ResearchCost: MessageFns = { - encode(message: ResearchCost, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - switch (message.research_cost_type?.$case) { - case "xp": - writer.uint32(8).uint32(message.research_cost_type.value); - break; - case "seasonal_tokens": - ResearchCostSeasonalTokens.encode(message.research_cost_type.value, writer.uint32(18).fork()).join(); - break; - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ResearchCost { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseResearchCost(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.research_cost_type = { $case: "xp", value: reader.uint32() }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.research_cost_type = { - $case: "seasonal_tokens", - value: ResearchCostSeasonalTokens.decode(reader, reader.uint32()), - }; - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ResearchCost { - return { - research_cost_type: isSet(object.xp) - ? { $case: "xp", value: globalThis.Number(object.xp) } - : isSet(object.seasonal_tokens) - ? { $case: "seasonal_tokens", value: ResearchCostSeasonalTokens.fromJSON(object.seasonal_tokens) } - : undefined, - }; - }, - - toJSON(message: ResearchCost): unknown { - const obj: any = {}; - if (message.research_cost_type?.$case === "xp") { - obj.xp = Math.round(message.research_cost_type.value); - } - if (message.research_cost_type?.$case === "seasonal_tokens") { - obj.seasonal_tokens = ResearchCostSeasonalTokens.toJSON(message.research_cost_type.value); - } - return obj; - }, - - create, I>>(base?: I): ResearchCost { - return ResearchCost.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ResearchCost { - const message = createBaseResearchCost(); - if ( - object.research_cost_type?.$case === "xp" && - object.research_cost_type?.value !== undefined && - object.research_cost_type?.value !== null - ) { - message.research_cost_type = { $case: "xp", value: object.research_cost_type.value }; - } - if ( - object.research_cost_type?.$case === "seasonal_tokens" && - object.research_cost_type?.value !== undefined && - object.research_cost_type?.value !== null - ) { - message.research_cost_type = { - $case: "seasonal_tokens", - value: ResearchCostSeasonalTokens.fromPartial(object.research_cost_type.value), - }; - } - return message; - }, -}; - -function createBaseResearchCostSeasonalTokens(): ResearchCostSeasonalTokens { - return { season: 0, tokens: 0 }; -} - -export const ResearchCostSeasonalTokens: MessageFns = { - encode(message: ResearchCostSeasonalTokens, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.season !== 0) { - writer.uint32(8).uint32(message.season); - } - if (message.tokens !== 0) { - writer.uint32(16).uint32(message.tokens); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ResearchCostSeasonalTokens { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseResearchCostSeasonalTokens(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.season = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.tokens = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ResearchCostSeasonalTokens { - return { - season: globalThis.Number(assertSet("ResearchCostSeasonalTokens.season", object.season)), - tokens: globalThis.Number(assertSet("ResearchCostSeasonalTokens.tokens", object.tokens)), - }; - }, - - toJSON(message: ResearchCostSeasonalTokens): unknown { - const obj: any = {}; - if (message.season !== 0) { - obj.season = Math.round(message.season); - } - if (message.tokens !== 0) { - obj.tokens = Math.round(message.tokens); - } - return obj; - }, - - create, I>>(base?: I): ResearchCostSeasonalTokens { - return ResearchCostSeasonalTokens.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ResearchCostSeasonalTokens { - const message = createBaseResearchCostSeasonalTokens(); - message.season = object.season ?? 0; - message.tokens = object.tokens ?? 0; - return message; - }, -}; - -function createBaseTankPrice(): TankPrice { - return { type: 0, value: 0 }; -} - -export const TankPrice: MessageFns = { - encode(message: TankPrice, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.type !== 0) { - writer.uint32(8).int32(message.type); - } - if (message.value !== 0) { - writer.uint32(16).uint32(message.value); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TankPrice { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTankPrice(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.type = reader.int32() as any; - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.value = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TankPrice { - return { - type: tankPriceTypeFromJSON(assertSet("TankPrice.type", object.type)), - value: globalThis.Number(assertSet("TankPrice.value", object.value)), - }; - }, - - toJSON(message: TankPrice): unknown { - const obj: any = {}; - if (message.type !== 0) { - obj.type = tankPriceTypeToJSON(message.type); - } - if (message.value !== 0) { - obj.value = Math.round(message.value); - } - return obj; - }, - - create, I>>(base?: I): TankPrice { - return TankPrice.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TankPrice { - const message = createBaseTankPrice(); - message.type = object.type ?? 0; - message.value = object.value ?? 0; - return message; - }, -}; - -function createBaseTrackDefinition(): TrackDefinition { - return { - id: 0, - tier: 0, - name: createBaseI18nString(), - weight: 0, - traverse_speed: 0, - research_cost: undefined, - dispersion_move: 0, - dispersion_traverse: 0, - resistance_hard: 0, - resistance_medium: 0, - resistance_soft: 0, - unlocks: [], - }; -} - -export const TrackDefinition: MessageFns = { - encode(message: TrackDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.tier !== 0) { - writer.uint32(16).uint32(message.tier); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(26).fork()).join(); - } - if (message.weight !== 0) { - writer.uint32(32).uint32(message.weight); - } - if (message.traverse_speed !== 0) { - writer.uint32(45).float(message.traverse_speed); - } - if (message.research_cost !== undefined) { - ResearchCost.encode(message.research_cost, writer.uint32(50).fork()).join(); - } - if (message.dispersion_move !== 0) { - writer.uint32(61).float(message.dispersion_move); - } - if (message.dispersion_traverse !== 0) { - writer.uint32(69).float(message.dispersion_traverse); - } - if (message.resistance_hard !== 0) { - writer.uint32(77).float(message.resistance_hard); - } - if (message.resistance_medium !== 0) { - writer.uint32(85).float(message.resistance_medium); - } - if (message.resistance_soft !== 0) { - writer.uint32(93).float(message.resistance_soft); - } - for (const v of message.unlocks) { - Unlock.encode(v!, writer.uint32(98).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TrackDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTrackDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.tier = reader.uint32(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.weight = reader.uint32(); - continue; - } - case 5: { - if (tag !== 45) { - break; - } - - message.traverse_speed = reader.float(); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.research_cost = ResearchCost.decode(reader, reader.uint32()); - continue; - } - case 7: { - if (tag !== 61) { - break; - } - - message.dispersion_move = reader.float(); - continue; - } - case 8: { - if (tag !== 69) { - break; - } - - message.dispersion_traverse = reader.float(); - continue; - } - case 9: { - if (tag !== 77) { - break; - } - - message.resistance_hard = reader.float(); - continue; - } - case 10: { - if (tag !== 85) { - break; - } - - message.resistance_medium = reader.float(); - continue; - } - case 11: { - if (tag !== 93) { - break; - } - - message.resistance_soft = reader.float(); - continue; - } - case 12: { - if (tag !== 98) { - break; - } - - message.unlocks.push(Unlock.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TrackDefinition { - return { - id: globalThis.Number(assertSet("TrackDefinition.id", object.id)), - tier: globalThis.Number(assertSet("TrackDefinition.tier", object.tier)), - name: I18nString.fromJSON(assertSet("TrackDefinition.name", object.name)), - weight: globalThis.Number(assertSet("TrackDefinition.weight", object.weight)), - traverse_speed: globalThis.Number(assertSet("TrackDefinition.traverse_speed", object.traverse_speed)), - research_cost: isSet(object.research_cost) ? ResearchCost.fromJSON(object.research_cost) : undefined, - dispersion_move: globalThis.Number(assertSet("TrackDefinition.dispersion_move", object.dispersion_move)), - dispersion_traverse: globalThis.Number( - assertSet("TrackDefinition.dispersion_traverse", object.dispersion_traverse), - ), - resistance_hard: globalThis.Number(assertSet("TrackDefinition.resistance_hard", object.resistance_hard)), - resistance_medium: globalThis.Number(assertSet("TrackDefinition.resistance_medium", object.resistance_medium)), - resistance_soft: globalThis.Number(assertSet("TrackDefinition.resistance_soft", object.resistance_soft)), - unlocks: globalThis.Array.isArray(object?.unlocks) ? object.unlocks.map((e: any) => Unlock.fromJSON(e)) : [], - }; - }, - - toJSON(message: TrackDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.tier !== 0) { - obj.tier = Math.round(message.tier); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.weight !== 0) { - obj.weight = Math.round(message.weight); - } - if (message.traverse_speed !== 0) { - obj.traverse_speed = message.traverse_speed; - } - if (message.research_cost !== undefined) { - obj.research_cost = ResearchCost.toJSON(message.research_cost); - } - if (message.dispersion_move !== 0) { - obj.dispersion_move = message.dispersion_move; - } - if (message.dispersion_traverse !== 0) { - obj.dispersion_traverse = message.dispersion_traverse; - } - if (message.resistance_hard !== 0) { - obj.resistance_hard = message.resistance_hard; - } - if (message.resistance_medium !== 0) { - obj.resistance_medium = message.resistance_medium; - } - if (message.resistance_soft !== 0) { - obj.resistance_soft = message.resistance_soft; - } - if (message.unlocks?.length) { - obj.unlocks = message.unlocks.map((e) => Unlock.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): TrackDefinition { - return TrackDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TrackDefinition { - const message = createBaseTrackDefinition(); - message.id = object.id ?? 0; - message.tier = object.tier ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.weight = object.weight ?? 0; - message.traverse_speed = object.traverse_speed ?? 0; - message.research_cost = (object.research_cost !== undefined && object.research_cost !== null) - ? ResearchCost.fromPartial(object.research_cost) - : undefined; - message.dispersion_move = object.dispersion_move ?? 0; - message.dispersion_traverse = object.dispersion_traverse ?? 0; - message.resistance_hard = object.resistance_hard ?? 0; - message.resistance_medium = object.resistance_medium ?? 0; - message.resistance_soft = object.resistance_soft ?? 0; - message.unlocks = object.unlocks?.map((e) => Unlock.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseEngineDefinition(): EngineDefinition { - return { - id: 0, - name: createBaseI18nString(), - research_cost: undefined, - tier: 0, - fire_chance: 0, - power: 0, - weight: 0, - unlocks: [], - }; -} - -export const EngineDefinition: MessageFns = { - encode(message: EngineDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - if (message.research_cost !== undefined) { - ResearchCost.encode(message.research_cost, writer.uint32(26).fork()).join(); - } - if (message.tier !== 0) { - writer.uint32(32).uint32(message.tier); - } - if (message.fire_chance !== 0) { - writer.uint32(45).float(message.fire_chance); - } - if (message.power !== 0) { - writer.uint32(48).uint32(message.power); - } - if (message.weight !== 0) { - writer.uint32(56).uint32(message.weight); - } - for (const v of message.unlocks) { - Unlock.encode(v!, writer.uint32(66).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): EngineDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseEngineDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.research_cost = ResearchCost.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.tier = reader.uint32(); - continue; - } - case 5: { - if (tag !== 45) { - break; - } - - message.fire_chance = reader.float(); - continue; - } - case 6: { - if (tag !== 48) { - break; - } - - message.power = reader.uint32(); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.weight = reader.uint32(); - continue; - } - case 8: { - if (tag !== 66) { - break; - } - - message.unlocks.push(Unlock.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): EngineDefinition { - return { - id: globalThis.Number(assertSet("EngineDefinition.id", object.id)), - name: I18nString.fromJSON(assertSet("EngineDefinition.name", object.name)), - research_cost: isSet(object.research_cost) ? ResearchCost.fromJSON(object.research_cost) : undefined, - tier: globalThis.Number(assertSet("EngineDefinition.tier", object.tier)), - fire_chance: globalThis.Number(assertSet("EngineDefinition.fire_chance", object.fire_chance)), - power: globalThis.Number(assertSet("EngineDefinition.power", object.power)), - weight: globalThis.Number(assertSet("EngineDefinition.weight", object.weight)), - unlocks: globalThis.Array.isArray(object?.unlocks) ? object.unlocks.map((e: any) => Unlock.fromJSON(e)) : [], - }; - }, - - toJSON(message: EngineDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.research_cost !== undefined) { - obj.research_cost = ResearchCost.toJSON(message.research_cost); - } - if (message.tier !== 0) { - obj.tier = Math.round(message.tier); - } - if (message.fire_chance !== 0) { - obj.fire_chance = message.fire_chance; - } - if (message.power !== 0) { - obj.power = Math.round(message.power); - } - if (message.weight !== 0) { - obj.weight = Math.round(message.weight); - } - if (message.unlocks?.length) { - obj.unlocks = message.unlocks.map((e) => Unlock.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): EngineDefinition { - return EngineDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): EngineDefinition { - const message = createBaseEngineDefinition(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.research_cost = (object.research_cost !== undefined && object.research_cost !== null) - ? ResearchCost.fromPartial(object.research_cost) - : undefined; - message.tier = object.tier ?? 0; - message.fire_chance = object.fire_chance ?? 0; - message.power = object.power ?? 0; - message.weight = object.weight ?? 0; - message.unlocks = object.unlocks?.map((e) => Unlock.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseTurretDefinition(): TurretDefinition { - return { - id: 0, - health: 0, - view_range: 0, - traverse_speed: 0, - research_cost: undefined, - name: createBaseI18nString(), - tier: 0, - weight: 0, - guns: [], - unlocks: [], - }; -} - -export const TurretDefinition: MessageFns = { - encode(message: TurretDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.health !== 0) { - writer.uint32(16).uint32(message.health); - } - if (message.view_range !== 0) { - writer.uint32(24).uint32(message.view_range); - } - if (message.traverse_speed !== 0) { - writer.uint32(37).float(message.traverse_speed); - } - if (message.research_cost !== undefined) { - ResearchCost.encode(message.research_cost, writer.uint32(42).fork()).join(); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(50).fork()).join(); - } - if (message.tier !== 0) { - writer.uint32(56).uint32(message.tier); - } - if (message.weight !== 0) { - writer.uint32(64).uint32(message.weight); - } - for (const v of message.guns) { - GunDefinition.encode(v!, writer.uint32(74).fork()).join(); - } - for (const v of message.unlocks) { - Unlock.encode(v!, writer.uint32(82).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): TurretDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseTurretDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.health = reader.uint32(); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.view_range = reader.uint32(); - continue; - } - case 4: { - if (tag !== 37) { - break; - } - - message.traverse_speed = reader.float(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.research_cost = ResearchCost.decode(reader, reader.uint32()); - continue; - } - case 6: { - if (tag !== 50) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 7: { - if (tag !== 56) { - break; - } - - message.tier = reader.uint32(); - continue; - } - case 8: { - if (tag !== 64) { - break; - } - - message.weight = reader.uint32(); - continue; - } - case 9: { - if (tag !== 74) { - break; - } - - message.guns.push(GunDefinition.decode(reader, reader.uint32())); - continue; - } - case 10: { - if (tag !== 82) { - break; - } - - message.unlocks.push(Unlock.decode(reader, reader.uint32())); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): TurretDefinition { - return { - id: globalThis.Number(assertSet("TurretDefinition.id", object.id)), - health: globalThis.Number(assertSet("TurretDefinition.health", object.health)), - view_range: globalThis.Number(assertSet("TurretDefinition.view_range", object.view_range)), - traverse_speed: globalThis.Number(assertSet("TurretDefinition.traverse_speed", object.traverse_speed)), - research_cost: isSet(object.research_cost) ? ResearchCost.fromJSON(object.research_cost) : undefined, - name: I18nString.fromJSON(assertSet("TurretDefinition.name", object.name)), - tier: globalThis.Number(assertSet("TurretDefinition.tier", object.tier)), - weight: globalThis.Number(assertSet("TurretDefinition.weight", object.weight)), - guns: globalThis.Array.isArray(object?.guns) ? object.guns.map((e: any) => GunDefinition.fromJSON(e)) : [], - unlocks: globalThis.Array.isArray(object?.unlocks) ? object.unlocks.map((e: any) => Unlock.fromJSON(e)) : [], - }; - }, - - toJSON(message: TurretDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.health !== 0) { - obj.health = Math.round(message.health); - } - if (message.view_range !== 0) { - obj.view_range = Math.round(message.view_range); - } - if (message.traverse_speed !== 0) { - obj.traverse_speed = message.traverse_speed; - } - if (message.research_cost !== undefined) { - obj.research_cost = ResearchCost.toJSON(message.research_cost); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.tier !== 0) { - obj.tier = Math.round(message.tier); - } - if (message.weight !== 0) { - obj.weight = Math.round(message.weight); - } - if (message.guns?.length) { - obj.guns = message.guns.map((e) => GunDefinition.toJSON(e)); - } - if (message.unlocks?.length) { - obj.unlocks = message.unlocks.map((e) => Unlock.toJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): TurretDefinition { - return TurretDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): TurretDefinition { - const message = createBaseTurretDefinition(); - message.id = object.id ?? 0; - message.health = object.health ?? 0; - message.view_range = object.view_range ?? 0; - message.traverse_speed = object.traverse_speed ?? 0; - message.research_cost = (object.research_cost !== undefined && object.research_cost !== null) - ? ResearchCost.fromPartial(object.research_cost) - : undefined; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.tier = object.tier ?? 0; - message.weight = object.weight ?? 0; - message.guns = object.guns?.map((e) => GunDefinition.fromPartial(e)) || []; - message.unlocks = object.unlocks?.map((e) => Unlock.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseGunDefinition(): GunDefinition { - return { gun_type: undefined }; -} - -export const GunDefinition: MessageFns = { - encode(message: GunDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - switch (message.gun_type?.$case) { - case "regular": - GunDefinitionRegular.encode(message.gun_type.value, writer.uint32(10).fork()).join(); - break; - case "auto_loader": - GunDefinitionAutoLoader.encode(message.gun_type.value, writer.uint32(18).fork()).join(); - break; - case "auto_reloader": - GunDefinitionAutoReloader.encode(message.gun_type.value, writer.uint32(26).fork()).join(); - break; - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.gun_type = { $case: "regular", value: GunDefinitionRegular.decode(reader, reader.uint32()) }; - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.gun_type = { $case: "auto_loader", value: GunDefinitionAutoLoader.decode(reader, reader.uint32()) }; - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.gun_type = { - $case: "auto_reloader", - value: GunDefinitionAutoReloader.decode(reader, reader.uint32()), - }; - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinition { - return { - gun_type: isSet(object.regular) - ? { $case: "regular", value: GunDefinitionRegular.fromJSON(object.regular) } - : isSet(object.auto_loader) - ? { $case: "auto_loader", value: GunDefinitionAutoLoader.fromJSON(object.auto_loader) } - : isSet(object.auto_reloader) - ? { $case: "auto_reloader", value: GunDefinitionAutoReloader.fromJSON(object.auto_reloader) } - : undefined, - }; - }, - - toJSON(message: GunDefinition): unknown { - const obj: any = {}; - if (message.gun_type?.$case === "regular") { - obj.regular = GunDefinitionRegular.toJSON(message.gun_type.value); - } - if (message.gun_type?.$case === "auto_loader") { - obj.auto_loader = GunDefinitionAutoLoader.toJSON(message.gun_type.value); - } - if (message.gun_type?.$case === "auto_reloader") { - obj.auto_reloader = GunDefinitionAutoReloader.toJSON(message.gun_type.value); - } - return obj; - }, - - create, I>>(base?: I): GunDefinition { - return GunDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunDefinition { - const message = createBaseGunDefinition(); - if ( - object.gun_type?.$case === "regular" && object.gun_type?.value !== undefined && object.gun_type?.value !== null - ) { - message.gun_type = { $case: "regular", value: GunDefinitionRegular.fromPartial(object.gun_type.value) }; - } - if ( - object.gun_type?.$case === "auto_loader" && - object.gun_type?.value !== undefined && - object.gun_type?.value !== null - ) { - message.gun_type = { $case: "auto_loader", value: GunDefinitionAutoLoader.fromPartial(object.gun_type.value) }; - } - if ( - object.gun_type?.$case === "auto_reloader" && - object.gun_type?.value !== undefined && - object.gun_type?.value !== null - ) { - message.gun_type = { - $case: "auto_reloader", - value: GunDefinitionAutoReloader.fromPartial(object.gun_type.value), - }; - } - return message; - }, -}; - -function createBaseGunDefinitionRegular(): GunDefinitionRegular { - return { base: createBaseGunDefinitionBase(), extension: createBaseGunDefinitionRegularProperties() }; -} - -export const GunDefinitionRegular: MessageFns = { - encode(message: GunDefinitionRegular, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.base !== undefined) { - GunDefinitionBase.encode(message.base, writer.uint32(10).fork()).join(); - } - if (message.extension !== undefined) { - GunDefinitionRegularProperties.encode(message.extension, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionRegular { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionRegular(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.base = GunDefinitionBase.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.extension = GunDefinitionRegularProperties.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionRegular { - return { - base: GunDefinitionBase.fromJSON(assertSet("GunDefinitionRegular.base", object.base)), - extension: GunDefinitionRegularProperties.fromJSON(assertSet("GunDefinitionRegular.extension", object.extension)), - }; - }, - - toJSON(message: GunDefinitionRegular): unknown { - const obj: any = {}; - if (message.base !== undefined) { - obj.base = GunDefinitionBase.toJSON(message.base); - } - if (message.extension !== undefined) { - obj.extension = GunDefinitionRegularProperties.toJSON(message.extension); - } - return obj; - }, - - create, I>>(base?: I): GunDefinitionRegular { - return GunDefinitionRegular.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunDefinitionRegular { - const message = createBaseGunDefinitionRegular(); - message.base = (object.base !== undefined && object.base !== null) - ? GunDefinitionBase.fromPartial(object.base) - : createBaseGunDefinitionBase(); - message.extension = (object.extension !== undefined && object.extension !== null) - ? GunDefinitionRegularProperties.fromPartial(object.extension) - : createBaseGunDefinitionRegularProperties(); - return message; - }, -}; - -function createBaseGunDefinitionRegularProperties(): GunDefinitionRegularProperties { - return { reload: 0 }; -} - -export const GunDefinitionRegularProperties: MessageFns = { - encode(message: GunDefinitionRegularProperties, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.reload !== 0) { - writer.uint32(13).float(message.reload); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionRegularProperties { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionRegularProperties(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.reload = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionRegularProperties { - return { reload: globalThis.Number(assertSet("GunDefinitionRegularProperties.reload", object.reload)) }; - }, - - toJSON(message: GunDefinitionRegularProperties): unknown { - const obj: any = {}; - if (message.reload !== 0) { - obj.reload = message.reload; - } - return obj; - }, - - create, I>>(base?: I): GunDefinitionRegularProperties { - return GunDefinitionRegularProperties.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): GunDefinitionRegularProperties { - const message = createBaseGunDefinitionRegularProperties(); - message.reload = object.reload ?? 0; - return message; - }, -}; - -function createBaseGunDefinitionAutoLoader(): GunDefinitionAutoLoader { - return { base: createBaseGunDefinitionBase(), extension: createBaseGunDefinitionAutoLoaderProperties() }; -} - -export const GunDefinitionAutoLoader: MessageFns = { - encode(message: GunDefinitionAutoLoader, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.base !== undefined) { - GunDefinitionBase.encode(message.base, writer.uint32(10).fork()).join(); - } - if (message.extension !== undefined) { - GunDefinitionAutoLoaderProperties.encode(message.extension, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionAutoLoader { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionAutoLoader(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.base = GunDefinitionBase.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.extension = GunDefinitionAutoLoaderProperties.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionAutoLoader { - return { - base: GunDefinitionBase.fromJSON(assertSet("GunDefinitionAutoLoader.base", object.base)), - extension: GunDefinitionAutoLoaderProperties.fromJSON( - assertSet("GunDefinitionAutoLoader.extension", object.extension), - ), - }; - }, - - toJSON(message: GunDefinitionAutoLoader): unknown { - const obj: any = {}; - if (message.base !== undefined) { - obj.base = GunDefinitionBase.toJSON(message.base); - } - if (message.extension !== undefined) { - obj.extension = GunDefinitionAutoLoaderProperties.toJSON(message.extension); - } - return obj; - }, - - create, I>>(base?: I): GunDefinitionAutoLoader { - return GunDefinitionAutoLoader.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunDefinitionAutoLoader { - const message = createBaseGunDefinitionAutoLoader(); - message.base = (object.base !== undefined && object.base !== null) - ? GunDefinitionBase.fromPartial(object.base) - : createBaseGunDefinitionBase(); - message.extension = (object.extension !== undefined && object.extension !== null) - ? GunDefinitionAutoLoaderProperties.fromPartial(object.extension) - : createBaseGunDefinitionAutoLoaderProperties(); - return message; - }, -}; - -function createBaseGunDefinitionAutoLoaderProperties(): GunDefinitionAutoLoaderProperties { - return { clip_reload: 0, intra_clip: 0, shell_count: 0 }; -} - -export const GunDefinitionAutoLoaderProperties: MessageFns = { - encode(message: GunDefinitionAutoLoaderProperties, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.clip_reload !== 0) { - writer.uint32(13).float(message.clip_reload); - } - if (message.intra_clip !== 0) { - writer.uint32(21).float(message.intra_clip); - } - if (message.shell_count !== 0) { - writer.uint32(29).float(message.shell_count); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionAutoLoaderProperties { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionAutoLoaderProperties(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.clip_reload = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.intra_clip = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.shell_count = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionAutoLoaderProperties { - return { - clip_reload: globalThis.Number(assertSet("GunDefinitionAutoLoaderProperties.clip_reload", object.clip_reload)), - intra_clip: globalThis.Number(assertSet("GunDefinitionAutoLoaderProperties.intra_clip", object.intra_clip)), - shell_count: globalThis.Number(assertSet("GunDefinitionAutoLoaderProperties.shell_count", object.shell_count)), - }; - }, - - toJSON(message: GunDefinitionAutoLoaderProperties): unknown { - const obj: any = {}; - if (message.clip_reload !== 0) { - obj.clip_reload = message.clip_reload; - } - if (message.intra_clip !== 0) { - obj.intra_clip = message.intra_clip; - } - if (message.shell_count !== 0) { - obj.shell_count = message.shell_count; - } - return obj; - }, - - create, I>>( - base?: I, - ): GunDefinitionAutoLoaderProperties { - return GunDefinitionAutoLoaderProperties.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): GunDefinitionAutoLoaderProperties { - const message = createBaseGunDefinitionAutoLoaderProperties(); - message.clip_reload = object.clip_reload ?? 0; - message.intra_clip = object.intra_clip ?? 0; - message.shell_count = object.shell_count ?? 0; - return message; - }, -}; - -function createBaseGunDefinitionAutoReloader(): GunDefinitionAutoReloader { - return { base: createBaseGunDefinitionBase(), extension: createBaseGunDefinitionAutoReloaderProperties() }; -} - -export const GunDefinitionAutoReloader: MessageFns = { - encode(message: GunDefinitionAutoReloader, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.base !== undefined) { - GunDefinitionBase.encode(message.base, writer.uint32(10).fork()).join(); - } - if (message.extension !== undefined) { - GunDefinitionAutoReloaderProperties.encode(message.extension, writer.uint32(18).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionAutoReloader { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionAutoReloader(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.base = GunDefinitionBase.decode(reader, reader.uint32()); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.extension = GunDefinitionAutoReloaderProperties.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionAutoReloader { - return { - base: GunDefinitionBase.fromJSON(assertSet("GunDefinitionAutoReloader.base", object.base)), - extension: GunDefinitionAutoReloaderProperties.fromJSON( - assertSet("GunDefinitionAutoReloader.extension", object.extension), - ), - }; - }, - - toJSON(message: GunDefinitionAutoReloader): unknown { - const obj: any = {}; - if (message.base !== undefined) { - obj.base = GunDefinitionBase.toJSON(message.base); - } - if (message.extension !== undefined) { - obj.extension = GunDefinitionAutoReloaderProperties.toJSON(message.extension); - } - return obj; - }, - - create, I>>(base?: I): GunDefinitionAutoReloader { - return GunDefinitionAutoReloader.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunDefinitionAutoReloader { - const message = createBaseGunDefinitionAutoReloader(); - message.base = (object.base !== undefined && object.base !== null) - ? GunDefinitionBase.fromPartial(object.base) - : createBaseGunDefinitionBase(); - message.extension = (object.extension !== undefined && object.extension !== null) - ? GunDefinitionAutoReloaderProperties.fromPartial(object.extension) - : createBaseGunDefinitionAutoReloaderProperties(); - return message; - }, -}; - -function createBaseGunDefinitionAutoReloaderProperties(): GunDefinitionAutoReloaderProperties { - return { shell_reloads: [], intra_clip: 0, shell_count: 0 }; -} - -export const GunDefinitionAutoReloaderProperties: MessageFns = { - encode(message: GunDefinitionAutoReloaderProperties, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - writer.uint32(10).fork(); - for (const v of message.shell_reloads) { - writer.float(v); - } - writer.join(); - if (message.intra_clip !== 0) { - writer.uint32(21).float(message.intra_clip); - } - if (message.shell_count !== 0) { - writer.uint32(29).float(message.shell_count); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionAutoReloaderProperties { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionAutoReloaderProperties(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag === 13) { - message.shell_reloads.push(reader.float()); - - continue; - } - - if (tag === 10) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.shell_reloads.push(reader.float()); - } - - continue; - } - - break; - } - case 2: { - if (tag !== 21) { - break; - } - - message.intra_clip = reader.float(); - continue; - } - case 3: { - if (tag !== 29) { - break; - } - - message.shell_count = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionAutoReloaderProperties { - return { - shell_reloads: globalThis.Array.isArray(object?.shell_reloads) - ? object.shell_reloads.map((e: any) => globalThis.Number(e)) - : [], - intra_clip: globalThis.Number(assertSet("GunDefinitionAutoReloaderProperties.intra_clip", object.intra_clip)), - shell_count: globalThis.Number(assertSet("GunDefinitionAutoReloaderProperties.shell_count", object.shell_count)), - }; - }, - - toJSON(message: GunDefinitionAutoReloaderProperties): unknown { - const obj: any = {}; - if (message.shell_reloads?.length) { - obj.shell_reloads = message.shell_reloads; - } - if (message.intra_clip !== 0) { - obj.intra_clip = message.intra_clip; - } - if (message.shell_count !== 0) { - obj.shell_count = message.shell_count; - } - return obj; - }, - - create, I>>( - base?: I, - ): GunDefinitionAutoReloaderProperties { - return GunDefinitionAutoReloaderProperties.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>( - object: I, - ): GunDefinitionAutoReloaderProperties { - const message = createBaseGunDefinitionAutoReloaderProperties(); - message.shell_reloads = object.shell_reloads?.map((e) => e) || []; - message.intra_clip = object.intra_clip ?? 0; - message.shell_count = object.shell_count ?? 0; - return message; - }, -}; - -function createBaseGunDefinitionBase(): GunDefinitionBase { - return { - id: 0, - rotation_speed: 0, - research_cost: undefined, - weight: 0, - name: createBaseI18nString(), - tier: 0, - shells: [], - camouflage_loss: 0, - aim_time: 0, - dispersion_base: 0, - dispersion_traverse: 0, - dispersion_shot: 0, - dispersion_damaged: 0, - unlocks: [], - shell_capacity: 0, - }; -} - -export const GunDefinitionBase: MessageFns = { - encode(message: GunDefinitionBase, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.rotation_speed !== 0) { - writer.uint32(21).float(message.rotation_speed); - } - if (message.research_cost !== undefined) { - ResearchCost.encode(message.research_cost, writer.uint32(26).fork()).join(); - } - if (message.weight !== 0) { - writer.uint32(32).uint32(message.weight); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(42).fork()).join(); - } - if (message.tier !== 0) { - writer.uint32(48).uint32(message.tier); - } - for (const v of message.shells) { - ShellDefinition.encode(v!, writer.uint32(58).fork()).join(); - } - if (message.camouflage_loss !== 0) { - writer.uint32(69).float(message.camouflage_loss); - } - if (message.aim_time !== 0) { - writer.uint32(77).float(message.aim_time); - } - if (message.dispersion_base !== 0) { - writer.uint32(85).float(message.dispersion_base); - } - if (message.dispersion_traverse !== 0) { - writer.uint32(93).float(message.dispersion_traverse); - } - if (message.dispersion_shot !== 0) { - writer.uint32(101).float(message.dispersion_shot); - } - if (message.dispersion_damaged !== 0) { - writer.uint32(109).float(message.dispersion_damaged); - } - for (const v of message.unlocks) { - Unlock.encode(v!, writer.uint32(114).fork()).join(); - } - if (message.shell_capacity !== 0) { - writer.uint32(120).uint32(message.shell_capacity); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): GunDefinitionBase { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseGunDefinitionBase(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.rotation_speed = reader.float(); - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.research_cost = ResearchCost.decode(reader, reader.uint32()); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.weight = reader.uint32(); - continue; - } - case 5: { - if (tag !== 42) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 6: { - if (tag !== 48) { - break; - } - - message.tier = reader.uint32(); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.shells.push(ShellDefinition.decode(reader, reader.uint32())); - continue; - } - case 8: { - if (tag !== 69) { - break; - } - - message.camouflage_loss = reader.float(); - continue; - } - case 9: { - if (tag !== 77) { - break; - } - - message.aim_time = reader.float(); - continue; - } - case 10: { - if (tag !== 85) { - break; - } - - message.dispersion_base = reader.float(); - continue; - } - case 11: { - if (tag !== 93) { - break; - } - - message.dispersion_traverse = reader.float(); - continue; - } - case 12: { - if (tag !== 101) { - break; - } - - message.dispersion_shot = reader.float(); - continue; - } - case 13: { - if (tag !== 109) { - break; - } - - message.dispersion_damaged = reader.float(); - continue; - } - case 14: { - if (tag !== 114) { - break; - } - - message.unlocks.push(Unlock.decode(reader, reader.uint32())); - continue; - } - case 15: { - if (tag !== 120) { - break; - } - - message.shell_capacity = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): GunDefinitionBase { - return { - id: globalThis.Number(assertSet("GunDefinitionBase.id", object.id)), - rotation_speed: globalThis.Number(assertSet("GunDefinitionBase.rotation_speed", object.rotation_speed)), - research_cost: isSet(object.research_cost) ? ResearchCost.fromJSON(object.research_cost) : undefined, - weight: globalThis.Number(assertSet("GunDefinitionBase.weight", object.weight)), - name: I18nString.fromJSON(assertSet("GunDefinitionBase.name", object.name)), - tier: globalThis.Number(assertSet("GunDefinitionBase.tier", object.tier)), - shells: globalThis.Array.isArray(object?.shells) - ? object.shells.map((e: any) => ShellDefinition.fromJSON(e)) - : [], - camouflage_loss: globalThis.Number(assertSet("GunDefinitionBase.camouflage_loss", object.camouflage_loss)), - aim_time: globalThis.Number(assertSet("GunDefinitionBase.aim_time", object.aim_time)), - dispersion_base: globalThis.Number(assertSet("GunDefinitionBase.dispersion_base", object.dispersion_base)), - dispersion_traverse: globalThis.Number( - assertSet("GunDefinitionBase.dispersion_traverse", object.dispersion_traverse), - ), - dispersion_shot: globalThis.Number(assertSet("GunDefinitionBase.dispersion_shot", object.dispersion_shot)), - dispersion_damaged: globalThis.Number( - assertSet("GunDefinitionBase.dispersion_damaged", object.dispersion_damaged), - ), - unlocks: globalThis.Array.isArray(object?.unlocks) ? object.unlocks.map((e: any) => Unlock.fromJSON(e)) : [], - shell_capacity: globalThis.Number(assertSet("GunDefinitionBase.shell_capacity", object.shell_capacity)), - }; - }, - - toJSON(message: GunDefinitionBase): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.rotation_speed !== 0) { - obj.rotation_speed = message.rotation_speed; - } - if (message.research_cost !== undefined) { - obj.research_cost = ResearchCost.toJSON(message.research_cost); - } - if (message.weight !== 0) { - obj.weight = Math.round(message.weight); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.tier !== 0) { - obj.tier = Math.round(message.tier); - } - if (message.shells?.length) { - obj.shells = message.shells.map((e) => ShellDefinition.toJSON(e)); - } - if (message.camouflage_loss !== 0) { - obj.camouflage_loss = message.camouflage_loss; - } - if (message.aim_time !== 0) { - obj.aim_time = message.aim_time; - } - if (message.dispersion_base !== 0) { - obj.dispersion_base = message.dispersion_base; - } - if (message.dispersion_traverse !== 0) { - obj.dispersion_traverse = message.dispersion_traverse; - } - if (message.dispersion_shot !== 0) { - obj.dispersion_shot = message.dispersion_shot; - } - if (message.dispersion_damaged !== 0) { - obj.dispersion_damaged = message.dispersion_damaged; - } - if (message.unlocks?.length) { - obj.unlocks = message.unlocks.map((e) => Unlock.toJSON(e)); - } - if (message.shell_capacity !== 0) { - obj.shell_capacity = Math.round(message.shell_capacity); - } - return obj; - }, - - create, I>>(base?: I): GunDefinitionBase { - return GunDefinitionBase.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): GunDefinitionBase { - const message = createBaseGunDefinitionBase(); - message.id = object.id ?? 0; - message.rotation_speed = object.rotation_speed ?? 0; - message.research_cost = (object.research_cost !== undefined && object.research_cost !== null) - ? ResearchCost.fromPartial(object.research_cost) - : undefined; - message.weight = object.weight ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.tier = object.tier ?? 0; - message.shells = object.shells?.map((e) => ShellDefinition.fromPartial(e)) || []; - message.camouflage_loss = object.camouflage_loss ?? 0; - message.aim_time = object.aim_time ?? 0; - message.dispersion_base = object.dispersion_base ?? 0; - message.dispersion_traverse = object.dispersion_traverse ?? 0; - message.dispersion_shot = object.dispersion_shot ?? 0; - message.dispersion_damaged = object.dispersion_damaged ?? 0; - message.unlocks = object.unlocks?.map((e) => Unlock.fromPartial(e)) || []; - message.shell_capacity = object.shell_capacity ?? 0; - return message; - }, -}; - -function createBaseShellDefinition(): ShellDefinition { - return { - id: 0, - name: createBaseI18nString(), - velocity: 0, - armor_damage: 0, - module_damage: 0, - caliber: 0, - icon: "", - penetration: createBaseShellPenetration(), - type: 0, - normalization: undefined, - ricochet: undefined, - explosion_radius: undefined, - range: 0, - }; -} - -export const ShellDefinition: MessageFns = { - encode(message: ShellDefinition, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).uint32(message.id); - } - if (message.name !== undefined) { - I18nString.encode(message.name, writer.uint32(18).fork()).join(); - } - if (message.velocity !== 0) { - writer.uint32(24).uint32(message.velocity); - } - if (message.armor_damage !== 0) { - writer.uint32(32).uint32(message.armor_damage); - } - if (message.module_damage !== 0) { - writer.uint32(40).uint32(message.module_damage); - } - if (message.caliber !== 0) { - writer.uint32(53).float(message.caliber); - } - if (message.icon !== "") { - writer.uint32(58).string(message.icon); - } - if (message.penetration !== undefined) { - ShellPenetration.encode(message.penetration, writer.uint32(66).fork()).join(); - } - if (message.type !== 0) { - writer.uint32(72).int32(message.type); - } - if (message.normalization !== undefined && message.normalization !== undefined) { - writer.uint32(85).float(message.normalization); - } - if (message.ricochet !== undefined && message.ricochet !== undefined) { - writer.uint32(93).float(message.ricochet); - } - if (message.explosion_radius !== undefined && message.explosion_radius !== undefined) { - writer.uint32(101).float(message.explosion_radius); - } - if (message.range !== 0) { - writer.uint32(104).uint32(message.range); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ShellDefinition { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseShellDefinition(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.uint32(); - continue; - } - case 2: { - if (tag !== 18) { - break; - } - - message.name = I18nString.decode(reader, reader.uint32()); - continue; - } - case 3: { - if (tag !== 24) { - break; - } - - message.velocity = reader.uint32(); - continue; - } - case 4: { - if (tag !== 32) { - break; - } - - message.armor_damage = reader.uint32(); - continue; - } - case 5: { - if (tag !== 40) { - break; - } - - message.module_damage = reader.uint32(); - continue; - } - case 6: { - if (tag !== 53) { - break; - } - - message.caliber = reader.float(); - continue; - } - case 7: { - if (tag !== 58) { - break; - } - - message.icon = reader.string(); - continue; - } - case 8: { - if (tag !== 66) { - break; - } - - message.penetration = ShellPenetration.decode(reader, reader.uint32()); - continue; - } - case 9: { - if (tag !== 72) { - break; - } - - message.type = reader.int32() as any; - continue; - } - case 10: { - if (tag !== 85) { - break; - } - - message.normalization = reader.float(); - continue; - } - case 11: { - if (tag !== 93) { - break; - } - - message.ricochet = reader.float(); - continue; - } - case 12: { - if (tag !== 101) { - break; - } - - message.explosion_radius = reader.float(); - continue; - } - case 13: { - if (tag !== 104) { - break; - } - - message.range = reader.uint32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ShellDefinition { - return { - id: globalThis.Number(assertSet("ShellDefinition.id", object.id)), - name: I18nString.fromJSON(assertSet("ShellDefinition.name", object.name)), - velocity: globalThis.Number(assertSet("ShellDefinition.velocity", object.velocity)), - armor_damage: globalThis.Number(assertSet("ShellDefinition.armor_damage", object.armor_damage)), - module_damage: globalThis.Number(assertSet("ShellDefinition.module_damage", object.module_damage)), - caliber: globalThis.Number(assertSet("ShellDefinition.caliber", object.caliber)), - icon: globalThis.String(assertSet("ShellDefinition.icon", object.icon)), - penetration: ShellPenetration.fromJSON(assertSet("ShellDefinition.penetration", object.penetration)), - type: shellTypeFromJSON(assertSet("ShellDefinition.type", object.type)), - normalization: isSet(object.normalization) ? globalThis.Number(object.normalization) : undefined, - ricochet: isSet(object.ricochet) ? globalThis.Number(object.ricochet) : undefined, - explosion_radius: isSet(object.explosion_radius) ? globalThis.Number(object.explosion_radius) : undefined, - range: globalThis.Number(assertSet("ShellDefinition.range", object.range)), - }; - }, - - toJSON(message: ShellDefinition): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.name !== undefined) { - obj.name = I18nString.toJSON(message.name); - } - if (message.velocity !== 0) { - obj.velocity = Math.round(message.velocity); - } - if (message.armor_damage !== 0) { - obj.armor_damage = Math.round(message.armor_damage); - } - if (message.module_damage !== 0) { - obj.module_damage = Math.round(message.module_damage); - } - if (message.caliber !== 0) { - obj.caliber = message.caliber; - } - if (message.icon !== "") { - obj.icon = message.icon; - } - if (message.penetration !== undefined) { - obj.penetration = ShellPenetration.toJSON(message.penetration); - } - if (message.type !== 0) { - obj.type = shellTypeToJSON(message.type); - } - if (message.normalization !== undefined && message.normalization !== undefined) { - obj.normalization = message.normalization; - } - if (message.ricochet !== undefined && message.ricochet !== undefined) { - obj.ricochet = message.ricochet; - } - if (message.explosion_radius !== undefined && message.explosion_radius !== undefined) { - obj.explosion_radius = message.explosion_radius; - } - if (message.range !== 0) { - obj.range = Math.round(message.range); - } - return obj; - }, - - create, I>>(base?: I): ShellDefinition { - return ShellDefinition.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ShellDefinition { - const message = createBaseShellDefinition(); - message.id = object.id ?? 0; - message.name = (object.name !== undefined && object.name !== null) - ? I18nString.fromPartial(object.name) - : createBaseI18nString(); - message.velocity = object.velocity ?? 0; - message.armor_damage = object.armor_damage ?? 0; - message.module_damage = object.module_damage ?? 0; - message.caliber = object.caliber ?? 0; - message.icon = object.icon ?? ""; - message.penetration = (object.penetration !== undefined && object.penetration !== null) - ? ShellPenetration.fromPartial(object.penetration) - : createBaseShellPenetration(); - message.type = object.type ?? 0; - message.normalization = object.normalization ?? undefined; - message.ricochet = object.ricochet ?? undefined; - message.explosion_radius = object.explosion_radius ?? undefined; - message.range = object.range ?? 0; - return message; - }, -}; - -function createBaseShellPenetration(): ShellPenetration { - return { near: 0, far: 0 }; -} - -export const ShellPenetration: MessageFns = { - encode(message: ShellPenetration, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.near !== 0) { - writer.uint32(13).float(message.near); - } - if (message.far !== 0) { - writer.uint32(21).float(message.far); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): ShellPenetration { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseShellPenetration(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 13) { - break; - } - - message.near = reader.float(); - continue; - } - case 2: { - if (tag !== 21) { - break; - } - - message.far = reader.float(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): ShellPenetration { - return { - near: globalThis.Number(assertSet("ShellPenetration.near", object.near)), - far: globalThis.Number(assertSet("ShellPenetration.far", object.far)), - }; - }, - - toJSON(message: ShellPenetration): unknown { - const obj: any = {}; - if (message.near !== 0) { - obj.near = message.near; - } - if (message.far !== 0) { - obj.far = message.far; - } - return obj; - }, - - create, I>>(base?: I): ShellPenetration { - return ShellPenetration.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): ShellPenetration { - const message = createBaseShellPenetration(); - message.near = object.near ?? 0; - message.far = object.far ?? 0; - return message; - }, -}; - -function createBaseUnlock(): Unlock { - return { id: 0, type: 0, cost: createBaseUnlockCost() }; -} - -export const Unlock: MessageFns = { - encode(message: Unlock, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== 0) { - writer.uint32(8).int32(message.id); - } - if (message.type !== 0) { - writer.uint32(16).int32(message.type); - } - if (message.cost !== undefined) { - UnlockCost.encode(message.cost, writer.uint32(26).fork()).join(); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Unlock { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUnlock(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.id = reader.int32(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.type = reader.int32() as any; - continue; - } - case 3: { - if (tag !== 26) { - break; - } - - message.cost = UnlockCost.decode(reader, reader.uint32()); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Unlock { - return { - id: globalThis.Number(assertSet("Unlock.id", object.id)), - type: moduleTypeFromJSON(assertSet("Unlock.type", object.type)), - cost: UnlockCost.fromJSON(assertSet("Unlock.cost", object.cost)), - }; - }, - - toJSON(message: Unlock): unknown { - const obj: any = {}; - if (message.id !== 0) { - obj.id = Math.round(message.id); - } - if (message.type !== 0) { - obj.type = moduleTypeToJSON(message.type); - } - if (message.cost !== undefined) { - obj.cost = UnlockCost.toJSON(message.cost); - } - return obj; - }, - - create, I>>(base?: I): Unlock { - return Unlock.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Unlock { - const message = createBaseUnlock(); - message.id = object.id ?? 0; - message.type = object.type ?? 0; - message.cost = (object.cost !== undefined && object.cost !== null) - ? UnlockCost.fromPartial(object.cost) - : createBaseUnlockCost(); - return message; - }, -}; - -function createBaseUnlockCost(): UnlockCost { - return { type: "", value: 0 }; -} - -export const UnlockCost: MessageFns = { - encode(message: UnlockCost, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.type !== "") { - writer.uint32(10).string(message.type); - } - if (message.value !== 0) { - writer.uint32(16).int32(message.value); - } - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): UnlockCost { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseUnlockCost(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 10) { - break; - } - - message.type = reader.string(); - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.value = reader.int32(); - continue; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): UnlockCost { - return { - type: globalThis.String(assertSet("UnlockCost.type", object.type)), - value: globalThis.Number(assertSet("UnlockCost.value", object.value)), - }; - }, - - toJSON(message: UnlockCost): unknown { - const obj: any = {}; - if (message.type !== "") { - obj.type = message.type; - } - if (message.value !== 0) { - obj.value = Math.round(message.value); - } - return obj; - }, - - create, I>>(base?: I): UnlockCost { - return UnlockCost.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): UnlockCost { - const message = createBaseUnlockCost(); - message.type = object.type ?? ""; - message.value = object.value ?? 0; - return message; - }, -}; - -function createBaseCrew(): Crew { - return { type: 0, count: 0, substitute: [] }; -} - -export const Crew: MessageFns = { - encode(message: Crew, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.type !== 0) { - writer.uint32(8).int32(message.type); - } - if (message.count !== 0) { - writer.uint32(16).uint32(message.count); - } - writer.uint32(26).fork(); - for (const v of message.substitute) { - writer.int32(v); - } - writer.join(); - return writer; - }, - - decode(input: BinaryReader | Uint8Array, length?: number): Crew { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseCrew(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: { - if (tag !== 8) { - break; - } - - message.type = reader.int32() as any; - continue; - } - case 2: { - if (tag !== 16) { - break; - } - - message.count = reader.uint32(); - continue; - } - case 3: { - if (tag === 24) { - message.substitute.push(reader.int32() as any); - - continue; - } - - if (tag === 26) { - const end2 = reader.uint32() + reader.pos; - while (reader.pos < end2) { - message.substitute.push(reader.int32() as any); - } - - continue; - } - - break; - } - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skip(tag & 7); - } - return message; - }, - - fromJSON(object: any): Crew { - return { - type: crewTypeFromJSON(assertSet("Crew.type", object.type)), - count: globalThis.Number(assertSet("Crew.count", object.count)), - substitute: globalThis.Array.isArray(object?.substitute) - ? object.substitute.map((e: any) => crewTypeFromJSON(e)) - : [], - }; - }, - - toJSON(message: Crew): unknown { - const obj: any = {}; - if (message.type !== 0) { - obj.type = crewTypeToJSON(message.type); - } - if (message.count !== 0) { - obj.count = Math.round(message.count); - } - if (message.substitute?.length) { - obj.substitute = message.substitute.map((e) => crewTypeToJSON(e)); - } - return obj; - }, - - create, I>>(base?: I): Crew { - return Crew.fromPartial(base ?? ({} as any)); - }, - fromPartial, I>>(object: I): Crew { - const message = createBaseCrew(); - message.type = object.type ?? 0; - message.count = object.count ?? 0; - message.substitute = object.substitute?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -function isObject(value: any): boolean { - return typeof value === "object" && value !== null; -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} - -function assertSet(field: string, value: T | undefined): T { - if (!isSet(value)) { - throw new TypeError(`Required field ${field} is not set`); - } - - return value as T; -} - -export interface MessageFns { - encode(message: T, writer?: BinaryWriter): BinaryWriter; - decode(input: BinaryReader | Uint8Array, length?: number): T; - fromJSON(object: any): T; - toJSON(message: T): unknown; - create, I>>(base?: I): T; - fromPartial, I>>(object: I): T; -} diff --git a/src/CLI/Functions/Mangler.cs b/src/CLI/Functions/Mangler.cs new file mode 100644 index 000000000..34ea0001b --- /dev/null +++ b/src/CLI/Functions/Mangler.cs @@ -0,0 +1,9 @@ +namespace CLI.Functions +{ + public static class Mangler + { + public static void Mangle() { + + } + } +} diff --git a/src/CLI/Program.cs b/src/CLI/Program.cs index 99a9bd2a0..71839a8c1 100644 --- a/src/CLI/Program.cs +++ b/src/CLI/Program.cs @@ -14,6 +14,12 @@ namespace CLI break; } + case "mangle": + { + Mangler.Mangle(); + break; + } + case "test": { Debug.Run(args);