fix missing tank map

This commit is contained in:
tresabhi committed 2026-08-04 13:35:51 -05:00
1 parent 7e9be14a9a
commit 94c3608ca7
5 files changed
+23 -15

No files matched your search

+5
View File
@@ -3,6 +3,7 @@ import {
CamouflageDefinitions, CamouflageDefinitions,
ConsumableDefinitions, ConsumableDefinitions,
GameDefinitions, GameDefinitions,
ModelDefinitions,
ProvisionDefinitions, ProvisionDefinitions,
TankDefinitions, TankDefinitions,
} from "../../protos"; } from "../../protos";
@@ -28,4 +29,8 @@ export class ClientBlitzKitAPI extends BlitzKitAPI {
provisionDefinitions() { provisionDefinitions() {
return fetchPB("/api/definitions/provisions.pb", ProvisionDefinitions); return fetchPB("/api/definitions/provisions.pb", ProvisionDefinitions);
} }
modelDefinitions() {
return fetchPB("/api/definitions/models.pb", ModelDefinitions);
}
} }
@@ -21,6 +21,8 @@ import {
SquadBattleTypeStylesYaml, SquadBattleTypeStylesYaml,
TankClass, TankClass,
TankmenAvatar, TankmenAvatar,
toUniqueId,
VehicleDefinitionList,
} from "@blitzkit/core"; } from "@blitzkit/core";
import { AbstractVFS } from "@blitzkit/core/src/blitzkit/vfs/abstract"; import { AbstractVFS } from "@blitzkit/core/src/blitzkit/vfs/abstract";
import { SUPPORTED_LOCALE_BLITZ_MAP } from "@blitzkit/i18n"; import { SUPPORTED_LOCALE_BLITZ_MAP } from "@blitzkit/i18n";
@@ -217,7 +219,20 @@ export abstract class ServerBlitzKitAPI0 extends BlitzKitAPI {
); );
} }
console.log("Initialization complete, enjoy :)"); for (const nation of this.nationsDir!) {
const tankList = await this.vfs.xml<{ root: VehicleDefinitionList }>(
`Data/XML/item_defs/vehicles/${nation}/list.xml`,
);
for (const tankKey in tankList.root) {
if (this.botPattern.test(tankKey)) continue;
const tank = tankList.root[tankKey];
const tankId = toUniqueId(nation, tank.id);
this.tankStringIdMap[`${nation}:${tankKey}`] = tankId;
}
}
return this; return this;
} }
@@ -15,7 +15,6 @@ import {
ShellKind, ShellKind,
sluggify, sluggify,
TankDefinitions, TankDefinitions,
TankParameters,
TankPrice, TankPrice,
TankPriceType, TankPriceType,
TankType, TankType,
@@ -26,10 +25,7 @@ import {
VehicleDefinitionList, VehicleDefinitionList,
VehicleDefinitions, VehicleDefinitions,
} from "@blitzkit/core"; } from "@blitzkit/core";
import { import { Cache, ServerBlitzKitAPI0 } from "./0_base";
Cache,
ServerBlitzKitAPI0,
} from "./0_base";
export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 { export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
private parseResearchCost(raw: number | string) { private parseResearchCost(raw: number | string) {
@@ -238,16 +234,11 @@ export abstract class ServerBlitzKitAPI1 extends ServerBlitzKitAPI0 {
const tankDefinition = await this.vfs.xml<{ root: VehicleDefinitions }>( const tankDefinition = await this.vfs.xml<{ root: VehicleDefinitions }>(
`Data/XML/item_defs/vehicles/${nation}/${tankKey}.xml`, `Data/XML/item_defs/vehicles/${nation}/${tankKey}.xml`,
); );
const tankParameters = await this.vfs.yaml<TankParameters>(
`Data/3d/Tanks/Parameters/${nation}/${tankKey}.yaml`,
);
const tankId = toUniqueId(nation, tank.id); const tankId = toUniqueId(nation, tank.id);
const tankTags = tank.tags.split(" "); const tankTags = tank.tags.split(" ");
const equipment = tankDefinition.root.optDevicePreset; const equipment = tankDefinition.root.optDevicePreset;
this.tankStringIdMap[`${nation}:${tankKey}`] = tankId;
const slug = slugs.get(tankId); const slug = slugs.get(tankId);
if (slug === undefined) { if (slug === undefined) {
@@ -11,7 +11,7 @@ export abstract class ServerBlitzKitAPI7 extends ServerBlitzKitAPI6 {
async provisionDefinitions() { async provisionDefinitions() {
const provisionDefinitions = ProvisionDefinitions.create(); const provisionDefinitions = ProvisionDefinitions.create();
Object.entries(this.provisionsCommon).forEach(([key, provision]) => { Object.entries(this.provisionsCommon).forEach(([, provision]) => {
const entry: Provision = { const entry: Provision = {
id: provision.id, id: provision.id,
exclude: [], exclude: [],
@@ -5,9 +5,6 @@ export { getStaticPaths } from "../_index";
export async function GET() { export async function GET() {
const definitions = await api.consumableDefinitions(); const definitions = await api.consumableDefinitions();
console.dir(definitions, { depth: null });
const bytes = ConsumableDefinitions.encode(definitions).finish(); const bytes = ConsumableDefinitions.encode(definitions).finish();
return new Response(bytes); return new Response(bytes);