UNPKG

xcom2charpool

Version:

Library for reading, manipulating, and managing XCOM 2 character pool binary files, supporting both browser and Node.js environments.

242 lines (241 loc) 21.9 kB
import { Reader } from '../Reader'; import { Writer } from '../Writer'; import { CodecRegistry } from '../Registry'; import { BaseCodec } from '../BaseCodec'; import { CharacterPoolSchema } from '../Schema/CharacterPoolSchema'; import z from 'zod/v4'; /** * Core file codec for vanilla CharacterPool binaries with schema validation and registry setup. */ export declare class CharacterPoolFile extends BaseCodec { private readonly ctx; private readonly obj; private readonly arr; private readonly magic; get registry(): CodecRegistry; constructor(); read(reader: Reader): z.infer<typeof CharacterPoolSchema>; write(writer: Writer, file: unknown): void; protected schema(): z.ZodObject<{ Props: z.ZodRecord<z.ZodString, z.ZodUnknown>; CharacterPool: z.ZodArray<z.ZodType<import("..").StructOf<z.ZodObject<{ strFirstName: z.ZodString; strLastName: z.ZodString; strNickName: z.ZodOptional<z.ZodString>; m_SoldierClassTemplateName: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; CharacterTemplateName: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; kAppearance: z.ZodType<import("..").StructOf<z.ZodObject<{ nmHead: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iGender: z.ZodOptional<z.ZodNumber>; iRace: z.ZodOptional<z.ZodNumber>; nmHaircut: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iHairColor: z.ZodOptional<z.ZodNumber>; iFacialHair: z.ZodOptional<z.ZodNumber>; nmBeard: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iSkinColor: z.ZodOptional<z.ZodNumber>; iEyeColor: z.ZodOptional<z.ZodNumber>; nmFlag: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iVoice: z.ZodOptional<z.ZodNumber>; iAttitude: z.ZodOptional<z.ZodNumber>; iArmorDeco: z.ZodOptional<z.ZodNumber>; iArmorTint: z.ZodOptional<z.ZodNumber>; iArmorTintSecondary: z.ZodOptional<z.ZodNumber>; iWeaponTint: z.ZodOptional<z.ZodNumber>; iTattooTint: z.ZodOptional<z.ZodNumber>; nmWeaponPattern: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPawn: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmHelmet: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmEye: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTeeth: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropLower: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropUpper: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPatterns: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmVoice: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLanguage: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_LeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_RightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmScars: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePaint: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmThighs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmShins: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorsoDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; bGhostPawn: z.ZodOptional<z.ZodBoolean>; }, z.core.$loose>>, unknown, z.core.$ZodTypeInternals<import("..").StructOf<z.ZodObject<{ nmHead: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iGender: z.ZodOptional<z.ZodNumber>; iRace: z.ZodOptional<z.ZodNumber>; nmHaircut: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iHairColor: z.ZodOptional<z.ZodNumber>; iFacialHair: z.ZodOptional<z.ZodNumber>; nmBeard: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iSkinColor: z.ZodOptional<z.ZodNumber>; iEyeColor: z.ZodOptional<z.ZodNumber>; nmFlag: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iVoice: z.ZodOptional<z.ZodNumber>; iAttitude: z.ZodOptional<z.ZodNumber>; iArmorDeco: z.ZodOptional<z.ZodNumber>; iArmorTint: z.ZodOptional<z.ZodNumber>; iArmorTintSecondary: z.ZodOptional<z.ZodNumber>; iWeaponTint: z.ZodOptional<z.ZodNumber>; iTattooTint: z.ZodOptional<z.ZodNumber>; nmWeaponPattern: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPawn: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmHelmet: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmEye: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTeeth: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropLower: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropUpper: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPatterns: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmVoice: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLanguage: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_LeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_RightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmScars: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePaint: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmThighs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmShins: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorsoDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; bGhostPawn: z.ZodOptional<z.ZodBoolean>; }, z.core.$loose>>, unknown>>; Country: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; AllowedTypeSoldier: z.ZodOptional<z.ZodBoolean>; AllowedTypeVIP: z.ZodOptional<z.ZodBoolean>; AllowedTypeDarkVIP: z.ZodOptional<z.ZodBoolean>; PoolTimestamp: z.ZodString; BackgroundText: z.ZodString; }, z.core.$loose>>, unknown, z.core.$ZodTypeInternals<import("..").StructOf<z.ZodObject<{ strFirstName: z.ZodString; strLastName: z.ZodString; strNickName: z.ZodOptional<z.ZodString>; m_SoldierClassTemplateName: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; CharacterTemplateName: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; kAppearance: z.ZodType<import("..").StructOf<z.ZodObject<{ nmHead: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iGender: z.ZodOptional<z.ZodNumber>; iRace: z.ZodOptional<z.ZodNumber>; nmHaircut: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iHairColor: z.ZodOptional<z.ZodNumber>; iFacialHair: z.ZodOptional<z.ZodNumber>; nmBeard: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iSkinColor: z.ZodOptional<z.ZodNumber>; iEyeColor: z.ZodOptional<z.ZodNumber>; nmFlag: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iVoice: z.ZodOptional<z.ZodNumber>; iAttitude: z.ZodOptional<z.ZodNumber>; iArmorDeco: z.ZodOptional<z.ZodNumber>; iArmorTint: z.ZodOptional<z.ZodNumber>; iArmorTintSecondary: z.ZodOptional<z.ZodNumber>; iWeaponTint: z.ZodOptional<z.ZodNumber>; iTattooTint: z.ZodOptional<z.ZodNumber>; nmWeaponPattern: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPawn: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmHelmet: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmEye: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTeeth: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropLower: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropUpper: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPatterns: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmVoice: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLanguage: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_LeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_RightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmScars: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePaint: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmThighs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmShins: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorsoDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; bGhostPawn: z.ZodOptional<z.ZodBoolean>; }, z.core.$loose>>, unknown, z.core.$ZodTypeInternals<import("..").StructOf<z.ZodObject<{ nmHead: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iGender: z.ZodOptional<z.ZodNumber>; iRace: z.ZodOptional<z.ZodNumber>; nmHaircut: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iHairColor: z.ZodOptional<z.ZodNumber>; iFacialHair: z.ZodOptional<z.ZodNumber>; nmBeard: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iSkinColor: z.ZodOptional<z.ZodNumber>; iEyeColor: z.ZodOptional<z.ZodNumber>; nmFlag: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; iVoice: z.ZodOptional<z.ZodNumber>; iAttitude: z.ZodOptional<z.ZodNumber>; iArmorDeco: z.ZodOptional<z.ZodNumber>; iArmorTint: z.ZodOptional<z.ZodNumber>; iArmorTintSecondary: z.ZodOptional<z.ZodNumber>; iWeaponTint: z.ZodOptional<z.ZodNumber>; iTattooTint: z.ZodOptional<z.ZodNumber>; nmWeaponPattern: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPawn: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmHelmet: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmEye: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTeeth: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropLower: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePropUpper: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmPatterns: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmVoice: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLanguage: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_LeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTattoo_RightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmScars: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorso_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmArms_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLegs_Underlay: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmFacePaint: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightArmDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmLeftForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmRightForearm: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmThighs: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmShins: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; nmTorsoDeco: z.ZodOptional<z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>>; bGhostPawn: z.ZodOptional<z.ZodBoolean>; }, z.core.$loose>>, unknown>>; Country: z.ZodCustom<import("..").NamePropertyValue, import("..").NamePropertyValue>; AllowedTypeSoldier: z.ZodOptional<z.ZodBoolean>; AllowedTypeVIP: z.ZodOptional<z.ZodBoolean>; AllowedTypeDarkVIP: z.ZodOptional<z.ZodBoolean>; PoolTimestamp: z.ZodString; BackgroundText: z.ZodString; }, z.core.$loose>>, unknown>>>; }, z.core.$loose>; }