Mercurial > mm7
comparison IO/Mouse.h @ 2502:a77c34acdbc9
Media folder
author | Ritor1 |
---|---|
date | Fri, 19 Sep 2014 05:13:32 +0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2501:0ff6a9e9bf7f | 2502:a77c34acdbc9 |
---|---|
1 #pragma once | |
2 #include "OSWindow.h" | |
3 | |
4 #include "Engine/VectorTypes.h" | |
5 | |
6 | |
7 | |
8 /* 107 */ | |
9 #pragma pack(push, 1) | |
10 class ThreadWard | |
11 { | |
12 public: | |
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 | |
35 void ( ***vdestructor_ptr)(ThreadWard *, bool); | |
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) | |
45 class Mouse | |
46 { | |
47 public: | |
48 //----- (00467E4E) -------------------------------------------------------- | |
49 inline Mouse(): | |
50 window(nullptr) | |
51 { | |
52 uCursorTextureID = 0; | |
53 uCursorTextureID_2 = 0; | |
54 pCursorBitmap_sysmem = nullptr; | |
55 field_34 = 0; | |
56 pCursorBitmap2_sysmem = nullptr; | |
57 pCursorBitmap3_sysmembits_16bit = nullptr; | |
58 ptr_90 = nullptr; | |
59 pWard = nullptr; | |
60 *pCurrentCursorName = NULL; | |
61 uMouseClickX = 0; | |
62 uMouseClickY = 0; | |
63 } | |
64 | |
65 void GetClickPos(unsigned int *pX, unsigned int *pY); | |
66 void RemoveHoldingItem(); | |
67 void SetCursorBitmapFromItemID(unsigned int uItemID); | |
68 void SetCurrentCursorBitmap(); | |
69 void SetCursorBitmap(const char *pName); | |
70 LONG _469AE4(); | |
71 void ClearCursor(); | |
72 void AllocCursorSystemMem(); | |
73 void *DoAllocCursorMem(); | |
74 POINT *GetCursorPos(POINT *p); | |
75 void Initialize(OSWindow *window); | |
76 void SetActive(bool active); | |
77 void Deactivate(); | |
78 void DrawCursor(); | |
79 void Activate(); | |
80 void _469E24(); | |
81 void DrawCursorToTarget(); | |
82 void ReadCursorWithItem(); | |
83 void ChangeActivation(int a1); | |
84 void SetMouseClick(int x, int y); | |
85 | |
86 static void UI_OnMouseLeftClick(int *pXY); // idb | |
87 static bool UI_OnKeyDown(unsigned int vkKey); | |
88 | |
89 | |
90 unsigned int uPointingObjectID; | |
91 unsigned int bActive; | |
92 int field_8; | |
93 int field_C; | |
94 unsigned int bInitialized; | |
95 unsigned int bRedraw; | |
96 int field_18; | |
97 int field_1C; | |
98 int field_20; | |
99 unsigned int uCursorTextureID; | |
100 unsigned int uCursorTextureID_2; | |
101 //HWND hWnd; | |
102 OSWindow *window; | |
103 unsigned __int16 *pCursorBitmap_sysmem; | |
104 int field_34; | |
105 unsigned __int8 *pCursorBitmap2_sysmem; | |
106 unsigned __int16 *pCursorBitmap3_sysmembits_16bit; | |
107 int uCursorWithItemX; | |
108 int uCursorWithItemY; | |
109 int uCursorWithItemW; | |
110 int uCursorWithItemZ; | |
111 int field_50; | |
112 int field_54; | |
113 int uCursorBitmapPitch; | |
114 int field_5C[13]; | |
115 void *ptr_90; | |
116 int field_94; | |
117 int field_98; | |
118 int field_9C; | |
119 int field_A0; | |
120 int field_A4; | |
121 int field_A8; | |
122 int field_AC; | |
123 int field_B0; | |
124 int field_B4; | |
125 int field_B8; | |
126 int field_BC; | |
127 int field_C0; | |
128 Vec2_int_ pCursorBitmapPos; | |
129 int uCursorBitmapWidth; | |
130 int uCursorBitmapHeight; | |
131 int field_D4; | |
132 int field_D8; | |
133 int field_DC; | |
134 int field_E0; | |
135 Vec4_int_ pCursorBitmapRect; | |
136 char field_F4; | |
137 char pCurrentCursorName[11]; | |
138 int field_100; | |
139 int field_104; | |
140 unsigned int uMouseClickX; | |
141 unsigned int uMouseClickY; | |
142 void/*ThreadWard*/ *pWard; | |
143 }; | |
144 #pragma pack(pop) | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 extern Mouse *pMouse; |