go back to main here

wip

Structure

The layout seen in XPS for Motor Mayhem: Vehicular Combat League archives is as follows:

XPS
.

mm_file_header

Offset Type Description
00 u32 Magic always 33620128
04 u32 Magic 2?
67174573 = world files
134348960 = [BOOTUP,LOADING,ENDGAME,MAINMENU,VEHICLES]
08 u32 File Version?
4 = [BOOTUP,LOADING,ENDGAME,MAINMENU,VEHICLES]
100 = world files
12 bytes

mm_datapack

Offset Type Description
00 u32 ordered list length
04 u32 amount general offsets patch list
08 u32 amount texture patch list
12 u32 amount textures [16]
16 u32 offset Texture List
20 u32 amount sound patch list
24 u32 Amount Sound [28]
28 u32 offset Sound List
32 u32 amount color tables
36 u32 offset color table based on amount [32]
40 u32 amount [44]
44 u32 offset mm_model_texture_anims_list? based on amount [40]
48 bytes

Patch List

patches the textures indexs/sound indexs/general offsets into the file.
the offset is based on the next section (Ordered List)
To get each section you would do:
patch_list = 60 //start of Texture Indexes
patch_list+= (u32(20) * 8) //start of Sound Indexes
patch_list+= (u32(32) * 8) //start of General Offsets
patch_list+= (u32(16) * 4) //start of Ordered List

Texture Indexes (1)

sections with texture patches seen:
mm_model_8_8 [24]
mm_world_later [20]
mm_world_later_32_4 [12]
mm_car_3_texture_link [0]
mm_font [0]
mm_car_link_the_third [8][12][16][20][24]
mm_interface_16_16t0 [4]
mm_interface_16_16t0_16_4 [0]
mm_object_100_12_24 [4]
mm_asdf_texture_link_4 [12]
mm_car_model_sec_48_12_24 [4]t2
mm_unknown_thing [52]t1
mm_asdf [16]t1 [92]
mm_texture_anims_20_4 [0]
mm_car [88][100]
mm_car_236_4_12_24 [4]t2
mm_object_link [24]

Offset Type Description
0 u32 offset
04 u32 Texture Index 0 - 262
8 bytes per entry

Sound Indexes (2)

sections with sound patches seen:
mm_sound_section [24]

Offset Type Description
0 u32 offset
4 u32 Sound Index
8 bytes per entry

General Offsets (3)

Offset Type Description
0 u32 offset
4 bytes per entry

Ordered List

to get here simply do:
length of file - File Header[12]
or
(u32(20) + (u32(32)) * 8) + (u32(16) * 4) + 60

all offsets in this file are based on the ordered list

in order the sections contained are:
mm_file_specific_section
mm_model
mm_model_texture_anims_list
mm_model_anims_1
mm_model_anims_2
mm_Texture
mm_sound_list
mm_car_section
mm_car_text_related
mm_unknown_idk_sec
mm_some_model_link
mm_world_later
mm_item_maybe
mm_strange
mm_unknown_small_model_link
mm_car_3_texture_link
mm_font
mm_interface
mm_car_link_the_third
mm_object
mm_asdf_texture_link
mm_another_unknown_sec
mm_asdf_some_list
mm_text
mm_car_model_sec
mm_unknown_thing
mm_unknown_some_values
mm_asdf
mm_texture_anims
mm_sound_section
mm_sound_controls
mm_item_unknown_link
mm_car
mm_object_link
mm_unknown


Ordered List File Specific Section

The first part of the ordered list depends on the type of file

Type Description
File Header[04] = 67174573 basic
File Header[04] = 134348960 World

mm_basic

Offset Type Description
00 u32 amount 2,1,8,20,36
04 u32 offset based on amount [00]
08 u32 0
12 u32 0
16 bytes

mm_basic_04

Offset Type Description
00 u32 based on file?
BOOTUP,LOADING,ENDGAME,MAINMENU = offset (mm_interface)
VEHICLES = offset depends on type [4] prob
 1,2,3,4,5,6,7,8,9 = offset (mm_car)
 200,201,202,203,204,205,206,207,208,209,
210,211,212,213,214,215,216,217,218,219,220 = offset (mm_object)

 100 = offset (mm_car_link_the_third)
 10,11,101,102,103 = offset (mm_interface)
04 u32 1 - 20 non mm_car
1 - 220 mm_car
8 bytes per entry

mm_world

order:
mm_world
mm_world_84
mm_world_92
mm_world_116
mm_world_116_24
mm_world_124
mm_world_124_32
mm_world_100
mm_world_100_24
mm_world_132
mm_world_140
mm_world_148
mm_world_164
mm_world_164_88
mm_world_176
mm_world_52
mm_world_60
mm_world_68
mm_world_180
mm_world_180_0

Offset Type Description
00 float -1460 - -909.14453125
04 float -334.2450866699219 - 3101.53564453125
08 float -1194.0408935546875 - 159.6798095703125
12 u8 always 204
13 u8 always 204
14 u8 always 204
15 u8 always 204
16 float -739.0776977539062 - 922.3981323242188
20 float -24.816072463989258 - 699.2269897460938
24 float 616.7671508789062 - 1356.035888671875
28 u8 always 204
29 u8 always 204
30 u8 always 204
31 u8 always 204
32 u32 33,30,25,40,35,50
36 u32 35,25,42,40,45,32,50,30
40 float 25.05413055419922 - 88.35491943359375
44 float 27.508005142211914 - 73.60237121582031
48 u32 amount
52 u32 offset based on amount [48]
56 u32 amount
60 u32 offset based on amount [56]
64 u32 amount
68 u32 offset based on amount [64]
72 u32 0
76 u32 0
80 u32 amount 20,18,24,11,10,15,14
84 u32 offset based on amount [80]
88 u32 amount 9,10,11,8
92 u32 offset based on amount [88]
96 u32 amount 5,7,0,2,4,1
100 u32 offset based on amount [96]
104 u32 0
108 u32 0
112 u32 amount 7,2,17,5,8,0,10
116 u32 offset based on amount [112]
120 u32 amount 2,0,4,1,6,3
124 u32 offset based on amount [120]
128 u32 0 - 29
132 u32 offset based on amount [128]
136 u32 amount 92,93,37,99,95,73,89,67,82,98
140 u32 offset based on amount [136]
144 u32 amount 37,36,40,44,35,27,26,28,25,41
148 u32 offset based on amount [144]
152 u32 0
156 u32 0
160 u32 amount 6,2,3,7,5,0,4,8
164 u32 offset based on amount [160]
168 u32 0
172 u32 0
176 u32 offset
180 u32 offset
184 u32 0
188 u32 0
192 bytes

mm_world_84

Offset Type Description
00 u32 offset (mm_model)
04 u32 3 - 1151
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 u32 0
52 u32 0
56 u32 0
60 u32 0
64 u32 0
68 u32 0
72 u32 0,1
76 bytes per entry

mm_world_92

Offset Type Description
00 float -1572.2191162109375 - 838.1265869140625
04 float -317.1020202636719 - 3117.131591796875
08 float -1121.044677734375 - 1219.94677734375
12 u8 always 205
13 u8 always 205
14 u8 always 205
15 u8 always 205
16 float 0,-0.03450906276702881
20 float -4.787884712219238 - 4.71238899230957
24 u32 0
28 u8 always 205
29 u8 always 205
30 u8 always 205
31 u8 always 205
32 u32 5 - 1072
36 u32 0
40 u32 0
44 u32 0
48 bytes per entry

mm_world_116

Offset Type Description
00 u32 111 - 816
04 u32 6,2,1,7,5,9
08 float 0.5,0.6000000238418579,0.699999988079071
12 u32 0
16 u32 0
20 u32 bytelength 192 - 1792
24 u32 offset based on length [20]
28 bytes per entry

mm_world_116_24

Offset Type Description
00 float -1 - 1
04 float -1 - 1
08 float -1 - 1
12 float -3324.11328125 - 3223.419921875
16 u8 2,0,3,1
17 u8 always 205
18 u8 1 - 205
19 u8 0,205
20 u8 always 205
21 u8 always 205
22 u8 always 205
23 u8 always 205
24 u8 always 205
25 u8 always 205
26 u8 always 205
27 u8 always 205
28 u8 always 205
29 u8 always 205
30 u8 always 205
31 u8 always 205
32 bytes per entry

mm_world_124

Offset Type Description
00 float -123.62940216064453 - 81.43911743164062
04 float 0 - 175.7461395263672
08 float -152.3293914794922 - 141.60025024414062
12 u32 0
16 u32 2,0
20 u32 bytelength 192,256
24 u32 9 - 826
28 float always 10000
32 u32 offset based on length [20]
36 u32 0
40 u8 0
41 u8 0,1
42 u8 0
43 u8 0
44 float -200,100
48 bytes per entry

mm_world_124_32

Offset Type Description
00 float -1 - 1
04 float -1 - 1
08 float -1 - 1
12 float -1747.854736328125 - 1709.2474365234375
16 u8 2,0
17 u8 always 205
18 u8 1,205
19 u8 0,205
20 u8 always 205
21 u8 always 205
22 u8 always 205
23 u8 always 205
24 u8 always 205
25 u8 always 205
26 u8 always 205
27 u8 always 205
28 u8 always 205
29 u8 always 205
30 u8 always 205
31 u8 always 205
32 bytes per entry

mm_world_100

Offset Type Description
00 u32 length 221 - 850
04 u32 64 - 1104
08 float 1,0
12 float 38,50,101,52,40,2,12
16 u32 0
20 u8 4,7,16,19,21,23,31,63
21 u8 0
22 u8 always 63
23 u8 0
24 u32 offset based on bytelength [0]
28 float 0.10000000149011612 - 3
32 u32 0
36 u32 0
40 u32 offset (mm_item_maybe)
44 bytes per entry

mm_world_100_24

Offset Type Description
00 u8 3,0
01 u8 0
02 u8 4,7,8,12,0,9,6
03 u8 0
04+ float some float stream
mm_world_100[0] bytes

mm_world_132

Offset Type Description
00 float -2009.58203125 - 1865.5216064453125
04 float -320.10565185546875 - 4779.51318359375
08 float -3452.723876953125 - 2698.336669921875
12 u8 always 205
13 u8 always 205
14 u8 always 205
15 u8 always 205
16 float 0,0.053526706993579865,0.4646235406398773
20 float -1 - 0.7933525443077087
24 u32 0
28 float -0.7071067690849304 - 1
32 u32 13 - 899
36 u32 offset (mm_strange)
40 u32 offset
44 float 500,1000,1500,2000,3000,5000,8000
48 u32 1,0
52 u32 0
56 u32 0
60 u32 0
64 bytes per entry

mm_world_140

Offset Type Description
00 float -2165.560546875 - 2180.126220703125
04 float -602.626953125 - 3251.290283203125
08 float -2861.9345703125 - 3714.030029296875
12 u8 always 205
13 u8 always 205
14 u8 always 205
15 u8 always 205
16 float -0.38387325406074524 - 0.5288421511650085
20 float -1 - 1
24 float -0.3958282470703125 - 0.3561680018901825
28 float -1 - 1
32 u32 10 - 1029
36 u32 offset (mm_item_maybe)
40 u32 0
44 u32 0
48 u32 0
52 float 500,800,1200,2500,3000
56 u8 0
57 u8 0,1
58 u8 0
59 u8 0
60 u32 0
64 bytes per entry

mm_world_148

Offset Type Description
00 float -2131.984619140625 - 858.9970092773438
04 float -317.163330078125 - 3229.541015625
08 float -1509.6495361328125 - 1299.9969482421875
12 u8 always 205
13 u8 always 205
14 u8 always 205
15 u8 always 205
16 u32 11 - 1153
20 u32 0 - 600000
24 u32 1,0
28 u32 0
32 float 500,3967.851806640625,10856.0087890625
36 u8 always 1
37 u8 0,1
38 u8 0,1,2,4,17,18,3
39 u8 0
40 u32 offset (mm_item_maybe)
44 u32 201 - 220
48 bytes per entry

mm_world_164

multi linked to by:
mm_world [164]

Offset Type Description
00 float -0.5455574989318848 - 1
04 u32 0
08 float -0.8380733728408813 - 0.9999546408653259
12 u32 0
16 u32 0
20 float always 1
24 u32 0
28 u32 0
32 float -0.9999546408653259 - 0.8380733728408813
36 u32 0
40 float -0.5455574989318848 - 1
44 u32 0
48 float -1593.9365234375 - 591.507080078125
52 float -462.5406494140625 - 3263.739013671875
56 float -1105.853515625 - 1189.84130859375
60 float always 1
64 u32 8 - 1069
68 u32 offset (mm_unknown)
72 u32 offset (mm_strange)
76 float 10,20,50,102.07097625732422,30,52.86323165893555,35
80 u32 amount | 3,0,1,2,4
84 u32 5,1,3,0,7
88 u32 offset based on amount [80], if 0 offset is mm_world_164
92 u32 0,750,500
96 bytes per entry

mm_world_164_88

Offset Type Description
00 u32 1
4 bytes per entry

mm_world_176

Offset Type Description
00 u32 0
04 float always 0.0010000000474974513
08 u32 0
12 u32 0
16 bytes

mm_world_52

Offset Type Description
00 float -2177.164306640625 - 918.9359130859375
04 float -334.2450866699219 - 3349.906494140625
08 float -1399.6072998046875 - 1356.035888671875
12 u8 0 - 255
13 u8 0 - 255
14 u8 0 - 255
15 u8 always 255
16 float -2177.164306640625 - 922.3981323242188
20 float -332.289794921875 - 3349.906494140625
24 float -1399.607421875 - 1356.035888671875
28 u8 0 - 255
29 u8 0 - 255
30 u8 0 - 255
31 u8 always 255
32 float -2177.164306640625 - 922.3981323242188
36 float -334.2450866699219 - 3349.906494140625
40 float -1399.6072998046875 - 1356.035888671875
44 u8 0 - 255
45 u8 0 - 255
46 u8 0 - 255
47 u8 always 255
48 u8 0 - 255
49 u8 0 - 255
50 u8 0 - 255
51 u8 0 - 255
52 u8 0 - 255
53 u8 0 - 255
54 u8 0 - 255
55 u8 0 - 255
56 u8 0 - 255
57 u8 0 - 255
58 u8 0 - 255
59 u8 0 - 255
60 u8 0 - 255
61 u8 0 - 255
62 u8 0 - 255
63 u8 45 - 197
64 u32 offset (mm_item_unknown_link)
68 u8 always 205
69 u8 always 205
70 u8 always 205
71 u8 always 205
72 u8 always 205
73 u8 always 205
74 u8 always 205
75 u8 always 205
76 u8 always 205
77 u8 always 205
78 u8 always 205
79 u8 always 205
80 bytes per entry

mm_world_60

Offset Type Description
00 u32 0 - 4294967295
4 bytes per entry

mm_world_68

Offset Type Description
00 u32 0 - 3698
4 bytes per entry

mm_world_180

Offset Type Description
00 u32 offset based on amount [4]
04 u32 amount 35 - 124
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_world_180_0

Offset Type Description
00 float -2117.524658203125 - 853.4456787109375
04 float -318.9413757324219 - 3244.381103515625
08 float -1198.3177490234375 - 1286.6044921875
12 u8 always 205
13 u8 always 205
14 u8 always 205
15 u8 always 205
16 float 0 - 1350.621337890625
20 float 0 - 881.9403686523438
24 float 0 - 1354.165283203125
28 float 0 - 897.7673950195312
32 u8 0 - 122
33 u8 0,128
34 u8 0,255
35 u8 0,255
36 u8 0 - 123
37 u8 128,0
38 u8 255,0
39 u8 255,0
40 u8 0 - 123
41 u8 128,0
42 u8 255,0
43 u8 255,0
44 u8 0 - 118
45 u8 128,0
46 u8 255,0
47 u8 255,0
48 float 19.974075317382812 - 400
52 u32 0 - 123
56 float 0 - 120
60 u8 0,1
61 u8 15,50,75,90,100
62 u8 0
63 u8 0
64 u8 0
65 u8 always 128
66 u8 always 255
67 u8 always 255
68 u32 0
72 u32 0
76 u32 0,2,1
80 bytes per entry

mm_model

multi linked to by:
mm_model_texture_anims_list [04]
mm_object_100_12_24 [4]t0
mm_car_model_sec_4 [0]
mm_car_model_sec_12 [0]
mm_unknown_thing [52]t0
mm_asdf [16]t0
mm_unknown_small_model_link_4 [28]
mm_some_model_link_4 [8]
mm_object [20]
mm_world_84 [0]
mm_item_maybe [0]t0 [76]

Offset Type Description
00 u16 always 4101
02 u16 amount | 1,2,3,4
04 u32 0,4,9,36,37,45,46,47,48,55
08 u32 offset based on amount [2]
12 u32 offset based on amount [2]
16 float -4997.3974609375 - 727.2791137695312
20 float -2918.669921875 - 3201.720947265625
24 float -4348.681640625 - 1188.94091796875
28 float 0.0008660254534333944 - 6731.89990234375
32 float -2172.589599609375 - 4483.130859375
36 float -279.9046936035156 - 3392.740966796875
40 float -3678.288818359375 - 5089.20166015625
44 u32 0
48 u8 0 - 255
49 u8 0 - 255
50 u8 0 - 255
51 u8 0 - 255
52 u8 0 - 255
53 u8 0 - 255
54 u8 0 - 255
55 u8 0 - 255
56 u8 0 - 255
57 u8 0 - 255
58 u8 0 - 255
59 u8 0 - 255
60 u32 0
64 bytes

mm_model_12

render?
Offset Type Description
00 float 23.21940040588379 - 1000000000
4 bytes per entry

mm_model_8

Offset Type Description
00 u8 1,2
01 u8 0
02 u8 amount | 1 - 36
03 u8 0
04 u8 0 - 255
05 u8 0,1,2,3,4,5,6,7,9,21
06 u8 0
07 u8 0
08 u32 offset based on amount [2]
12 u32 offset based on amount [4], Offset if value is 730240??? else 57553224 - 479630968
16 u8 0 - 248
17 u8 0 - 253
18 u8 0 - 245
19 u8 0,5,6,10,11,12,16,17,19
20 u32 offset
24 bytes per entry

mm_model_8_12

Offset Type Description
00 float -100.9734115600586 - 99.40694427490234
04 float -70.24122619628906,70.24122619628906
08 float -100.6426773071289 - 99.4931869506836
12 float 0,1
16 float -0.6429258584976196 - 0.6386944055557251
20 float -0.7394098043441772 - 0.41924694180488586
24 float -0.6475299000740051 - 0.6452142596244812
28 float always 1.9999998807907104
32 float 0,1
36 u32 0
40 u32 0
44 u32 0
48 bytes per entry

mm_model_8_20

strings,null terminated


mm_model_8_8

Offset Type Description
00 u16 0
02 u8 0,1,2,4,5,6,16,20,65,69
03 u8 0,4
04 u8 0 - 255
05 u8 0 - 255
06 u8 0 - 255
07 u8 0,52,64,128,255
08 u32 0
12 u32 offset
16 u8 1 - 254
17 u8 0,1,2,3,4
18 u8 0
19 u8 0
20 u8 0,1,2,3,5
21 u8 0
22 u8 0 - 255
23 u8 0,1,2,255
24 u32 patch texture | 0 - 260
28 u32 based on type [3]
0 = value
4 = offset
32 bytes per entry

mm_model_8_8_12

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u16 amount | 9 - 1139
18 u8 0
19 u8 0,96 | type
20+ bytes

next section is based on type [19]
mm_model_8_8_12_type_0
mm_model_8_8_12_type_96

mm_model_8_8_12_type_0

there is no amount for this section, section ends whenever all values are 0

Offset Type Description
00 u32 offset
04 u8 0 - 48
05 u8 1 - 255
06 u8 2 - 255
07 u8 0
8 bytes per entry

mm_model_8_8_12_type_96

Offset Type Description
00 float ?
amount mm_model_8_8_12[16]

mm_model_8_8_12_type_0_0

some data stream


mm_model_8_8_28t4

Offset Type Description
00 u16 always 1
02 u16 always 2
04 u16 0
06 u16 0
08 u16 always 2
10 u16 always 3
12 u16 always 5
14 u16 always 6
16 u16 always 4
18 u16 always 4
20 u16 always 6
22 u16 always 7
24 u16 always 9
26 u16 always 10
28 u16 always 8
30 u16 always 8
32 u16 always 10
34 u16 always 11
36 u16 always 13
38 u16 always 14
40 u16 always 12
42 u16 always 12
44 u16 always 14
46 u16 always 15
48 u16 always 13
50 u16 always 6
52 u16 always 16
54 u16 always 16
56 u16 always 6
58 u16 always 17
60 u16 always 18
62 u16 always 19
64 u16 always 12
66 u16 always 12
68 u16 always 19
70 u16 always 7
72 u16 0
74 u16 0
76 u16 0
78 u16 0
80 bytes

mm_model_texture_anims_list

linked to by:
mm_datapack [44]

Offset Type Description
00 u32 offset (mm_texture_anims)
04 u32 offset (mm_model)
08 u16 0,1
10 u8 4,2,3,0,1 / 0 - 28
11 u8 0
12 bytes per entry

mm_model_anims_1

multi linked to by:
mm_car [92]
mm_car_model_sec [16]
mm_car_140 [20][24][28]

Offset Type Description
00 u32 1,346740368,58655096,897216704,1323095400,702889512
04 u32 3,1
08 float 1,0,-1,-10,5.248000144958496
12 float 1 - 165
16 u32 1 - 55
20 u32 0 - 385
24 u32 offset
28 u32 offset
32 u32 offset
36 u32 offset
40 u32 0 - 1620214384
44 u32 offset
48 u32 0 - 322
52 u8 0 - 205
53 u8 0 - 240
54 u8 0 - 237
55 u8 0 - 205
56 u8 0 - 236
57 u8 0 - 240
58 u8 0 - 245
59 u8 0 - 205
60 u8 0 - 241
61 u8 0 - 240
62 u8 0 - 240
63 u8 120,0,205,51,186,191,63,64,164,192
64 bytes

mm_model_anims_1_24

Offset Type Description
16,32,48,64 bytes seen

mm_model_anims_1_28

Offset Type Description
16,32,80,96,112 bytes

mm_model_anims_1_32

Offset Type Description
16 - 608 bytes

mm_model_anims_1_44

Offset Type Description
16 - 126736 bytes

mm_model_anims_1_36

Offset Type Description
64 - 231120 bytes

mm_model_anims_2

multi linked to by:
mm_car [96]
mm_item_maybe [72]
mm_car_model_sec [20]
mm_some_model_link [8]
mm_car_236 [8]
mm_object_link [28]

Offset Type Description
00 u32 amount 1 - 55
04 u8 4 - 244
05 u8 12 - 253
06 u8 8 - 198
07 u8 17,20,18,19,28
08 u32 0,1
12 u8 0,205
13 u8 0,205
14 u8 0,205
15 u8 0,205
16 u32 offset based on amount [0]
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_model_anims_2_16

Offset Type Description
00 float -0.9872606992721558 - 1
04 float -0.9954291582107544 - 1
08 float -0.9954319000244141 - 0.9611499905586243
12 float -0.49895617365837097 - 1
16 float -104.26925659179688 - 101.91680145263672
20 float -68.67355346679688 - 60
24 float -38.09042739868164 - 34.953983306884766
28 u8 0 - 18
29 u8 0 - 255
30 u8 1 - 255
31 u8 0 - 255
32 bytes per entry

mm Texture List

linked to by:
mm_datapack [16]

Offset Type Description
00 u16 texture type
* 0 = RGB
* 1 = RGBA uncompressed
* 2 = 8-bit Indexed
02 u16 x
04 u16 y
06 u16 mip maps
08 u32 offset texture
12 u32 CLUT index
16 bytes per entry

Sound List

linked to by:
mm_datapack [28]

Offset Type Description
00 u32 Length Of Vag 976 - 41296
04 u32 offset vag file
08 u32 0
12 u32 0
16 bytes

mm_texture_data

the actual texture data comes after the sound list


Vag

Standard Vag File
magic= VAGp
version = 32
length = between: 928 - 41248
sample_rate = 8000,11025,22050 seen
name always temp9999


color table

linked to by:
mm_datapack [36]

1024 / 256 colors per entry


mm_car_section

linked to by:
mm_car [172]

Offset Type Description
00 float 1,1.25,1.600000023841858,2
04 float always 1
08 float 1,2,3
12 float 90,150,200,300
16 float 1,2,3,5
20 float 3,2,1
24 float 2,1,0.5,0
28 u32 0
32 u8 0,1,2,3,5,255
33 u8 0,255
34 u8 0
35 u8 0
36 u8 1,2,3
37 u8 0,1
38 u8 9,10,11,8,5,12,7,6
39 u8 95,99,100
40 u32 amount 19,21,27
44 u32 offset based on amount [40]
48 bytes

mm_car_section_44

Offset Type Description
00 u8 1 - 13
01 u8 1,3,2,0
02 u8 0,3,2
03 u8 50,30,10,0,5,100,25,15,20
04 u8 50,90,25,10,5,30,60
05 u8 0,1
06 u8 0,1
07 u8 0
08 u32 0
12 u32 0
16 u32 0
20 float 0,250,25,50,10
24 float 50 - 10000
28 float 0,180
32 float 0,30,45,20,175,90,60,180,120,150
36 float 0 - 3000
40 float 10 - 4000
44 u32 0,50,99,25,2
48 u32 100,0,500,250,200,5,1000
52 u32 0,1000,100,5000
56 u32 0,10000,500,5000,1000,25000
60 u32 0,20000,10000,1000,5000,2000
64 u32 100,50,150,200,300,400
68 u32 100,50,150,300,200,400
72 u32 0,5000,1000,2000,10000
76 u32 0,5000,1000,3000,20000
80 u32 250,0,500,1000,2000
84 u32 250,0,500,1000,8000,2000,4000
88 u32 offset
92 u32 0
96 u32 amount 0 - 22
100 u32 offset based on amount [96]
104 u32 offset
108 u32 offset
112 u32 offset
116 u32 offset string
120 bytes per entry

mm_car_section_44_88

Offset Type Description
00 u8 0,1,2,5,15,20
01 u8 0,1,2 | type?
02 u8 0,1,2
03 u8 0,1,2
04 u8 0,1,2,3,5,10,25,30,50
05 u8 0,1,2
06 u8 0,1,2,3,4
07 u8 0
08 u32 0 - 2000
12 u32 / float based on type [1]?
0 = u32 0,1000,5000,250,3000,500,150,300
1,2 = float 10,25,50,20,75
16 u8 0,1,100,232
17 u8 0,1,3
18 u8 0
19 u8 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_section_44_100

Offset Type Description
00 u32 offset (mm_car_text_related)
4 bytes per entry

mm_car_section_44_104

Offset Type Description
00 float 0 - 2000
04 float 5,10,25,0,15,1,50,75,30
08 float 0,25,10,50,70,20
12 float 0,180
16 float 180,45,10,20,0,15,60,30,90
20 u32 250,500,200,300,0,100,800
24 u32 0 - 2000
28 u32 250,0,200,500,300,100,50
32 u32 250,0,300,500,200,100,750,700
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_car_section_44_108

Offset Type Description
00 u32 250,500,400,200,300,1000
04 float 250,0,25,100,750,500,200,800,300,1000
08 float 180,0
12 float 90,30,45,180,60
16 float 0,180
20 float 90,30,45,60,20,15,10,180
24 u32 0
28 u32 0
32 bytes

mm_car_section_44_112

Offset Type Description
00 float 75,500,120,100,125,150
04 u32 0
08 float 20,90,120,60
12 u32 0
16 float 45,120,180,90
20 u32 0
24 u32 0
28 u32 0
32 bytes

multi linked to by:
mm_car_section_44_100 [0]

Offset Type Description
00 u32 offset string
04 u32 amount 1,4,7,2,3
08 u32 offset based on amount [04]
12 u32 0
16 bytes

Offset Type Description
00 float 50,-50,-25,0,25,20,-20,-75,75
04 u32 0
08 float -100 - 3000
12 u32 0
16 float 30,25,50,40,20,60,10,100,75,80
20 float 0,25,0.009999999776482582,100,150
24 u32 750,500,1000,250,2000,100,3000,1500
28 u32 1,0
32 bytes per entry

mm_unknown_idk_sec

multi linked to by:
mm_car_model_sec_48 [8]t6
mm_unknown_4 [4]t5

Offset Type Description
00 u8 0,1
01 u8 0,1
02 u8 0
03 u8 0,1,2
04 u8 0,1
05 u8 1,2,3,7
06 u8 0,5,10,12
07 u8 0,1
08 float 10 - 200
12 float 10 - 500
16 u32 0,10000
20 u32 0 - 50000
24 u32 0,250,1000
28 float -2500 - 10000
32 u32 0
36 u32 0
40 u32 offset
44 u32 0
48 bytes

mm_unknown_idk_sec_40

Offset Type Description
00 u32 0
04 u32 0
08 float always 1
12 u32 0
16 float always 60
20 u32 0
24 u32 0
28 u32 0
32 bytes

multi linked to by:
mm_car_model_sec [56]

Offset Type Description
00 u32 amount 12,16,14,20,22,19,24
04 u32 offset based on amount [0]
08 u32 offset (mm_model_anims_2)
12 u32 0
16 bytes

Offset Type Description
01 u8 always 1
02 u8 1,0
03 u8 0
04 u32 0 - 53
08 u32 offset (mm_model)
12 u32 offset
16 u32 offset
20 u32 0
24 u32 offset (mm_strange)
28 bytes per entry

Offset Type Description
00 float -4.791998863220215 - 5.22582483291626
04 float -2.517338991165161 - 3.702924966812134
08 float -7.908255100250244 - 11.210144996643066
12 u32 0
16 bytes

Offset Type Description
00 float 0,1,-0.5,1.5,0.10000000149011612,-1,4
04 float 1,0.5,0,-1.5,-1,-2
08 float -4 - 4
12 u32 0
16 bytes

mm_world_later

linked to by:
mm_world_132 [40]

Offset Type Description
00 u32 always 32768258
04 u32 0
08 u32 0
12 float always 200
16 u32 always 45
20 u32 patch texture | 16,9,0,6
24 u32 always 2
28 u32 offset
32 u32 offset
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_world_later_28

Offset Type Description
00 u8 0
01 u8 0
02 u8 0
03 u8 always 255
04 u32 0
08 u32 0
12 u8 always 192
13 u8 always 192
14 u8 0
15 u8 always 128
16 u32 0
20 float always 1000
24 u32 0
28 u32 0
32 bytes

mm_world_later_32

Offset Type Description
00 u32 always 14 amount
04 u32 offset based on amount [0]
08 u8 always 1
09 u8 always 1
10 u8 0
11 u8 0
12 float always 100000
16 float always 100000
20 u32 offset
24 u32 0
28 u32 0
32 bytes

mm_world_later_32_4

Offset Type Description
00 u8 50,30,255,192,0,60,128
01 u8 0,30,192,87,75,40,128,103,16,34
02 u8 0,30,255,192,103,128,50
03 u8 30,128,255,100,70,90
04 float 14 - 240
08 float -2 - 1.7000000476837158
12 u32 patch texture | 1 - 19
16 u32 2,5
20 bytes per entry

mm_world_later_32_20

Offset Type Description
00 u8 always 255
01 u8 always 255
02 u8 always 255
03 u8 always 255
04 u32 always 2
08 float always 1
12 u32 0
16 bytes

mm_item_maybe

multi? linked to by:
mm_car_link_the_third [44]
mm_unknown_4 [4]t6
mm_world_140 [36]
mm_world_148 [40]
mm_world_100 [40]

Offset Type Description
00 u32 based on type [4]
0 = offset (mm_model)
1 = offset (mm_car_model_sec)
04 u8 0,1
05 u8 1,0
06 u8 1,0,2
07 u8 0,1
08 u8 1,0
09 u8 0,1
10 u8 0
11 u8 0
12 u8 16,114,255
13 u8 39,31,255
14 u8 0,255
15 u8 0,255
16 float 0,500,800,1200
20 u32 offset
24 u32 0
28 u32 0
32 u32 offset (mm_unknown)
36 u32 offset (mm_unknown)
40 u32 offset (mm_sound_controls)
44 u32 offset (mm_item_unknown_link)
48 u32 offset
52 u32 0
56 u32 amount 0,1,2
60 u32 offset based on amount [56]
64 u32 amount 0,4,6,2,3
68 u32 offset based on amount [64]
72 u32 offset (mm_model_anims_2)
76 u32 offset (mm_model)
80 bytes

mm_item_maybe_20

Offset Type Description
00 u32 0 - 50000
04 u32 0,500
08 u32 0,10000,2500,2000,20000,1,50000,75
12 u32 0
16 bytes

mm_item_maybe_48

Offset Type Description
00 float always 100
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_item_maybe_60

Offset Type Description
00 u32 0
04 u32 0,1,7
08 u32 offset (mm_strange)
12 u32 offset
16 u32 0
20 bytes per entry

mm_item_maybe_60_12

Offset Type Description
00 float -40,0,9,56
04 float -67.5 - 19
08 float -110,-107,-100,-59,-16.5,0,25,61.5,85,120
12 u32 0
16 u8 0
17 u8 0
18 u8 0
19 u8 always 1
20 u32 0
24 u32 offset
28 u32 0
32 bytes

mm_item_maybe_60_12_24

Offset Type Description
00 u32 0
04 u32 offset (mm_model)
08 u32 0
12 u32 0
16 u32 amout | 1,3
20 u32 offset based on amount [16]
24 u32 amount | 3,4
28 u32 offset based on amount [24]
32 u32 0
36 u32 0
40 u32 offset
44 u32 0
48 bytes

mm_item_maybe_60_12_24_20

Offset Type Description
00 float 2,8,10
04 float 2,8,10
08 float 2,50,100,300
12 u32 0
16 u8 0,1
17 u8 0,1,2
18 u8 0
19 u8 0
20 float 0,50,100,200,400
24 u32 0
28 u32 0
32 bytes per entry

mm_item_maybe_60_12_24_28

Offset Type Description
00 u8 0,128,255
01 u8 0,255
02 u8 0,255
03 u8 always 255
04 u8 0,1
05 u8 0
06 u8 0
07 u8 0
08 float 0 - 3000
12 bytes per entry

mm_item_maybe_60_12_24_40

Offset Type Description
00 u32 0
04 u32 0
08 float always 1
12 u32 0
16 float -999,0,999
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_item_maybe_68

Offset Type Description
00 u32 offset (mm_unknown)
4 bytes per entry

mm_strange

multi linked to by:
mm_unknown_4 [4]t4
mm_car_model_sec_48 [8]t1
mm_some_model_link_4 [24]
mm_world_132 [36]
mm_world_164 [72]

Offset Type Description
00 u8 1,2
01 u8 0
02 u8 0,1
03 u8 0
04 u32 offset (mm_unknown)
08 u32 offset
12 float 0,500,1000
16 float 0 - 0.019999999552965164
20 u32 offset (mm_sound_controls)
24 u32 0
28 u32 0
32 bytes

mm_strange_8

Offset Type Description
00 u32 9 - 2200
04 u32 0 - 650
08 u32 0,100
12 u32 0
16 bytes

linked to by:
mm_unknown_4 [4]t29

Offset Type Description
00 u32 amount 12,6,18,22,13
04 u32 offset based on amount [0]
08 u32 0
12 u32 0
16 bytes

Offset Type Description
00 float -57.17839813232422 - 74.72455596923828
04 float -45.99012756347656 - 80.76558685302734
08 float -118.61979675292969 - 116.51400756835938
12 u32 0
16 float always 100
20 float 0,40,50,70,100,150
24 float 190,250,300,400
28 u32 offset (mm_model)
32 u32 offset (mm_strange)
36 u32 0
40 u32 0
44 u32 0
48 bytes per entry

linked to by:
mm_car_link_the_third [32]

Offset Type Description
00 u32 patch texture always 110
04 u32 0
08 u8 0
09 u8 always 16
10 u8 always 16
11 u8 0
12 u32 0
16 u32 0
20 u32 0
24 u32 always 1
28 u32 offset
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_font

multi linked to by:
mm_interface_16_16t1 [04]

Offset Type Description
00 u32 patch texture | 0,2,5,6,12,13
04 u32 offset (mm_sound_section)
08 u8 0
09 u8 16,24,36,32
10 u8 16,24,36,32,64
11 u8 0,1,3
12 u32 0
16 u32 0
20 u32 0,30
24 u32 amount [28]
28 u32 offset based on amount [24]
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_font_28

Offset Type Description
00 float -5,30,-7,-2,-4
04 u32 0
08 u32 0
12 u32 0
16 u8 0,1
17 u8 0,1
18 u16 0
20 float 0,5000
24 u32 0
28 u32 0
32 bytes per entry

linked to by:
mm_basic_04 [00]

Offset Type Description
00 float always 1000
04 float always 1500
08 u32 patch texture always 111
12 u32 patch texture always 72
16 u32 patch texture always 113
20 u32 patch texture always 114
24 u32 patch texture always 112
28 u32 0
32 u32 offset (mm_car_3_texture_link)
36 u32 offset (mm_interface)
40 u32 offset (mm_interface)
44 u32 offset (mm_item_maybe)
48 bytes

mm_interface

multi linked to by:
mm_basic_04 [00]
mm_interface_24_08 [00]
mm_interface_24_08 [00]
mm_interface_16_32 [00]
mm_car_164 [16],[24]
mm_car_link_the_third [36],[40]

Offset Type Description
00 u32 0,12,25,40
04 u32 0,1250,500,3346
08 u32 0,500
12 u32 amount
16 u32 offset based on amount [12]
20 u32 amount | 1,0,2
24 u32 offset based on amount [20]
28 u32 offset (mm_sound_controls)
32 u32 offset (mm_sound_controls)
36 u32 offset (mm_sound_controls)
40 u32 offset (mm_sound_controls)
44 u32 0
48 bytes

mm_interface_16

Offset Type Description
00 u8 1,2,9,3
01 u8 1,0,6
02 u8 0,1
03 u8 1,0
04 u8 0,1
05 u8 0,1
06 u8 0
07 u8 0,1
08 u8 0,1
09 u8 0,1,2,3,4,5,6
10 u8 0 - 80
11 u8 0
12 u8 0 - 255
13 u8 0,255
14 u16 0
16 u32 based on type [1]
0 = offset
1 = offset
20 float -0.75 - 1.5499999523162842
24 float -0.050000000745058060 - 1
28 u32 0
32 u32 offset
36 u32 offset
40 u32 offset
44 u32 offset
48 u32 offset
52 u32 offset
56 u32 offset
60 u32 0
64 u32 offset
68 u32 offset
72 bytes per entry

mm_interface_16_16t0

Offset Type Description
00 u8 0,3
01 u8 0,2,5
02 u8 0
03 u8 0
04 u32 patch texture 0 - 58
08 u32 0
12 u32 0
16 u32 offset
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_16t0_16

Offset Type Description
00 u32 amount | 16,4
04 u32 offset based on amount [0]
08 u32 33,31
12 u32 0
16 bytes

mm_interface_16_16t0_16_4

Offset Type Description
00 u32 patch texture 19 - 57
4 bytes per entry

mm_interface_16_16t1

Offset Type Description
00 u32 offset (mm_text)
04 u32 offset (mm_font)
08 u32 offset
12 u16 0
14 u8 5,2
15 u8 0,1
16 u8 0,1
17 u8 1,0
18 u16 0
20 u16 580,128,342,600,0
22 u16 0 - 288
24 float 0,48,32,16,80,64
28 u32 0
32 bytes

mm_interface_16_16t1_8

Offset Type Description
00 u32 amount 3,2
04 u32 offset based on amount [0]
08 u32 0
12 u32 0
16 bytes

mm_interface_16_16t1_8_4

Offset Type Description
00 u32 offset (mm_text)
4 bytes per entry

mm_interface_16_32

Offset Type Description
00 u32 offset (mm_interface)
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_36

Offset Type Description
00 u32 0,1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_40

Offset Type Description
00 u8 0 - 104
01 u8 0 - 104
02 u8 0 - 104
03 u8 0 - 20
04 u32 0 - 20
08 u32 0 - 4 amount
12 u32 offset based on amount [8]
16 bytes

mm_interface_16_40_12

Offset Type Description
00 u32 21,4
04 u32 0
08 u32 offset
12 bytes per entry

mm_interface_16_40_12_8

Offset Type Description
00 u32 offset (mm_interface)
04 u8 0
05 u8 4,1
06 u8 1,2,3,4,0
07 u8 0
08 u32 0
12 u32 offset (mm_sound_controls)
16 bytes

mm_interface_16_44

Offset Type Description
00 u32 0
04 u32 1,2
08 u32 offset
12 u32 amount [16]
16 u32 offset based on amount [12]
20 u32 amount [24]
24 u32 offset based on amount [20]
28 u32 amount [32]
32 u32 offset based on amount [28]
36 u32 0,1
40 u32 offset
44 u32 0,1
48 u32 offset
52 u32 0
56 u32 0
60 u32 0
64 bytes

mm_interface_16_44_8

maybe 8 bytes per entry ???
Offset Type Description
00 u32 1,0
04 float 0,671,300
08 u32 0,1
12 u32 0
16 bytes

mm_interface_16_44_16

Offset Type Description
00 float -640 - 1280
04 float -160 - 580
08 u32 0
12 u32 0
16 u8 0
17 u8 0,1,2
18 u8 0
19 u8 0
20 float 0 - 2000
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_44_24

Offset Type Description
00 u8 0,255,61,192,128
01 u8 0,255,128,93,87
02 u8 0,255,128
03 u8 255,0,128,64
04 u8 0,1
05 u8 0,2,1
06 u16 0
08 float 0 - 2650
12 bytes per entry

mm_interface_16_44_32

Offset Type Description
00 float 0 - 5000
04 float 0 - 5000
08 float 0,1
12 u32 0
16 u8 0
17 u8 0,1,2
18 u8 0
19 u8 0
20 float 0 - 3850
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_44_40

Offset Type Description
00 u32 0
04 float 0,0.5
08 float always 1
12 float 0,0.5
16 u32 0
20 float 1,3
24 float always 1
28 float 1,3
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_interface_16_44_48

Offset Type Description
00 float 0,180,45,90
04 u32 0
08 u32 0
12 u32 0
16 u32 1,0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_48

Offset Type Description
00 u32 0
04 u32 always 1
08 u32 offset
12 u32 0,1
16 u32 offset
20 u32 amount [24] 0,3,4,5,1,2
24 u32 offset based on amount [20]
28 u32 amount [32] 0,1,3,2
32 u32 offset based on amount [28]
36 u32 0,1
40 u32 offset
44 u32 0,1
48 u32 offset
52 u32 0
56 u32 0
60 u32 0
64 bytes

mm_interface_16_48_8

Offset Type Description
00 u32 0,1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_48_16

Offset Type Description
00 float -210 - 377
04 float 320,239,240,265,216,250,232,0
08 u32 0
12 u32 0
16 u32 0,1
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_48_24

Offset Type Description
00 u8 255,128,160,61
01 u8 192,128,0,87,160,255
02 u8 0,255,128
03 u8 255,0,100,128,64
04 u8 1,0
05 u8 0,2
06 u16 0
08 float 0 - 2500
12 bytes per entry

mm_interface_16_48_32

Offset Type Description
00 float 0 - 640
04 float 0 - 480
08 float always 1
12 u32 0
16 u8 0,1
17 u8 0,1,2
18 u8 0
19 u8 0
20 float 0,100,200,300,400,500,700,1000,1800
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_48_40

Offset Type Description
00 float 0,0.3440000116825104,1
04 float 0,0.6880000233650208,0.5
08 float 1,0.3440000116825104,0.375
12 float 0,0.6880000233650208,0.5
16 float 0,0.3440000116825104,1
20 float 1,0.5,3
24 float 1,0.3440000116825104,0.375
28 float 1,0.5,3
32 u32 0
36 u32 0
40 float 0,0.6639999747276306,0.8199999928474426
44 float 0, 0.00800000037997961
48 bytes

mm_interface_16_48_48

Offset Type Description
00 float 0,180
04 u32 0
08 u32 0
12 u32 0
16 u32 0,1
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_52

Offset Type Description
00 u32 0
04 u32 always 1
08 u32 offset
12 u32 0,1
16 u32 offset
20 u32 amount 0,2
24 u32 offset based on amount [20]
28 u32 amount prob 0,1
32 u32 offset
36 u32 amount prob 0,1
40 u32 offset
44 u32 amount prob 0,1
48 u32 offset
52 u32 0
56 u32 0
60 u32 0
64 bytes

mm_interface_16_52_8

Offset Type Description
00 u32 0,1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_52_16

Offset Type Description
00 float always 480
04 float always 120
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_52_24

Offset Type Description
00 u8 0,255
01 u8 255,128
02 u8 255,0
03 u8 always 255
04 u32 0,1
08 float 0,500
12 bytes per entry

mm_interface_16_52_32

Offset Type Description
00 float 0,128
04 float 0,128
08 float always 1
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_52_40

Offset Type Description
00 u32 0
04 u32 0
08 float always 1
12 u32 0
16 u32 0
20 float always 1
24 float always 1
28 float always 1
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_interface_16_52_48

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_56

Offset Type Description
00 u32 0
04 u32 always 1
08 u32 offset
12 u32 0,1
16 u32 offset
20 u32 amount [24] 0,2,1
24 u32 offset based on amount [20]
28 u32 amount [32] 0,1,2
32 u32 offset based on amount [28]
36 u32 0,1
40 u32 offset
44 u32 0,1
48 u32 offset
52 u32 offset (mm_sound_controls)
56 u32 0
60 u32 0
64 bytes

mm_interface_16_56_8

Offset Type Description
00 u32 always 1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_56_16

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_56_24

Offset Type Description
00 u8 255,0
01 u8 128,255,0
02 u8 0,255
03 u8 255,0
04 u8 0,1
05 u8 0,1
06 u16 0
08 float 0,250,500
12 bytes per enrty

mm_interface_16_56_32

Offset Type Description
00 float 128,1,3
04 float 128,1,6
08 float always 1
12 u32 0
16 u8 0
17 u8 0,2
18 u16 0
20 float 0,500
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_56_40

Offset Type Description
00 u32 0
04 float 0,0.5099999904632568
08 float always 1
12 float 0,0.5099999904632568
16 u32 0
20 float 1,0.9700000286102295
24 float always 1
28 float 1,0.9700000286102295
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_interface_16_56_48

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_64

Offset Type Description
00 u32 0
04 u32 always 1
08 u32 offset
12 u32 0,1
16 u32 offset
20 u32 amount [24] 0,2,1
24 u32 offset based on amount [20]
28 u32 amount [32] 0,2,1
32 u32 offset based on amount [28]
36 u32 0,1
40 u32 offset
44 u32 0,1
48 u32 offset
52 u32 0
56 u32 0
60 u32 0
64 bytes

mm_interface_16_64_8

Offset Type Description
00 u32 always 1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_interface_16_64_16

Offset Type Description
00 float 320,0
04 float 240,0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_64_24

Offset Type Description
00 u8 255,61
01 u8 255,0,93,128
02 u8 255,128,0
03 u8 255,0,64
04 u8 0
05 u8 0
06 u16 0
08 float 100,200,0,500
12 bytes per entry

mm_interface_16_64_32

Offset Type Description
00 float 64,5000,640
04 float 64,5000,480
08 float always 1
12 u32 0
16 u32 0
20 float 0,300
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_64_40

Offset Type Description
00 u32 0
04 u32 0
08 float always 1
12 u32 0
16 u32 0
20 float 1,3
24 float always 1
28 float 1,3
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_interface_16_64_48

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_interface_16_68

Offset Type Description
00 u32 amount [04] 1,2,5
04 u32 offset based on amount [00]
08 u32 based on amount [12] 1,2
12 u32 offset based on amount [08]
16 u32 amount [20]
20 u32 offset based on amount [16]
24 u32 amount [28] 4,1,3,2,5
28 u32 offset based on amount [24]
32 u32 always 1
36 u32 offset
40 u32 0
44 u32 0
48 bytes

mm_interface_16_68_4

Offset Type Description
00 float -64 - 704
04 float 0 - 446
08 float 0,-1
12 u32 0
16 u32 0,1
20 float 0,5000
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_68_12

Offset Type Description
00 float 0,360,90,-360,-45,45,405,225,585
04 u32 0
08 u32 0
12 u32 0
16 u32 0,1
20 float 0,10000,500,1400,1600,2946,2000
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_68_20

Offset Type Description
00 float 0 - 1500
04 float 0 - 3000
08 float 1,0
12 u32 0
16 u8 0,1
17 u8 0,1,2
18 u16 0
20 float 0 - 2946
24 u32 0
28 u32 0
32 bytes per entry

mm_interface_16_68_28

Offset Type Description
00 u8 128,61,20,40,255,5,48,0,192
01 u8 87,0,255,93,128
02 u8 255,128,30,60,11,101,0
03 u8 0,255,32,64,128
04 u8 0,1
05 u8 0,1,2
06 u16 0
08 float 0 - 3500
12 bytes per entry

mm_interface_16_68_36

Offset Type Description
00 float 0,0.03099999949336052,0.5
04 float 0,0.027000000700354576
08 float 1,0.35199999809265137
12 float 0,0.027000000700354576
16 float 0,0.03099999949336052,0.5
20 float 1,3,0.5,0.3479999899864197
24 float 1,0.35199999809265137
28 float 1,3,0.5,0.3479999899864197
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_interface_24

mm_interface_24 === mm_interface_16_40_12 ?
Offset Type Description
00 u32 30,4,21
04 u32 5500,0,3346
08 u32 offset
12 bytes per entry

mm_interface_24_08

Offset Type Description
00 u32 offset (mm_interface)
04 u8 0,3
05 u8 4,1
06 u8 1,100,0
07 u8 0,1
08 u32 0
12 u32 offset (mm_sound_controls)
16 bytes

mm_object

multi linked to by:
mm_basic_04[00]
mm_unknown_4 [4]t25

Offset Type Description
00 u32 0
04 float 0,10
08 u32 0
12 u32 0
16 u8 40,255
17 u8 35,255
18 u8 0,255
19 u8 0,255
20 u32 offset (mm_model)
24 u8 0
25 u8 5,4,2,1,6,0,3
26 u8 1,0
27 u8 4,1,2,3
28 u8 0,1
29 u8 0
30 u8 always 2
31 u8 0
32 u32 200 - 220
36 u32 0
40 float 1,1200,0
44 float 0,50,15,2500,500,15000
48 float 0.009999999776482582,20
52 float 0,6,7,5,4,2,1
56 float 0,17
60 float 0,-6
64 u32 0
68 u32 0
72 u32 offset (mm_text)
76 u32 offset (mm_unknown)
80 u32 offset (mm_unknown)
84 u32 0
88 u32 offset (mm_object_link)
92 u32 offset
96 u32 amount 0,3,4
100 u32 offset based on amount [96]
104 u32 0
108 u32 0
112 bytes

mm_object_92

Offset Type Description
00 u8 0,191,32,192
01 u8 0,144,136,128,255
02 u8 0,168
03 u8 0,255
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_object_100

Offset Type Description
00 u32 0
04 u32 7,10
08 u32 0
12 u32 offset
16 u32 0
20 bytes per entry

mm_object_100_12

Offset Type Description
00 u32 0
04 float 7,10,20.5,0
08 u32 0
12 u32 0
16 u8 0
17 u8 0
18 u8 0
19 u8 always 1
20 u32 0
24 u32 offset
28 u32 0
32 bytes

mm_object_100_12_24

Offset Type Description
00 u8 0
01 u8 type? 0,2
02 u16 0
04 u32 based on type [1]
0 = offset (mm_model)
2 = patch texture 3
08 u32 0,1
12 u32 offset
16 u32 always 1
20 u32 offset
24 u32 amount 1,3
28 u32 offset based on amount [24]
32 u32 0
36 u32 0
40 u32 offset
44 u32 0
48 bytes

mm_object_100_12_24_12

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_object_100_12_24_20

Offset Type Description
00 float 1.75,10,5,1
04 float 0.75,1
08 float 1.75,1
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_object_100_12_24_28

Offset Type Description
00 u8 72,192,0,255,32,34,150,60
01 u8 33,128,0,136,61,72,150,255
02 u8 0,70,168,128,150,10,87,255
03 u8 always 255
04 u32 0,1
08 float 0,50,250,200
12 bytes per entry

mm_object_100_12_24_40

Offset Type Description
00 u32 0
04 float 1,0
08 float 0,1
12 u32 0
16 float -5,0
20 u32 0
24 u32 0
28 u32 0
32 bytes

multi linked to by:
mm_asdf [100]

mm_asdf_texture_link = mm_world_later_32?
Offset Type Description
00 u32 amount always 7
04 u32 offset based on amount [0]
08 u8 always 1
09 u8 always 1
10 u8 0
11 u8 0
12 float always 500
16 float always 600
20 u32 offset
24 u32 0
28 u32 0
32 bytes

Offset Type Description
00 u8 87,128,192,255
01 u8 0,82,87,192
02 u8 0,192,255
03 u8 70,100,128,255
04 float 16,25,32,40,64,70
08 float -1.2999999523162842 - -0.30000001192092896
12 u32 patch texture | 140,82,141
16 u32 5,2
20 bytes per entry

Offset Type Description
00 u8 always 255
01 u8 always 255
02 u8 always 255
03 u8 always 255
04 u32 always 2
08 float always 0.25
12 u32 0
16 bytes

mm_another_unknown_sec

multi linked to by:
mm_unknown_4 [4t28]

Offset Type Description
00 u32 0,2
04 u32 100,50,500,750
08 u32 400,150,0
12 float 10,2,1,3
16 float 0,18,1,3
20 float 500,750,1000
24 u32 amount 2,3
28 u32 offset based on amount [24]
32 u32 amount
36 u32 offset based on amount [32]
40 u32 0
44 u32 0
48 bytes

mm_another_unknown_sec_28

Offset Type Description
00 u8 255,0,192,63,84,14
01 u8 192,0,157,66,7
02 u8 87,0,255,178,29
03 u8 always 255
04 u32 0
08 float 100,0,50,250,500
12 bytes per entry

mm_another_unknown_sec_36

Offset Type Description
00 u8 0,255,128,28
01 u8 0,128,255,66
02 u8 0,59
03 u8 always 255
04 u32 0
08 float 150,0,100,500,750
12 bytes per entry

mm_asdf_some_list

multi linked to by:
mm_asdf [104]

Offset Type Description
00 u8 0,1,2
01 u8 0,1,2
02 u8 0
03 u8 2,3
04 u32 1 - 20000
08 u32 0,250
12 u32 amount 1,2
16 u32 offset based on amount [12]
20 u32 amount 1,2,3
24 u32 offset based on amount [20]
28 u32 0
32 bytes

mm_asdf_some_list_16

Offset Type Description
00 float 1,35,50,70,100,150,200,500,1000
04 u8 0
05 u8 0,1
06 u8 0
07 u8 0
08 float 0,200,600,1000
12 bytes per entry

mm_asdf_some_list_24

Offset Type Description
00 u8 0 - 255
01 u8 0 - 255
02 u8 0 - 255
03 u8 0,255
04 u8 0
05 u8 0,1,2
06 u8 0
07 u8 0
08 float 0 - 19000
12 bytes

mm_text

multi linked to by:
mm_interface_16_16t1 [00]
mm_interface_16_16t1_8_4 [00]
mm_car_140 [100]
mm_car_164 [40]
mm_object [72]
mm_object_link [16]

Offset Type Description
00 u32 offset string 1
04 u32 offset string 2
08 u32 offset string 3
12 u32 offset string 4
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_model_sec

multi linked to by:
mm_car_144 [0][4][8][12]
mm_car_140 [16]
mm_item_maybe [0]
mm_object_link [0]

Offset Type Description
00 u32 amount 1,4,5,2
04 u32 offset based on amount [0]
08 u32 amount 19,10,7,12,9,16,25
12 u32 offset based on amount [08]
16 u32 offset (mm_model_anims_1)
20 u32 offset (mm_model_anims_2)
24 float 30,20
28 u8 0,1
29 u8 always 1
30 u8 0,1
31 u8 1,0,255
32 u32 offset
36 u32 offset
40 u32 offset
44 u32 amount 2,4,3,0
48 u32 offset based on amount [44]
52 u32 offset
56 u32 offset
60 u32 0
64 bytes

mm_car_model_sec_4

Offset Type Description
00 u32 offset (mm_model)
4 bytes per entry

mm_car_model_sec_12

Offset Type Description
00 u32 offset (mm_model)
04 u32 0 - 45
8 bytes per entry

mm_car_model_sec_32

Offset Type Description
00 u32 0
04 float 1,0
08 u32 0
12 u32 0
16 bytes

mm_car_model_sec_36

Offset Type Description
00 float 2,0,1
04 float 3,10,60,30
08 u32 0
12 u32 0
16 bytes

mm_car_model_sec_40

Offset Type Description
00 float 10,4
04 float 10,5
08 u32 0
12 u32 0
16 bytes

mm_car_model_sec_48

Offset Type Description
00 float 0,1,3,28,59
04 u32 10,0,99,1,7,6
08 u32 based on type [4]
0 = offset (mm_unknown)
1 = offset (mm_strange)
6 = offset
12 u32 offset
16 u32 offset
20 bytes per entry

mm_car_model_sec_48_12

Offset Type Description
00 float -3.8369998931884766 - 3.561000108718872
04 float -4 - 10
08 float -9.399999618530273 - 25
12 u32 0
16 u8 0 - 52
17 u8 0
18 u8 0
19 u8 0,1
20 u32 0
24 u32 offset
28 u32 0
32 bytes

mm_car_model_sec_48_12_24

Offset Type Description
00 u8 0,1
01 u8 type? 2,0,5
02 u8 0,1
03 u8 0
04 u32 based on type [1]
0 = offset (mm_model)
2,5 = patch texture
08 u32 amount 1,0,2
12 u32 offset based on amount [8]
16 u32 amount 1,2,3,4,5
20 u32 offset based on amount [16]
24 u32 5,3,2,1,4,46,7,6,0
28 u32 offset based on amount [24]
32 u32 offset
36 u32 offset
40 u32 offset
44 u32 0
48 bytes

mm_car_model_sec_48_12_24_12

Offset Type Description
00 float 0,-360,180,0.0010000000474974513,360,45,-45
04 u32 0
08 u32 0
12 u32 0
16 u32 0,1
20 float 1000,0,10000,500,2000,250,1500,123,333,1200
24 u32 0
28 u32 0
32 bytes per entry

mm_car_model_sec_48_12_24_20

Offset Type Description
00 float -1.5 - 75
04 float -1.25 - 10
08 float -1.2000000476837158 - 150
12 u32 0
16 u32 1,0
20 float 0 - 1300
24 u32 0
28 u32 0
32 bytes

mm_car_model_sec_48_12_24_28

Offset Type Description
00 u8 0,255,135,128
01 u8 0,135,160,128
02 u8 0,135,128,192
03 u8 always 255
04 u32 1,0
08 float 0,125,250
12 bytes per entry

mm_car_model_sec_48_12_24_32

Offset Type Description
00 float always 100
04 float always 300
08 u32 0
12 u32 0
16 bytes

mm_car_model_sec_48_12_24_36

Offset Type Description
00 float 0,-0.7020000219345093
04 float 0,-1,0.7139999866485596
08 float 1,0,-1
12 u32 0
16 float 75,60,65
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_model_sec_48_12_24_40

Offset Type Description
00 float 0,1
04 float 1,0
08 float 0,1
12 u32 0
16 float -1000 - 1000
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_model_sec_48_16

Offset Type Description
00 u32 10,9,1
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_car_model_sec_52

Offset Type Description
00 float 0,-3.200000047683716,-5.25,-10
04 float 0,1.600000023841858,-0.8999999761581421,-10
08 float 0,-6.599999904632568,-10
12 u32 0
16 float 0,3.200000047683716,5.25,10
20 float 0,7.199999809265137,4.5,10
24 float 0,7.199999809265137,12.5,10
28 u32 0
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 bytes

mm_unknown_thing

multi linked to by:
mm_unknown_4 [4]t1
mm_item_unknown_link [52]

Offset Type Description
00 u32 0
04 u32 0
08 u32 0
12 u32 0
16 u8 type? 1,0
17 u8 0,3
18 u16 0
20 u32 based on type [16]
0 = offset
1 = offset
24 u32 200 - 5000
28 u32 0,1500,5000
32 float 0,0.550000011920929,0.44999998807907104
36 u32 amount [40] 2,3,1
40 u32 offset based on amount [36]
44 u32 amount 3,2,11,1,9,4,5
48 u32 offset based on amount [44]
52 u32 based on type [16]
0 = offset (mm_model)
1 = patch texture
56 u32 0
60 u32 offset
64 u32 offset (mm_unknown)
68 u32 offset (mm_unknown)
72 u32 0
76 float 0.0010000000474974513 - 70
80 float 0 - 30
84 u32 0
88 float 1000,10000,100000
92 float 0 - 10000
96 bytes

mm_unknown_thing_20t0

mm_asdf = mm_asdf_96 ?

Offset Type Description
00 u8 0,1
01 u8 0,1
02 u8 0
03 u8 0
04 u32 offset
08 u32 0
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 u32 0
36 u32 offset
40 u32 0
44 u32 0
48 u32 0
52 u32 0
56 u32 0
60 u32 0
64 u32 0
68 u32 0
72 u32 0
76 u32 0
80 bytes

mm_unknown_thing_20t0_4

Offset Type Description
00 u32 0
04 float 1,0
08 float 0,1
12 u32 0
16 u32 0
20 float 360,0
24 u32 0
28 u32 0
32 bytes

mm_unknown_thing_20t0_36

Offset Type Description
00 u32 0
04 float 0,1
08 u32 0
12 u32 0
16 float 0,-500
20 float 0,400
24 u32 0
28 u32 0
32 bytes

mm_unknown_thing_20t1

Offset Type Description
00 u32 5,2,3
04 u32 0
08 float always 360
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_unknown_thing_40

Offset Type Description
00 float -50 - 3000
04 float 0 - 425
08 float 0 - 550
12 u32 0
16 u8 0,1
17 u8 0,1,2
18 u8 0
19 u8 0
20 float 0 - 20000
24 u32 0
28 u32 0
32 bytes per entry

mm_unknown_thing_48

Offset Type Description
00 u8 0 - 255
01 u8 0 - 255
02 u8 0 - 255
03 u8 0,64,128,200,250,255
04 u8 0,1
05 u8 0,1,2
06 u8 0
07 u8 0
08 float 0 - 20000
12 bytes per entry

mm_unknown_thing_60

Offset Type Description
00 float 0,80,270
04 float 360,0,90
08 float 0,-45,-135,135,45
12 float 0,360,90
16 float 0,200
20 float 0,360
24 float -500 - 20
28 float -20 - 1000
32 float 0,-15,-50,-25,-2
36 float 0,30,100,50,4
40 float 0,-5,-15,-50,-25,3,-1,-30
44 float 0,10,30,100,50,2,20
48 bytes

mm_unknown_some_values

multi linked to by:
mm_unknown_4 [4t27]

Offset Type Description
00 u8 1,0
01 u8 1,0
02 u8 0,1
03 u8 0
04 u32 250,0,200
08 u32 1000,100,50,0,200,500,250
12 u32 2000,0,500,250
16 float 25,30,32,100,50
20 float 75,50,35,250,100,125,150,200
24 u32 offset
28 u32 offset
32 bytes

mm_unknown_some_values_24

Offset Type Description
00 u32 amount 3,1,2
04 u32 offset based on amount [0]
08 u32 0
12 u32 0
16 bytes

mm_unknown_some_values_24_4

Offset Type Description
00 float 0 - 1
04 u8 0,1
05 u8 0,1,2
06 u8 0
07 u8 0
08 float 0 - 5000
12 bytes per entry

mm_unknown_some_values_28

Offset Type Description
00 u32 amount
04 u32 offset based on amount [0]
08 u32 0
12 u32 0
16 bytes

mm_unknown_some_values_28_4

Offset Type Description
00 float 0 - 1
04 u8 0
05 u8 0,1,2
06 u8 0
07 u8 0
08 float 0 - 2000
12 bytes per entry

mm_asdf

multi linked to by:
mm_unknown_4 [4t2]

Offset Type Description
00 u8 0,1
01 u8 0,1 type
02 u8 0,1
03 u8 0,1,4,5
04 u8 0,1,2
05 u8 0,1,3
06 u8 2,5,10
07 u8 0,1
08 u32 0,2
12 u32 offset
16 u32 based on type [1]
0 = offset (mm_model)
1 = patch texture
20 u32 1 - 11000
24 u32 0,50,1000,2000,2500,3000,4000,5000
28 u32 0 - 50101
32 u32 0,250
36 u32 0
40 u32 0
44 float 0.0010000000474974513 - 16
48 float 0 - 0.800000011920929
52 float 0 - 32
56 u32 always 100
60 float 0 - 1
64 float -15 - 500
68 float 10000,100000,512000
72 float 100,250,300,400,500
76 float 0 - 50
80 float 0,0.5,1
84 u32 1000,2000,3000,4000,5000,7000,7500,8000,9000,15000
88 u32 0,1000
92 u32 patch texture | 8,12,17,0,59,73
96 u32 offset
100 u32 offset
104 u32 offset (mm_asdf_some_list)
108 u32 0
112 u32 offset (mm_unknown)
116 u32 offset (mm_unknown)
120 u32 offset (mm_unknown)
124 u32 offset (mm_unknown)
128 u32 amount 1,2,3
132 u32 offset based on amount [128]
136 u32 amount 1,4,3,5
140 u32 offset based on amount [136]
144 u32 0
148 u32 0
152 u32 offset
156 u32 offset
160 u32 offset
164 u32 0
168 u32 0
172 u32 0
176 bytes

mm_asdf_12

Offset Type Description
00 u32 25,80,100,75
04 u32 0,40,60,80,50,100
08 u32 0
12 u32 0
16 bytes

mm_asdf_96

Offset Type Description
00 u8 0,1,5
01 u8 0,1
02 u8 0
03 u8 0
04 u32 offset
08 float 0,360
12 u32 0
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 float 0,1
36 u32 based on type [0]
0,1 = offset
5 = float
40 float 0,1
44 u32 0
48 u32 0
52 u32 0
56 u32 0
60 u32 0
64 u8 0,255
65 u8 0,255
66 u8 0,255
67 u8 0,255
68 u32 0
72 u32 0
76 u32 0
80 bytes

mm_asdf_96_4

Offset Type Description
00 float 0,1
04 float 0,1
08 float 1,0
12 u32 0
16 float 0,90
20 float 0,360
24 u32 0
28 u32 0
32 bytes

mm_asdf_96_36

Offset Type Description
00 float 0,1
04 u32 0
08 float 0,1
12 u32 0
16 float 0,100,360
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_asdf_132

Offset Type Description
00 float -10 - 30
04 float 0.10000000149011612 - 30
08 float -10 - 2500
12 u32 0
16 u32 0,1
20 float 0 - 2500
24 u32 0
28 u32 0
32 bytes

mm_asdf_140

Offset Type Description
00 u8 0 - 255
01 u8 0 - 255
02 u8 0 - 255
03 u8 255,0
04 u32 0,1
08 float 0,100,9500,500,19000,1000,2000,15000,5000
12 bytes per entry

mm_asdf_152

Offset Type Description
00 float 0,90,35,45,-75
04 float 0,360
08 float 0,225,135,-90,90,-165
12 float 0,360
16 float 0,-5,10
20 float 0,360,10
24 float -100,0,50,-1,10,-2,2,-10,-20,40
28 float 100,0,50,2,10,20
32 float -1,0,-100,2,-10,10,4,100,-5,-30
36 float 2,0,25,-8,20,10,30
40 float -1,-200,100,0,-5,10,-15,15,-20,-10
44 float 2,100,0,25,10,-30,30,5,20
48 bytes

mm_asdf_156

Offset Type Description
00 u8 0
01 u8 0
02 u8 0,10,50,25,5
03 u8 0
04 float 0,7.5,2.5,10,2,4,5,7,3,6
08 float 0,60,100,50,75,5,250,40,25
12 float 0 - 200
16 float 0 - 9000
20 float 0,350,150,500,250,200,1000,50,100
24 float 0,5,-2.5,1,2,-1,10
28 float 0,120,60,90,45,75,180
32 float 0,50,25,10
36 float 100,2500,2000,1000,1500,250,750,50
40 float 0,0.10000000149011612,0.05000000074505806
44 float 90,180,360
48 bytes

mm_asdf_160

Offset Type Description
00 u8 200,255
01 u8 196,255
02 u8 180,255
03 u8 128,255
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_texture_anims

multi linked to by:
mm_model_texture_anims_list [00]

Offset Type Description
00 u32 0,1
04 u32 amount 1,4
08 u32 offset based on amount [4]
12 u32 amount 2,1
16 u32 offset based on amount [12]
20 u32 offset
24 u32 0
28 u32 0
32 bytes

mm_texture_anims_8

Offset Type Description
00 u8 145,255,165,0,45,129,128,75,60
01 u8 37 - 255
02 u8 47,255,165,160,128,45,150,0,75,60
03 u8 always 255
04 u32 1,0
08 float 0,500,1000,250
12 bytes per entry

mm_texture_anims_16

Offset Type Description
00 float 0,3,1
04 float 0,-1,1,-2,3
08 float 0,1000,333,3000,500
12 u32 1,0
16 bytes per entry

mm_texture_anims_20

Offset Type Description
00 u32 amount 8,173,3,91,1
04 u32 offset based on amount [0]
08 u32 1000,100,50
12 u32 0,2
16 bytes

mm_texture_anims_20_4

Offset Type Description
00 u32 patch texture 261,167,171,193,210,256,262,254,259
4 bytes per entry

mm_sound_section

multi linked to by:
mm_sound_controls_8_12 [00]
mm_font [04]
mm_car [120][124][128]
mm_unknown_4 [4t10]

Offset Type Description
00 float 0.6499999761581421 - 1
04 float 10,0,20
08 float 0,50
12 float 0.22499999403953552 - 1.3250000476837158
16 float 0 - 0.30000001192092896
20 u32 0,1
24 u32 patch sound | 0 - 39
28 u32 0
32 bytes

mm_sound_controls

multi linked to by:
mm_interface [28],[32],[36],[40]
mm_interface_24_08 [12]
mm_interface_16_40_12_8 [12]
mm_interface_16_56 [52]
mm_unknown_4 [4t26]
mm_item_maybe [40]
mm_strange [20]

Offset Type Description
00 u32 0,1250
04 u32 amount [08]
08 u32 offset based on amount [04]
12 u32 0
16 bytes

mm_sound_controls_8

Offset Type Description
00 float 1,325,150,300,550,25,125
04 u32 0,1
08 u32 amount | 1,3,4,2
12 u32 offset based on amount [08]
16 bytes per entry

mm_sound_controls_8_12

Offset Type Description
00 u32 offset (mm_sound_section)
4 bytes per entry

multi linked to by:
mm_item_maybe [44]
mm_car_160 [216]
mm_world_52 [64]

Offset Type Description
00 u8 0,1
01 u8 0,1
02 u8 0
03 u8 0
04 u32 0
08 float 0.949999988079071,1,1.0499999523162842
12 float -1,0.5,0.800000011920929
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 u32 offset (mm_unknown)
52 u32 offset (mm_unknown_thing)
56 u32 0
60 u32 0
64 bytes

mm_car

linked to by:
mm_basic_04 [00]

Offset Type Description
00 u8 0
01 u8 always 50
02 u8 always 88
03 u8 always 2
04 u32 11,24,27,31,36,43,44,54
08 u32 3500,4500,5000,5500,6500,7000
12 u32 0
16 u32 always 50
20 float 6200,7000,8000,8500,9000,10000
24 float 5800,6300,7300,8000,8500,9500
28 float 4000,5000,6000
32 float 250,500,1000,1500,1750
36 float 0.15000000596046448 - 0.30000001192092896
40 float 0.029999999329447746 - 0.30000001192092896
44 float 0.019999999552965164 - 0.20000000298023224
48 float 10,11.5,12,15,16
52 float 1.5,1.75,1.850000023841858
56 float 2.5,3,4
60 float always 5000
64 float always 10
68 float 20,25,30,45,60
72 u32 0
76 float 80,120
80 u32 0
84 float 10,20
88 u32 patch texture | 4,51,61,69,75,85,89,95,100
92 u32 offset (mm_model_anims_1)
96 u32 offset (mm_model_anims_2)
100 u32 patch texture | 18,66,0
104 u32 offset (mm_unknown)
108 u32 offset (mm_unknown)
112 u32 offset (mm_unknown)
116 u32 0
120 u32 offset (mm_sound_section)
124 u32 offset (mm_sound_section)
128 u32 offset (mm_sound_section)
132 u32 offset
136 u32 offset
140 u32 offset (mm_car_140)
144 u32 offset
148 u32 0
152 u32 offset
156 u32 offset
160 u32 offset
164 u32 offset
168 u32 0
172 u32 offset (mm_car_section)
176 u32 offset (mm_car_section)
180 u32 offset (mm_car_section)
184 u32 offset (mm_car_section)
188 u32 0
192 u32 0
196 u32 0
200 u32 amount always 3
204 u32 offset based on amount [200]
208 u32 amount 6,4,7
212 u32 offset based on amount [208]
216 u32 0
220 u32 0
224 u32 always 5
228 u32 offset
232 u32 amount always 7
236 u32 offset based on amount [232]
240 u32 amount always 4
244 u32 offset based on amount [240]
248 u32 0
252 u32 0
256 bytes

mm_car_132

Offset Type Description
00 u8 1,5
01 u8 1,5
02 u8 always 1
03 u8 20,255
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_car_136

Offset Type Description
00 float 1,0
04 float 0.5,0
08 u32 0
12 u32 0
16 bytes

mm_car_144

Offset Type Description
00 u32 offset (mm_car_model_sec)
04 u32 offset (mm_car_model_sec)
08 u32 offset (mm_car_model_sec)
12 u32 offset (mm_car_model_sec)
16 u32 0
20 u32 0
24 u32 0
28 u32 0
32 u32 0
36 u32 0
40 u32 0
44 u16 0
46 u16 0,10,1
48 u32 0
52 u32 always 14
56 u32 0
60 float always 2000
64 u32 0
68 float always 90
72 float always 30
76 u32 0
80 u32 0
84 u32 0
88 u32 0
92 u32 0
96 bytes

mm_car_152

Offset Type Description
00 float always 50
04 float always 2
08 u32 0
12 float always 100
16 u32 offset (mm_unknown)
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_156

Offset Type Description
00 u32 0
04 u32 always 120
08 u32 0
12 float always 2
16 float always 1
20 float always 0.30000001192092896
24 float always 150
28 float always 30
32 float always 30
36 u32 0
40 float 0,1.5,0.5
44 float always 1.5
48 float always 10
52 float always 10
56 float always 4
60 u32 0
64 bytes

mm_car_160

Offset Type Description
00 float -6,-5.5,-5.25,-5,-4.5,-3.200000047683716
04 float -3 - 1.600000023841858
08 float -10 - -6.199999809265137
12 u32 0
16 float 3.200000047683716,4.5,5,5.25,5.5,6
20 float 4.5,6,6.5,7.199999809265137,7.699999809265137,8.5
24 float 6,7.199999809265137,9.25,9.5,10,12,12.5
28 u32 0
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 float -6,-5.5,-5,-3
52 float -3,-2.5,-2,-1
56 float -12,-9,-8.5,-7,-6.5,-6
60 u32 0
64 float 3,5,5.5,6
68 float 3.5,4,5,6,7,7.5
72 float 6,6.5,9,9.25,9.5,12
76 u32 0
80 u32 0
84 u32 0
88 u32 0
92 u32 0
96 float 40,45,50
100 float always 0.004999999888241291
104 float 1.2000000476837158 - 2
108 float 0.003000000026077032 - 0.10000000149011612
112 float 0.10000000149011612,1.5
116 float 1.2999999523162842,1.600000023841858
120 u8 5,25
121 u8 0
122 u8 8,12,13,15,32,40
123 u8 0
124 u32 0
128 float 0,0.10000000149011612,5,10
132 float always 0.699999988079071
136 float always 0.8999999761581421
140 float 0.05000000074505806 - 0.125
144 float 2.5,3,4,5
148 float 0.05000000074505806,0.07000000029802322,1
152 float 2.75 - 4.199999809265137
156 float -70,-65,-64,-60
160 float 1.5,1.7000000476837158,1.75,2,2.5
164 float 33,45,60
168 float 0.5 - 0.8999999761581421
172 float 40,50,60
176 float 0.12999999523162842,0.20000000298023224
180 float 0.30000001192092896 - 0.800000011920929
184 float 0.4000000059604645 - 0.8999999761581421
188 float 0.00019999999494757503,0.0002800000074785203
192 float 0.000009999999747378752,0.00019999999494757503
196 float 1,1.350000023841858,1.5,2
200 float 2,2.5
204 float 1,1.25
208 float 1.75,1.7999999523162842,2
212 float always 0.6000000238418579
216 u32 offset (mm_item_unknown_link)
220 u32 offset
224 u32 offset same as [220]
228 float 9,7,10,4,8
232 u32 80,40,50
236 u32 200,300,80,1000,350
240 u32 0,100
244 u32 0
248 u32 0
252 u32 0
256 bytes

mm_car_160_220

Offset Type Description
00 u32 0
04 float 5.900000095367432 - 15
08 float 13 - 28
12 u32 0
16 u32 0
20 float 18.5 - 40
24 float 50 - 70.0999984741211
28 u32 0
32 u32 0
36 float 9.600000381469727 - 15.699999809265137
40 float 26 - 43.79999923706055
44 u32 0
48 u32 0
52 float 7.599999904632568 - 24
56 float 38 - 59.900001525878906
60 u32 0
64 u32 0
68 float 1.600000023841858 - 6.800000190734863
72 u32 0
76 u32 0
80 u32 0
84 float 0 - 23.299999237060547
88 float -20,0,0.8999999761581421,52.900001525878906
92 u32 0
96 u32 0
100 float 1.899999976158142 - 10.5
104 float 0 - 28.899999618530273
108 u32 0
112 u32 0
116 float 1.2000000476837158 - 10
120 float -3.5999999046325684,0,0.20000000298023224
124 u32 0
128 float 60,90
132 float always 90
136 float always 90
140 float always 45
144 float 10,15
148 float 10,15,20
152 float 10,15
156 float 10,15,20
160 float 0.699999988079071 - 1.2000000476837158
164 float 0.5,0.699999988079071,0.75,0.800000011920929
168 float 0.699999988079071 - 0.8999999761581421
172 float 0.5 - 0.8999999761581421
176 bytes

mm_car_164

Offset Type Description
00 u32 0
04 float -4,-6.400000095367432,-2,-5.5,-6,-3
08 float 30,26,28
12 u32 0
16 u32 offset (mm_interface)
20 u32 0
24 u32 offset (mm_interface)
28 u32 0
32 u32 0
36 u32 0
40 u32 offset (mm_text)
44 u32 offset
48 u32 0
52 u32 0
56 u32 0
60 u32 0
64 bytes

mm_car_164_44

Offset Type Description
00 u8 255,90,100,128,0
01 u8 0,90,128,100,255
02 u8 0,255,20,100
03 u8 always 255
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_car_204

Offset Type Description
00 u32 1,2,3
04 u32 offset (mm_car_140)
8 bytes per entry

mm_car_204_4

Offset Type Description
00 float -0.10000000149011612 - 0.07999999821186066
04 float -0.10000000149011612 - 0.10000000149011612
08 float -0.10000000149011612 - 0.07500000298023224
12 u32 0
16 u32 offset (mm_car_model_sec)
20 u32 offset (mm_model_anims_1)
24 u32 offset (mm_model_anims_1)
28 u32 offset (mm_model_anims_1)
32 u32 0
36 u8 5,10,15
37 u8 5,10,15
38 u8 5,10,15
39 u8 1,2,3,4,5,6,10
40 float 5,10,15
44 float 20,40,60
48 u32 0
52 float 0,500,1500,2500
56 u32 0
60 float 5,10,20,30,45,120,150,180
64 u32 0
68 u32 0
72 u32 0
76 u32 0
80 float 250,300,350,400,500,750,1500,2000,2500,3000
84 float 0,50
88 float 100,150,200,250,300,500,1000,1500,2000
92 float 0,180
96 float 20,45,60,75,90,180
100 u32 offset (mm_text)
104 u32 0
108 u32 0
112 bytes

mm_car_212

Offset Type Description
00 float -2.25,-2,-1,0
04 float -0.75,-0.5,-0.25,0
08 u32 0
12 u32 0
16 float 1.2999999523162842 - 2.9000000953674316
20 float -2 - 3
24 float -1 - 5
28 float 1.6749999523162842 - 3.5
32 float 150,200,250,300
36 float 1,1.5
40 u8 0,1
41 u8 0,1,2
42 u8 0,1
43 u8 0
44 u32 2 - 45
48 bytes per entry

mm_car_228

Offset Type Description
00 u32 0
04 float 0.00688599981367588 - 0.012000000104308128
08 float 0.012000000104308128 - 0.0163199994713068
12 float 0.01549299992620945,0.01600000075995922
16 float 0.016499999910593033 - 0.020500000566244125
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_236

Offset Type Description
00 u32 amount 1 - 16
04 u32 offset based on amount [0]
08 u32 offset (mm_model_anims_2)
12 bytes per entry

mm_car_236_4

Offset Type Description
00 float 0,500,1000,1500,2000
04 u32 0,1,7,10
08 u32 based on type [4]
0 = offset (mm_unknown)
1 = offset (mm_strange)
12 u32 offset
16 u32 0
20 bytes

mm_car_236_4_12

Offset Type Description
00 float -4.817999839782715 - 4.541999816894531
04 float -2 - 5
08 float -10 - 13.25
12 u32 0
16 u8 0 - 40
17 u8 0
18 u8 0
19 u8 always 1
20 u32 0
24 u32 offset
28 u32 0
32 bytes

mm_car_236_4_12_24

Offset Type Description
00 u8 0,1
01 u8 0,2,5 | type
02 u8 0,1
03 u8 0
04 u32 based on type [1]
0 = offset (mm_models)
2,5 = patch texture
08 u32 amount | 0,1,2
12 u32 offset based on amount [8]
16 u32 amount | 1,3
20 u32 offset based on amount [16]
24 u32 amount | 0,1,3,4,5,46
28 u32 offset based on amount [24]
32 u32 offset
36 u32 offset
40 u32 offset
44 u32 0
48 bytes

mm_car_236_4_12_24_12

Offset Type Description
00 float -360,-45,0,0.0010000000474974513,45,180,360
04 u32 0
08 u32 0
12 u32 0
16 u32 0,1
20 float 0,123,250,333,1000,2000,10000
24 u32 0
28 u32 0
32 bytes per entry

mm_car_236_4_12_24_20

Offset Type Description
00 float -1.5 - 75
04 float -1.25 - 1.5
08 float -1.2000000476837158 - 6
12 u32 0
16 u32 0,1
20 float 0,45,50,75,125,300,500
24 u32 0
28 u32 0
32 bytes per entry

mm_car_236_4_12_24_28

Offset Type Description
00 u8 0 - 255
01 u8 0 - 255
02 u8 0 - 255
03 u8 always 255
04 u8 0,1
05 u8 0,1,2
06 u8 0
07 u8 0
08 float 0 - 1500
12 bytes per entry

mm_car_236_4_12_24_32

Offset Type Description
00 float always 100
04 float always 300
08 u32 0
12 u32 0
16 bytes

mm_car_236_4_12_24_36

Offset Type Description
00 float -0.7020000219345093,0
04 float -1,0,0.7139999866485596
08 float -1,0,1
12 u32 0
16 float 60,65,75
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_236_4_12_24_40

Offset Type Description
00 u32 0
04 float 0,1
08 float 0,1
12 u32 0
16 float -720,0,180,333,720,1000
20 u32 0
24 u32 0
28 u32 0
32 bytes

mm_car_244

Offset Type Description
00 u32 0,1,2,9
04 u32 offset
8 bytes per entry

mm_car_244_4

Offset Type Description
00 u32 amount 1,2,3,4,8,6,5
04 u32 offset based on amount [0]
08 u32 0
12 u32 0
16 bytes

mm_car_244_4_4

Offset Type Description
00 u8 4,0,8,64
01 u8 0,128
02 u8 0
03 u8 0
4 bytes per entry

mm_car_140

Offset Type Description
00 float -0.10000000149011612 - 0.20000000298023224
04 float -0.10000000149011612 - 0.20000000298023224
08 float -0.06499999761581421 - 0.10000000149011612
12 u32 0
16 u32 offset (mm_car_model_sec)
20 u32 offset (mm_model_anims_1)
24 u32 offset (mm_model_anims_1)
28 u32 offset (mm_model_anims_1)
32 u32 0
36 u8 10,15,16
37 u8 5,8,10,15
38 u8 5,10,15,30
39 u8 0
40 u32 0
44 u32 0
48 u32 0
52 u32 0
56 u32 0
60 u32 0
64 u32 0
68 u32 0
72 u32 0
76 u32 0
80 u32 0
84 u32 0
88 u32 0
92 u32 0
96 u32 0
100 u32 0
104 u32 0
108 u32 0
112 bytes

linked to by:
mm_object [88]

Offset Type Description
00 u32 offset (mm_car_model_sec)
04 u32 0
08 u32 0
12 u32 0
16 u32 offset (mm_text)
20 u32 offset (mm_unknown)
24 u32 patch texture | 21 - 32
28 u32 offset (mm_model_anims_2)
32 u32 5,100,1,10,6,40,3,15
36 u32 1,5,2
40 u32 25,300,1,30,18,200,15,75
44 u8 0,2
45 u8 0,30
46 u8 0,1
47 u8 0
48 u32 1000,200,2000,500,750,250,300
52 u32 2 - 13
56 u32 0
60 float 750,2000,500,1000,250,1500
64 float 0,180
68 float 30 - 140
72 float 10,15,40,180,30,5,20,45
76 u32 0
80 u32 0
84 u32 0
88 u32 0
92 u32 0
96 bytes

mm_unknown

multi linked to by:
mm_car [104][108][112]
mm_item_unknown_link [48]
mm_unknown_thing [64][68]
mm_asdf [112][116][120][124]
mm_unknown_4 [4]t3
mm_strange [4]
mm_item_maybe [32][36]
mm_car_152 [16]
mm_object [76][80]
mm_object_link [20]
mm_world_164 [68]
mm_item_maybe_68 [0]

Offset Type Description
00 u32 amount 13,21,19,12,8,3,7
04 u32 offset based on amount [00]
08 u32 0
12 u32 0
16 bytes

mm_unknown_4

Offset Type Description
00 u32 type
1
2
3
4
5
6
8
10
11
12
13
14
15
25
26
27
28
29
04 u32 based on type [0]
1 = offset (mm_unknown_thing)
2 = offset (mm_asdf)
3 = offset (mm_unknown)
4 = offset (mm_strange)
5 = offset (mm_unknown_idk_sec)
6 = offset (mm_item_maybe)
8 = offset (mm_asdf_some_list)
10 = offset (mm_sound_section)
11 = 20,15,3,2,0,10
12 = 0
13 = 0,2,8
14 = 0
15 = 0 - 500
25 = offset (mm_object)
26 = offset (mm_sound_controls)
27 = offset (mm_unknown_some_values)
28 = offset (mm_another_unknown_sec)
29 = offset (mm_unknown_small_model_link)
08 u32 based on type [0]
1,2,3,4,6,25,28,29 = offset
5,8,10,26,27 = offset
11,12,13,14,15 = 0
12 bytes per entry

mm_unknown_4_8t1

Offset Type Description
00 u32 0 - 50
04 u32 0 - 100
08 float -75 - 5000
12 float -3 - 1000
16 u32 0
20 u32 0
24 float -200 - 10
28 float -200 - 0.20000000298023224
32 u32 0
36 u32 0
40 u32 0
44 u32 0
48 u8 0,1
49 u8 0,1
50 u8 0,1,2,4
51 u8 0
52 float 0 - 3
56 u32 offset
60 u32 based on type [50]
2 = offset
4 = offset
64 bytes

mm_unknown_4_8t1_56

Offset Type Description
00 float -5 - 4
04 float 0,4,10,3.5999999046325684,3,6
08 float -5 - 7
12 float 0,2,10,4.800000190734863,5,4,6,3
16 float -10 - 10
20 float 0,10,4,12,20,8,16,5,6
24 u32 0,1
28 bytes

mm_unknown_4_8t1_60t2

Offset Type Description
00 float -95 - 135
04 float 0 - 360
08 float -120 - 315
12 float -30 - 360
16 float 0,-5
20 float 0,10
24 u32 0
28 u32 0
32 bytes

mm_unknown_4_8t1_60t4

Offset Type Description
00 u32 0,1,3,2
04 u32 0
08 u32 0
12 u32 0
16 bytes

mm_unknown_4_8t8

Offset Type Description
00 float 0,3
04 float 0,20
08 float 0,5,10,-2,-5,2,3
12 float 0,3
16 float 0,5,-4,-5,10
20 float 0,6
24 u32 0,1
28 bytes