0
|
1 #pragma once
|
1802
|
2 #include "OSWindow.h"
|
0
|
3
|
|
4 #include "VectorTypes.h"
|
|
5
|
|
6
|
|
7
|
|
8 /* 107 */
|
|
9 #pragma pack(push, 1)
|
1103
|
10 class ThreadWard
|
0
|
11 {
|
1103
|
12 public:
|
0
|
13 //----- (00438B0B) --------------------------------------------------------
|
|
14 inline ThreadWard()
|
|
15 {
|
|
16 InitializeCriticalSection(&csAsyncMouse);
|
|
17 InitializeCriticalSection(&cs2);
|
|
18 InitializeCriticalSection(&cs3);
|
|
19 InitializeCriticalSection(&csAsyncKeyboard);
|
|
20 }
|
|
21
|
|
22 //----- (00438B54) --------------------------------------------------------
|
|
23 virtual ~ThreadWard()
|
|
24 {
|
|
25 ThreadWard *v1; // esi@1
|
|
26
|
|
27 v1 = this;
|
|
28 //this->vdestructor_ptr = &ThreadWard_destructors;
|
|
29 DeleteCriticalSection(&this->csAsyncKeyboard);
|
|
30 DeleteCriticalSection(&v1->cs3);
|
|
31 DeleteCriticalSection(&v1->cs2);
|
|
32 DeleteCriticalSection(&v1->csAsyncMouse);
|
|
33 }
|
|
34
|
1458
|
35 void ( ***vdestructor_ptr)(ThreadWard *, bool);
|
0
|
36 _RTL_CRITICAL_SECTION csAsyncMouse;
|
|
37 _RTL_CRITICAL_SECTION cs2;
|
|
38 _RTL_CRITICAL_SECTION cs3;
|
|
39 _RTL_CRITICAL_SECTION csAsyncKeyboard;
|
|
40 };
|
|
41 #pragma pack(pop)
|
|
42
|
|
43 /* 106 */
|
|
44 #pragma pack(push, 1)
|
1103
|
45 class Mouse
|
0
|
46 {
|
1103
|
47 public:
|
0
|
48 //----- (00467E4E) --------------------------------------------------------
|
1802
|
49 inline Mouse():
|
|
50 window(nullptr)
|
0
|
51 {
|
|
52 uCursorTextureID = 0;
|
|
53 uCursorTextureID_2 = 0;
|
|
54 pCursorBitmap_sysmem = 0;
|
|
55 field_34 = 0;
|
|
56 pCursorBitmap2_sysmem = 0;
|
|
57 pCursorBitmap3_sysmembits_16bit = 0;
|
|
58 ptr_90 = 0;
|
|
59 pWard = pWard;
|
|
60 }
|
|
61
|
|
62 void GetClickPos(unsigned int *pX, unsigned int *pY);
|
|
63 void RemoveHoldingItem();
|
|
64 void SetCursorBitmapFromItemID(unsigned int uItemID);
|
|
65 void SetCurrentCursorBitmap();
|
|
66 void SetCursorBitmap(const char *pName);
|
|
67 LONG _469AE4();
|
|
68 void ClearCursor();
|
|
69 void AllocCursorSystemMem();
|
|
70 void *DoAllocCursorMem();
|
|
71 POINT *GetCursorPos(POINT *p);
|
1802
|
72 void Initialize(OSWindow *window);
|
762
|
73 void SetActive(bool active);
|
0
|
74 void Deactivate();
|
|
75 void DrawCursor();
|
2216
|
76 void Activate();
|
0
|
77 void _469E24();
|
|
78 void DrawCursorToTarget();
|
2216
|
79 void ReadCursorWithItem();
|
|
80 void ChangeActivation(int a1);
|
0
|
81 void SetMouseClick(int x, int y);
|
|
82
|
2339
|
83 static void UI_OnMouseLeftClick(int *pXY); // idb
|
|
84 static bool UI_OnKeyDown(unsigned int vkKey);
|
|
85
|
0
|
86
|
|
87 unsigned int uPointingObjectID;
|
|
88 unsigned int bActive;
|
|
89 int field_8;
|
|
90 int field_C;
|
|
91 unsigned int bInitialized;
|
791
|
92 unsigned int bRedraw;
|
0
|
93 int field_18;
|
|
94 int field_1C;
|
|
95 int field_20;
|
|
96 unsigned int uCursorTextureID;
|
|
97 unsigned int uCursorTextureID_2;
|
1802
|
98 //HWND hWnd;
|
|
99 OSWindow *window;
|
0
|
100 unsigned __int16 *pCursorBitmap_sysmem;
|
|
101 int field_34;
|
|
102 unsigned __int8 *pCursorBitmap2_sysmem;
|
|
103 unsigned __int16 *pCursorBitmap3_sysmembits_16bit;
|
2216
|
104 int uCursorWithItemX;
|
|
105 int uCursorWithItemY;
|
|
106 int uCursorWithItemW;
|
|
107 int uCursorWithItemZ;
|
0
|
108 int field_50;
|
|
109 int field_54;
|
|
110 int uCursorBitmapPitch;
|
|
111 int field_5C[13];
|
|
112 void *ptr_90;
|
|
113 int field_94;
|
|
114 int field_98;
|
|
115 int field_9C;
|
|
116 int field_A0;
|
|
117 int field_A4;
|
|
118 int field_A8;
|
|
119 int field_AC;
|
|
120 int field_B0;
|
|
121 int field_B4;
|
|
122 int field_B8;
|
|
123 int field_BC;
|
|
124 int field_C0;
|
|
125 Vec2_int_ pCursorBitmapPos;
|
|
126 int uCursorBitmapWidth;
|
|
127 int uCursorBitmapHeight;
|
|
128 int field_D4;
|
|
129 int field_D8;
|
|
130 int field_DC;
|
|
131 int field_E0;
|
|
132 Vec4_int_ pCursorBitmapRect;
|
|
133 char field_F4;
|
|
134 char pCurrentCursorName[11];
|
|
135 int field_100;
|
|
136 int field_104;
|
|
137 unsigned int uMouseClickX;
|
|
138 unsigned int uMouseClickY;
|
1397
|
139 void/*ThreadWard*/ *pWard;
|
0
|
140 };
|
|
141 #pragma pack(pop)
|
|
142
|
|
143
|
|
144
|
|
145
|
|
146
|
1038
|
147 extern Mouse *pMouse; |