Mercurial > mm7
comparison Mouse.h @ 0:9c0607679772
init
author | Ritor1 |
---|---|
date | Sat, 12 Jan 2013 09:45:18 +0600 |
parents | |
children | cf2fbac6edc9 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:9c0607679772 |
---|---|
1 #pragma once | |
2 #include "OSAPI.h" | |
3 | |
4 #include "VectorTypes.h" | |
5 | |
6 | |
7 | |
8 /* 107 */ | |
9 #pragma pack(push, 1) | |
10 struct ThreadWard | |
11 { | |
12 //----- (00438B0B) -------------------------------------------------------- | |
13 inline ThreadWard() | |
14 { | |
15 InitializeCriticalSection(&csAsyncMouse); | |
16 InitializeCriticalSection(&cs2); | |
17 InitializeCriticalSection(&cs3); | |
18 InitializeCriticalSection(&csAsyncKeyboard); | |
19 } | |
20 | |
21 //----- (00438B54) -------------------------------------------------------- | |
22 virtual ~ThreadWard() | |
23 { | |
24 ThreadWard *v1; // esi@1 | |
25 | |
26 v1 = this; | |
27 //this->vdestructor_ptr = &ThreadWard_destructors; | |
28 DeleteCriticalSection(&this->csAsyncKeyboard); | |
29 DeleteCriticalSection(&v1->cs3); | |
30 DeleteCriticalSection(&v1->cs2); | |
31 DeleteCriticalSection(&v1->csAsyncMouse); | |
32 } | |
33 | |
34 void (__thiscall ***vdestructor_ptr)(ThreadWard *, bool); | |
35 _RTL_CRITICAL_SECTION csAsyncMouse; | |
36 _RTL_CRITICAL_SECTION cs2; | |
37 _RTL_CRITICAL_SECTION cs3; | |
38 _RTL_CRITICAL_SECTION csAsyncKeyboard; | |
39 }; | |
40 #pragma pack(pop) | |
41 | |
42 /* 106 */ | |
43 #pragma pack(push, 1) | |
44 struct Mouse | |
45 { | |
46 //----- (00467E4E) -------------------------------------------------------- | |
47 inline Mouse(ThreadWard *pWard) | |
48 { | |
49 uCursorTextureID = 0; | |
50 uCursorTextureID_2 = 0; | |
51 hWnd = 0; | |
52 pCursorBitmap_sysmem = 0; | |
53 field_34 = 0; | |
54 pCursorBitmap2_sysmem = 0; | |
55 pCursorBitmap3_sysmembits_16bit = 0; | |
56 ptr_90 = 0; | |
57 pWard = pWard; | |
58 } | |
59 | |
60 void GetClickPos(unsigned int *pX, unsigned int *pY); | |
61 void RemoveHoldingItem(); | |
62 void SetCursorBitmapFromItemID(unsigned int uItemID); | |
63 void SetCurrentCursorBitmap(); | |
64 void SetCursorBitmap(const char *pName); | |
65 LONG _469AE4(); | |
66 void ClearCursor(); | |
67 void AllocCursorSystemMem(); | |
68 void *DoAllocCursorMem(); | |
69 POINT *GetCursorPos(POINT *p); | |
70 void Initialize(HWND hWnd); | |
71 void Deactivate(); | |
72 void DrawCursor(); | |
73 void _469E1C(); | |
74 void _469E24(); | |
75 void DrawCursorToTarget(); | |
76 void _469EA4(); | |
77 void Activate(int bActive); | |
78 void SetMouseClick(int x, int y); | |
79 | |
80 | |
81 unsigned int uPointingObjectID; | |
82 unsigned int bActive; | |
83 int field_8; | |
84 int field_C; | |
85 unsigned int bInitialized; | |
86 int field_14; | |
87 int field_18; | |
88 int field_1C; | |
89 int field_20; | |
90 unsigned int uCursorTextureID; | |
91 unsigned int uCursorTextureID_2; | |
92 HWND hWnd; | |
93 unsigned __int16 *pCursorBitmap_sysmem; | |
94 int field_34; | |
95 unsigned __int8 *pCursorBitmap2_sysmem; | |
96 unsigned __int16 *pCursorBitmap3_sysmembits_16bit; | |
97 int field_40; | |
98 int field_44; | |
99 int field_48; | |
100 int field_4C; | |
101 int field_50; | |
102 int field_54; | |
103 int uCursorBitmapPitch; | |
104 int field_5C[13]; | |
105 void *ptr_90; | |
106 int field_94; | |
107 int field_98; | |
108 int field_9C; | |
109 int field_A0; | |
110 int field_A4; | |
111 int field_A8; | |
112 int field_AC; | |
113 int field_B0; | |
114 int field_B4; | |
115 int field_B8; | |
116 int field_BC; | |
117 int field_C0; | |
118 Vec2_int_ pCursorBitmapPos; | |
119 int uCursorBitmapWidth; | |
120 int uCursorBitmapHeight; | |
121 int field_D4; | |
122 int field_D8; | |
123 int field_DC; | |
124 int field_E0; | |
125 Vec4_int_ pCursorBitmapRect; | |
126 char field_F4; | |
127 char pCurrentCursorName[11]; | |
128 int field_100; | |
129 int field_104; | |
130 unsigned int uMouseClickX; | |
131 unsigned int uMouseClickY; | |
132 ThreadWard *pWard; | |
133 }; | |
134 #pragma pack(pop) | |
135 | |
136 | |
137 #pragma pack(push, 1) | |
138 struct AsyncMouse | |
139 { | |
140 AsyncMouse(struct IDirectDrawSurface *); | |
141 ~AsyncMouse(); | |
142 | |
143 char Initialize(LPVOID lpParameter); | |
144 char LoadCursor(const char *pContainer); | |
145 char LoadCursorImage(); | |
146 char _46B072(); | |
147 char CreateDisrectInputMouse(); | |
148 int _46B0ED(); | |
149 void Resume(); | |
150 void Suspend(); | |
151 char _46B1DD(); | |
152 bool DrawCursor(struct Texture *a1, struct IDirectDrawSurface4 *a2, int a3); | |
153 bool _46B289(int a2, char a3); | |
154 void SetHotspot(float hotspotx, float hotspoty); | |
155 int UpdateData(int a2); | |
156 char Thread(); | |
157 void _46B492(int a2); | |
158 void _46B5D5(int a2); | |
159 void _46B736_consume_click_lists(char a2); | |
160 void _46B76F(); | |
161 void _46B879(); | |
162 int _46B944(); | |
163 char _46B958(int a2, int a3); | |
164 char _46BA8D(int a2, int a3); | |
165 void _46BAEC(); | |
166 void _46BB0A(); | |
167 void *Clip(); | |
168 void dtor_sub_46BC73(); | |
169 int _46BCAB(); | |
170 int unk_46BCD2(int a2, int a3, int a4); | |
171 void *unk_46BD09(void *a1, void *a2); | |
172 int unk_46BD2D(int a2, void *a3); | |
173 int unk_46BD66(int a1, int a2); | |
174 | |
175 static void __stdcall AsyncMouseThread(int a1); | |
176 | |
177 void _409E3D(char a2); | |
178 void Release(); | |
179 }; | |
180 #pragma pack(pop) | |
181 | |
182 | |
183 | |
184 | |
185 extern Mouse *pMouse; | |
186 extern AsyncMouse *pAsyncMouse; |