Files

181 lines
4.9 KiB
C++

#pragma once
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
// Original PDB header: w:\tech5\tungsten\game\decls\declinventory.h
// Recovered logical types: 7
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
// IDA Local Type ordinal 1203; PDB kind: enum.
enum idDeclInventory::inventoryUse_t : __int32
{
INVENTORY_USE_UNDEF = 0x0,
INVENTORY_USE_JOB = 0x1,
INVENTORY_USE_QUICK = 0x2,
INVENTORY_USE_ENGINEERING = 0x3,
INVENTORY_USE_SELLABLE = 0x4,
INVENTORY_USE_BUYABLE = 0x5,
INVENTORY_USE_AMMO = 0x6,
INVENTORY_USE_WEAPON = 0x7,
INVENTORY_USE_USABLE = 0x8,
INVENTORY_USE_NONE = 0x9,
INVENTORY_USE_VEHICLE = 0xA,
};
// IDA Local Type ordinal 2088; PDB kind: enum.
enum idDeclInventory::inventoryGroup_t : __int32
{
INVENTORY_GROUP_UNGROUPED = 0x0,
INVENTORY_GROUP_BOOKS = 0x1,
INVENTORY_GROUP_FOODS = 0x2,
INVENTORY_GROUP_GAS = 0x3,
INVENTORY_GROUP_OIL = 0x4,
INVENTORY_GROUP_SMALL = 0x5,
INVENTORY_GROUP_BEER = 0x6,
INVENTORY_GROUP_TOOLS = 0x7,
};
// IDA Local Type ordinal 13423; PDB kind: class.
class idDeclInventory : public idDeclTypeInfo
{
public:
// Recovered virtual interface; IDA vtable ordinal 13822.
virtual ~idDeclInventory();
virtual void LoadResource();
virtual bool ReloadIfStale();
virtual void WriteResourceFile();
virtual idResourceList *GetResourceList();
virtual void Print();
virtual void List();
virtual unsigned int GetDeclTimestamp();
virtual idDeclInfo *GetDeclInfo();
virtual bool RebuildTextSource();
virtual bool SetImplicitText();
virtual const char *DefaultDefinition();
virtual void LogMissingDecl();
virtual void Parse(idParser *);
virtual void FreeData();
virtual unsigned int Size();
idStr inventoryClass;
const idDeclMD6 *handsModelMD6;
const idDeclMD6 *handsModelMD6Alt;
const idDeclMD6 *thirdPersonMD6;
const idDeclInventory *dualWieldItemDecl;
idStaticModel *thirdPersonStatic;
idStaticModel *guiModel;
float thirdPersonScale;
idList<idDeclInventory const *,5> childItem;
const idMaterial *customMaterial;
idList<idDeclInventory::idAttachmentInfo,5> attachmentInfo;
float handsFovScale;
idStrId displayName;
idStr internalName;
idStrId description;
idStrId boostDescription;
idStrId requiredName;
const idMaterial *icon;
const idMaterial *quickIcon;
const idMaterial *garageIcon;
const idMaterial *engineeringIcon;
const idMaterial *merchantIcon;
const idMaterial *raceRewardImage;
const idDeclEntityDef *entityDef;
const idDeclEntityDef *boostEntityDef;
bool usable;
bool usableInTown;
__int16 maxCountOverride;
quickSlotGroup_t quickSlotGroup;
bool giveable;
bool dropable;
bool droppedBot;
bool dropRemoveOnContact;
idDeclInventory::controllerShankInfo_t droppedControllerShake;
bool isWeapon;
bool isVehicleAmmo;
bool stackable;
bool singular;
bool removeOnUse;
bool closeInventoryGuiOnUse;
bool noAttachment;
bool vehicleAttachment;
bool vehiclePermAttachment;
bool vehicleArmor;
idStr vehicleJointName;
bool noPickupMessage;
removeCond_t removeCondition;
float fadeDelay;
int quickUseCoolDown;
int maxCount;
int count;
int buyCount;
int sellCount;
int numHands;
equipSlot_t equipSlot;
equipSlot_t holsterSlot;
bool sellStack;
int price;
int sellPrice;
bool useRaceCertificates;
bool playerCanSell;
bool playerCanSeeInInventory;
const idDeclRecipe *recipe;
bool specialItem;
idScriptObject scriptUse;
bool isContainer;
const idDeclInventory *containerDecl;
bool useOnReceive;
bool selectOnReceive;
bool useOnDeath;
bool blockEquipIfEmpty;
__int16 setCountOverride;
const idSoundShader *useSound;
const idSoundShader *dropSound;
const idSoundShader *hoverSound;
const idDeclAiEvent *dropEventDecl;
idDeclInventory::inventoryUse_t itemUse;
bool initiallyHidden;
idDeclInventory::inventoryGroup_t itemGroup;
int itemGroupWorth;
idDeclInventory::weaponAimSettings_t aimWeaponSettings;
idList<idDeclInventory const *,5> giveItemsOnReceive;
idList<idDeclInventory::itemListElement_t,5> giveItemsOnRecieveWithCount;
idList<idStr,5> engineerableItems;
const idDeclFX *weaponFX;
const idDeclWeapon *equipWeaponOnUse;
};
// IDA Local Type ordinal 13462; PDB kind: class.
class idDeclInventory::idAttachmentInfo
{
public:
equipSlot_t equipSlot;
const idDeclParticle *particleFx;
idStr tagName;
};
// IDA Local Type ordinal 13467; PDB kind: struct.
struct idDeclInventory::controllerShankInfo_t
{
float highMagnitude;
int highDuration;
float lowMagnitude;
int lowDuration;
};
// IDA Local Type ordinal 13738; PDB kind: struct.
struct idDeclInventory::weaponAimSettings_t
{
bool aimPrimary;
bool aimSecondary;
bool aimLaserInWeaponDirPrim;
bool aimLaserInWeaponDirSec;
};
// IDA Local Type ordinal 13739; PDB kind: struct.
struct idDeclInventory::itemListElement_t
{
const idDeclInventory *item;
int count;
};