#pragma once #include "ModelInfo.h" struct CModelIndices { int16 TRAFFICLIGHTS; int16 TLIGHT_POST; int16 TLIGHT_WALK; int16 TLIGHT_BOX1; int16 TLIGHT_BOX2; int16 TRAFFICLIGHTS_VERTICAL; int16 TRAFFICLIGHTS_MIAMI; int16 TRAFFICLIGHTS_TWOVERTICAL; int16 SINGLESTREETLIGHTS1; int16 SINGLESTREETLIGHTS2; int16 SINGLESTREETLIGHTS3; int16 DOUBLESTREETLIGHTS; int16 STREETLAMP1; int16 STREETLAMP2; int16 ROADSFORROADBLOCKSSTART; int16 ROADSFORROADBLOCKSEND; int16 TREE2; int16 TREE3; int16 TREE6; int16 TREE8; int16 TREE1; int16 TREE4; int16 TREE5; int16 TREE7; int16 TREE9; int16 TREE10; int16 TREE11; int16 TREE12; int16 TREE13; int16 TREE14; int16 CRANE_1; int16 CRANE_2; int16 CRANE_3; int16 CRANE_4; int16 CRANE_5; int16 CRANE_6; int16 PARKINGMETER; int16 PARKINGMETER2; int16 MALLFAN; int16 HOTELFAN_NIGHT; int16 HOTELFAN_DAY; int16 HOTROOMFAN; int16 PHONEBOOTH1; int16 WASTEBIN; int16 BIN; int16 POSTBOX1; int16 NEWSSTAND; int16 TRAFFICCONE; int16 DUMP1; int16 ROADWORKBARRIER1; int16 BUSSIGN1; int16 NOPARKINGSIGN1; int16 PHONESIGN; int16 TAXISIGN; int16 FISHSTALL01; int16 FISHSTALL02; int16 FISHSTALL03; int16 FISHSTALL04; int16 BAGELSTAND2; int16 FIRE_HYDRANT; int16 COLLECTABLE1; int16 MONEY; int16 CARMINE; int16 GARAGEDOOR1; int16 GARAGEDOOR2; int16 GARAGEDOOR3; int16 GARAGEDOOR4; int16 GARAGEDOOR5; int16 GARAGEDOOR6; int16 GARAGEDOOR7; int16 GARAGEDOOR9; int16 GARAGEDOOR10; int16 GARAGEDOOR11; int16 GARAGEDOOR12; int16 GARAGEDOOR13; int16 GARAGEDOOR14; int16 GARAGEDOOR15; int16 GARAGEDOOR16; int16 GARAGEDOOR17; int16 GARAGEDOOR18; int16 GARAGEDOOR19; int16 GARAGEDOOR20; int16 GARAGEDOOR21; int16 GARAGEDOOR22; int16 GARAGEDOOR23; int16 GARAGEDOOR24; int16 GARAGEDOOR25; int16 GARAGEDOOR26; int16 GARAGEDOOR27; int16 GARAGEDOOR28; int16 GARAGEDOOR29; int16 GARAGEDOOR30; int16 GARAGEDOOR31; int16 GARAGEDOOR32; int16 GARAGEDOOR33; int16 GARAGEDOOR34; int16 GARAGEDOOR35; int16 GARAGEDOOR36; int16 GARAGEDOOR37; int16 GARAGEDOOR38; int16 GARAGEDOOR39; int16 TESTRAMP1; // UNUSED int16 TESTRAMP2; int16 NAUTICALMINE; int16 CRUSHERBODY; int16 CRUSHERLID; int16 DONKEYMAG; int16 BULLION; int16 FLOATPACKAGE1; int16 BRIEFCASE; int16 CHINABANNER1; int16 CHINABANNER2; int16 CHINABANNER3; int16 CHINABANNER4; int16 CHINABANNER5; int16 CHINABANNER6; int16 CHINABANNER7; int16 CHINABANNER8; int16 CHINABANNER9; int16 CHINABANNER10; int16 CHINABANNER11; int16 CHINABANNER12; int16 CHINALANTERN; int16 GLASS1; int16 GLASS2; int16 GLASS3; int16 GLASS4; int16 GLASS5; int16 GLASS6; int16 GLASS7; int16 GLASS8; int16 BRIDGELIFT; int16 BRIDGEWEIGHT; int16 BRIDGEROADSEGMENT; int16 EXPLODINGBARREL; int16 ITALYBANNER1; int16 MEGADAMAGE; int16 REGENERATOR; int16 INVISIBLE; int16 GOOD_CAR; int16 BAD_CAR; int16 PICKUP_ADRENALINE; int16 PICKUP_BODYARMOUR; int16 PICKUP_INFO; int16 PICKUP_HEALTH; int16 PICKUP_BONUS; int16 PICKUP_BRIBE; int16 PICKUP_KILLFRENZY; int16 PICKUP_CAMERA; int16 PICKUP_REVENUE; int16 PICKUP_SAVEGAME; int16 PICKUP_PROPERTY; int16 PICKUP_PROPERTY_FORSALE; int16 PICKUP_CLOTHES; int16 BOLLARDLIGHT; int16 CA_SP1; int16 CA_SP2; int16 CA_SP3; int16 CA_SP4; int16 PACKAGE1IZZY; int16 MAGNET; int16 RAILTRACKS; int16 FENCE; int16 FENCE2; int16 PETROLPUMP; int16 PETROLPUMP2; int16 BODYCAST; int16 IZZY_CONFDOOR; int16 SHIPDOOR; int16 IZZY_JDDOOR; int16 IZZY_JDDOOR_SLIDER; int16 LITEHOUSE_GATE; int16 COFFEE; int16 BUOY; int16 PARKTABLE; int16 SUBWAY1; int16 SUBWAY2; int16 SUBWAY3; int16 SUBWAY4; int16 SUBWAY5; int16 SUBWAY6; int16 SUBWAY7; int16 SUBWAY8; int16 SUBWAY9; int16 SUBWAY10; int16 SUBWAY11; int16 SUBWAY12; int16 SUBWAY13; int16 SUBWAY14; int16 SUBWAY15; int16 SUBWAY16; int16 SUBWAY17; int16 SUBWAY18; int16 SUBPLATFORM_IND; int16 SUBPLATFORM_COMS; int16 SUBPLATFORM_COMS2; int16 SUBPLATFORM_COMN; int16 SUBPLATFORM_SUB; int16 SUBPLATFORM_SUB2; int16 FILES; int16 LAMPPOST1; int16 VEG_PALM01; int16 VEG_PALM02; int16 VEG_PALM03; int16 VEG_PALM04; int16 VEG_PALM05; int16 VEG_PALM06; int16 VEG_PALM07; int16 VEG_PALM08; int16 MLAMPPOST; int16 BARRIER1; int16 LITTLEHA_POLICE; int16 TELPOLE02; int16 TRAFFICLIGHT01; int16 PARKBENCH; int16 PLC_STINGER; int16 LIGHTBEAM; int16 AIRPORTRADAR; int16 RCBOMB; int16 JM_SALRADIO; int16 BEACHBALL; int16 SANDCASTLE1; int16 SANDCASTLE2; int16 JELLYFISH; int16 JELLYFISH01; int16 FISH1SINGLE; int16 FISH1S; int16 FISH2SINGLE; int16 FISH2S; int16 FISH3SINGLE; int16 FISH3S; int16 TURTLE; int16 DOLPHIN; int16 SHARK; int16 SUBMARINE; int16 ESCALATORSTEP; int16 LOUNGE_WOOD_UP; int16 LOUNGE_TOWEL_UP; int16 LOUNGE_WOOD_DN; int16 LOTION; int16 BEACHTOWEL01; int16 BEACHTOWEL02; int16 BEACHTOWEL03; int16 BEACHTOWEL04; int16 BLIMP_NIGHT; int16 BLIMP_DAY; int16 YT_MAIN_BODY; int16 YT_MAIN_BODY2; int16 SMALL_HELIX; int16 PT_BARRIER; int16 SUBWAYGATE; int16 IN_PMBRIDRAMP3; int16 IN_PMBRIDG2_UPGS; int16 IN_PMBRIDGE2; int16 IN_PMBRIDG1_UPGS; int16 PM_LIGHTRIG3; int16 PM_LIGHTRIG1; int16 IN_PMSCAFF_UPS; int16 IN_PM_CONCBLOK2; int16 IN_PMSCAFFH_NS; int16 IN_PM_GRAVL_JMP; int16 IN_PM_SCAFFCOVR; int16 IN_PM_GIRDER2; int16 IN_PM_SCAFFH_WE; int16 IN_PM_SIXCONC2; int16 IN_BMBRIDRAMP3; int16 IN_BMBRIDG2_UPGS; int16 IN_BMBRIDGE2; int16 IN_BMBRIDG1_UPGS; int16 BM_LIGHTRIG3; int16 BM_LIGHTRIG1; int16 IN_BMSCAFF_UPS; int16 IN_BM_CONCBLOK2; int16 IN_BMSCAFFH_NS; int16 IN_BM_GRAVL_JMP; int16 IN_BM_SCAFFCOVR; int16 IN_BM_GIRDER2; int16 IN_BM_SCAFFH_WE; int16 IN_BM_SIXCONC2; int16 CRATE_SJL; int16 DOOR1_SJL; int16 DOOR2_SJL; int16 SJL_PORTACABIN; int16 SJL_PORTACABINRED; int16 advert_test; // txd }; extern CModelIndices *gpModelIndices; #define MI_TRAFFICLIGHTS gpModelIndices->TRAFFICLIGHTS #define MI_TLIGHT_POST gpModelIndices->TLIGHT_POST #define MI_TLIGHT_WALK gpModelIndices->TLIGHT_WALK #define MI_TLIGHT_BOX1 gpModelIndices->TLIGHT_BOX1 #define MI_TLIGHT_BOX2 gpModelIndices->TLIGHT_BOX2 #define MI_TRAFFICLIGHTS_VERTICAL gpModelIndices->TRAFFICLIGHTS_VERTICAL #define MI_TRAFFICLIGHTS_MIAMI gpModelIndices->TRAFFICLIGHTS_MIAMI #define MI_TRAFFICLIGHTS_TWOVERTICAL gpModelIndices->TRAFFICLIGHTS_TWOVERTICAL #define MI_SINGLESTREETLIGHTS1 gpModelIndices->SINGLESTREETLIGHTS1 #define MI_SINGLESTREETLIGHTS2 gpModelIndices->SINGLESTREETLIGHTS2 #define MI_SINGLESTREETLIGHTS3 gpModelIndices->SINGLESTREETLIGHTS3 #define MI_DOUBLESTREETLIGHTS gpModelIndices->DOUBLESTREETLIGHTS #define MI_STREETLAMP1 gpModelIndices->STREETLAMP1 #define MI_STREETLAMP2 gpModelIndices->STREETLAMP2 #define MI_ROADSFORROADBLOCKSSTART gpModelIndices->ROADSFORROADBLOCKSSTART #define MI_ROADSFORROADBLOCKSEND gpModelIndices->ROADSFORROADBLOCKSEND #define MI_TREE2 gpModelIndices->TREE2 #define MI_TREE3 gpModelIndices->TREE3 #define MI_TREE6 gpModelIndices->TREE6 #define MI_TREE8 gpModelIndices->TREE8 #define MI_TREE1 gpModelIndices->TREE1 #define MI_TREE4 gpModelIndices->TREE4 #define MI_TREE5 gpModelIndices->TREE5 #define MI_TREE7 gpModelIndices->TREE7 #define MI_TREE9 gpModelIndices->TREE9 #define MI_TREE10 gpModelIndices->TREE10 #define MI_TREE11 gpModelIndices->TREE11 #define MI_TREE12 gpModelIndices->TREE12 #define MI_TREE13 gpModelIndices->TREE13 #define MI_TREE14 gpModelIndices->TREE14 #define MODELID_CRANE_1 gpModelIndices->CRANE_1 #define MODELID_CRANE_2 gpModelIndices->CRANE_2 #define MODELID_CRANE_3 gpModelIndices->CRANE_3 #define MODELID_CRANE_4 gpModelIndices->CRANE_4 #define MODELID_CRANE_5 gpModelIndices->CRANE_5 #define MODELID_CRANE_6 gpModelIndices->CRANE_6 #define MI_PARKINGMETER gpModelIndices->PARKINGMETER #define MI_PARKINGMETER2 gpModelIndices->PARKINGMETER2 #define MI_MALLFAN gpModelIndices->MALLFAN #define MI_HOTELFAN_NIGHT gpModelIndices->HOTELFAN_NIGHT #define MI_HOTELFAN_DAY gpModelIndices->HOTELFAN_DAY #define MI_HOTROOMFAN gpModelIndices->HOTROOMFAN #define MI_PHONEBOOTH1 gpModelIndices->PHONEBOOTH1 #define MI_WASTEBIN gpModelIndices->WASTEBIN #define MI_BIN gpModelIndices->BIN #define MI_POSTBOX1 gpModelIndices->POSTBOX1 #define MI_NEWSSTAND gpModelIndices->NEWSSTAND #define MI_TRAFFICCONE gpModelIndices->TRAFFICCONE #define MI_DUMP1 gpModelIndices->DUMP1 #define MI_ROADWORKBARRIER1 gpModelIndices->ROADWORKBARRIER1 #define MI_BUSSIGN1 gpModelIndices->BUSSIGN1 #define MI_NOPARKINGSIGN1 gpModelIndices->NOPARKINGSIGN1 #define MI_PHONESIGN gpModelIndices->PHONESIGN #define MI_TAXISIGN gpModelIndices->TAXISIGN #define MI_FISHSTALL01 gpModelIndices->FISHSTALL01 #define MI_FISHSTALL02 gpModelIndices->FISHSTALL02 #define MI_FISHSTALL03 gpModelIndices->FISHSTALL03 #define MI_FISHSTALL04 gpModelIndices->FISHSTALL04 #define MI_BAGELSTAND2 gpModelIndices->BAGELSTAND2 #define MI_FIRE_HYDRANT gpModelIndices->FIRE_HYDRANT #define MI_COLLECTABLE1 gpModelIndices->COLLECTABLE1 #define MI_MONEY gpModelIndices->MONEY #define MI_CARMINE gpModelIndices->CARMINE #define MI_GARAGEDOOR1 gpModelIndices->GARAGEDOOR1 #define MI_GARAGEDOOR2 gpModelIndices->GARAGEDOOR2 #define MI_GARAGEDOOR3 gpModelIndices->GARAGEDOOR3 #define MI_GARAGEDOOR4 gpModelIndices->GARAGEDOOR4 #define MI_GARAGEDOOR5 gpModelIndices->GARAGEDOOR5 #define MI_GARAGEDOOR6 gpModelIndices->GARAGEDOOR6 #define MI_GARAGEDOOR7 gpModelIndices->GARAGEDOOR7 #define MI_GARAGEDOOR9 gpModelIndices->GARAGEDOOR9 #define MI_GARAGEDOOR10 gpModelIndices->GARAGEDOOR10 #define MI_GARAGEDOOR11 gpModelIndices->GARAGEDOOR11 #define MI_GARAGEDOOR12 gpModelIndices->GARAGEDOOR12 #define MI_GARAGEDOOR13 gpModelIndices->GARAGEDOOR13 #define MI_GARAGEDOOR14 gpModelIndices->GARAGEDOOR14 #define MI_GARAGEDOOR15 gpModelIndices->GARAGEDOOR15 #define MI_GARAGEDOOR16 gpModelIndices->GARAGEDOOR16 #define MI_GARAGEDOOR17 gpModelIndices->GARAGEDOOR17 #define MI_GARAGEDOOR18 gpModelIndices->GARAGEDOOR18 #define MI_GARAGEDOOR19 gpModelIndices->GARAGEDOOR19 #define MI_GARAGEDOOR20 gpModelIndices->GARAGEDOOR20 #define MI_GARAGEDOOR21 gpModelIndices->GARAGEDOOR21 #define MI_GARAGEDOOR22 gpModelIndices->GARAGEDOOR22 #define MI_GARAGEDOOR23 gpModelIndices->GARAGEDOOR23 #define MI_GARAGEDOOR24 gpModelIndices->GARAGEDOOR24 #define MI_GARAGEDOOR25 gpModelIndices->GARAGEDOOR25 #define MI_GARAGEDOOR26 gpModelIndices->GARAGEDOOR26 #define MI_GARAGEDOOR27 gpModelIndices->GARAGEDOOR27 #define MI_GARAGEDOOR28 gpModelIndices->GARAGEDOOR28 #define MI_GARAGEDOOR29 gpModelIndices->GARAGEDOOR29 #define MI_GARAGEDOOR30 gpModelIndices->GARAGEDOOR30 #define MI_GARAGEDOOR31 gpModelIndices->GARAGEDOOR31 #define MI_GARAGEDOOR32 gpModelIndices->GARAGEDOOR32 #define MI_GARAGEDOOR33 gpModelIndices->GARAGEDOOR33 #define MI_GARAGEDOOR34 gpModelIndices->GARAGEDOOR34 #define MI_GARAGEDOOR35 gpModelIndices->GARAGEDOOR35 #define MI_GARAGEDOOR36 gpModelIndices->GARAGEDOOR36 #define MI_GARAGEDOOR37 gpModelIndices->GARAGEDOOR37 #define MI_GARAGEDOOR38 gpModelIndices->GARAGEDOOR38 #define MI_GARAGEDOOR39 gpModelIndices->GARAGEDOOR39 #define MI_TESTRAMP1 gpModelIndices->TESTRAMP1 // UNUSED #define MI_TESTRAMP2 gpModelIndices->TESTRAMP2 #define MI_NAUTICALMINE gpModelIndices->NAUTICALMINE #define MI_CRUSHERBODY gpModelIndices->CRUSHERBODY #define MI_CRUSHERLID gpModelIndices->CRUSHERLID #define MI_DONKEYMAG gpModelIndices->DONKEYMAG #define MI_BULLION gpModelIndices->BULLION #define MI_FLOATPACKAGE1 gpModelIndices->FLOATPACKAGE1 #define MI_BRIEFCASE gpModelIndices->BRIEFCASE #define MI_CHINABANNER1 gpModelIndices->CHINABANNER1 #define MI_CHINABANNER2 gpModelIndices->CHINABANNER2 #define MI_CHINABANNER3 gpModelIndices->CHINABANNER3 #define MI_CHINABANNER4 gpModelIndices->CHINABANNER4 #define MI_CHINABANNER5 gpModelIndices->CHINABANNER5 #define MI_CHINABANNER6 gpModelIndices->CHINABANNER6 #define MI_CHINABANNER7 gpModelIndices->CHINABANNER7 #define MI_CHINABANNER8 gpModelIndices->CHINABANNER8 #define MI_CHINABANNER9 gpModelIndices->CHINABANNER9 #define MI_CHINABANNER10 gpModelIndices->CHINABANNER10 #define MI_CHINABANNER11 gpModelIndices->CHINABANNER11 #define MI_CHINABANNER12 gpModelIndices->CHINABANNER12 #define MI_CHINALANTERN gpModelIndices->CHINALANTERN #define MI_GLASS1 gpModelIndices->GLASS1 #define MI_GLASS2 gpModelIndices->GLASS2 #define MI_GLASS3 gpModelIndices->GLASS3 #define MI_GLASS4 gpModelIndices->GLASS4 #define MI_GLASS5 gpModelIndices->GLASS5 #define MI_GLASS6 gpModelIndices->GLASS6 #define MI_GLASS7 gpModelIndices->GLASS7 #define MI_GLASS8 gpModelIndices->GLASS8 #define MI_BRIDGELIFT gpModelIndices->BRIDGELIFT #define MI_BRIDGEWEIGHT gpModelIndices->BRIDGEWEIGHT #define MI_BRIDGEROADSEGMENT gpModelIndices->BRIDGEROADSEGMENT #define MI_EXPLODINGBARREL gpModelIndices->EXPLODINGBARREL #define MI_ITALYBANNER1 gpModelIndices->ITALYBANNER1 #define MI_MEGADAMAGE gpModelIndices->MEGADAMAGE #define MI_REGENERATOR gpModelIndices->REGENERATOR #define MI_INVISIBLE gpModelIndices->INVISIBLE #define MI_GOOD_CAR gpModelIndices->GOOD_CAR #define MI_BAD_CAR gpModelIndices->BAD_CAR #define MI_PICKUP_ADRENALINE gpModelIndices->PICKUP_ADRENALINE #define MI_PICKUP_BODYARMOUR gpModelIndices->PICKUP_BODYARMOUR #define MI_PICKUP_INFO gpModelIndices->PICKUP_INFO #define MI_PICKUP_HEALTH gpModelIndices->PICKUP_HEALTH #define MI_PICKUP_BONUS gpModelIndices->PICKUP_BONUS #define MI_PICKUP_BRIBE gpModelIndices->PICKUP_BRIBE #define MI_PICKUP_KILLFRENZY gpModelIndices->PICKUP_KILLFRENZY #define MI_PICKUP_CAMERA gpModelIndices->PICKUP_CAMERA #define MI_PICKUP_REVENUE gpModelIndices->PICKUP_REVENUE #define MI_PICKUP_SAVEGAME gpModelIndices->PICKUP_SAVEGAME #define MI_PICKUP_PROPERTY gpModelIndices->PICKUP_PROPERTY #define MI_PICKUP_PROPERTY_FORSALE gpModelIndices->PICKUP_PROPERTY_FORSALE #define MI_PICKUP_CLOTHES gpModelIndices->PICKUP_CLOTHES #define MI_BOLLARDLIGHT gpModelIndices->BOLLARDLIGHT #define MI_CA_SP1 gpModelIndices->CA_SP1 #define MI_CA_SP2 gpModelIndices->CA_SP2 #define MI_CA_SP3 gpModelIndices->CA_SP3 #define MI_CA_SP4 gpModelIndices->CA_SP4 #define MI_PACKAGE1IZZY gpModelIndices->PACKAGE1IZZY #define MI_MAGNET gpModelIndices->MAGNET #define MI_RAILTRACKS gpModelIndices->RAILTRACKS #define MI_FENCE gpModelIndices->FENCE #define MI_FENCE2 gpModelIndices->FENCE2 #define MI_PETROLPUMP gpModelIndices->PETROLPUMP #define MI_PETROLPUMP2 gpModelIndices->PETROLPUMP2 #define MI_BODYCAST gpModelIndices->BODYCAST #define MI_IZZY_CONFDOOR gpModelIndices->IZZY_CONFDOOR #define MI_SHIPDOOR gpModelIndices->SHIPDOOR #define MI_IZZY_JDDOOR gpModelIndices->IZZY_JDDOOR #define MI_IZZY_JDDOOR_SLIDER gpModelIndices->IZZY_JDDOOR_SLIDER #define MI_LITEHOUSE_GATE gpModelIndices->LITEHOUSE_GATE #define MI_COFFEE gpModelIndices->COFFEE #define MI_BUOY gpModelIndices->BUOY #define MI_PARKTABLE gpModelIndices->PARKTABLE #define MI_SUBWAY1 gpModelIndices->SUBWAY1 #define MI_SUBWAY2 gpModelIndices->SUBWAY2 #define MI_SUBWAY3 gpModelIndices->SUBWAY3 #define MI_SUBWAY4 gpModelIndices->SUBWAY4 #define MI_SUBWAY5 gpModelIndices->SUBWAY5 #define MI_SUBWAY6 gpModelIndices->SUBWAY6 #define MI_SUBWAY7 gpModelIndices->SUBWAY7 #define MI_SUBWAY8 gpModelIndices->SUBWAY8 #define MI_SUBWAY9 gpModelIndices->SUBWAY9 #define MI_SUBWAY10 gpModelIndices->SUBWAY10 #define MI_SUBWAY11 gpModelIndices->SUBWAY11 #define MI_SUBWAY12 gpModelIndices->SUBWAY12 #define MI_SUBWAY13 gpModelIndices->SUBWAY13 #define MI_SUBWAY14 gpModelIndices->SUBWAY14 #define MI_SUBWAY15 gpModelIndices->SUBWAY15 #define MI_SUBWAY16 gpModelIndices->SUBWAY16 #define MI_SUBWAY17 gpModelIndices->SUBWAY17 #define MI_SUBWAY18 gpModelIndices->SUBWAY18 #define MI_SUBPLATFORM_IND gpModelIndices->SUBPLATFORM_IND #define MI_SUBPLATFORM_COMS gpModelIndices->SUBPLATFORM_COMS #define MI_SUBPLATFORM_COMS2 gpModelIndices->SUBPLATFORM_COMS2 #define MI_SUBPLATFORM_COMN gpModelIndices->SUBPLATFORM_COMN #define MI_SUBPLATFORM_SUB gpModelIndices->SUBPLATFORM_SUB #define MI_SUBPLATFORM_SUB2 gpModelIndices->SUBPLATFORM_SUB2 #define MI_FILES gpModelIndices->FILES #define MI_LAMPPOST1 gpModelIndices->LAMPPOST1 #define MI_VEG_PALM01 gpModelIndices->VEG_PALM01 #define MI_VEG_PALM02 gpModelIndices->VEG_PALM02 #define MI_VEG_PALM03 gpModelIndices->VEG_PALM03 #define MI_VEG_PALM04 gpModelIndices->VEG_PALM04 #define MI_VEG_PALM05 gpModelIndices->VEG_PALM05 #define MI_VEG_PALM06 gpModelIndices->VEG_PALM06 #define MI_VEG_PALM07 gpModelIndices->VEG_PALM07 #define MI_VEG_PALM08 gpModelIndices->VEG_PALM08 #define MI_MLAMPPOST gpModelIndices->MLAMPPOST #define MI_BARRIER1 gpModelIndices->BARRIER1 #define MI_LITTLEHA_POLICE gpModelIndices->LITTLEHA_POLICE #define MI_TELPOLE02 gpModelIndices->TELPOLE02 #define MI_TRAFFICLIGHT01 gpModelIndices->TRAFFICLIGHT01 #define MI_PARKBENCH gpModelIndices->PARKBENCH #define MI_PLC_STINGER gpModelIndices->PLC_STINGER #define MI_LIGHTBEAM gpModelIndices->LIGHTBEAM #define MI_AIRPORTRADAR gpModelIndices->AIRPORTRADAR #define MI_RCBOMB gpModelIndices->RCBOMB #define MI_JM_SALRADIO gpModelIndices->JM_SALRADIO #define MI_BEACHBALL gpModelIndices->BEACHBALL #define MI_SANDCASTLE1 gpModelIndices->SANDCASTLE1 #define MI_SANDCASTLE2 gpModelIndices->SANDCASTLE2 #define MI_JELLYFISH gpModelIndices->JELLYFISH #define MI_JELLYFISH01 gpModelIndices->JELLYFISH01 #define MI_FISH1SINGLE gpModelIndices->FISH1SINGLE #define MI_FISH1S gpModelIndices->FISH1S #define MI_FISH2SINGLE gpModelIndices->FISH2SINGLE #define MI_FISH2S gpModelIndices->FISH2S #define MI_FISH3SINGLE gpModelIndices->FISH3SINGLE #define MI_FISH3S gpModelIndices->FISH3S #define MI_TURTLE gpModelIndices->TURTLE #define MI_DOLPHIN gpModelIndices->DOLPHIN #define MI_SHARK gpModelIndices->SHARK #define MI_SUBMARINE gpModelIndices->SUBMARINE #define MI_ESCALATORSTEP gpModelIndices->ESCALATORSTEP #define MI_LOUNGE_WOOD_UP gpModelIndices->LOUNGE_WOOD_UP #define MI_LOUNGE_TOWEL_UP gpModelIndices->LOUNGE_TOWEL_UP #define MI_LOUNGE_WOOD_DN gpModelIndices->LOUNGE_WOOD_DN #define MI_LOTION gpModelIndices->LOTION #define MI_BEACHTOWEL01 gpModelIndices->BEACHTOWEL01 #define MI_BEACHTOWEL02 gpModelIndices->BEACHTOWEL02 #define MI_BEACHTOWEL03 gpModelIndices->BEACHTOWEL03 #define MI_BEACHTOWEL04 gpModelIndices->BEACHTOWEL04 #define MI_BLIMP_NIGHT gpModelIndices->BLIMP_NIGHT #define MI_BLIMP_DAY gpModelIndices->BLIMP_DAY #define MI_YT_MAIN_BODY gpModelIndices->YT_MAIN_BODY #define MI_YT_MAIN_BODY2 gpModelIndices->YT_MAIN_BODY2 #define MI_SMALL_HELIX gpModelIndices->SMALL_HELIX #define MI_PT_BARRIER gpModelIndices->PT_BARRIER #define MI_SUBWAYGATE gpModelIndices->SUBWAYGATE #define MI_IN_PMBRIDRAMP3 gpModelIndices->IN_PMBRIDRAMP3 #define MI_IN_PMBRIDG2_UPGS gpModelIndices->IN_PMBRIDG2_UPGS #define MI_IN_PMBRIDGE2 gpModelIndices->IN_PMBRIDGE2 #define MI_IN_PMBRIDG1_UPGS gpModelIndices->IN_PMBRIDG1_UPGS #define MI_PM_LIGHTRIG3 gpModelIndices->PM_LIGHTRIG3 #define MI_PM_LIGHTRIG1 gpModelIndices->PM_LIGHTRIG1 #define MI_IN_PMSCAFF_UPS gpModelIndices->IN_PMSCAFF_UPS #define MI_IN_PM_CONCBLOK2 gpModelIndices->IN_PM_CONCBLOK2 #define MI_IN_PMSCAFFH_NS gpModelIndices->IN_PMSCAFFH_NS #define MI_IN_PM_GRAVL_JMP gpModelIndices->IN_PM_GRAVL_JMP #define MI_IN_PM_SCAFFCOVR gpModelIndices->IN_PM_SCAFFCOVR #define MI_IN_PM_GIRDER2 gpModelIndices->IN_PM_GIRDER2 #define MI_IN_PM_SCAFFH_WE gpModelIndices->IN_PM_SCAFFH_WE #define MI_IN_PM_SIXCONC2 gpModelIndices->IN_PM_SIXCONC2 #define MI_IN_BMBRIDRAMP3 gpModelIndices->IN_BMBRIDRAMP3 #define MI_IN_BMBRIDG2_UPGS gpModelIndices->IN_BMBRIDG2_UPGS #define MI_IN_BMBRIDGE2 gpModelIndices->IN_BMBRIDGE2 #define MI_IN_BMBRIDG1_UPGS gpModelIndices->IN_BMBRIDG1_UPGS #define MI_BM_LIGHTRIG3 gpModelIndices->BM_LIGHTRIG3 #define MI_BM_LIGHTRIG1 gpModelIndices->BM_LIGHTRIG1 #define MI_IN_BMSCAFF_UPS gpModelIndices->IN_BMSCAFF_UPS #define MI_IN_BM_CONCBLOK2 gpModelIndices->IN_BM_CONCBLOK2 #define MI_IN_BMSCAFFH_NS gpModelIndices->IN_BMSCAFFH_NS #define MI_IN_BM_GRAVL_JMP gpModelIndices->IN_BM_GRAVL_JMP #define MI_IN_BM_SCAFFCOVR gpModelIndices->IN_BM_SCAFFCOVR #define MI_IN_BM_GIRDER2 gpModelIndices->IN_BM_GIRDER2 #define MI_IN_BM_SCAFFH_WE gpModelIndices->IN_BM_SCAFFH_WE #define MI_IN_BM_SIXCONC2 gpModelIndices->IN_BM_SIXCONC2 #define MI_CRATE_SJL gpModelIndices->CRATE_SJL #define MI_DOOR1_SJL gpModelIndices->DOOR1_SJL #define MI_DOOR2_SJL gpModelIndices->DOOR2_SJL #define MI_SJL_PORTACABIN gpModelIndices->SJL_PORTACABIN #define MI_SJL_PORTACABINRED gpModelIndices->SJL_PORTACABINRED #define MODELINDICES \ X("fire_hydrant", MI_FIRE_HYDRANT) \ X("fire_hydrant", MI_FIRE_HYDRANT) /* BUG: second time */ \ X("bagelstnd02", MI_BAGELSTAND2) \ X("fish01", MI_FISHSTALL01) \ X("fishstall02", MI_FISHSTALL02) \ X("fishstall03", MI_FISHSTALL03) \ X("fishstall04", MI_FISHSTALL04) \ X("taxisign", MI_TAXISIGN) \ X("phonesign", MI_PHONESIGN) \ X("noparkingsign1", MI_NOPARKINGSIGN1) \ X("bussign1", MI_BUSSIGN1) \ X("roadworkbarrier1", MI_ROADWORKBARRIER1) \ X("dump1", MI_DUMP1) \ X("trafficcone", MI_TRAFFICCONE) \ X("newsstand1", MI_NEWSSTAND) \ X("postbox1", MI_POSTBOX1) \ X("bin1", MI_BIN) \ X("wastebin", MI_WASTEBIN) \ X("phonebooth1", MI_PHONEBOOTH1) \ X("parkingmeter", MI_PARKINGMETER) \ X("trafficlight1", MI_TRAFFICLIGHTS) \ X("tlight_post", MI_TLIGHT_POST) \ X("tlight_walk", MI_TLIGHT_WALK) \ X("tlight_box1", MI_TLIGHT_BOX1) \ X("tlight_box2", MI_TLIGHT_BOX2) \ X("parkingmeterg", MI_PARKINGMETER2) \ X("mall_fans", MI_MALLFAN) \ X("htl_fan_rotate_nt", MI_HOTELFAN_NIGHT) \ X("htl_fan_rotate_dy", MI_HOTELFAN_DAY) \ X("hotroomfan", MI_HOTROOMFAN) \ X("trafficlight1", MI_TRAFFICLIGHTS) /* BUG: second time */ \ X("MTraffic4", MI_TRAFFICLIGHTS_VERTICAL) \ X("MTraffic1", MI_TRAFFICLIGHTS_MIAMI) \ X("MTraffic2", MI_TRAFFICLIGHTS_TWOVERTICAL) \ X("lamppost1", MI_SINGLESTREETLIGHTS1) \ X("lamppost2", MI_SINGLESTREETLIGHTS2) \ X("lamppost3", MI_SINGLESTREETLIGHTS3) \ X("doublestreetlght1", MI_DOUBLESTREETLIGHTS) \ X("Streetlamp1", MI_STREETLAMP1) \ X("Streetlamp2", MI_STREETLAMP2) \ X("rd_Road2A10", MI_ROADSFORROADBLOCKSSTART) \ X("rd_Road1A30", MI_ROADSFORROADBLOCKSEND) \ X("veg_tree1", MI_TREE1) \ X("veg_tree3", MI_TREE2) \ X("veg_treea1", MI_TREE3) \ X("veg_treenew01", MI_TREE4) \ X("veg_treenew05", MI_TREE5) \ X("veg_treeb1", MI_TREE6) \ X("veg_treenew10", MI_TREE7) \ X("veg_treea3", MI_TREE8) \ X("veg_treenew09", MI_TREE9) \ X("veg_treenew08", MI_TREE10) \ X("veg_treenew03", MI_TREE11) \ X("veg_treenew16", MI_TREE12) \ X("veg_treenew17", MI_TREE13) \ X("veg_treenew06", MI_TREE14) \ X("crusher_crane", MODELID_CRANE_1) \ X("package1", MI_COLLECTABLE1) \ X("Money", MI_MONEY) \ X("barrel1", MI_CARMINE) \ X("oddjgaragdoor", MI_GARAGEDOOR1) \ X("bombdoor", MI_GARAGEDOOR2) \ X("door_bombshop", MI_GARAGEDOOR3) \ X("vheistlocdoor", MI_GARAGEDOOR4) \ X("door2_garage", MI_GARAGEDOOR5) \ X("ind_slidedoor", MI_GARAGEDOOR6) \ X("bankjobdoor", MI_GARAGEDOOR7) \ X("door_jmsgrage", MI_GARAGEDOOR9) \ X("ind_safeh_gdoor", MI_GARAGEDOOR10) \ X("door_sfehousegrge", MI_GARAGEDOOR11) \ X("shedgaragedoor", MI_GARAGEDOOR12) \ X("door4_garage", MI_GARAGEDOOR13) \ X("door_col_compnd_01", MI_GARAGEDOOR14) \ X("door_col_compnd_02", MI_GARAGEDOOR15) \ X("door_col_compnd_03", MI_GARAGEDOOR16) \ X("door_col_compnd_04", MI_GARAGEDOOR17) \ X("door_col_compnd_05", MI_GARAGEDOOR18) \ X("impex_door", MI_GARAGEDOOR19) \ X("SalvGarage", MI_GARAGEDOOR20) \ X("door3_garage", MI_GARAGEDOOR21) \ X("leveldoor2", MI_GARAGEDOOR22) \ X("double_garage_dr", MI_GARAGEDOOR23) \ X("amcogaragedoor", MI_GARAGEDOOR24) \ X("towergaragedoor1", MI_GARAGEDOOR25) \ X("towergaragedoor2", MI_GARAGEDOOR26) \ X("towergaragedoor3", MI_GARAGEDOOR27) \ X("plysve_gragedoor", MI_GARAGEDOOR28) \ X("impexpsubgrgdoor", MI_GARAGEDOOR29) \ X("Sub_sprayshopdoor", MI_GARAGEDOOR30) \ X("ind_plyrwoor", MI_GARAGEDOOR31) \ X("8ballsuburbandoor", MI_GARAGEDOOR32) \ X("door_nthgrage", MI_GARAGEDOOR33) \ X("hangardoor1", MI_GARAGEDOOR34) \ X("hangardoor2", MI_GARAGEDOOR35) \ X("neds_door", MI_GARAGEDOOR36) \ X("fs_wrhsedoor", MI_GARAGEDOOR37) \ X("jm_ContraGarage", MI_GARAGEDOOR38) \ X("jm_imp_SalvGarage", MI_GARAGEDOOR39) \ X("Testramp1", MI_TESTRAMP1) /* BUG: LCS used MI_TESTRAMP2 here */ \ X("Testramp2", MI_TESTRAMP2) \ X("barrel2", MI_NAUTICALMINE) \ X("crushercrush", MI_CRUSHERBODY) \ X("crushertop", MI_CRUSHERLID) \ X("donkeymag", MI_DONKEYMAG) \ X("bullion", MI_BULLION) \ X("floatpackge1", MI_FLOATPACKAGE1) \ X("briefcase", MI_BRIEFCASE) \ X("chinabanner1", MI_CHINABANNER1) \ X("chinabanner2", MI_CHINABANNER2) \ X("chinabanner3", MI_CHINABANNER3) \ X("chinabanner4", MI_CHINABANNER4) \ X("iten_chinatown5", MI_CHINABANNER5) \ X("iten_chinatown7", MI_CHINABANNER6) \ X("iten_chinatown3", MI_CHINABANNER7) \ X("iten_chinatown2", MI_CHINABANNER8) \ X("iten_chinatown4", MI_CHINABANNER9) \ X("iten_washline01", MI_CHINABANNER10) \ X("iten_washline02", MI_CHINABANNER11) \ X("iten_washline03", MI_CHINABANNER12) \ X("chinalanterns", MI_CHINALANTERN) \ X("glassfx1", MI_GLASS1) \ X("glassfx2", MI_GLASS2) \ X("glassfx3", MI_GLASS3) \ X("glassfx4", MI_GLASS4) \ X("glassfx55", MI_GLASS5) \ X("glassfxsub1", MI_GLASS6) \ X("glassfxsub2", MI_GLASS7) \ X("glassfx_composh", MI_GLASS8) \ X("bridge_liftsec", MI_BRIDGELIFT) \ X("bridge_liftweight", MI_BRIDGEWEIGHT) \ X("subbridge_lift", MI_BRIDGEROADSEGMENT) \ X("flagsitaly", MI_ITALYBANNER1) \ X("small_helix", MI_SMALL_HELIX) \ X("barrel4", MI_EXPLODINGBARREL) \ X("Crate_sjl", MI_CRATE_SJL) \ X("Door1_sjl", MI_DOOR1_SJL) \ X("Door2_sjl", MI_DOOR2_SJL) \ X("SJL_PortaCabin", MI_SJL_PORTACABIN) \ X("SJL_PortaCabinred", MI_SJL_PORTACABINRED) \ X("megaDamage", MI_MEGADAMAGE) \ X("regenerator", MI_REGENERATOR) \ X("invisible", MI_INVISIBLE) \ X("good_car", MI_GOOD_CAR) \ X("bad_car", MI_BAD_CAR) \ X("adrenaline", MI_PICKUP_ADRENALINE) \ X("bodyarmour", MI_PICKUP_BODYARMOUR) \ X("info", MI_PICKUP_INFO) \ X("health", MI_PICKUP_HEALTH) \ X("bonus", MI_PICKUP_BONUS) \ X("bribe", MI_PICKUP_BRIBE) \ X("killfrenzy", MI_PICKUP_KILLFRENZY) \ X("camerapickup", MI_PICKUP_CAMERA) \ X("bigdollar", MI_PICKUP_REVENUE) \ X("pickupsave", MI_PICKUP_SAVEGAME) \ X("clothesp", MI_PICKUP_CLOTHES) \ X("property_locked", MI_PICKUP_PROPERTY) \ X("property_fsale", MI_PICKUP_PROPERTY_FORSALE) \ X("bollardlight", MI_BOLLARDLIGHT) \ X("ca_sp1", MI_CA_SP1) \ X("ca_sp2", MI_CA_SP2) \ X("ca_sp3", MI_CA_SP3) \ X("ca_sp4", MI_CA_SP4) \ X("package1izzy", MI_PACKAGE1IZZY) \ X("magnet", MI_MAGNET) \ X("streetlamp1", MI_STREETLAMP1) \ X("streetlamp2", MI_STREETLAMP2) \ X("railtrax_lo4b", MI_RAILTRACKS) \ X("bar_barrier10", MI_FENCE) \ X("bar_barrier12", MI_FENCE2) \ X("petrolpump", MI_PETROLPUMP) \ X("washgaspump", MI_PETROLPUMP2) \ X("bodycast", MI_BODYCAST) \ X("izzy_confDoor", MI_IZZY_CONFDOOR) \ X("shipdoor", MI_SHIPDOOR) \ X("izzy_jdDoor", MI_IZZY_JDDOOR) \ X("izzy_jdDoor_slider", MI_IZZY_JDDOOR_SLIDER) \ X("litehouse_gate", MI_LITEHOUSE_GATE) \ X("coffee", MI_COFFEE) \ X("bouy", MI_BUOY) \ X("parktable1", MI_PARKTABLE) \ X("sbwy_tunl_start", MI_SUBWAY1) \ X("sbwy_tunl_bit", MI_SUBWAY2) \ X("sbwy_tunl_bend", MI_SUBWAY3) \ X("sbwy_tunl_cstm6", MI_SUBWAY4) \ X("sbwy_tunl_cstm7", MI_SUBWAY5) \ X("sbwy_tunl_cstm8", MI_SUBWAY6) \ X("sbwy_tunl_cstm10", MI_SUBWAY7) \ X("sbwy_tunl_cstm9", MI_SUBWAY8) \ X("sbwy_tunl_cstm11", MI_SUBWAY9) \ X("sbwy_tunl_cstm1", MI_SUBWAY10) \ X("sbwy_tunl_cstm2", MI_SUBWAY11) \ X("sbwy_tunl_cstm4", MI_SUBWAY12) \ X("sbwy_tunl_cstm3", MI_SUBWAY13) \ X("sbwy_tunl_cstm5", MI_SUBWAY14) \ X("subplatform_n2", MI_SUBWAY15) \ X("suby_tunl_start", MI_SUBWAY16) \ X("sbwy_tunl_start2", MI_SUBWAY17) \ X("indy_tunl_start", MI_SUBWAY18) \ X("indsubway03", MI_SUBPLATFORM_IND) \ X("comerside_subway", MI_SUBPLATFORM_COMS) \ X("subplatform", MI_SUBPLATFORM_COMS2) \ X("subplatform_n", MI_SUBPLATFORM_COMN) \ X("Otherside_subway", MI_SUBPLATFORM_SUB) \ X("subplatform_sub", MI_SUBPLATFORM_SUB2) \ X("files", MI_FILES) \ X("lamppost1", MI_LAMPPOST1) \ X("veg_palm04", MI_VEG_PALM01) \ X("veg_palwee02", MI_VEG_PALM02) \ X("veg_palmkbb11", MI_VEG_PALM03) \ X("veg_palmkb4", MI_VEG_PALM04) \ X("veg_palm02", MI_VEG_PALM05) \ X("veg_palmkb3", MI_VEG_PALM06) \ X("veg_palmbig14", MI_VEG_PALM07) \ X("veg_palm01", MI_VEG_PALM08) \ X("mlamppost", MI_MLAMPPOST) \ X("roadworkbarrier1", MI_BARRIER1) \ X("littleha_police", MI_LITTLEHA_POLICE) \ X("telgrphpole02", MI_TELPOLE02) \ X("trafficlight1", MI_TRAFFICLIGHT01) \ X("parkbench1", MI_PARKBENCH) \ X("Money", MI_MONEY) \ X("plc_stinger", MI_PLC_STINGER) \ X("od_lightbeam", MI_LIGHTBEAM) \ X("ap_radar1_01", MI_AIRPORTRADAR) \ X("rcbomb", MI_RCBOMB) \ X("jm_salradio", MI_JM_SALRADIO) \ X("beachball", MI_BEACHBALL) \ X("sandcastle1", MI_SANDCASTLE1) \ X("sandcastle2", MI_SANDCASTLE2) \ X("jellyfish", MI_JELLYFISH) \ X("jellyfish01", MI_JELLYFISH01) \ X("fish1single", MI_FISH1SINGLE) \ X("fish1s", MI_FISH1S) \ X("fish2single", MI_FISH2SINGLE) \ X("fish2s", MI_FISH2S) \ X("fish3single", MI_FISH3SINGLE) \ X("fish3s", MI_FISH3S) \ X("turtle", MI_TURTLE) \ X("dolphin", MI_DOLPHIN) \ X("shark", MI_SHARK) \ X("submarine", MI_SUBMARINE) \ X("Esc_step", MI_ESCALATORSTEP) \ X("lounge_wood_up", MI_LOUNGE_WOOD_UP) \ X("lounge_towel_up", MI_LOUNGE_TOWEL_UP) \ X("lounge_wood_dn", MI_LOUNGE_WOOD_DN) \ X("lotion", MI_LOTION) \ X("beachtowel01", MI_BEACHTOWEL01) \ X("beachtowel02", MI_BEACHTOWEL02) \ X("beachtowel03", MI_BEACHTOWEL03) \ X("beachtowel04", MI_BEACHTOWEL04) \ X("blimp_night", MI_BLIMP_NIGHT) \ X("blimp_day", MI_BLIMP_DAY) \ X("yt_main_body", MI_YT_MAIN_BODY) \ X("pt_barrier", MI_PT_BARRIER) \ X("subwaygate", MI_SUBWAYGATE) \ X("in_PMbridramp3", MI_IN_PMBRIDRAMP3) \ X("in_PMbridg2_upgs", MI_IN_PMBRIDG2_UPGS) \ X("in_PMbridge2", MI_IN_PMBRIDGE2) \ X("in_PMbridg1_upgs", MI_IN_PMBRIDG1_UPGS) \ X("pm_lightrig3", MI_PM_LIGHTRIG3) \ X("pm_lightrig1", MI_PM_LIGHTRIG1) \ X("in_pmSCAFF_UPS", MI_IN_PMSCAFF_UPS) \ X("in_pm_concblok2", MI_IN_PM_CONCBLOK2) \ X("in_pmSCAFFH_ns", MI_IN_PMSCAFFH_NS) \ X("in_pm_gravl_jmp", MI_IN_PM_GRAVL_JMP) \ X("in_pm_scaffcovr", MI_IN_PM_SCAFFCOVR) \ X("in_pm_girder2", MI_IN_PM_GIRDER2) \ X("in_pm_scaffH_we", MI_IN_PM_SCAFFH_WE) \ X("in_pm_sixconc2", MI_IN_PM_SIXCONC2) \ X("in_BMbridramp3", MI_IN_BMBRIDRAMP3) \ X("in_BMbridg2_upgs", MI_IN_BMBRIDG2_UPGS) \ X("in_BMbridge2", MI_IN_BMBRIDGE2) \ X("in_BMbridg1_upgs", MI_IN_BMBRIDG1_UPGS) \ X("Bm_lightrig3", MI_BM_LIGHTRIG3) \ X("bm_lightrig1", MI_BM_LIGHTRIG1) \ X("in_BmSCAFF_UPS", MI_IN_BMSCAFF_UPS) \ X("in_Bm_concblok2", MI_IN_BM_CONCBLOK2) \ X("in_BmSCAFFH_ns", MI_IN_BMSCAFFH_NS) \ X("in_Bm_gravl_jmp", MI_IN_BM_GRAVL_JMP) \ X("in_Bm_scaffcovr", MI_IN_BM_SCAFFCOVR) \ X("in_Bm_girder2", MI_IN_BM_GIRDER2) \ X("in_Bm_scaffH_we", MI_IN_BM_SCAFFH_WE) \ X("in_Bm_sixconc2", MI_IN_BM_SIXCONC2) /*X("yt_main_body2", MI_YT_MAIN_BODY2) \*/ //#define X(name, var) extern int16 var; // MODELINDICES //#undef X // and some hardcoded ones // expand as needed enum { MI_PLAYER = 0, MI_COP, MI_SWAT, MI_FBI, MI_ARMY, MI_MEDIC, MI_FIREMAN, MI_MALE01, MI_TAXI_D = 9, MI_PIMP, MI_CRIMINAL01, MI_CRIMINAL02, MI_MALE02, MI_MALE03, MI_FATMALE01, MI_FATMALE02, MI_FEMALE01, MI_FEMALE02, MI_FEMALE03, MI_FATFEMALE01, MI_FATFEMALE02, MI_PROSTITUTE, MI_PROSTITUTE2, MI_P_MAN1, MI_P_MAN2, MI_P_WOM1, MI_P_WOM2, MI_CT_MAN1, MI_CT_MAN2, MI_CT_WOM1, MI_CT_WOM2, MI_LI_MAN1, MI_LI_MAN2, MI_LI_WOM1, MI_LI_WOM2, MI_DOCKER1, MI_DOCKER2, MI_SCUM_MAN, MI_SCUM_WOM, MI_WORKER1, MI_WORKER2, MI_B_MAN1, MI_B_MAN2, MI_B_MAN3, MI_B_WOM1, MI_B_WOM2, MI_B_WOM3, MI_MOD_MAN, MI_MOD_WOM, MI_ST_MAN, MI_ST_WOM, MI_FAN_MAN1, MI_FAN_MAN2, MI_FAN_WOM, MI_HOS_MAN, MI_HOS_WOM, MI_CONST1, MI_CONST2, MI_SHOPPER1, MI_SHOPPER2, MI_SHOPPER3, MI_STUD_MAN, MI_STUD_WOM, MI_CAS_MAN, MI_CAS_WOM, MI_CAMP_MAN, MI_CAMP_WOM, MI_HITMAN, MI_JFOTO = 77, MI_JMOTO, MI_GANG01, MI_GANG02, MI_GANG03, MI_GANG04, MI_GANG05, MI_GANG06, MI_GANG07, MI_GANG08, MI_GANG09, MI_GANG10, MI_GANG11, MI_GANG12, MI_GANG13, MI_GANG14, MI_GANG15, MI_GANG16, MI_GANG17, MI_GANG18, MI_VICE1, MI_VICE2, MI_VICE3, MI_VICE4, MI_VICE5, MI_VICE6, MI_VICE7, MI_VICE8, MI_WFYG1, MI_WFYG2,// = 106, // last regular ped // three more peds possible MI_SPECIAL01 = 109, MI_SPECIAL02, MI_SPECIAL03, MI_SPECIAL04, MI_SPECIAL05, MI_SPECIAL06, MI_SPECIAL07, MI_SPECIAL08, MI_SPECIAL09, MI_SPECIAL10, MI_SPECIAL11, MI_SPECIAL12, MI_SPECIAL13, MI_SPECIAL14, MI_SPECIAL15, MI_SPECIAL16, MI_SPECIAL17, MI_SPECIAL18, MI_SPECIAL19, MI_SPECIAL20, MI_SPECIAL21,// = 129, MI_LAST_PED = MI_SPECIAL21, MI_FIRST_VEHICLE, MI_SPIDER = MI_FIRST_VEHICLE, MI_LANDSTAL, MI_IDAHO, MI_STINGER, MI_LINERUN, MI_PEREN, MI_SENTINEL, MI_PATRIOT, MI_FIRETRUCK, MI_TRASH, MI_STRETCH, MI_MANANA, MI_INFERNUS, MI_BLISTA, MI_PONY, MI_MULE, MI_CHEETAH, MI_AMBULAN, MI_FBICAR, MI_MOONBEAM, MI_ESPERANT, MI_TAXI, MI_KURUMA, MI_BOBCAT, MI_MRWHOOP, MI_BFINJECT, MI_HEARSE, MI_POLICE, MI_ENFORCER, MI_SECURICA, MI_BANSHEE, MI_BUS, MI_RHINO, MI_BARRACKS, MI_DODO, MI_COACH, MI_CABBIE, MI_STALLION, MI_RUMPO, MI_RCBANDIT, MI_BELLYUP, MI_MRWONGS, MI_MAFIA, MI_YARDIE, MI_YAKUZA, MI_DIABLOS, MI_COLUMB, MI_HOODS, MI_PANLANT, MI_FLATBED, MI_YANKEE, MI_BORGNINE, MI_TOPFUN, MI_CAMPVAN, MI_BALLOT, MI_SHELBY, MI_PONTIAC, MI_ESPRIT, MI_AMMOTRUK, MI_HOTROD, MI_SINDACCO_CAR, MI_FORELLI_CAR, MI_FERRY, MI_GHOST, MI_SPEEDER, MI_REEFER, MI_PREDATOR, MI_TRAIN, MI_ESCAPE, MI_CHOPPER, MI_AIRTRAIN, MI_DEADDODO, MI_ANGEL, MI_PIZZABOY, MI_NOODLEBOY, MI_PCJ600, MI_FAGGIO, MI_FREEWAY, MI_ANGEL2, MI_SANCHEZ2, MI_SANCHEZ, MI_RCGOBLIN, MI_RCRAIDER, MI_HUNTER, MI_MAVERICK, MI_POLMAV, MI_VCNMAV, MI_LAST_VEHICLE = MI_VCNMAV, // these indices are original MI_SKIMMER = -1000, MI_CADDY = -999, MI_TROPIC = -992, MI_COASTG = -991, MI_MARQUIS = -990, MI_RIO = -988, MI_DINGHY = -987, MI_SEASPAR = -986, MI_SPARROW = -985, MI_VOODOO = -984, MI_FBIRANCH = -982, MI_SANDKING = -981, MI_SQUALO = -974, MI_PHEONIX = -973, MI_COMET = -972, MI_KAUFMAN = -967, MI_BAGGAGE = -963, MI_RCBARON = -955, MI_VICECHEE = -954, // these two are unknown MI_RIO = -992, MI_TROPIC = -988, // 7 of the following MIs originally are in this set: {-998, -996, -979, -978, -977, -975, -969} MI_WASHING = -3000, MI_ADMIRAL, MI_GLENDALE, MI_OCEANIC, MI_REGINA, MI_SABRE, MI_VIRGO, MI_GREENWOO, // 22 of the following MIs originally are in this set: // {-997, -995, -994, -993, -989, -983, -980, -976, -971, -970, -968, -966, -965, -964, -963, -962, -961, -960, -959, -958, -957, -956} MI_JETMAX = -2000, MI_CUBAN, MI_RANCHER, MI_BLISTAC, MI_SABRETUR, MI_DELUXO, MI_HOTRING, MI_SENTXS, MI_HERMES, MI_LOVEFIST, MI_GANGBUR, MI_BURRITO, MI_SPAND, MI_PACKER, MI_WALTON, MI_BOXVILLE, MI_BENSON, MI_MESA, MI_HOTRINA, MI_HOTRINB, MI_BLOODRA, MI_BLOODRB, MI_WHEEL_RIM = 237, MI_WHEEL_OFFROAD, MI_WHEEL_TRUCK, MI_CAR_DOOR,// = 240, MI_CAR_BUMPER, MI_CAR_PANEL, MI_CAR_BONNET, MI_CAR_BOOT, MI_CAR_WHEEL, MI_BODYPARTA, MI_BODYPARTB, MI_WHEEL_SPORT = 250, MI_WHEEL_SALOON, MI_WHEEL_LIGHTVAN, MI_WHEEL_CLASSIC, MI_WHEEL_ALLOY, MI_WHEEL_LIGHTTRUCK, MI_WHEEL_SMALLCAR, MI_AIRTRAIN_VLO, // = 257, MI_MOBILE, MI_BRASS_KNUCKLES, // 259 MI_SCREWDRIVER, MI_GOLFCLUB, MI_NIGHTSTICK, MI_KNIFE, MI_BASEBALL_BAT, MI_HAMMER, MI_MEAT_CLEAVER, MI_MACHETE, MI_KATANA, MI_CHAINSAW, MI_GRENADE, MI_TEARGAS, MI_MOLOTOV, MI_MISSILE, MI_COLT45, MI_PYTHON, MI_RUGER, MI_SHOTGUN, MI_SPAS12_SHOTGUN, MI_STUBBY_SHOTGUN, MI_M4, MI_TEC9, MI_UZI, MI_SILENCEDINGRAM, MI_MP5, MI_SNIPERRIFLE, MI_LASERSCOPE, MI_ROCKETLAUNCHER, MI_FLAMETHROWER, MI_M60, MI_MINIGUN, MI_BOMB, MI_CAMERA, MI_FINGERS, MI_MINIGUN2, MI_CUTOBJ01 = 120, MI_CUTOBJ02, MI_CUTOBJ03, MI_CUTOBJ04, MI_CUTOBJ05, MI_CUTOBJ06, MI_CUTOBJ07, MI_CUTOBJ08, MI_CUTOBJ09, MI_CUTOBJ10, NUM_DEFAULT_MODELS = 300 }; enum{ NUM_OF_SPECIAL_CHARS = 21, NUM_OF_CUTSCENE_OBJECTS = 5 }; void InitModelIndices(void); void MatchModelString(const char *name, int16 id); void TestModelIndices(void); inline bool IsGlass(int16 id) { CSimpleModelInfo *mi = (CSimpleModelInfo*)CModelInfo::GetModelInfo(id); return mi->IsBuilding() && (mi->m_isCodeGlass || mi->m_isArtistGlass); } inline bool IsTrafficLight(int16 id) { return id == MI_TRAFFICLIGHTS || id == MI_TRAFFICLIGHTS_VERTICAL || id == MI_TRAFFICLIGHTS_MIAMI || id == MI_TRAFFICLIGHTS_TWOVERTICAL; } inline bool IsLightWithoutShift(int16 id) { return id == MI_TRAFFICLIGHTS || id == MI_SINGLESTREETLIGHTS1 || id == MI_SINGLESTREETLIGHTS2 || id == MI_SINGLESTREETLIGHTS3 || id == MI_DOUBLESTREETLIGHTS; } inline bool IsLightWithPreRenderEffects(int16 id) { return IsTrafficLight(id) || id == MI_SINGLESTREETLIGHTS1 || id == MI_SINGLESTREETLIGHTS2 || id == MI_SINGLESTREETLIGHTS3 || id == MI_DOUBLESTREETLIGHTS; } inline bool IsLightThatNeedsRepositioning(int16 id) { return id == MI_SINGLESTREETLIGHTS1 || id == MI_SINGLESTREETLIGHTS2 || id == MI_SINGLESTREETLIGHTS3 || id == MI_DOUBLESTREETLIGHTS; } inline bool IsLightObject(int16 id) { return id == MI_TRAFFICLIGHTS_MIAMI || id == MI_MLAMPPOST || id == MI_SINGLESTREETLIGHTS1 || id == MI_SINGLESTREETLIGHTS2 || id == MI_SINGLESTREETLIGHTS3 || id == MI_DOUBLESTREETLIGHTS || id == MI_TRAFFICLIGHTS_TWOVERTICAL || id == MI_TRAFFICLIGHTS || id == MI_FENCE; } inline bool IsLampPost(int16 id) { return id == MI_SINGLESTREETLIGHTS1 || id == MI_SINGLESTREETLIGHTS2 || id == MI_SINGLESTREETLIGHTS3 || id == MI_BOLLARDLIGHT || id == MI_MLAMPPOST || id == MI_STREETLAMP1 || id == MI_STREETLAMP2 || id == MI_TELPOLE02 || id == MI_TRAFFICLIGHTS_MIAMI || id == MI_TRAFFICLIGHTS_TWOVERTICAL; } inline bool IsLCSTrafficLight(int16 id) { return id == MI_TLIGHT_POST || id == MI_TLIGHT_WALK || id == MI_TLIGHT_BOX1 || id == MI_TLIGHT_BOX2; } inline bool IsBodyPart(int16 id) { return id == MI_BODYPARTA || id == MI_BODYPARTB; } inline bool IsPedModel(int16 id) { return id >= MI_PLAYER && id <= MI_LAST_PED; } inline bool IsPalmTreeModel(int16 id) { return false; } inline bool IsTreeModel(int16 id) { return id == MI_TREE1 || id == MI_TREE2 || id == MI_TREE3 || id == MI_TREE4 || id == MI_TREE5 || id == MI_TREE6 || id == MI_TREE7 || id == MI_TREE8 || id == MI_TREE9 || id == MI_TREE10 || id == MI_TREE11 || id == MI_TREE12 || id == MI_TREE13 || id == MI_TREE14; } inline bool IsPolicePedModel(int16 id) { return id == MI_COP || id == MI_SWAT || id == MI_FBI || id == MI_ARMY; } inline bool IsPoliceVehicleModel(int16 id) { return id == MI_CHOPPER || id == MI_PREDATOR || id == MI_POLICE || id == MI_ENFORCER; } inline bool IsExplosiveThingModel(int16 id) { return id == MI_EXPLODINGBARREL || id == MI_PETROLPUMP || id == MI_PETROLPUMP2; } inline bool IsFence(int16 id) { return id == MI_FENCE || id == MI_FENCE2; }