summaryrefslogblamecommitdiffstats
path: root/src/modelinfo/ModelIndices.h
blob: b155d2931b88709c44441225b98041d9d4a0e66d (plain) (tree)
1
2
3
4
5

            

                      
                      






































































































































                                                               











































                                                                          
 
                                      






                          

                      





                   
 



























































                       
 

















                       
                 






                 


                                                   
                           



















                              
 


                                   

                                     




                    
                   
                     



                    
                  







                    
                  


                    
                  



                    


                    
                




                    








                   

                   























                        


                   

                    
                   










                                         
                   





                    


                  

                  





                    
                   
                 






                    
                  








                    

                   


                  
 
                           



                             







                      









                                  
 
                                 

                       
                      

                        





                        























                          
 
                          



                    




                    
 
                                

  
     
                                  


                                   

                                                  
                            



                 
                                                                               
                                                                              
 

           
                        
 





























                                                   

                                               




                                                     


           











                                                   














                                                   



                                                        
 
           
                    
 
                                                    
 
           
                         
 







                                      
 



                     
                                 
                                 
                                 
                                 
                                    
 

















                                    




                                          

                                      






                                
 
#pragma once

#include "ModelInfo.h"

#define MODELINDICES \
	X("fire_hydrant",	MI_FIRE_HYDRANT) \
	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("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) \
	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("veg_tree3",		MI_TREE2) \
	X("veg_treea1",		MI_TREE3) \
	X("veg_treeb1",		MI_TREE6) \
	X("veg_treea3",		MI_TREE8) \
	X("doc_crane_cab",	MODELID_CRANE_1) \
	X("doc_crane_cab01",	MODELID_CRANE_2) \
	X("doc_crane_cab02",	MODELID_CRANE_3) \
	X("doc_crane_cab03",	MODELID_CRANE_4) \
	X("boatcranelg0",	MODELID_CRANE_5) \
	X("LODnetopa0",		MODELID_CRANE_6) \
	X("package1",		MI_COLLECTABLE1) \
	X("Money",		MI_MONEY) \
	X("barrel1",		MI_CARMINE) \
	X("dk_paynspraydoor",	MI_GARAGEDOOR2) \
	X("dk_waretankdoor1",	MI_GARAGEDOOR3) \
	X("hav_garagedoor1",	MI_GARAGEDOOR4) \
	X("hav_garagedoor02",	MI_GARAGEDOOR5) \
	X("hav_garagedoor03",	MI_GARAGEDOOR6) \
	X("hav_garagedoor04",	MI_GARAGEDOOR7) \
	X("lh_showdoor03",	MI_GARAGEDOOR9) \
	X("lh_showdoor1",	MI_GARAGEDOOR10) \
	X("lhtankdoor",		MI_GARAGEDOOR11) \
	X("nbtgardoor",		MI_GARAGEDOOR12) \
	X("dk_camjonesdoor",	MI_GARAGEDOOR13) \
	X("nbtgardoor02",	MI_GARAGEDOOR14) \
	X("dt_savedra",		MI_GARAGEDOOR15) \
	X("dt_savedrb",		MI_GARAGEDOOR16) \
	X("dk_bombdoor",	MI_GARAGEDOOR18) \
	X("haiwshpnsdoor",	MI_GARAGEDOOR19) \
	X("wshpnsdoor",		MI_GARAGEDOOR20) \
	X("nbecpnsdoor",	MI_GARAGEDOOR21) \
	X("nbtgardoor03",	MI_GARAGEDOOR22) \
	X("dt_savedrc",		MI_GARAGEDOOR23) \
	X("dt_savedrd",		MI_GARAGEDOOR24) \
	X("man_frntstepGD",	MI_GARAGEDOOR25) \
	X("svegrgedoor",	MI_GARAGEDOOR26) \
	X("barrel2",		MI_NAUTICALMINE) \
	X("briefcase",		MI_BRIEFCASE) \
	X("wglasssmash",	MI_GLASS1) \
	X("glassfx_composh",	MI_GLASS8) \
	X("barrel4",		MI_EXPLODINGBARREL) \
	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("property_locked",	MI_PICKUP_PROPERTY) \
	X("property_fsale",	MI_PICKUP_PROPERTY_FORSALE) \
	X("clothesp",		MI_PICKUP_CLOTHES) \
	X("bollardlight",	MI_BOLLARDLIGHT) \
	X("bar_barrier10",	MI_FENCE) \
	X("bar_barrier12",	MI_FENCE2) \
	X("petrolpump",		MI_PETROLPUMP) \
	X("washgaspump",	MI_PETROLPUMP2) \
	X("bouy",		MI_BUOY) \
	X("parktable1",		MI_PARKTABLE) \
	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("plc_stinger",	MI_PLC_STINGER) \
	X("od_lightbeam",	MI_LIGHTBEAM) \
	X("ap_radar1_01",	MI_AIRPORTRADAR) \
	X("rcbomb",		MI_RCBOMB) \
	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("yt_main_body2",	MI_YT_MAIN_BODY2) \
	X("oddjgaragdoor", MI_LCS_GARAGEDOOR01) \
	X("bombdoor", MI_LCS_GARAGEDOOR02) \
	X("door_bombshop", MI_LCS_GARAGEDOOR03) \
	X("vheistlocdoor", MI_LCS_GARAGEDOOR04) \
	X("door2_garage", MI_LCS_GARAGEDOOR05) \
	X("ind_slidedoor", MI_LCS_GARAGEDOOR06) \
	X("bankjobdoor", MI_LCS_GARAGEDOOR07) \
	X("door_jmsgrage", MI_LCS_GARAGEDOOR08) \
	X("ind_safeh_gdoor", MI_LCS_GARAGEDOOR09) \
	X("door_sfehousegrge", MI_LCS_GARAGEDOOR10) \
	X("shedgaragedoor", MI_LCS_GARAGEDOOR11) \
	X("door4_garage", MI_LCS_GARAGEDOOR12) \
	X("door_col_compnd_01", MI_LCS_GARAGEDOOR13) \
	X("door_col_compnd_02", MI_LCS_GARAGEDOOR14) \
	X("door_col_compnd_03", MI_LCS_GARAGEDOOR15) \
	X("door_col_compnd_04", MI_LCS_GARAGEDOOR16) \
	X("door_col_compnd_05", MI_LCS_GARAGEDOOR17) \
	X("impex_door", MI_LCS_GARAGEDOOR18) \
	X("SalvGarage", MI_LCS_GARAGEDOOR19) \
	X("door3_garage", MI_LCS_GARAGEDOOR20) \
	X("leveldoor2", MI_LCS_GARAGEDOOR21) \
	X("double_garage_dr", MI_LCS_GARAGEDOOR22) \
	X("amcogaragedoor", MI_LCS_GARAGEDOOR23) \
	X("towergaragedoor1", MI_LCS_GARAGEDOOR24) \
	X("towergaragedoor2", MI_LCS_GARAGEDOOR25) \
	X("towergaragedoor3", MI_LCS_GARAGEDOOR26) \
	X("plysve_gragedoor", MI_LCS_GARAGEDOOR27) \
	X("impexpsubgrgdoor", MI_LCS_GARAGEDOOR28) \
	X("Sub_sprayshopdoor", MI_LCS_GARAGEDOOR29) \
	X("ind_plyrwoor", MI_LCS_GARAGEDOOR30) \
	X("8ballsuburbandoor", MI_LCS_GARAGEDOOR31) \
	X("door_nthgrage", MI_LCS_GARAGEDOOR32) \
	X("hangardoor1", MI_LCS_GARAGEDOOR33) \
	X("hangardoor2", MI_LCS_GARAGEDOOR34) \
	X("neds_door", MI_LCS_GARAGEDOOR35) \
	X("fs_wrhsedoor", MI_LCS_GARAGEDOOR36) \
	X("jm_ContraGarage", MI_LCS_GARAGEDOOR37) \
	X("jm_imp_SalvGarage", MI_LCS_GARAGEDOOR38) \
	X("crushercrush", MI_LCS_GARAGEDOOR39) \
	X("crushertop", MI_LCS_GARAGEDOOR40) \
	X("crusher_crane", MI_LCS_CRANE01) \

// NB: MI_LCS_ <- temporary stuff so that garages started somewhat working

#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_GANG01 = 79,
	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_TOYZ,
	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,

	// HACK HACK, hopefully temporary
	MI_SEASPAR = -1000,
	MI_SPARROW,
	MI_RCBARON,
	MI_TOPFUN,
	MI_CADDY,
	MI_BAGGAGE,
	MI_FBIRANCH,
	MI_VICECHEE,
	MI_RIO,
	MI_SQUALO,
	MI_JETMAX,
	MI_COASTG,
	MI_DINGHY,
	MI_MARQUIS,
	MI_SKIMMER,
	MI_TROPIC,
	MI_SANDKING,
	MI_VOODOO,
	MI_CUBAN,
	MI_PHEONIX,
	MI_COMET,
	MI_SABRE,
	MI_VIRGO,
	MI_RANCHER,
	MI_BLISTAC,
	MI_WASHING,
	MI_ADMIRAL,
	MI_SABRETUR,
	MI_DELUXO,
	MI_HOTRING,
	MI_REGINA,
	MI_SENTXS,
	MI_GLENDALE,
	MI_OCEANIC,
	MI_HERMES,
	MI_GREENWOO,
	MI_LOVEFIST,
	MI_GANGBUR,
	MI_BURRITO,
	MI_SPAND,
	MI_PACKER,
	MI_WALTON,
	MI_ROMERO,

	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_TRAFFICLIGHTS_MIAMI ||
		id == MI_TRAFFICLIGHTS_TWOVERTICAL ||
		id == MI_MLAMPPOST ||
		id == MI_STREETLAMP1 ||
		id == MI_STREETLAMP2;
}

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;
}

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
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	id == MI_VEG_PALM01 ||
		id == MI_VEG_PALM02 ||
		id == MI_VEG_PALM03 ||
		id == MI_VEG_PALM04 ||
		id == MI_VEG_PALM05 ||
		id == MI_VEG_PALM06 ||
		id == MI_VEG_PALM07 ||
		id == MI_VEG_PALM08;
}

inline bool
IsTreeModel(int16 id)
{
	return	id == MI_TREE2 ||
		id == MI_TREE3 ||
		id == MI_TREE6 ||
		id == MI_TREE8 ||
		IsPalmTreeModel(id);
}

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;
}