1 #ifndef CURSORS_H 2 #define CURSORS_H 3 4 #include "Types.h" 5 6 #include <string_theory/string> 7 8 9 // INDIVIDUAL CURSORS 10 11 enum CursorTypeDefines 12 { 13 CURSOR_NORMAL, 14 CURSOR_TARGET, 15 CURSOR_TARGETON1, 16 CURSOR_TARGETON2, 17 CURSOR_TARGETON3, 18 CURSOR_TARGETON4, 19 CURSOR_TARGETON5, 20 CURSOR_TARGETON6, 21 CURSOR_TARGETON7, 22 CURSOR_TARGETON8, 23 CURSOR_TARGETON9, 24 CURSOR_TARGETW1, 25 CURSOR_TARGETW2, 26 CURSOR_TARGETW3, 27 CURSOR_TARGETW4, 28 CURSOR_TARGETW5, 29 CURSOR_TARGETRED, 30 CURSOR_TARGETBLACK, 31 CURSOR_TARGETDKBLACK, 32 CURSOR_TARGETBURSTCONFIRM, 33 CURSOR_TARGETBURST, 34 CURSOR_TARGETBURSTRED, 35 CURSOR_TARGETBURSTDKBLACK, 36 CURSOR_PUNCHGRAY, 37 CURSOR_PUNCHRED, 38 CURSOR_PUNCHRED_ON1, 39 CURSOR_PUNCHRED_ON2, 40 CURSOR_PUNCHYELLOW_ON1, 41 CURSOR_PUNCHYELLOW_ON2, 42 CURSOR_PUNCHNOGO_ON1, 43 CURSOR_PUNCHNOGO_ON2, 44 CURSOR_RUN1, 45 CURSOR_WALK1, 46 CURSOR_SWAT1, 47 CURSOR_PRONE1, 48 CURSOR_HANDGRAB, 49 CURSOR_NORMGRAB, 50 CURSOR_KNIFE_REG, 51 CURSOR_KNIFE_HIT, 52 CURSOR_KNIFE_HIT_ON1, 53 CURSOR_KNIFE_HIT_ON2, 54 CURSOR_KNIFE_YELLOW_ON1, 55 CURSOR_KNIFE_YELLOW_ON2, 56 CURSOR_KNIFE_NOGO_ON1, 57 CURSOR_KNIFE_NOGO_ON2, 58 CURSOR_CROSS_REG, 59 CURSOR_CROSS_ACTIVE, 60 CURSOR_WWW, 61 CURSOR_LAPTOP_SCREEN, 62 CURSOR_IBEAM, 63 CURSOR_LOOK, 64 CURSOR_TALK, 65 CURSOR_BLACKTALK, 66 CURSOR_REDTALK, 67 CURSOR_EXIT_NORTH, 68 CURSOR_EXIT_SOUTH, 69 CURSOR_EXIT_EAST, 70 CURSOR_EXIT_WEST, 71 CURSOR_NOEXIT_NORTH, 72 CURSOR_NOEXIT_SOUTH, 73 CURSOR_NOEXIT_EAST, 74 CURSOR_NOEXIT_WEST, 75 CURSOR_CONEXIT_NORTH, 76 CURSOR_CONEXIT_SOUTH, 77 CURSOR_CONEXIT_EAST, 78 CURSOR_CONEXIT_WEST, 79 CURSOR_STRATEGIC_VEHICLE, 80 CURSOR_STRATEGIC_FOOT, 81 CURSOR_INVALID_ACTION, 82 CURSOR_CHOPPER, 83 CURSOR_FLASH_TARGET, 84 CURSOR_FLASH_TARGETBURST, 85 CURSOR_FLASH_TALK, 86 CURSOR_FLASH_REDTALK, 87 CURSOR_CHECKMARK, 88 CURSOR_TARGETWR1, 89 CURSOR_TARGETYELLOW1, 90 CURSOR_TARGETYELLOW2, 91 CURSOR_TARGETYELLOW3, 92 CURSOR_TARGETYELLOW4, 93 CURSOR_EXIT_GRID, 94 CURSOR_NOEXIT_GRID, 95 CURSOR_CONEXIT_GRID, 96 CURSOR_GOOD_WIRECUT, 97 CURSOR_BAD_WIRECUT, 98 CURSOR_GOOD_RELOAD, 99 CURSOR_BAD_RELOAD, 100 CUROSR_IBEAM_WHITE, 101 CURSOR_GOOD_THROW, 102 CURSOR_BAD_THROW, 103 CURSOR_RED_THROW, 104 CURSOR_FLASH_THROW, 105 106 CURSOR_THROWKON1, 107 CURSOR_THROWKON2, 108 CURSOR_THROWKON3, 109 CURSOR_THROWKON4, 110 CURSOR_THROWKON5, 111 CURSOR_THROWKON6, 112 CURSOR_THROWKON7, 113 CURSOR_THROWKON8, 114 CURSOR_THROWKON9, 115 CURSOR_THROWKW1, 116 CURSOR_THROWKW2, 117 CURSOR_THROWKW3, 118 CURSOR_THROWKW4, 119 CURSOR_THROWKW5, 120 CURSOR_THROWKWR1, 121 CURSOR_THROWKYELLOW1, 122 CURSOR_THROWKYELLOW2, 123 CURSOR_THROWKYELLOW3, 124 CURSOR_THROWKYELLOW4, 125 126 CURSOR_ITEM_GOOD_THROW, 127 CURSOR_ITEM_BAD_THROW, 128 CURSOR_ITEM_RED_THROW, 129 CURSOR_ITEM_FLASH_THROW, 130 CURSOR_ITEM_GIVE, 131 132 CURSOR_BOMB_GRAY, 133 CURSOR_BOMB_RED, 134 CURSOR_REMOTE_GRAY, 135 CURSOR_REMOTE_RED, 136 137 CURSOR_ENTERV, 138 CURSOR_DRIVEV, 139 CURSOR_WAIT, 140 141 CURSOR_PLACEMERC, 142 CURSOR_PLACEGROUP, 143 CURSOR_DPLACEMERC, 144 CURSOR_DPLACEGROUP, 145 CURSOR_REPAIR, 146 CURSOR_REPAIRRED, 147 148 CURSOR_JAR, 149 CURSOR_JARRED, 150 151 CURSOR_CAN, 152 CURSOR_CANRED, 153 154 CURSOR_X, 155 CURSOR_WAIT_NODELAY, 156 CURSOR_EXCHANGE_PLACES, 157 158 CURSOR_STRATEGIC_BULLSEYE, 159 CURSOR_JUMP_OVER, 160 CURSOR_FUEL, 161 CURSOR_FUEL_RED 162 }; 163 164 enum CursorSurfaceDefines 165 { 166 C_MISC, 167 C_ACTIONMODE, 168 C_ACTIONMODERED, 169 C_ACTIONMODEBLACK, 170 C_TARGMODEBURST, 171 C_TARGMODEBURSTRED, 172 C_TARGMODEBURSTBLACK, 173 C_TRINGS, 174 C_TWRINGS, 175 C_BLACKTARGET, 176 C_PUNCHGRAY, 177 C_PUNCHRED, 178 C_RUN1, 179 C_WALK1, 180 C_SWAT1, 181 C_PRONE1, 182 C_GRAB1, 183 C_GRAB2, 184 C_KNIFE1, 185 C_KNIFE2, 186 C_CROSS1, 187 C_CROSS2, 188 C_WWW, 189 C_LAPTOPSCREEN, 190 C_IBEAM, 191 C_LOOK, 192 C_TALK, 193 C_BLACKTALK, 194 C_REDTALK, 195 C_EXITARROWS, 196 C_STRATVEH, 197 C_STRATFOOT, 198 C_INVALIDACTION, 199 C_CHOPPER, 200 C_CHECKMARK, 201 C_YELLOWRINGS, 202 C_WIRECUT, 203 C_WIRECUTR, 204 C_RELOAD, 205 C_RELOADR, 206 C_IBEAM_WHITE, 207 C_THROWG, 208 C_THROWB, 209 C_THROWR, 210 C_ITEMTHROW, 211 C_BOMB_GREY, 212 C_BOMB_RED, 213 C_REMOTE_GREY, 214 C_REMOTE_RED, 215 C_ENTERV, 216 C_MOVEV, 217 C_WAIT, 218 C_PLACEMERC, 219 C_PLACEGROUP, 220 C_DPLACEMERC, 221 C_DPLACEGROUP, 222 C_REPAIR, 223 C_REPAIRR, 224 C_JAR, 225 C_JARRED, 226 C_X, 227 C_CAN, 228 C_CANRED, 229 C_EXCHANGE, 230 C_BULLSEYE, 231 C_JUMPOVER, 232 C_FUEL, 233 C_FUEL_RED, 234 235 NUM_CURSOR_FILES 236 }; 237 238 239 void InitCursors(void); 240 void HandleAnimatedCursors(void); 241 242 void UpdateAnimatedCursorFrames(UINT32 uiCursorIndex); 243 244 void SetCursorSpecialFrame(UINT32 uiCursor, UINT8 ubFrame); 245 246 void SetCursorFlags(UINT32 uiCursor, UINT8 ubFlags); 247 void RemoveCursorFlags(UINT32 uiCursor, UINT8 ubFlags); 248 249 // The string must be persistent 250 void SetHitLocationText(const ST::string& str); 251 void SetIntTileLocationText(const ST::string& str); 252 void SetIntTileLocation2Text(const ST::string& str); 253 254 const ST::string& GetIntTileLocationText(void); 255 const ST::string& GetIntTileLocation2Text(void); 256 257 #endif 258