fix: include all tanks

This commit is contained in:
tresabhi committed 2025-03-05 10:03:03 -06:00
1 parent 6e8fdcfeef
commit 1fce9c1c88
4 files changed
+376 -244

No files matched your search

@@ -5,10 +5,10 @@
// source: packages/core/src/protos/legacy_game_definitions.proto // source: packages/core/src/protos/legacy_game_definitions.proto
/* eslint-disable */ /* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
import { I18nString } from "./legacy_i18n"; import { I18nString, createBaseI18nString } from './legacy_i18n';
export const protobufPackage = "blitzkit"; export const protobufPackage = 'blitzkit';
export interface GameDefinitions { export interface GameDefinitions {
version: string; version: string;
@@ -37,28 +37,38 @@ export interface GameModeRole {
} }
function createBaseGameDefinitions(): GameDefinitions { function createBaseGameDefinitions(): GameDefinitions {
return { version: "", nations: [], gameModes: {}, roles: {} }; return { version: '', nations: [], gameModes: {}, roles: {} };
} }
export const GameDefinitions: MessageFns<GameDefinitions> = { export const GameDefinitions: MessageFns<GameDefinitions> = {
encode(message: GameDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { encode(
if (message.version !== "") { message: GameDefinitions,
writer: BinaryWriter = new BinaryWriter(),
): BinaryWriter {
if (message.version !== '') {
writer.uint32(10).string(message.version); writer.uint32(10).string(message.version);
} }
for (const v of message.nations) { for (const v of message.nations) {
writer.uint32(18).string(v!); writer.uint32(18).string(v!);
} }
Object.entries(message.gameModes).forEach(([key, value]) => { Object.entries(message.gameModes).forEach(([key, value]) => {
GameDefinitions_GameModesEntry.encode({ key: key as any, value }, writer.uint32(26).fork()).join(); GameDefinitions_GameModesEntry.encode(
{ key: key as any, value },
writer.uint32(26).fork(),
).join();
}); });
Object.entries(message.roles).forEach(([key, value]) => { Object.entries(message.roles).forEach(([key, value]) => {
GameDefinitions_RolesEntry.encode({ key: key as any, value }, writer.uint32(34).fork()).join(); GameDefinitions_RolesEntry.encode(
{ key: key as any, value },
writer.uint32(34).fork(),
).join();
}); });
return writer; return writer;
}, },
decode(input: BinaryReader | Uint8Array, length?: number): GameDefinitions { decode(input: BinaryReader | Uint8Array, length?: number): GameDefinitions {
const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const reader =
input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length; let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGameDefinitions(); const message = createBaseGameDefinitions();
while (reader.pos < end) { while (reader.pos < end) {
@@ -85,7 +95,10 @@ export const GameDefinitions: MessageFns<GameDefinitions> = {
break; break;
} }
const entry3 = GameDefinitions_GameModesEntry.decode(reader, reader.uint32()); const entry3 = GameDefinitions_GameModesEntry.decode(
reader,
reader.uint32(),
);
if (entry3.value !== undefined) { if (entry3.value !== undefined) {
message.gameModes[entry3.key] = entry3.value; message.gameModes[entry3.key] = entry3.value;
} }
@@ -96,7 +109,10 @@ export const GameDefinitions: MessageFns<GameDefinitions> = {
break; break;
} }
const entry4 = GameDefinitions_RolesEntry.decode(reader, reader.uint32()); const entry4 = GameDefinitions_RolesEntry.decode(
reader,
reader.uint32(),
);
if (entry4.value !== undefined) { if (entry4.value !== undefined) {
message.roles[entry4.key] = entry4.value; message.roles[entry4.key] = entry4.value;
} }
@@ -113,26 +129,36 @@ export const GameDefinitions: MessageFns<GameDefinitions> = {
fromJSON(object: any): GameDefinitions { fromJSON(object: any): GameDefinitions {
return { return {
version: globalThis.String(assertSet("GameDefinitions.version", object.version)), version: globalThis.String(
nations: globalThis.Array.isArray(object?.nations) ? object.nations.map((e: any) => globalThis.String(e)) : [], assertSet('GameDefinitions.version', object.version),
),
nations: globalThis.Array.isArray(object?.nations)
? object.nations.map((e: any) => globalThis.String(e))
: [],
gameModes: isObject(object.gameModes) gameModes: isObject(object.gameModes)
? Object.entries(object.gameModes).reduce<{ [key: number]: GameMode }>((acc, [key, value]) => { ? Object.entries(object.gameModes).reduce<{ [key: number]: GameMode }>(
acc[globalThis.Number(key)] = GameMode.fromJSON(value); (acc, [key, value]) => {
return acc; acc[globalThis.Number(key)] = GameMode.fromJSON(value);
}, {}) return acc;
},
{},
)
: {}, : {},
roles: isObject(object.roles) roles: isObject(object.roles)
? Object.entries(object.roles).reduce<{ [key: number]: GameModeRole }>((acc, [key, value]) => { ? Object.entries(object.roles).reduce<{ [key: number]: GameModeRole }>(
acc[globalThis.Number(key)] = GameModeRole.fromJSON(value); (acc, [key, value]) => {
return acc; acc[globalThis.Number(key)] = GameModeRole.fromJSON(value);
}, {}) return acc;
},
{},
)
: {}, : {},
}; };
}, },
toJSON(message: GameDefinitions): unknown { toJSON(message: GameDefinitions): unknown {
const obj: any = {}; const obj: any = {};
if (message.version !== "") { if (message.version !== '') {
obj.version = message.version; obj.version = message.version;
} }
if (message.nations?.length) { if (message.nations?.length) {
@@ -159,23 +185,28 @@ export const GameDefinitions: MessageFns<GameDefinitions> = {
return obj; return obj;
}, },
create<I extends Exact<DeepPartial<GameDefinitions>, I>>(base?: I): GameDefinitions { create<I extends Exact<DeepPartial<GameDefinitions>, I>>(
base?: I,
): GameDefinitions {
return GameDefinitions.fromPartial(base ?? ({} as any)); return GameDefinitions.fromPartial(base ?? ({} as any));
}, },
fromPartial<I extends Exact<DeepPartial<GameDefinitions>, I>>(object: I): GameDefinitions { fromPartial<I extends Exact<DeepPartial<GameDefinitions>, I>>(
object: I,
): GameDefinitions {
const message = createBaseGameDefinitions(); const message = createBaseGameDefinitions();
message.version = object.version ?? ""; message.version = object.version ?? '';
message.nations = object.nations?.map((e) => e) || []; message.nations = object.nations?.map((e) => e) || [];
message.gameModes = Object.entries(object.gameModes ?? {}).reduce<{ [key: number]: GameMode }>( message.gameModes = Object.entries(object.gameModes ?? {}).reduce<{
(acc, [key, value]) => { [key: number]: GameMode;
if (value !== undefined) { }>((acc, [key, value]) => {
acc[globalThis.Number(key)] = GameMode.fromPartial(value); if (value !== undefined) {
} acc[globalThis.Number(key)] = GameMode.fromPartial(value);
return acc; }
}, return acc;
{}, }, {});
); message.roles = Object.entries(object.roles ?? {}).reduce<{
message.roles = Object.entries(object.roles ?? {}).reduce<{ [key: number]: GameModeRole }>((acc, [key, value]) => { [key: number]: GameModeRole;
}>((acc, [key, value]) => {
if (value !== undefined) { if (value !== undefined) {
acc[globalThis.Number(key)] = GameModeRole.fromPartial(value); acc[globalThis.Number(key)] = GameModeRole.fromPartial(value);
} }
@@ -189,166 +220,201 @@ function createBaseGameDefinitions_GameModesEntry(): GameDefinitions_GameModesEn
return { key: 0, value: createBaseGameMode() }; return { key: 0, value: createBaseGameMode() };
} }
export const GameDefinitions_GameModesEntry: MessageFns<GameDefinitions_GameModesEntry> = { export const GameDefinitions_GameModesEntry: MessageFns<GameDefinitions_GameModesEntry> =
encode(message: GameDefinitions_GameModesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { {
if (message.key !== undefined) { encode(
writer.uint32(8).uint32(message.key); message: GameDefinitions_GameModesEntry,
} writer: BinaryWriter = new BinaryWriter(),
if (message.value !== undefined) { ): BinaryWriter {
GameMode.encode(message.value, writer.uint32(18).fork()).join(); if (message.key !== undefined) {
} writer.uint32(8).uint32(message.key);
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) { if (message.value !== undefined) {
break; GameMode.encode(message.value, writer.uint32(18).fork()).join();
} }
reader.skip(tag & 7); return writer;
} },
return message;
},
fromJSON(object: any): GameDefinitions_GameModesEntry { decode(
return { input: BinaryReader | Uint8Array,
key: globalThis.Number(assertSet("GameDefinitions_GameModesEntry.key", object.key)), length?: number,
value: GameMode.fromJSON(assertSet("GameDefinitions_GameModesEntry.value", object.value)), ): 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;
}
toJSON(message: GameDefinitions_GameModesEntry): unknown { message.key = reader.uint32();
const obj: any = {}; continue;
if (message.key !== undefined) { }
obj.key = Math.round(message.key); case 2: {
} if (tag !== 18) {
if (message.value !== undefined) { break;
obj.value = GameMode.toJSON(message.value); }
}
return obj;
},
create<I extends Exact<DeepPartial<GameDefinitions_GameModesEntry>, I>>(base?: I): GameDefinitions_GameModesEntry { message.value = GameMode.decode(reader, reader.uint32());
return GameDefinitions_GameModesEntry.fromPartial(base ?? ({} as any)); continue;
}, }
fromPartial<I extends Exact<DeepPartial<GameDefinitions_GameModesEntry>, I>>( }
object: I, if ((tag & 7) === 4 || tag === 0) {
): GameDefinitions_GameModesEntry { break;
const message = createBaseGameDefinitions_GameModesEntry(); }
message.key = object.key ?? 0; reader.skip(tag & 7);
message.value = (object.value !== undefined && object.value !== null) }
? GameMode.fromPartial(object.value) return message;
: undefined; },
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 extends Exact<DeepPartial<GameDefinitions_GameModesEntry>, I>>(
base?: I,
): GameDefinitions_GameModesEntry {
return GameDefinitions_GameModesEntry.fromPartial(base ?? ({} as any));
},
fromPartial<
I extends Exact<DeepPartial<GameDefinitions_GameModesEntry>, 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 { function createBaseGameDefinitions_RolesEntry(): GameDefinitions_RolesEntry {
return { key: 0, value: createBaseGameModeRole() }; return { key: 0, value: createBaseGameModeRole() };
} }
export const GameDefinitions_RolesEntry: MessageFns<GameDefinitions_RolesEntry> = { export const GameDefinitions_RolesEntry: MessageFns<GameDefinitions_RolesEntry> =
encode(message: GameDefinitions_RolesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { {
if (message.key !== undefined) { encode(
writer.uint32(8).uint32(message.key); message: GameDefinitions_RolesEntry,
} writer: BinaryWriter = new BinaryWriter(),
if (message.value !== undefined) { ): BinaryWriter {
GameModeRole.encode(message.value, writer.uint32(18).fork()).join(); if (message.key !== undefined) {
} writer.uint32(8).uint32(message.key);
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) { if (message.value !== undefined) {
break; GameModeRole.encode(message.value, writer.uint32(18).fork()).join();
} }
reader.skip(tag & 7); return writer;
} },
return message;
},
fromJSON(object: any): GameDefinitions_RolesEntry { decode(
return { input: BinaryReader | Uint8Array,
key: globalThis.Number(assertSet("GameDefinitions_RolesEntry.key", object.key)), length?: number,
value: GameModeRole.fromJSON(assertSet("GameDefinitions_RolesEntry.value", object.value)), ): 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;
}
toJSON(message: GameDefinitions_RolesEntry): unknown { message.key = reader.uint32();
const obj: any = {}; continue;
if (message.key !== undefined) { }
obj.key = Math.round(message.key); case 2: {
} if (tag !== 18) {
if (message.value !== undefined) { break;
obj.value = GameModeRole.toJSON(message.value); }
}
return obj;
},
create<I extends Exact<DeepPartial<GameDefinitions_RolesEntry>, I>>(base?: I): GameDefinitions_RolesEntry { message.value = GameModeRole.decode(reader, reader.uint32());
return GameDefinitions_RolesEntry.fromPartial(base ?? ({} as any)); continue;
}, }
fromPartial<I extends Exact<DeepPartial<GameDefinitions_RolesEntry>, I>>(object: I): GameDefinitions_RolesEntry { }
const message = createBaseGameDefinitions_RolesEntry(); if ((tag & 7) === 4 || tag === 0) {
message.key = object.key ?? 0; break;
message.value = (object.value !== undefined && object.value !== null) }
? GameModeRole.fromPartial(object.value) reader.skip(tag & 7);
: undefined; }
return message; 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 extends Exact<DeepPartial<GameDefinitions_RolesEntry>, I>>(
base?: I,
): GameDefinitions_RolesEntry {
return GameDefinitions_RolesEntry.fromPartial(base ?? ({} as any));
},
fromPartial<I extends Exact<DeepPartial<GameDefinitions_RolesEntry>, 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 { function createBaseGameMode(): GameMode {
return { name: createBaseI18nString() }; return { name: createBaseI18nString() };
} }
export const GameMode: MessageFns<GameMode> = { export const GameMode: MessageFns<GameMode> = {
encode(message: GameMode, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { encode(
message: GameMode,
writer: BinaryWriter = new BinaryWriter(),
): BinaryWriter {
if (message.name !== undefined) { if (message.name !== undefined) {
I18nString.encode(message.name, writer.uint32(10).fork()).join(); I18nString.encode(message.name, writer.uint32(10).fork()).join();
} }
@@ -356,7 +422,8 @@ export const GameMode: MessageFns<GameMode> = {
}, },
decode(input: BinaryReader | Uint8Array, length?: number): GameMode { decode(input: BinaryReader | Uint8Array, length?: number): GameMode {
const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const reader =
input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length; let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGameMode(); const message = createBaseGameMode();
while (reader.pos < end) { while (reader.pos < end) {
@@ -380,7 +447,9 @@ export const GameMode: MessageFns<GameMode> = {
}, },
fromJSON(object: any): GameMode { fromJSON(object: any): GameMode {
return { name: I18nString.fromJSON(assertSet("GameMode.name", object.name)) }; return {
name: I18nString.fromJSON(assertSet('GameMode.name', object.name)),
};
}, },
toJSON(message: GameMode): unknown { toJSON(message: GameMode): unknown {
@@ -396,9 +465,10 @@ export const GameMode: MessageFns<GameMode> = {
}, },
fromPartial<I extends Exact<DeepPartial<GameMode>, I>>(object: I): GameMode { fromPartial<I extends Exact<DeepPartial<GameMode>, I>>(object: I): GameMode {
const message = createBaseGameMode(); const message = createBaseGameMode();
message.name = (object.name !== undefined && object.name !== null) message.name =
? I18nString.fromPartial(object.name) object.name !== undefined && object.name !== null
: createBaseI18nString(); ? I18nString.fromPartial(object.name)
: createBaseI18nString();
return message; return message;
}, },
}; };
@@ -408,7 +478,10 @@ function createBaseGameModeRole(): GameModeRole {
} }
export const GameModeRole: MessageFns<GameModeRole> = { export const GameModeRole: MessageFns<GameModeRole> = {
encode(message: GameModeRole, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { encode(
message: GameModeRole,
writer: BinaryWriter = new BinaryWriter(),
): BinaryWriter {
writer.uint32(10).fork(); writer.uint32(10).fork();
for (const v of message.provisions) { for (const v of message.provisions) {
writer.uint32(v); writer.uint32(v);
@@ -423,7 +496,8 @@ export const GameModeRole: MessageFns<GameModeRole> = {
}, },
decode(input: BinaryReader | Uint8Array, length?: number): GameModeRole { decode(input: BinaryReader | Uint8Array, length?: number): GameModeRole {
const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const reader =
input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length; let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGameModeRole(); const message = createBaseGameModeRole();
while (reader.pos < end) { while (reader.pos < end) {
@@ -496,10 +570,14 @@ export const GameModeRole: MessageFns<GameModeRole> = {
return obj; return obj;
}, },
create<I extends Exact<DeepPartial<GameModeRole>, I>>(base?: I): GameModeRole { create<I extends Exact<DeepPartial<GameModeRole>, I>>(
base?: I,
): GameModeRole {
return GameModeRole.fromPartial(base ?? ({} as any)); return GameModeRole.fromPartial(base ?? ({} as any));
}, },
fromPartial<I extends Exact<DeepPartial<GameModeRole>, I>>(object: I): GameModeRole { fromPartial<I extends Exact<DeepPartial<GameModeRole>, I>>(
object: I,
): GameModeRole {
const message = createBaseGameModeRole(); const message = createBaseGameModeRole();
message.provisions = object.provisions?.map((e) => e) || []; message.provisions = object.provisions?.map((e) => e) || [];
message.consumables = object.consumables?.map((e) => e) || []; message.consumables = object.consumables?.map((e) => e) || [];
@@ -507,21 +585,36 @@ export const GameModeRole: MessageFns<GameModeRole> = {
}, },
}; };
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type Builtin =
| Date
| Function
| Uint8Array
| string
| number
| boolean
| undefined;
export type DeepPartial<T> = T extends Builtin ? T export type DeepPartial<T> = T extends Builtin
: T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> ? T
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends globalThis.Array<infer U>
: T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial<T["value"]> } ? globalThis.Array<DeepPartial<U>>
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> } : T extends ReadonlyArray<infer U>
: Partial<T>; ? ReadonlyArray<DeepPartial<U>>
: T extends { $case: string; value: unknown }
? { $case: T['$case']; value?: DeepPartial<T['value']> }
: T extends {}
? { [K in keyof T]?: DeepPartial<T[K]> }
: Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never; type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P export type Exact<P, I extends P> = P extends Builtin
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never }; ? P
: P & { [K in keyof P]: Exact<P[K], I[K]> } & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
function isObject(value: any): boolean { function isObject(value: any): boolean {
return typeof value === "object" && value !== null; return typeof value === 'object' && value !== null;
} }
function isSet(value: any): boolean { function isSet(value: any): boolean {
+80 -33
View File
@@ -5,9 +5,9 @@
// source: packages/core/src/protos/legacy_i18n.proto // source: packages/core/src/protos/legacy_i18n.proto
/* eslint-disable */ /* eslint-disable */
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire';
export const protobufPackage = "blitzkit"; export const protobufPackage = 'blitzkit';
export interface I18nString { export interface I18nString {
locales: { [key: string]: string }; locales: { [key: string]: string };
@@ -18,20 +18,27 @@ export interface I18nString_LocalesEntry {
value: string; value: string;
} }
function createBaseI18nString(): I18nString { export function createBaseI18nString(): I18nString {
return { locales: {} }; return { locales: {} };
} }
export const I18nString: MessageFns<I18nString> = { export const I18nString: MessageFns<I18nString> = {
encode(message: I18nString, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { encode(
message: I18nString,
writer: BinaryWriter = new BinaryWriter(),
): BinaryWriter {
Object.entries(message.locales).forEach(([key, value]) => { Object.entries(message.locales).forEach(([key, value]) => {
I18nString_LocalesEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); I18nString_LocalesEntry.encode(
{ key: key as any, value },
writer.uint32(10).fork(),
).join();
}); });
return writer; return writer;
}, },
decode(input: BinaryReader | Uint8Array, length?: number): I18nString { decode(input: BinaryReader | Uint8Array, length?: number): I18nString {
const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const reader =
input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length; let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseI18nString(); const message = createBaseI18nString();
while (reader.pos < end) { while (reader.pos < end) {
@@ -42,7 +49,10 @@ export const I18nString: MessageFns<I18nString> = {
break; break;
} }
const entry1 = I18nString_LocalesEntry.decode(reader, reader.uint32()); const entry1 = I18nString_LocalesEntry.decode(
reader,
reader.uint32(),
);
if (entry1.value !== undefined) { if (entry1.value !== undefined) {
message.locales[entry1.key] = entry1.value; message.locales[entry1.key] = entry1.value;
} }
@@ -60,10 +70,13 @@ export const I18nString: MessageFns<I18nString> = {
fromJSON(object: any): I18nString { fromJSON(object: any): I18nString {
return { return {
locales: isObject(object.locales) locales: isObject(object.locales)
? Object.entries(object.locales).reduce<{ [key: string]: string }>((acc, [key, value]) => { ? Object.entries(object.locales).reduce<{ [key: string]: string }>(
acc[key] = String(value); (acc, [key, value]) => {
return acc; acc[key] = String(value);
}, {}) return acc;
},
{},
)
: {}, : {},
}; };
}, },
@@ -85,9 +98,13 @@ export const I18nString: MessageFns<I18nString> = {
create<I extends Exact<DeepPartial<I18nString>, I>>(base?: I): I18nString { create<I extends Exact<DeepPartial<I18nString>, I>>(base?: I): I18nString {
return I18nString.fromPartial(base ?? ({} as any)); return I18nString.fromPartial(base ?? ({} as any));
}, },
fromPartial<I extends Exact<DeepPartial<I18nString>, I>>(object: I): I18nString { fromPartial<I extends Exact<DeepPartial<I18nString>, I>>(
object: I,
): I18nString {
const message = createBaseI18nString(); const message = createBaseI18nString();
message.locales = Object.entries(object.locales ?? {}).reduce<{ [key: string]: string }>((acc, [key, value]) => { message.locales = Object.entries(object.locales ?? {}).reduce<{
[key: string]: string;
}>((acc, [key, value]) => {
if (value !== undefined) { if (value !== undefined) {
acc[key] = globalThis.String(value); acc[key] = globalThis.String(value);
} }
@@ -98,11 +115,14 @@ export const I18nString: MessageFns<I18nString> = {
}; };
function createBaseI18nString_LocalesEntry(): I18nString_LocalesEntry { function createBaseI18nString_LocalesEntry(): I18nString_LocalesEntry {
return { key: "", value: "" }; return { key: '', value: '' };
} }
export const I18nString_LocalesEntry: MessageFns<I18nString_LocalesEntry> = { export const I18nString_LocalesEntry: MessageFns<I18nString_LocalesEntry> = {
encode(message: I18nString_LocalesEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { encode(
message: I18nString_LocalesEntry,
writer: BinaryWriter = new BinaryWriter(),
): BinaryWriter {
if (message.key !== undefined) { if (message.key !== undefined) {
writer.uint32(10).string(message.key); writer.uint32(10).string(message.key);
} }
@@ -112,8 +132,12 @@ export const I18nString_LocalesEntry: MessageFns<I18nString_LocalesEntry> = {
return writer; return writer;
}, },
decode(input: BinaryReader | Uint8Array, length?: number): I18nString_LocalesEntry { decode(
const reader = input instanceof BinaryReader ? input : new BinaryReader(input); input: BinaryReader | Uint8Array,
length?: number,
): I18nString_LocalesEntry {
const reader =
input instanceof BinaryReader ? input : new BinaryReader(input);
let end = length === undefined ? reader.len : reader.pos + length; let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseI18nString_LocalesEntry(); const message = createBaseI18nString_LocalesEntry();
while (reader.pos < end) { while (reader.pos < end) {
@@ -146,8 +170,12 @@ export const I18nString_LocalesEntry: MessageFns<I18nString_LocalesEntry> = {
fromJSON(object: any): I18nString_LocalesEntry { fromJSON(object: any): I18nString_LocalesEntry {
return { return {
key: globalThis.String(assertSet("I18nString_LocalesEntry.key", object.key)), key: globalThis.String(
value: globalThis.String(assertSet("I18nString_LocalesEntry.value", object.value)), assertSet('I18nString_LocalesEntry.key', object.key),
),
value: globalThis.String(
assertSet('I18nString_LocalesEntry.value', object.value),
),
}; };
}, },
@@ -162,32 +190,51 @@ export const I18nString_LocalesEntry: MessageFns<I18nString_LocalesEntry> = {
return obj; return obj;
}, },
create<I extends Exact<DeepPartial<I18nString_LocalesEntry>, I>>(base?: I): I18nString_LocalesEntry { create<I extends Exact<DeepPartial<I18nString_LocalesEntry>, I>>(
base?: I,
): I18nString_LocalesEntry {
return I18nString_LocalesEntry.fromPartial(base ?? ({} as any)); return I18nString_LocalesEntry.fromPartial(base ?? ({} as any));
}, },
fromPartial<I extends Exact<DeepPartial<I18nString_LocalesEntry>, I>>(object: I): I18nString_LocalesEntry { fromPartial<I extends Exact<DeepPartial<I18nString_LocalesEntry>, I>>(
object: I,
): I18nString_LocalesEntry {
const message = createBaseI18nString_LocalesEntry(); const message = createBaseI18nString_LocalesEntry();
message.key = object.key ?? ""; message.key = object.key ?? '';
message.value = object.value ?? ""; message.value = object.value ?? '';
return message; return message;
}, },
}; };
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type Builtin =
| Date
| Function
| Uint8Array
| string
| number
| boolean
| undefined;
export type DeepPartial<T> = T extends Builtin ? T export type DeepPartial<T> = T extends Builtin
: T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> ? T
: T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends globalThis.Array<infer U>
: T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial<T["value"]> } ? globalThis.Array<DeepPartial<U>>
: T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> } : T extends ReadonlyArray<infer U>
: Partial<T>; ? ReadonlyArray<DeepPartial<U>>
: T extends { $case: string; value: unknown }
? { $case: T['$case']; value?: DeepPartial<T['value']> }
: T extends {}
? { [K in keyof T]?: DeepPartial<T[K]> }
: Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never; type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P export type Exact<P, I extends P> = P extends Builtin
: P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never }; ? P
: P & { [K in keyof P]: Exact<P[K], I[K]> } & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
function isObject(value: any): boolean { function isObject(value: any): boolean {
return typeof value === "object" && value !== null; return typeof value === 'object' && value !== null;
} }
function isSet(value: any): boolean { function isSet(value: any): boolean {
@@ -14,7 +14,7 @@ const tanks = await awaitableTanks;
<PageWrapper> <PageWrapper>
{ {
tanks.tanks.map((tank) => ( tanks.tanks.map((tank) => (
<Link href={`./${tank.seo_id}`}>{tank.seo_id}</Link> <Link href={`./${tank.slug}`}>{tank.slug}</Link>
)) ))
} }
</PageWrapper> </PageWrapper>
+9 -17
View File
@@ -89,30 +89,22 @@ namespace BlitzKit.CLI.Functions
void MangleNations() void MangleNations()
{ {
var dirs = provider.RootDirectory.GetDirectory("Blitz/Content/Tanks").Directories; var dirs = provider.RootDirectory.GetDirectory("Blitz/Content/Tanks").Directories;
Tanks tanks = new();
foreach (var dir in dirs) foreach (var dir in dirs)
{ {
if (dir.Key == "TankStub") if (dir.Key == "TankStub")
continue; continue;
MangleNation(dir.Value); foreach (var tankDir in dir.Value.Directories)
} {
} // if (tankDir.Value.Name != "R90_IS_4")
// continue;
void MangleNation(VFS nation) var tank = MangleTank(tankDir.Value);
{ TankMeta tankMeta = new() { Id = tank.Id, Slug = tank.Slug };
Tanks tanks = new(); tanks.Tanks_.Add(tankMeta);
}
foreach (var tankDir in nation.Directories)
{
// if (tankDir.Value.Name != "R90_IS_4")
// continue;
var tank = MangleTank(tankDir.Value);
TankMeta tankMeta = new() { Id = tank.Id, Slug = tank.Slug };
tanks.Tanks_.Add(tankMeta);
} }
changes.Add(new("definitions/tanks.pb", tanks.ToByteArray())); changes.Add(new("definitions/tanks.pb", tanks.ToByteArray()));