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
TypeScript
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>;
}