208 lines
6.3 KiB
C++
208 lines
6.3 KiB
C++
#pragma once
|
|
|
|
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
|
|
// Original PDB header: w:\tech5\tungsten\game\menus\menuwidget.h
|
|
// Recovered logical types: 13
|
|
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
|
|
|
|
|
|
// IDA Local Type ordinal 1436; PDB kind: enum.
|
|
enum idMenuWidget::widgetState_t : __int32
|
|
{
|
|
WIDGET_STATE_HIDDEN = 0x0,
|
|
WIDGET_STATE_NORMAL = 0x1,
|
|
WIDGET_STATE_SELECTING = 0x2,
|
|
WIDGET_STATE_SELECTED = 0x3,
|
|
WIDGET_STATE_DISABLED = 0x4,
|
|
WIDGET_STATE_MAX = 0x5,
|
|
};
|
|
|
|
// IDA Local Type ordinal 1437; PDB kind: enum.
|
|
enum idMenuWidget_Button::animState_t : __int32
|
|
{
|
|
ANIM_STATE_UP = 0x0,
|
|
ANIM_STATE_DOWN = 0x1,
|
|
ANIM_STATE_OVER = 0x2,
|
|
ANIM_STATE_MAX = 0x3,
|
|
};
|
|
|
|
// IDA Local Type ordinal 2363; PDB kind: enum.
|
|
enum widget_t::actionResult_t : __int32
|
|
{
|
|
ACTION_IGNORED = 0x0,
|
|
ACTION_HANDLED = 0x1,
|
|
ACTION_HANDLED_STATECHANGED = 0x2,
|
|
};
|
|
|
|
// IDA Local Type ordinal 14932; PDB kind: struct.
|
|
struct __declspec(align(4)) widget_t
|
|
{
|
|
// Recovered virtual interface; IDA vtable ordinal 14939.
|
|
virtual ~widget_t();
|
|
virtual float CalcWidth(idDeviceContext *);
|
|
virtual float CalcHeight(idDeviceContext *);
|
|
virtual void Render(idDeviceContext *, float, float, float, float);
|
|
virtual widget_t::actionResult_t DoEvent(const sysEvent_t *, int);
|
|
|
|
|
|
widget_t::actionResult_t actionResult;
|
|
bool selectedRow;
|
|
bool selectedColumn;
|
|
};
|
|
|
|
// IDA Local Type ordinal 16041; PDB kind: class.
|
|
class idMenuWidget
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 16044.
|
|
virtual ~idMenuWidget();
|
|
virtual void Initialize();
|
|
virtual void Update();
|
|
virtual void ObserveEvent(const idMenuWidget *, const idWidgetEvent *);
|
|
virtual bool ExecuteEvent(const idWidgetEvent *);
|
|
virtual bool HandleAction(idWidgetAction *, const idWidgetEvent *);
|
|
|
|
idSWFSpriteInstance *boundSprite;
|
|
idMenuWidget *parent;
|
|
idList<idStr,5> spritePath;
|
|
idList<idMenuWidget *,5> children;
|
|
idList<idMenuWidget *,5> observers;
|
|
idList<idList<idWidgetAction,5>,5> eventActions;
|
|
idStaticList<int,18> eventActionLookup;
|
|
idMenuDataSource *dataSource;
|
|
int dataSourceFieldIndex;
|
|
int focusIndex;
|
|
idMenuWidget::widgetState_t widgetState;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18320; PDB kind: class.
|
|
class __declspec(align(4)) idMenuWidget_List : public idMenuWidget
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18321.
|
|
virtual ~idMenuWidget_List();
|
|
virtual void Initialize();
|
|
virtual void Update();
|
|
virtual void ObserveEvent(const idMenuWidget *, const idWidgetEvent *);
|
|
virtual bool ExecuteEvent(const idWidgetEvent *);
|
|
virtual bool HandleAction(idWidgetAction *, const idWidgetEvent *);
|
|
virtual void Scroll(const int);
|
|
virtual void ScrollOffset(const int);
|
|
virtual int GetTotalNumberOfOptions();
|
|
virtual bool PrepareListElement(idMenuWidget *, const int);
|
|
|
|
int numVisibleOptions;
|
|
int viewOffset;
|
|
int viewIndex;
|
|
bool allowWrapping;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18322; PDB kind: struct.
|
|
struct idMenuWidget_DevList::indexInfo_t
|
|
{
|
|
const char *name;
|
|
int focusIndex;
|
|
int viewIndex;
|
|
int viewOffset;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18324; PDB kind: class.
|
|
class idMenuWidget_DevList : public idMenuWidget_List
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18325.
|
|
virtual ~idMenuWidget_DevList();
|
|
virtual void Initialize();
|
|
virtual void Update();
|
|
virtual void ObserveEvent(const idMenuWidget *, const idWidgetEvent *);
|
|
virtual bool ExecuteEvent(const idWidgetEvent *);
|
|
virtual bool HandleAction(idWidgetAction *, const idWidgetEvent *);
|
|
virtual void Scroll(const int);
|
|
virtual void ScrollOffset(const int);
|
|
virtual int GetTotalNumberOfOptions();
|
|
virtual bool PrepareListElement(idMenuWidget *, const int);
|
|
|
|
const idDeclDevMenuList *devMenuList;
|
|
idList<idMenuWidget_DevList::indexInfo_t,5> devMapListInfos;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18326; PDB kind: class.
|
|
class idMenuWidget_Help : public idMenuWidget
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18327.
|
|
virtual ~idMenuWidget_Help();
|
|
virtual void Initialize();
|
|
virtual void Update();
|
|
virtual void ObserveEvent(const idMenuWidget *, const idWidgetEvent *);
|
|
virtual bool ExecuteEvent(const idWidgetEvent *);
|
|
virtual bool HandleAction(idWidgetAction *, const idWidgetEvent *);
|
|
|
|
idStr lastFocusedMessage;
|
|
idStr lastHoveredMessage;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18338; PDB kind: class.
|
|
class idMenuWidget_Button : public idMenuWidget
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18339.
|
|
virtual ~idMenuWidget_Button();
|
|
virtual void Initialize();
|
|
virtual void Update();
|
|
virtual void ObserveEvent(const idMenuWidget *, const idWidgetEvent *);
|
|
virtual bool ExecuteEvent(const idWidgetEvent *);
|
|
virtual bool HandleAction(idWidgetAction *, const idWidgetEvent *);
|
|
|
|
idStr label;
|
|
idStr description;
|
|
menuOption_t optionType;
|
|
idMenuWidget_Button::animState_t animState;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18341; PDB kind: class.
|
|
class idMenuWidget::HandleAction::__l31::DeclineQuit : public idSWFScriptFunction_RefCounted
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18342.
|
|
virtual ~DeclineQuit();
|
|
virtual idSWFScriptVar *Call(idSWFScriptVar *result, idSWFScriptObject *, const idSWFParmList *);
|
|
virtual void AddRef();
|
|
virtual void Release();
|
|
virtual idSWFScriptObject *GetPrototype();
|
|
virtual void SetPrototype(idSWFScriptObject *);
|
|
|
|
idMainMenu *menu;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18343; PDB kind: class.
|
|
class idMenuWidget::HandleAction::__l30::AcceptQuit : public idSWFScriptFunction_RefCounted
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18344.
|
|
virtual ~AcceptQuit();
|
|
virtual idSWFScriptVar *Call(idSWFScriptVar *result, idSWFScriptObject *, const idSWFParmList *);
|
|
virtual void AddRef();
|
|
virtual void Release();
|
|
virtual idSWFScriptObject *GetPrototype();
|
|
virtual void SetPrototype(idSWFScriptObject *);
|
|
|
|
};
|
|
|
|
// IDA Local Type ordinal 18360; PDB kind: class.
|
|
class idMenuWidget::WrapWidgetSWFEvent : public idSWFScriptFunction_RefCounted
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 18361.
|
|
virtual ~WrapWidgetSWFEvent();
|
|
virtual idSWFScriptVar *Call(idSWFScriptVar *result, idSWFScriptObject *, const idSWFParmList *);
|
|
virtual void AddRef();
|
|
virtual void Release();
|
|
virtual idSWFScriptObject *GetPrototype();
|
|
virtual void SetPrototype(idSWFScriptObject *);
|
|
|
|
idMenuWidget *targetWidget;
|
|
widgetEvent_t targetEvent;
|
|
int targetEventArg;
|
|
};
|