| 37 |
tristanc |
1 |
/******************************************************************************
|
|
|
2 |
*
|
|
|
3 |
* Object_C.h
|
|
|
4 |
*
|
|
|
5 |
*
|
|
|
6 |
*
|
|
|
7 |
* By tomrus88 - 03/26/2013
|
|
|
8 |
*
|
|
|
9 |
***/
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
typedef enum {
|
|
|
13 |
TYPEID_OBJECT = 0x0,
|
|
|
14 |
TYPEID_ITEM = 0x1,
|
|
|
15 |
TYPEID_CONTAINER = 0x2,
|
|
|
16 |
TYPEID_UNIT = 0x3,
|
|
|
17 |
TYPEID_PLAYER = 0x4,
|
|
|
18 |
TYPEID_GAMEOBJECT = 0x5,
|
|
|
19 |
TYPEID_DYNAMICOBJECT = 0x6,
|
|
|
20 |
TYPEID_CORPSE = 0x7,
|
|
|
21 |
NUM_TYPEIDS = 0x8
|
|
|
22 |
} TYPEID;
|
|
|
23 |
|
|
|
24 |
// TODO:
|
|
|
25 |
struct C3Vector {
|
|
|
26 |
float x, y, z;
|
|
|
27 |
};
|
|
|
28 |
|
|
|
29 |
class CGObject_C // sizeof(CGObject_C) == 0xD0
|
|
|
30 |
{
|
|
|
31 |
public:
|
|
|
32 |
template <typename T> T& GetValue(uint32 index) const { return *((T*)&m_data[index]); }
|
|
|
33 |
|
|
|
34 |
virtual ~CGObject_C(); // 0
|
|
|
35 |
virtual void Disable(); // 1
|
|
|
36 |
virtual void Reenable(); // 2 Reenable(CClientObjCreate const&)
|
|
|
37 |
virtual void PostReenable(); // 3 PostReenable(CClientObjCreate const&)
|
|
|
38 |
virtual void HandleOutOfRange(); // 4 HandleOutOfRange(OUT_OF_RANGE_TYPE)
|
|
|
39 |
virtual void UpdateWorldObject(); // 5 UpdateWorldObject(int)
|
|
|
40 |
virtual void ShouldFadeout(); // 6
|
|
|
41 |
virtual void UpdateDisplayInfo(); // 7 UpdateDisplayInfo(int)
|
|
|
42 |
virtual void GetNamePosition(); // 8
|
|
|
43 |
virtual void GetBag(); // 9
|
|
|
44 |
virtual void GetBag2(); // 10
|
|
|
45 |
virtual C3Vector& GetPosition(C3Vector &pos); // 11 GetPosition(C3Vector &)
|
|
|
46 |
virtual C3Vector& GetRawPosition(C3Vector &pos); // 12 GetRawPosition(C3Vector &)
|
|
|
47 |
virtual float GetFacing(); // 13
|
|
|
48 |
virtual float GetRawFacing(); // 14
|
|
|
49 |
virtual float GetScale(); // 15
|
|
|
50 |
virtual unsigned long long GetTransportGUID(); // 16
|
|
|
51 |
virtual void GetRotation(); // 17 returns C4Quaternion
|
|
|
52 |
virtual void SetFrameOfReference(); // 18 SetFrameOfReference(C44Matrix const*)
|
|
|
53 |
virtual BOOL IsQuestGiver(); // 19
|
|
|
54 |
virtual void RefreshInteractIcon(); // 20
|
|
|
55 |
virtual void UpdateInteractIcon(); // 21
|
|
|
56 |
virtual void UpdateInteractIconAttach(); // 22
|
|
|
57 |
virtual void UpdateInteractIconScale(); // 23
|
|
|
58 |
virtual BOOL GetModelFileName(char const** modelFileName); // 24 GetModelFileName(char const**)
|
|
|
59 |
virtual void ScaleChangeUpdate(); // 25
|
|
|
60 |
virtual void ScaleChangeFinished(); // 26
|
|
|
61 |
virtual void RenderTargetSelection(); // 27
|
|
|
62 |
virtual void RenderPetTargetSelection(); // 28
|
|
|
63 |
virtual void Render(); // 29
|
|
|
64 |
virtual void GetSelectionHighlightColor(); // 30 GetSelectionHighlightColor(CImVector *)
|
|
|
65 |
virtual float GetTrueScale(); // 31
|
|
|
66 |
virtual void ModelLoaded(); // 32 ModelLoaded(CM2Model *)
|
|
|
67 |
virtual void ApplyAlpha(); // 33 ApplyAlpha(uint)
|
|
|
68 |
virtual void PreAnimate(); // 34 PreAnimate(CGWorldFrame *)
|
|
|
69 |
virtual void Animate(); // 35 Animate(float)
|
|
|
70 |
virtual void ShouldRender(); // 36 ShouldRender(uint,int &,int &)
|
|
|
71 |
virtual float GetRenderFacing(); // 37
|
|
|
72 |
virtual void OnSpecialMountAnim(); // 38
|
|
|
73 |
virtual BOOL IsSolidSelectable(); // 39
|
|
|
74 |
virtual void Dummy40(); // 40
|
|
|
75 |
virtual BOOL CanHighlight(); // 41
|
|
|
76 |
virtual BOOL CanBeTargetted(); // 42
|
|
|
77 |
virtual void FloatingTooltip(); // 43
|
|
|
78 |
virtual void OnRightClick(); // 44
|
|
|
79 |
virtual BOOL IsHighlightSuppressed(); // 45
|
|
|
80 |
virtual void OnSpellEffectClear(); // 46 OnSpellEffectClear(CEffect *)
|
|
|
81 |
virtual void GetAppropriateSpellVisual(); // 47 GetAppropriateSpellVisual(SpellRec const*,SpellVisualRec &,int,int)
|
|
|
82 |
virtual void ConnectToLightningThisFrame(); // 48 ConnectToLightningThisFrame(uint,int)
|
|
|
83 |
virtual void GetMatrix(); // 49
|
|
|
84 |
virtual void ObjectNameVisibilityChanged(); // 50
|
|
|
85 |
virtual void UpdateObjectNameString(); // 51 UpdateObjectNameString(int,char *,uint)
|
|
|
86 |
virtual void ShouldRenderObjectName(); // 52 ShouldRenderObjectName(int)
|
|
|
87 |
virtual void GetObjectModel(); // 53
|
|
|
88 |
virtual const char* GetObjectName(); // 54
|
|
|
89 |
virtual void GetPageTextID(); // 55 GetPageTextID(void (*)(int,ulong long const&,void *,bool))
|
|
|
90 |
virtual void CleanUpVehicleBoneAnimsBeforeObjectModelChange(); // 56
|
|
|
91 |
virtual void ShouldFadeIn(); // 57
|
|
|
92 |
virtual float GetBaseAlpha(); // 58
|
|
|
93 |
virtual BOOL IsTransport(); // 59
|
|
|
94 |
virtual BOOL IsPointInside(); // 60 IsPointInside(C3Vector const&)
|
|
|
95 |
virtual void AddPassenger(); // 61 AddPassenger(CPassenger *,int)
|
|
|
96 |
virtual float GetSpeed(); // 62
|
|
|
97 |
virtual void PlaySpellVisualKit_PlayAnims(); // 63 PlaySpellVisualKit_PlayAnims(SpellRec const*,SpellVisualKitRec const*,SPELL_VISUAL_KIT_TYPE,C3Vector const*,int,int,ulong long,ulong,SpellVisualRec const*,uint,int)
|
|
|
98 |
virtual void PlaySpellVisualKit_HandleWeapons(); // 64 PlaySpellVisualKit_HandleWeapons(SpellRec const*,SpellVisualKitRec const*,C3Vector const*,ulong long,ulong,uint,void (*)(CM2Model *,uint,uint,int,uint,ulong long,int),int *,uint,int)
|
|
|
99 |
virtual void PlaySpellVisualKit_DelayLightningEffects(); // 65 PlaySpellVisualKit_DelayLightningEffects(SpellRec const*,SpellVisualKitRec const*,SPELL_VISUAL_KIT_TYPE,C3Vector const*,ulong long,int,int,int,int,uint,SpellVisualRec const*,uint,int)
|
|
|
100 |
|
|
|
101 |
TYPEID GetTypeID() const { return m_typeID; }
|
|
|
102 |
private:
|
|
|
103 |
// void* vtable; // 0x0
|
|
|
104 |
uint32 m_field4; // 0x4
|
|
|
105 |
uint32 *m_data; // 0x8
|
|
|
106 |
uint32 m_fieldC; // 0xC
|
|
|
107 |
uint32 m_field10; // 0x10
|
|
|
108 |
TYPEID m_typeID; // 0x14
|
|
|
109 |
uint32 m_field18[46]; // 0x18
|
|
|
110 |
};
|