1 #ifndef __INTERFACE_CURSORS_H
2 #define __INTERFACE_CURSORS_H
3 
4 
5 #define UICURSOR_FREEFLOWING		0x00000002
6 #define UICURSOR_SNAPPING		0x00000004
7 #define UICURSOR_SHOWTILE		0x00000008
8 #define UICURSOR_FLASHING		0x00000020
9 #define UICURSOR_CENTERAPS		0x00000040
10 #define UICURSOR_SHOWTILEAPDEPENDENT	0x00000080
11 #define UICURSOR_DONTSHOW2NDLEVEL	0x00000100
12 
13 
14 enum UICursorID
15 {
16 	NO_UICURSOR,
17 	NORMAL_FREEUICURSOR,
18 	NORMAL_SNAPUICURSOR,
19 	MOVE_RUN_UICURSOR,
20 	MOVE_WALK_UICURSOR,
21 	MOVE_SWAT_UICURSOR,
22 	MOVE_PRONE_UICURSOR,
23 	MOVE_VEHICLE_UICURSOR,
24 
25 	CONFIRM_MOVE_RUN_UICURSOR,
26 	CONFIRM_MOVE_WALK_UICURSOR,
27 	CONFIRM_MOVE_SWAT_UICURSOR,
28 	CONFIRM_MOVE_PRONE_UICURSOR,
29 	CONFIRM_MOVE_VEHICLE_UICURSOR,
30 
31 	ALL_MOVE_RUN_UICURSOR,
32 	ALL_MOVE_WALK_UICURSOR,
33 	ALL_MOVE_SWAT_UICURSOR,
34 	ALL_MOVE_PRONE_UICURSOR,
35 	ALL_MOVE_VEHICLE_UICURSOR,
36 
37 	MOVE_REALTIME_UICURSOR,
38 	MOVE_RUN_REALTIME_UICURSOR,
39 
40 	CONFIRM_MOVE_REALTIME_UICURSOR,
41 	ALL_MOVE_REALTIME_UICURSOR,
42 
43 	ON_OWNED_MERC_UICURSOR,
44 	ON_OWNED_SELMERC_UICURSOR,
45 
46 	ACTION_SHOOT_UICURSOR,
47 	ACTION_NOCHANCE_SHOOT_UICURSOR,
48 	ACTION_NOCHANCE_BURST_UICURSOR,
49 
50 	ACTION_FLASH_TOSS_UICURSOR,
51 	ACTION_TOSS_UICURSOR,
52 	ACTION_RED_TOSS_UICURSOR,
53 
54 	ACTION_FLASH_SHOOT_UICURSOR,
55 	ACTION_FLASH_BURST_UICURSOR,
56 	ACTION_TARGETAIM1_UICURSOR,
57 	ACTION_TARGETAIM2_UICURSOR,
58 	ACTION_TARGETAIM3_UICURSOR,
59 	ACTION_TARGETAIM4_UICURSOR,
60 	ACTION_TARGETAIM5_UICURSOR,
61 	ACTION_TARGETAIM6_UICURSOR,
62 	ACTION_TARGETAIM7_UICURSOR,
63 	ACTION_TARGETAIM8_UICURSOR,
64 	ACTION_TARGETAIM9_UICURSOR,
65 	ACTION_TARGETAIMCANT1_UICURSOR,
66 	ACTION_TARGETAIMCANT2_UICURSOR,
67 	ACTION_TARGETAIMCANT3_UICURSOR,
68 	ACTION_TARGETAIMCANT4_UICURSOR,
69 	ACTION_TARGETAIMCANT5_UICURSOR,
70 	ACTION_TARGETRED_UICURSOR,
71 	ACTION_TARGETBURST_UICURSOR,
72 	ACTION_TARGETREDBURST_UICURSOR,
73 	ACTION_TARGETCONFIRMBURST_UICURSOR,
74 	ACTION_TARGETAIMFULL_UICURSOR,
75 	ACTION_TARGETAIMYELLOW1_UICURSOR,
76 	ACTION_TARGETAIMYELLOW2_UICURSOR,
77 	ACTION_TARGETAIMYELLOW3_UICURSOR,
78 	ACTION_TARGETAIMYELLOW4_UICURSOR,
79 
80 	ACTION_TARGET_RELOADING,
81 	ACTION_PUNCH_GRAY,
82 	ACTION_PUNCH_RED,
83 	ACTION_PUNCH_RED_AIM1_UICURSOR,
84 	ACTION_PUNCH_RED_AIM2_UICURSOR,
85 	ACTION_PUNCH_YELLOW_AIM1_UICURSOR,
86 	ACTION_PUNCH_YELLOW_AIM2_UICURSOR,
87 	ACTION_PUNCH_NOGO_AIM1_UICURSOR,
88 	ACTION_PUNCH_NOGO_AIM2_UICURSOR,
89 	ACTION_FIRSTAID_GRAY,
90 	ACTION_FIRSTAID_RED,
91 	ACTION_OPEN,
92 	CANNOT_MOVE_UICURSOR,
93 	NORMALHANDCURSOR_UICURSOR,
94 	OKHANDCURSOR_UICURSOR,
95 
96 	KNIFE_REG_UICURSOR,
97 	KNIFE_HIT_UICURSOR,
98 	KNIFE_HIT_AIM1_UICURSOR,
99 	KNIFE_HIT_AIM2_UICURSOR,
100 	KNIFE_YELLOW_AIM1_UICURSOR,
101 	KNIFE_YELLOW_AIM2_UICURSOR,
102 	KNIFE_NOGO_AIM1_UICURSOR,
103 	KNIFE_NOGO_AIM2_UICURSOR,
104 
105 	LOOK_UICURSOR,
106 
107 	TALK_NA_UICURSOR,
108 	TALK_A_UICURSOR,
109 	TALK_OUT_RANGE_NA_UICURSOR,
110 	TALK_OUT_RANGE_A_UICURSOR,
111 
112 	EXIT_NORTH_UICURSOR,
113 	EXIT_SOUTH_UICURSOR,
114 	EXIT_EAST_UICURSOR,
115 	EXIT_WEST_UICURSOR,
116 	EXIT_GRID_UICURSOR,
117 	NOEXIT_NORTH_UICURSOR,
118 	NOEXIT_SOUTH_UICURSOR,
119 	NOEXIT_EAST_UICURSOR,
120 	NOEXIT_WEST_UICURSOR,
121 	NOEXIT_GRID_UICURSOR,
122 	CONFIRM_EXIT_NORTH_UICURSOR,
123 	CONFIRM_EXIT_SOUTH_UICURSOR,
124 	CONFIRM_EXIT_EAST_UICURSOR,
125 	CONFIRM_EXIT_WEST_UICURSOR,
126 	CONFIRM_EXIT_GRID_UICURSOR,
127 
128 	GOOD_WIRECUTTER_UICURSOR,
129 	BAD_WIRECUTTER_UICURSOR,
130 
131 	GOOD_REPAIR_UICURSOR,
132 	BAD_REPAIR_UICURSOR,
133 
134 	GOOD_RELOAD_UICURSOR,
135 	BAD_RELOAD_UICURSOR,
136 
137 	GOOD_JAR_UICURSOR,
138 	BAD_JAR_UICURSOR,
139 
140 	GOOD_THROW_UICURSOR,
141 	BAD_THROW_UICURSOR,
142 	RED_THROW_UICURSOR,
143 	FLASH_THROW_UICURSOR,
144 	ACTION_THROWAIM1_UICURSOR,
145 	ACTION_THROWAIM2_UICURSOR,
146 	ACTION_THROWAIM3_UICURSOR,
147 	ACTION_THROWAIM4_UICURSOR,
148 	ACTION_THROWAIM5_UICURSOR,
149 	ACTION_THROWAIM6_UICURSOR,
150 	ACTION_THROWAIM7_UICURSOR,
151 	ACTION_THROWAIM8_UICURSOR,
152 	ACTION_THROWAIM9_UICURSOR,
153 	ACTION_THROWAIMCANT1_UICURSOR,
154 	ACTION_THROWAIMCANT2_UICURSOR,
155 	ACTION_THROWAIMCANT3_UICURSOR,
156 	ACTION_THROWAIMCANT4_UICURSOR,
157 	ACTION_THROWAIMCANT5_UICURSOR,
158 	ACTION_THROWAIMFULL_UICURSOR,
159 	ACTION_THROWAIMYELLOW1_UICURSOR,
160 	ACTION_THROWAIMYELLOW2_UICURSOR,
161 	ACTION_THROWAIMYELLOW3_UICURSOR,
162 	ACTION_THROWAIMYELLOW4_UICURSOR,
163 
164 	THROW_ITEM_GOOD_UICURSOR,
165 	THROW_ITEM_BAD_UICURSOR,
166 	THROW_ITEM_RED_UICURSOR,
167 	THROW_ITEM_FLASH_UICURSOR,
168 
169 	PLACE_BOMB_GREY_UICURSOR,
170 	PLACE_BOMB_RED_UICURSOR,
171 	PLACE_REMOTE_GREY_UICURSOR,
172 	PLACE_REMOTE_RED_UICURSOR,
173 	PLACE_TINCAN_GREY_UICURSOR,
174 	PLACE_TINCAN_RED_UICURSOR,
175 
176 	ENTER_VEHICLE_UICURSOR,
177 
178 
179 	INVALID_ACTION_UICURSOR,
180 
181 	FLOATING_X_UICURSOR,
182 
183 	EXCHANGE_PLACES_UICURSOR,
184 	JUMP_OVER_UICURSOR,
185 
186 	REFUEL_GREY_UICURSOR,
187 	REFUEL_RED_UICURSOR,
188 
189 	NUM_UI_CURSORS
190 };
191 
192 struct UICursor
193 {
194 	UINT32 uiCursorID;
195 	UINT32 uiFlags;
196 	UINT16 usFreeCursorName;
197 	UINT16 usAdditionalData;
198 };
199 
200 extern const UICursor gUICursors[NUM_UI_CURSORS];
201 
202 
203 void SetUICursor(UICursorID);
204 void DrawUICursor(void);
205 void HideUICursor(void);
206 
207 
208 extern UINT16 gusCurMousePos;
209 
210 UINT16 GetSnapCursorIndex( UINT16 usAdditionalData );
211 
212 
213 #endif
214