summaryrefslogblamecommitdiffstats
path: root/src/modelinfo/ModelIndices.h
blob: 3a6b825221e8ee173f00f2bd910d675dca11dd38 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580

            

                      































































































































































































































































































































































































































































































































































































                                                                              
                      
                                                  






                                                                         











                                                      




                                                   




                                                    
                                                                          








                                                               


                                                             

                                           

                                           
                                           
                                           
                                           






                                                  


                                                  







                                                 
                                                  






























                                                                             
                                                  




                                                   
                                               



















                                                   
                                            




                                                       
                                                     









                                                               









                                                       
                                                    

                                                             
                                                  








                                                          



                                                 






                                                                

                                               
























                                                       














                                                     
                              



                                                  
                                                         


























                                                     



































                                                      




                          

                      





                   
 



























































                       
 

















                       
                 






                 


                                                   
                           



















                              
 


                                   

                                     




                    
                   
                     



                    
                  







                    
                  


                    
                  



                    


                    
                




                    








                   

                   























                        


                   

                    
                   










                                         
                   





                    


                  

                  





                    
                   
                 






                    
                  








                    

                   


                  
 
                           



                             







                      









                                  
 
                                 

                       
                      

                        





                        























                          
 
                          



                    




                    
 
                                

  
     
                                  


                                   

                                                  
                            



                 
                                                                               
                                                                              
 

           
                        
 





























                                                   

                                               
                                            


           







                                               


                                                     


           














                                                   



                                                        
 
           
                    
 
                                                    
 
           
                         
 
                     
 



                     

                                 
                                 

                                 
                                 
                                 
                                 





                                  
 

















                                    




                                          

                                      






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