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;