275 lines
7.6 KiB
C++
275 lines
7.6 KiB
C++
#pragma once
|
|
|
|
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
|
|
// Original PDB header: w:\tech5\tungsten\game\decls\decljob.h
|
|
// Recovered logical types: 18
|
|
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
|
|
|
|
|
|
// IDA Local Type ordinal 1193; PDB kind: enum.
|
|
enum idDeclJob::jobPreConditionType_t : __int32
|
|
{
|
|
JOBPRECONDITION_NONE = 0x0,
|
|
JOBPRECONDITION_JOB = 0x1,
|
|
JOBPRECONDITION_ITEM = 0x2,
|
|
JOBPRECONDITION_GAMESTATEINT = 0x3,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1194; PDB kind: enum.
|
|
enum idDeclJob::jobCompleteType_t : __int32
|
|
{
|
|
JOBCOMPLETE_NONE = 0x0,
|
|
JOBCOMPLETE_ITEM = 0x1,
|
|
JOBCOMPLETE_TRIGGER = 0x2,
|
|
JOBCOMPLETE_JOB = 0x3,
|
|
JOBCOMPLETE_JOB_ACCEPTED = 0x4,
|
|
JOBCOMPLETE_GAMESTATEINT = 0x5,
|
|
JOBCOMPLETE_JUSTDISPLAY = 0x6,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1195; PDB kind: enum.
|
|
enum idDeclJob::jobType_t : __int32
|
|
{
|
|
JOBTYPE_NONE = 0x0,
|
|
JOBTYPE_REQUIRED = 0x1,
|
|
JOBTYPE_SIMPLE = 0x2,
|
|
JOBTYPE_OPTIONAL = 0x3,
|
|
JOBTYPE_OPTIONAL_POSTED = 0x4,
|
|
JOBTYPE_REPEATING = 0x5,
|
|
JOBTYPE_APPROACHVO = 0x6,
|
|
JOBTYPE_RADIOVO = 0x7,
|
|
JOBTYPE_DATAMANAGEMENT = 0x8,
|
|
JOBTYPE_DYNAMIC_COMBAT = 0x9,
|
|
JOBTYPE_DYNAMIC_OTHER = 0xA,
|
|
JOBTYPE_JUSTGUI = 0xB,
|
|
JOBTYPE_INFO = 0xC,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1325; PDB kind: enum.
|
|
enum idDeclJob::jobPreConditionStatus_t : __int32
|
|
{
|
|
JOBPRECONDITIONSTATUS_ACCEPTED = 0x0,
|
|
JOBPRECONDITIONSTATUS_READYTOTURNIN = 0x1,
|
|
JOBPRECONDITIONSTATUS_COMPLETED = 0x2,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1326; PDB kind: enum.
|
|
enum idDeclJob::jobRewardType_t : __int32
|
|
{
|
|
JOBREWARD_NONE = 0x0,
|
|
JOBREWARD_ITEM = 0x1,
|
|
JOBREWARD_ITEM_REMOVE = 0x2,
|
|
JOBREWARD_FACTION = 0x3,
|
|
JOBREWARD_JOBCOMPLETION = 0x4,
|
|
JOBREWARD_JOBACCEPT = 0x5,
|
|
JOBREWARD_JOBREMOVE = 0x6,
|
|
JOBREWARD_JOBREMOVE_INPROGRESS = 0x7,
|
|
JOBREWARD_USEALTERNATEHANDS = 0x8,
|
|
JOBREWARD_GAMESTATEINT = 0x9,
|
|
JOBREWARD_GARAGE = 0xA,
|
|
JOBREWARD_ACTIVATE_JOB = 0xB,
|
|
};
|
|
|
|
// IDA Local Type ordinal 2076; PDB kind: enum.
|
|
enum idDeclJob::jobGiverFaction_t : __int32
|
|
{
|
|
JOBFACTION_NONE = 0x0,
|
|
JOBFACTION_BOUNTY = 0x1,
|
|
JOBFACTION_WASTELANDER = 0x2,
|
|
JOBFACTION_WELLSPRING = 0x3,
|
|
JOBFACTION_SUBWAYTOWN = 0x4,
|
|
JOBFACTION_REGIME = 0x5,
|
|
JOBFACTION_MUTANTBASH = 0x6,
|
|
};
|
|
|
|
// IDA Local Type ordinal 14345; PDB kind: class.
|
|
class idDeclJobRef : public idStr
|
|
{
|
|
public:
|
|
};
|
|
|
|
// IDA Local Type ordinal 14370; PDB kind: struct.
|
|
struct idDeclJob::jobNormalFlowVars_t
|
|
{
|
|
bool showsGUI;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14373; PDB kind: class.
|
|
class idDeclJob::jobPreCondition_t
|
|
{
|
|
public:
|
|
idDeclJob::jobPreConditionType_t precondition;
|
|
idDeclJobRef jobDecl;
|
|
idDeclJob::jobPreConditionStatus_t jobStatus;
|
|
const idDeclInventory *inventoryDecl;
|
|
int count;
|
|
bool removeInventory;
|
|
const idDeclGameStateInt *gameStateIntDecl;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14381; PDB kind: class.
|
|
class idDeclJob : public idDeclTypeInfo
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 14420.
|
|
virtual ~idDeclJob();
|
|
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();
|
|
|
|
idStrId jobNameId;
|
|
idStrId jobSummaryId;
|
|
idStrId jobRequirementsId;
|
|
idStrId jobRewardId;
|
|
idStrId jobStanleyObjId;
|
|
idList<idStrMapName,5> relevantMaps;
|
|
idDeclJob::jobType_t jobType;
|
|
bool treatAsImportantIfNotRequired;
|
|
bool acceptNeedsVerification;
|
|
bool aiAcceptImmediatly;
|
|
bool sniperMission;
|
|
int challengeLevel;
|
|
idDeclJob::jobNormalFlowVars_t normalFlowVars;
|
|
bool giveAndCompleteOnApproach;
|
|
const idDeclJobTimerEvent *jobTimerEvent;
|
|
idList<idDeclJob::jobPreCondition_t,5> preconditions;
|
|
idList<idDeclJob::jobReward_t,5> acceptRewards;
|
|
idList<idDeclJob::jobReward_t,5> readyRewards;
|
|
idList<idDeclJob::jobComplete_t,5> completion;
|
|
idList<idDeclJob::jobReward_t,5> rewards;
|
|
idList<idStr,5> acceptedMiniMapTravelEnt;
|
|
idList<idStr,5> readyToTurnInMiniMapCompletionEnt;
|
|
idStrId completeNPCName;
|
|
idDeclJob::jobLayerInfo_t jobLayerInfo;
|
|
idDeclJob::jobNoteInfo_t jobNoteInfo;
|
|
idDeclJob::jobAutoTransitionInfo_t jobAutoTransitionInfo;
|
|
bool discSwappingJob;
|
|
idDeclJob::jobGiverFaction_t jobGiverFaction;
|
|
idDeclJob::jobDebugMasterInfo_t debugInfo;
|
|
idDeclJobRef parentWithoutPrecondition;
|
|
idList<idDeclCameraTrigger const *,5> cameras;
|
|
int cameraIndex;
|
|
bool showOnDebugJobGUI;
|
|
const idMaterial *jobImage;
|
|
bool doesFakeJob;
|
|
idStrId fakeJobName;
|
|
idStrId fakeJobObj;
|
|
idStrId fakeJobCompleteNPC;
|
|
idStr fakeJobMiniMapEnt;
|
|
bool ignoreFakeJob;
|
|
bool breakFakeJobCheck;
|
|
gameDLCState_t requiredDLC;
|
|
bool autoCompletes;
|
|
int autoCompleteDistance;
|
|
idList<enum gameDemoType_t,5> demoStates;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14382; PDB kind: class.
|
|
class idDeclJob::jobReward_t
|
|
{
|
|
public:
|
|
idDeclJob::jobRewardType_t reward;
|
|
const idDeclInventory *inventoryDecl;
|
|
int count;
|
|
const idDeclFaction *factionDecl;
|
|
const idDeclJob *jobDecl;
|
|
const idDeclGameStateInt *gameStateIntDecl;
|
|
garageList_t garage;
|
|
rageStat_t stat;
|
|
int statAmount;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14384; PDB kind: class.
|
|
class idDeclJob::jobComplete_t
|
|
{
|
|
public:
|
|
idDeclJob::jobCompleteType_t completion;
|
|
const idDeclInventory *inventoryDecl;
|
|
int count;
|
|
bool removeInventory;
|
|
bool showTrackerMessage;
|
|
bool justDisplayCountsReadyAsComplete;
|
|
idStrId triggerMessage;
|
|
idDeclJobRef jobDecl;
|
|
const idDeclGameStateInt *gameStateIntDecl;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14389; PDB kind: class.
|
|
class idDeclJob::jobLayerInfo_t
|
|
{
|
|
public:
|
|
idList<idDeclLayer const *,5> acceptLayers;
|
|
idList<idDeclLayer const *,5> acceptLayersDeactive;
|
|
idList<idDeclLayer const *,5> acceptLayersRemove;
|
|
idList<idDeclLayer const *,5> readyLayers;
|
|
idList<idDeclLayer const *,5> readyLayersDeactive;
|
|
idList<idDeclLayer const *,5> readyLayersRemove;
|
|
idList<idDeclLayer const *,5> completeLayers;
|
|
idList<idDeclLayer const *,5> completeLayersDeactive;
|
|
idList<idDeclLayer const *,5> completeLayersRemove;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14393; PDB kind: class.
|
|
class idDeclJob::jobNoteInfo_t
|
|
{
|
|
public:
|
|
idList<idDeclJobNote const *,5> acceptJobNotes;
|
|
idList<idDeclJobNote const *,5> acceptJobNotesRemove;
|
|
idList<idDeclJobNote const *,5> readyJobNotes;
|
|
idList<idDeclJobNote const *,5> readyJobNotesRemove;
|
|
idList<idDeclJobNote const *,5> completeJobNotes;
|
|
idList<idDeclJobNote const *,5> completeJobNotesRemove;
|
|
idList<idDeclJobNote const *,5> relevantMapNotesRemove;
|
|
idList<idDeclJobNote const *,5> relevantMapNotes;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14394; PDB kind: class.
|
|
class __declspec(align(4)) idDeclJob::jobSpawnInfo_t
|
|
{
|
|
public:
|
|
idStr spawnSpot;
|
|
idStr mapName;
|
|
idList<idDeclLayer const *,5> layerList;
|
|
idList<idDeclLayer const *,5> layerListDeactive;
|
|
int delayTime;
|
|
bool hideVehicles;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14395; PDB kind: class.
|
|
class idDeclJob::jobAutoTransitionInfo_t
|
|
{
|
|
public:
|
|
idDeclJob::jobSpawnInfo_t acceptSpawnInfo;
|
|
idDeclJob::jobSpawnInfo_t readySpawnInfo;
|
|
idDeclJob::jobSpawnInfo_t completeSpawnInfo;
|
|
idDeclJob::jobSpawnInfo_t failSpawnInfo;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14396; PDB kind: class.
|
|
class idDeclJob::jobDebugInfo_t
|
|
{
|
|
public:
|
|
idList<idDeclJob::jobReward_t,5> debugRewards;
|
|
};
|
|
|
|
// IDA Local Type ordinal 14397; PDB kind: class.
|
|
class idDeclJob::jobDebugMasterInfo_t
|
|
{
|
|
public:
|
|
idDeclJob::jobDebugInfo_t debug_accepted;
|
|
idDeclJob::jobDebugInfo_t debug_readyToTurnIn;
|
|
idDeclJob::jobDebugInfo_t debug_completed;
|
|
};
|