Advertisement
expired6978

Hud Components

Apr 12th, 2014
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.07 KB | None | 0 0
  1. // 18
  2. class HUDObject
  3. {
  4. public:
  5.     HUDObject::HUDObject(GFxMovieView* movie)
  6.     {
  7.         if(movie)
  8.             InterlockedIncrement(&movie->refCount);
  9.         view = movie;
  10.     }
  11.     virtual ~HUDObject(void)
  12.     {
  13.         object.CleanManaged();
  14.  
  15.         GFxMovieView * thisView = view;
  16.         if(thisView)
  17.             thisView->ForceCollectGarbage();
  18.     }
  19.  
  20.     virtual void Update(void) = 0;  // Called per-frame
  21.     virtual UInt8 Unk_02(void * unk1) { return 0; };
  22.     virtual void * Unk_03(void * unk1) { return CALL_MEMBER_FN(this, Impl_Fn03)(unk1); };
  23.     virtual void Unk_04(void) { }; // No implementation?
  24.  
  25.     UInt32          unk04;      // 04
  26.     GFxMovieView    * view;     // 08
  27.     UInt32          unk0C;      // 0C
  28.     GFxValue        object;     // 10
  29.    
  30.     MEMBER_FN_PREFIX(HUDObject);
  31.     DEFINE_MEMBER_FN(dtor, void, 0x0085FF10);
  32.     DEFINE_MEMBER_FN(Impl_Fn03, void *, 0x0085F030, void * unk1);
  33.  
  34.     // redirect to formheap
  35.     static void * operator new(std::size_t size)
  36.     {
  37.         return FormHeap_Allocate(size);
  38.     }
  39.  
  40.     static void * operator new(std::size_t size, const std::nothrow_t &)
  41.     {
  42.         return FormHeap_Allocate(size);
  43.     }
  44.  
  45.     // placement new
  46.     static void * operator new(std::size_t size, void * ptr)
  47.     {
  48.         return ptr;
  49.     }
  50.  
  51.     static void operator delete(void * ptr)
  52.     {
  53.         FormHeap_Free(ptr);
  54.     }
  55.  
  56.     static void operator delete(void * ptr, const std::nothrow_t &)
  57.     {
  58.         FormHeap_Free(ptr);
  59.     }
  60.  
  61.     static void operator delete(void *, void *)
  62.     {
  63.         // placement delete
  64.     }
  65. };
  66. STATIC_ASSERT(sizeof(HUDObject) == 0x20);
  67.  
  68. // 30
  69. class Compass : public HUDObject
  70. {
  71. public:
  72.     UInt32  unk20;  // 20
  73.     UInt32  unk24;  // 24
  74.     UInt32  unk28;  // 28
  75.     UInt32  unk2C;  // 2C
  76. };
  77. STATIC_ASSERT(sizeof(Compass) == 0x30);
  78.  
  79. // A0
  80. class FloatingQuestMarker : public HUDObject
  81. {
  82. public:
  83.    
  84. };
  85.  
  86. // 58
  87. class HUDNotifications : public HUDObject
  88. {
  89. public:
  90.  
  91. };
  92.  
  93. // 68
  94. class EnemyHealth : public HUDObject
  95. {
  96. public:
  97.     UInt32          handle;         // 20
  98.     UInt32          unk24;          // 24
  99.     UInt32          unk28;          // 28
  100.     UInt32          unk2C;          // 2C
  101.     GFxValue        unk30;          // 30
  102.     GFxValue        unk40;          // 40
  103.     GFxValue        text;           // 50
  104.     UInt32          unk5C;          // 5C
  105.     UInt32          unk60;          // 60
  106.     UInt32          unk64;          // 64
  107.  
  108.     TESObjectREFR   * GetTarget() const;
  109. };
  110. STATIC_ASSERT(offsetof(EnemyHealth, handle) == 0x20);
  111.  
  112. // 70
  113. class StealthMeter : public HUDObject
  114. {
  115. public:
  116.  
  117. };
  118.  
  119. // 28
  120. class HUDChargeMeter : public HUDObject
  121. {
  122. public:
  123.  
  124. };
  125.  
  126. // 38?
  127. class HUDMeter : public HUDObject
  128. {
  129. public:
  130.     virtual double GetMaxValue(void);
  131.    
  132.     char    * setMeterPercent;  // 20
  133.     char    * startBlinking;    // 24
  134.     char    * fadeOut;          // 28
  135.     float   unk28;              // 2C
  136.     UInt32  unk2C;              // 30
  137.     UInt32  unk34;              // 34
  138. };
  139. STATIC_ASSERT(sizeof(HUDMeter) == 0x38);
  140.  
  141. // 38
  142. class ActorValueMeter : public HUDMeter
  143. {
  144. public:
  145.    
  146. };
  147.  
  148. // 38
  149. class ShoutMeter : public HUDMeter
  150. {
  151. public:
  152.    
  153. };
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161. // 58
  162. class HUDMenu : public IMenu
  163. {
  164. public:
  165.     BSTEventSink<void>  unk1C;  // UserEventEnabledEvent
  166.     tArray<HUDObject*>  hudComponents;  // 20
  167.     UInt32  unk2C;
  168.     UInt32  unk30;
  169.     UInt32  unk34;
  170.     UInt32  unk38;
  171.     UInt32  unk3C;
  172.     UInt32  unk40;
  173.     UInt32  unk44;
  174.     UInt32  unk48;
  175.     UInt32  unk4C;
  176.     UInt32  unk50;
  177.     UInt32  unk54;
  178. };
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192. class GFxMovieView : public GRefCountBase
  193. {
  194. public:
  195.     GFxMovieView();
  196.     virtual ~GFxMovieView();
  197.  
  198.     virtual UInt32  Unk_01(void);
  199.     virtual UInt32  Unk_02(void);
  200.     virtual UInt32  Unk_03(void);
  201.     virtual void    GotoFrame(UInt32 idx);
  202.     virtual bool    GotoLabeledFrame(const char * label, UInt32 unk);
  203.     virtual void    SetPause(UInt32 pause);
  204.     virtual UInt32  GetPause(void);
  205.     virtual void    Unk_08(UInt32 unk);
  206.     virtual UInt32  Unk_09(void);
  207.     virtual bool    Unk_0A(void);
  208.     virtual void    CreateString(GFxValue * value, const char * str);
  209.     virtual void    CreateWideString(GFxValue * value, const wchar_t * str);
  210.     virtual void    CreateObject(GFxValue * value, const char * className = NULL, GFxValue * args = NULL, UInt32 numArgs = 0);
  211.     virtual void    CreateArray(GFxValue * value);
  212.     virtual void    CreateFunction(GFxValue * value, GFxFunctionHandler * callback, void * refcon = NULL);
  213.     virtual void    SetVariable(const char * name, GFxValue * value, UInt32 flags);
  214.     virtual bool    GetVariable(GFxValue * value, const char * name);
  215.     virtual bool    SetArray(UInt32 type, const char * name, UInt32 offset, void * buf, UInt32 len, UInt32 flags);
  216.     virtual bool    ResizeArray(const char * name, UInt32 len, UInt32 flags);
  217.     virtual UInt32  GetArrayLen(const char * name); // 050
  218.     virtual bool    GetArray(UInt32 type, const char * name, UInt32 offset, void * buf, UInt32 len);
  219.     virtual bool    Invoke(const char * name, GFxValue * result, GFxValue * args, UInt32 numArgs);
  220.     virtual bool    Invoke(const char * name, GFxValue * result, const char * fmt, ...);
  221.     virtual bool    Invoke_v(const char * name, GFxValue * result, const char * fmt, va_list args); // 060
  222.     virtual void    SetViewport(const GViewport & viewDesc);
  223.     virtual void    GetViewport(GViewport *pviewDesc) const;
  224.     virtual void    Unk_1B(void);
  225.     virtual void    Unk_1C(void);   // 070
  226.     virtual void    Unk_1D(void);
  227.     virtual void    Unk_1E(void);
  228.     virtual GRectF  GetVisibleFrameRect(void);
  229.     virtual void    Unk_20(void);   // 080
  230.     virtual void    Unk_21(void);
  231.     virtual void    Unk_22(void);
  232.     virtual void    Unk_23(void);
  233.     virtual void    Unk_24(void);   // 090
  234.     virtual void    Unk_25(void);
  235.     virtual void    Render(void);
  236.     virtual void    Unk_27(void);
  237.     virtual void    Unk_28(void);   // 0A0
  238.     virtual void    Unk_29(void);
  239.     virtual void    Unk_2A(void);
  240.     virtual void    Unk_2B(void);
  241.     virtual void    Unk_2C(void);   // 0B0
  242.     virtual UInt32  HandleEvent(void* data);
  243.     virtual void    Unk_2E(void);
  244.     virtual void    Unk_2F(void);
  245.     virtual void    Unk_30(void);
  246.     virtual void    Unk_31(void);
  247.     virtual void    Unk_32(void);
  248.     virtual void    Unk_33(void);
  249.     virtual void    Unk_34(void);
  250.     virtual void    Unk_35(void);
  251.     virtual void    Unk_36(void);
  252.     virtual void    Unk_37(void);
  253.     virtual void    Unk_38(void);
  254.     virtual void    Unk_39(void);
  255.     virtual void    Unk_3A(void);
  256.     virtual void    Unk_3B(void);
  257.     virtual void    Unk_3C(void);
  258.     virtual void    Unk_3D(void);
  259.     virtual void    Unk_3E(void);
  260.     virtual void    Unk_3F(void);
  261.     virtual void    Unk_40(void);
  262.     virtual void    Unk_41(void);
  263.     virtual void    Unk_42(void);
  264.     virtual void    Unk_43(void);
  265.     virtual void    Unk_44(void);
  266.     virtual void    ForceCollectGarbage(void);
  267.     // more
  268. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement