RigsofRods
Soft-body Physics Simulation
Bench_TruckParser_IdentifyKeyword.cpp
Go to the documentation of this file.
1 
2 #include "benchmark/benchmark.h"
3 #include <regex>
4 #include <iostream>
5 
6  enum Keyword
7  {
61  KEYWORD_INVALID = 0xFFFFFFFF
62  };
63 
64 // Example truckfile
65 const char* trucklines[] = {
66 "2012 Saf-T-Liner HDX (FPS) ",
67 " ",
68 "fileinfo 4513UID , 107, 1 ",
69 " ",
70 "fileformatversion 3 ",
71 " ",
72 "author chassis -1 Sirendude 2011 ","author texture -1 Graysonk95 ",
73 "author mesh -1 Graysonk95 ","author wheels -1 Nickster7 ",
74 "author engine_sounds -1 TC2000FE ","author exterior_mirrors -1 Carsonj493",
75 "",
76 "description ",
77 "This is a 2012 Thomas Saf-T-Liner HDX ",
78 "and my first vehicle I have done most of the work getting it in game! ",
79 "Enjoy! ",
80 " ",
81 "SHIFT+B toggles ABS. ",
82 "SHIFT+V toggles TC ",
83 "end_description ",
84 " ",
85 " ",
86 " ",
87 "extera node 44 ",
88 " ",
89 "globals ",
90 "1000, 0.0, tracks/semi ",
91 " ",
92 "help ",
93 "tracks/HDXhelp ",
94 " ",
95 "disabledefaultsounds ",
96 " ",
97 "soundsources ",
98 "116, tracks/default_force ","116, tracks/default_starter ",
99 "116, tracks/default_turbo ","116, HDX_engine ",
100 "49, HDX_ign ","55, HDX_air_purge ",
101 "49, tracks/default_horn ","96, HDX_pump ",
102 "55, HDX_air ","14, tracks/default_shift ",
103 "64, tracks/default_break ","64, tracks/default_creak ",
104 "14, tracks/default_gear_slide ","116, HDX_rbeep ",
105 "49, HDX_signal ","14, tracks/default_screetch ",
106 "14, HDX_brakes ","14, HDX_pbrake ",
107 "5, tracks/default_screetch ","5, HDX_brakes ",
108 "5, HDX_pbrake ",
109 " ",
110 " ",
111 "brakes ",
112 "25000, 45000 ",
113 " ",
114 "SlopeBrake 10, 6, 12 ",
115 "",
116 "managedmaterials ",
117 ";new_material effect parameters ",
118 "HDX_busbody mesh_standard busbody.png medium.png ",
119 "HDX_buswindow mesh_transparent buswindow.png bustintedwindow.png ",
120 "edoor_busbody mesh_standard busbody.png medium.png ",
121 "edoor_buswindow mesh_transparent buswindow.png bustintedwindow.png ",
122 "HDX_white mesh_standard whiteroof.png lightgray.png ",
123 "HDXlmirror_video-camera1 mesh_standard mirror.png whiteroof.png ",
124 "HDXrmirror_video-camera2 mesh_standard mirror.png whiteroof.png ",
125 " ",
126 "HDXrearview_mirror mesh_standard mirror.png whiteroof.png ",
127 "HDXdblrim_rimcolor mesh_standard rimcolor.png medium.png ",
128 "HDXrim_rimcolor mesh_standard rimcolor.png medium.png ",
129 "Speaker_speaker mesh_standard speaker.png - ",
130 "Speaker_speakers mesh_standard speakers.png - ",
131 "//number_busnumber mesh_standard busnumber.png - ",
132 "HDXseats_HDXseat mesh_standard HDXseat.png - ",
133 "HDXdseat_HDXseat mesh_standard HDXseat.png - ",
134 " ",
135 " ",
136 ";AntiLockBrakes regulation-force, minspeed, pulse/sec, mode ",
137 "AntiLockBrakes 0.2, 8, 500, mode: OFF ",
138 " ",
139 ";TractionControl regulation-force, wheelslip, fadespeed, pulse/sec, mode ",
140 "TractionControl 2, 0.6, 0.3, 1000, mode: ON ",
141 " ",
142 "engine ",
143 ";min rpm, max rpm, torque, differential ratio, rear gear, first, second, third, fourth, fifth, sixth ",
144 "1000.1, 1900.0, 6300.0, 4.00, 4.9, 4.0, 3.22, 2.4, 1.9, 1.5, 1.3, 1.13 ",
145 " ",
146 " ",
147 ";set_beam_defaults spring, damping, deform, break, diameter, material ",
148 "set_beam_defaults 4000000, 7000, 2000, 80000, -1, tracks/beam ",
149 " ",
150 "//enable_advanced_deformation ",
151 " ",
152 "nodes ",
153 " ",
154 "0, -1.6, 0.6, -1.2, n ","1, -2, 0, 0.5, n ","2, -1.6, 0.6, 1.2, n ","3, -2, 0, -0.5, n ",
155 "4, -0.4, 0.6, -1.2, n ","5, -0.25, 0, 0.5, n ","6, -0.4, 0.6, 1.2, n ","7, -0.25, 0, -0.5, n ",
156 "8, 2, 0.5, 0.5, n ","9, 2, 0.5, -0.5, n ","10, 2, 0, 0.5, n ","11, 2, 0, -0.5, n ",
157 "12, 4.5, 0, -0.5, n ","13, 4.5, 0.55, 0.5, n ","14, 4.5, 0, 0.5, n ","15, 4.5, 0.55, -0.5, n ",
158 "16, 6, 0.55, -0.5, n ","17, 6, 0, 0.5, n ","18, 6, 0.55, 0.5, n ","19, 6, 0, -0.5, n ",
159 "20, 6.5, 0.5, -0.5, n ","21, 6.5, 0, 0.5, n ","22, 6.5, 0.5, 0.5, n ","23, 6.5, 0, -0.5, n ",
160 "24, -1, 0.1, 0.95, n ","25, -1, 0.1, 1.45, n ","26, -1, 0.1, -0.95, n ","27, -1, 0.1, -1.45, n ",
161 "28, -0.5, 0.1, 0.95, n ","29, -1.5, 0.1, 0.95, n ","30, -0.5, 0.1, -0.95, n ","31, -1.5, 0.1, -0.95, n ",
162 "32, -1, 0.6, 1.05, n ","33, -1, 0.6, -1.05, n ","34, 5.25, 0.05, 1.45, n ","35, 5.25, 0.05, -1.45, n ",
163 "36, 5.25, 0.05, 0.7, n ","37, 5.25, 0.05, -0.7, n ","38, 5.25, 0.55, 1.5, n ","39, 5.25, 0.55, -1.5, n ",
164 "40, 4.75, 0.05, 1.45, n ","41, 4.75, 0.05, -1.45, n ","42, 5.75, 0.05, 1.45, n ","43, 5.75, 0.05, -1.45, n ",
165 "44, 2, 1.5, 0, n ","45, -0.5, 1, 1.5, n ","46, -0.25, 0.25, 1.5, n ","47, -0.25, 0.25, -1.5, n ",
166 "48, -0.5, 1, -1.5, n ","49, -3.25, 1.5, 1, n ","50, -3.25, 1.5, -1, n ","51, -3.25, 2.7, 1.5, n ",
167 "52, -3.25, 2.7, -1.5, n ","53, 3.25, 0, 1.5, n ","54, 3.25, 0, -1.5, n ","55, 0.75, 0, 1.5, n ",
168 "56, 0.75, 0, -1.5, n ","57, 4.5, 0.25, 1.5, n ","58, 4.5, 0.25, -1.5, n ","59, 4.75, 1, 1.5, n ",
169 "60, 5.25, 1, 1.5, n ","61, 5.75, 1, 1.5, n ","62, 5.75, 1, -1.5, n ","63, 5.25, 1, -1.5, n ",
170 "64, 4.75, 1, -1.5, n ","65, 6, 0.25, 1.5, n ","66, 6, 0.25, -1.5, n ","67, 8.75, 0.35, 1.5, n ",
171 "68, 8.75, 0.35, -1.5, nx ","69, 8.75, 2.55, 1.5, n ","70, 8.75, 2.55, -1.5, n ","71, -3.25, 3.15, 0.75, n ",
172 "72, -3.25, 3.15, -0.75, n ","73, 8.75, 3.3, 0.75, n ","74, 8.75, 3.3, -0.75, n ","75, 8.75, 1.5, 1.5, n ",
173 "76, 8.75, 1.5, -1.5, n ","77, -3.25, 1.5, 1.5, n ","78, -3.25, 1.5, -1.5, n ","79, -1.5, 1, -1.5, n ",
174 "80, -1.75, 0.25, -1.5, n ","81, -1.75, 0.25, -1.5, n ","82, -0.25, 0, -1.5, n ","83, -1.5, 1, 1.5, n ",
175 "84, -1.75, 0.25, 1.5, n ","85, -0.25, 0, 1.5, n ","86, -3.25, 0, 1.5, n ","87, -3.25, 0, -1.5, n ",
176 "88, -1.75, 0, -1.5, n ","89, -2.1, -0.1, -1.5, n ","90, -3.2, -0.1, -1.5, n ","91, -2.7, -0.1, -1.5, n ",
177 "92, -2.65, -0.1, -1.5, n ","93, -3.2, 2.5, -1.5, n ","94, -2.15, 2.5, -1.5, n ","95, -2.65, 2.5, -1.5, n ",
178 "96, -2.7, 2.5, -1.5, n ","97, -2.15, 2.5, 0, n ","98, -3.3, 0.1, 1.1, n ","99, -3.3, 0.3, 1.1, n ",
179 "100, -3.35, 0.3, -1.4, n ","101, -3.35, -0.05, -1.4, n","102, -3.4, 0.3, 1.1, n ","103, -3.4, 0.1, 1.1, n ",
180 "104, -1.8, 1.65, 1.5, n ","105, -1.2, 1.2, 1.5, n ","106, -1.2, 1.65, 1.5, n ","107, -1.8, 1.2, 1.5, n ",
181 "108, -1.2, 1.2, 1.65, n ","109, -1.2, 1.65, 1.65, n ","110, 5.85, 1.65, 1.5, n ","111, 5.85, 1.2, 1.5, n ",
182 "112, 6.45, 1.65, 1.5, n ","113, 6.45, 1.2, 1.5, n ","114, 6.45, 1.65, 1.65, n ","115, 6.45, 1.2, 1.65, n ",
183 "116, 8.25, 1, 0, n ","117, -3.2, 1.7, 0.35, n ","118, -2.95, 1.4, 0.35, n ","119, -2.95, 1.4, 1.2, n ",
184 "120, -2.7, 0.95, 1.5, n ","121, -2.7, 0.95, 0.75, n ","122, -2.25, 1, 0.75, n ","123, -3.3, 2.6, -0.7, n ",
185 "124, -3.3, 2.6, 0.7, n ","125, 7.55, 3.5, 0, n ","126, 7.5, 3.35, 0.05, n ","127, 7.6, 3.35, -0.05, n ",
186 "128, 7.5, 3.35, -0.05, n ","129, 7.6, 3.35, 0.05, n ","130, -4.35, 2.7, 1.8, n ","131, -4.35, 2.7, -1.8, n ",
187 " ",
188 "beams ",
189 " ",
190 "19, 17, i ","16, 18, i ","17, 18, i","19, 16, i",
191 "19, 18, i ","17, 16, i ","20, 22, i","21, 22, i",
192 "23, 20, i ","21, 23, i ","20, 21, i","22, 23, i",
193 "12, 14, i ","13, 15, i ","12, 15, i","14, 13, i",
194 "15, 14, i ","13, 12, i ","11, 10, i","8, 10, i ",
195 "8, 9, i ","11, 9, i ","10, 9, i ","11, 8, i ",
196 "7, 4, i ","6, 5, i ","0, 3, i ","2, 1, i ",
197 "3, 1, i ","0, 2, i ","3, 2, i ","1, 0, i ",
198 "6, 4, i ","7, 5, i ","4, 5, i ","6, 7, i ",
199 "5, 3, i ","7, 1, i ","2, 4, i ","6, 0, i ",
200 "5, 1, i ","3, 7, i ","4, 0, i ","6, 2, i ",
201 "20, 16, i ","23, 19, i ","21, 17, i","22, 18, i",
202 "16, 22, i ","20, 18, i ","21, 19, i","17, 23, i",
203 "17, 12, i ","14, 19, i ","17, 14, i","12, 19, i",
204 "18, 13, i ","16, 15, i ","18, 15, i","13, 16, i",
205 "19, 15, i ","16, 12, i ","18, 14, i","13, 17, i",
206 "22, 17, i ","18, 21, i ","20, 19, i","16, 23, i",
207 "15, 11, i ","9, 12, i ","14, 11, i","10, 12, i",
208 "13, 8, i ","15, 9, i ","13, 9, i ","8, 15, i ",
209 "12, 11, i ","14, 10, i ","8, 14, i ","13, 10, i",
210 "7, 0, i ","3, 4, i ","5, 2, i ","1, 6, i ",
211 "5, 10, i ","8, 6, i ","4, 9, i ","11, 7, i ",
212 "4, 8, i ","9, 6, i ","5, 11, i ","10, 7, i ",
213 "10, 6, i ","5, 8, i ","9, 7, i ","4, 11, i ",
214 "10, 4, i ","7, 8, i ","11, 6, i ","5, 9, i ",
215 "24, 32, i ","25, 32, i ","29, 32, i","25, 24, i",
216 "29, 24, i ","25, 29, i ","32, 28, i","24, 28, i",
217 "25, 28, i ","30, 26, i ","31, 26, i","27, 26, i",
218 "30, 27, i ","31, 27, i ","33, 27, i","33, 26, i",
219 "31, 33, i ","30, 33, i ","2, 32, i ","6, 32, i ",
220 "33, 0, i ","4, 33, i ","39, 37, i","35, 37, i",
221 "43, 37, i ","41, 37, i ","35, 41, i","43, 35, i",
222 "39, 35, i ","39, 43, i ","39, 41, i","19, 35, i",
223 "16, 39, i ","35, 12, i ","15, 39, i","40, 36, i",
224 "42, 36, i ","34, 36, i ","42, 34, i","40, 34, i",
225 "38, 34, i ","38, 36, i ","38, 42, i","38, 40, i",
226 "38, 18, i ","17, 34, i ","14, 34, i","38, 13, i",
227 "41, 12, i ","43, 19, i ","40, 14, i","42, 17, i",
228 "8, 44, i ","10, 44, i ","9, 44, i ","11, 44, i",
229 "6, 44, i ","5, 44, i ","4, 44, i ","7, 44, i ",
230 "9, 14, i ","13, 11, i ","8, 12, i ","15, 10, i",
231 "46, 45, i ","5, 46, i ","6, 46, i ","6, 45, i ",
232 
233 "47, 48, i ","47, 7, i ","4, 47, i ","4, 48, i ",
234 "48, 45, i ","49, 50, i","6, 49, i ","4, 50, i ",
235 "4, 49, i ","50, 6, i ","51, 52, i","7, 56, i ",
236 "47, 56, i ","56, 11, i","54, 56, i","11, 54, i",
237 "12, 54, i ","53, 14, i","53, 10, i","55, 10, i",
238 "53, 55, i ","55, 5, i ","55, 46, i","10, 46, i",
239 "47, 11, i ","56, 12, i","14, 55, i","5, 53, i ",
240 "7, 54, i ","8, 53, i ","8, 55, i ","9, 54, i ",
241 "9, 56, i ","14, 57, i","13, 57, i","58, 12, i",
242 "15, 58, i ","54, 58, i","15, 54, i","13, 53, i",
243 "57, 53, i ","16, 66, i","19, 66, i","62, 66, i",
244 "16, 62, i ","16, 63, i","62, 63, i","64, 63, i",
245 "64, 58, i ","63, 15, i","64, 15, i","65, 61, i",
246 "60, 61, i ","13, 59, i","13, 60, i","18, 60, i",
247 "18, 61, i ","65, 17, i","18, 65, i","60, 59, i",
248 "57, 59, i ","63, 60, i","61, 62, i","59, 64, i",
249 "64, 60, i ","59, 63, i","61, 63, i","62, 60, i",
250 "67, 65, i ","68, 66, i","68, 19, i","67, 17, i",
251 "65, 21, i ","66, 23, i","20, 66, i","22, 65, i",
252 "22, 67, i ","20, 68, i","23, 68, i","21, 67, i",
253 "68, 67, i ","22, 68, i","20, 67, i","21, 68, i",
254 "23, 67, i ","52, 72, i","51, 71, i","72, 71, i",
255 "52, 71, i ","51, 72, i","70, 69, i","73, 69, i",
256 "74, 70, i ","74, 73, i","69, 74, i","70, 73, i",
257 "68, 69, i ","67, 70, i","74, 72, i","73, 72, i",
258 "71, 74, i ","70, 52, i","69, 51, i","70, 72, i",
259 "52, 74, i ","71, 73, i","71, 69, i","73, 51, i",
260 "62, 70, i ","66, 70, i","63, 70, i","56, 52, i",
261 "47, 52, i ","56, 70, i","54, 70, i","54, 52, i",
262 "64, 52, i ","65, 69, i","61, 69, i","60, 69, i",
263 "59, 69, i ","53, 69, i","53, 51, i","55, 51, i",
264 "46, 51, i ","59, 51, i","69, 75, i","70, 76, i",
265 "74, 76, i ","73, 75, i","74, 75, i","73, 76, i",
266 "75, 67, i ","75, 76, i","68, 76, i","65, 75, i",
267 "66, 76, i ","68, 75, i","67, 76, i","48, 78, i",
268 "50, 78, i ","78, 4, i ","48, 50, i","77, 45, i",
269 "49, 77, i ","45, 49, i","77, 6, i ","51, 77, i",
270 "78, 52, i ","77, 75, i","76, 78, i","78, 51, i",
271 "52, 77, i ","51, 75, i","69, 77, i","70, 78, i",
272 "52, 76, i ","77, 55, i","78, 56, i","56, 82, i",
273 "48, 79, i ","81, 79, i","55, 85, i","6, 85, i ",
274 "82, 47, i ","82, 11, i","10, 85, i","45, 83, i",
275 "84, 83, i ","83, 79, i","48, 83, i","79, 45, i",
276 "2, 84, i ","1, 84, i ","81, 0, i ","3, 81, i ",
277 "81, 84, i ","83, 81, i","84, 79, i","83, 2, i ",
278 "79, 0, i ","0, 83, i ","2, 79, i ","84, 86, i",
279 "77, 86, i ","83, 86, i","84, 77, i","78, 87, i",
280 "81, 87, i ","79, 87, i","81, 78, i","0, 87, i ",
281 "3, 87, i ","1, 86, i ","2, 86, i ","87, 86, i",
282 "78, 86, i ","77, 87, i","86, 3, i ","1, 87, i ",
283 "2, 87, i ","0, 86, i ","79, 52, i","83, 51, i",
284 "49, 87, i ","50, 86, i","85, 46, i","5, 85, i ",
285 "7, 82, i ","74, 86, i","73, 87, i","70, 86, i",
286 "87, 69, i ","76, 86, i","75, 87, i","67, 77, i",
287 "78, 68, i ","67, 71, i","72, 68, i","52, 67, i",
288 "68, 51, i ","88, 88, i","88, 87, i","88, 81, i",
289 "88, 86, i ","88, 84, i","89, 90, i","90, 90, i",
290 "90, 90, i ","87, 90, i","89, 88, i","90, 86, i",
291 "89, 86, i ","84, 89, i","92, 89, i","91, 90, i",
292 "95, 92, i ","91, 96, i","96, 93, i","93, 51, i",
293 "95, 94, i ","94, 89, i","97, 72, i","97, 71, i",
294 "97, 51, i ","97, 52, i","97, 83, i","97, 84, i",
295 "97, 86, i ","97, 87, i","97, 94, i","95, 89, i",
296 "90, 96, i ","93, 91, i","92, 94, i","94, 83, i",
297 
298 "93, 86, i ","94, 86, i","93, 83, i ","93, 52, i ",
299 
300 "89, 83, i ","100, 99, i ","101, 98, i ","99, 98, i ",
301 "100, 101, i","99, 101, i ","100, 98, i ","101, 87, i ",
302 "100, 78, i ","100, 81, i ","101, 88, i ","100, 1, i ",
303 "101, 86, i ","100, 87, i ","101, 78, i ","103, 103, i",
304 "99, 102, i ","103, 102, i","103, 98, i ","99, 103, i ",
305 "102, 103, i","102, 98, i ","100, 102, i","103, 101, i",
306 "100, 103, i","102, 101, i","100, 51, i ","101, 87, i ",
307 "100, 87, i ","101, 90, i ","100, 90, i ","100, 50, i ",
308 "101, 50, i ","93, 94, i ","93, 94, i ","71, 94, i ",
309 "93, 93, i ","71, 93, i ","93, 72, i ","93, 51, i ",
310 "93, 97, i ","94, 90, i ","93, 89, i ","93, 90, i ",
311 "90, 93, i ","104, 77, i ","104, 49, i ","104, 45, i ",
312 "104, 86, i ","104, 87, i ","83, 104, i ","5, 104, i ",
313 "105, 107, i","107, 104, i","106, 105, i","106, 104, i",
314 "107, 86, i ","107, 49, i ","107, 45, i ","106, 107, i",
315 "104, 105, i","107, 87, i ","107, 77, i ","106, 109, i",
316 "108, 105, i","108, 109, i","108, 107, i","104, 109, i",
317 "109, 107, i","108, 104, i","109, 105, i","108, 106, i",
318 "61, 111, i ","110, 111, i","111, 113, i","113, 112, i",
319 "112, 110, i","110, 113, i","112, 111, i","110, 61, i ",
320 "111, 59, i ","110, 59, i ","111, 64, i ","111, 62, i ",
321 "110, 64, i ","110, 62, i ","110, 75, i ","111, 67, i ",
322 "112, 114, i","114, 115, i","115, 113, i","115, 112, i",
323 "114, 113, i","115, 111, i","114, 110, i","110, 115, i",
324 "114, 111, i","114, 109, i","108, 115, i","114, 108, i",
325 "109, 115, i","80, 88, i ","80, 3, i ","80, 1, i ",
326 "80, 84, i ","116, 76, i ","116, 75, i ","116, 68, i ",
327 "116, 67, i ","74, 116, i ","116, 73, i ","117, 118, i",
328 "118, 119, i","119, 117, i","119, 45, i ","117, 45, i ",
329 "118, 116, i","117, 44, i ","117, 116, i","118, 44, i ",
330 "117, 97, i ","119, 49, i ","117, 49, i ","118, 49, i ",
331 "118, 118, i","119, 104, i","119, 86, i ","120, 121, i",
332 "120, 86, i ","121, 86, i ","120, 1, i ","121, 3, i ",
333 "121, 101, i","120, 101, i","122, 120, i","122, 121, i",
334 "122, 101, i","124, 123, i","123, 72, i ","124, 71, i ",
335 "71, 123, i ","72, 124, i ","124, 69, i ","123, 70, i ",
336 "123, 52, i ","124, 51, i ","129, 127, i","127, 128, i",
337 "128, 126, i","126, 129, i","125, 129, i","125, 126, i",
338 "125, 128, i","125, 127, i","129, 73, i ","127, 74, i ",
339 "129, 128, i","126, 127, i","64, 128, i ","59, 126, i ",
340 "129, 67, i ","68, 127, i ","125, 116, i","129, 69, i ",
341 "127, 70, i ","126, 75, i ","128, 76, i ","130, 51, i ",
342 "130, 77, i ","52, 131, i ","131, 78, i ","130, 124, i",
343 "130, 71, i ","131, 123, i","131, 72, i ","32, 33, i ",
344 "24, 26, i ","28, 30, i ","29, 31, i ","32, 26, i ",
345 "33, 24, i ","cameras ","9, 15, 8 ","9, 15, 8 ",
346 "15, 9, 8 ","9, 15, 8 ",
347 " ",
348 "cinecam ",
349 ";x,y,z, 8 bindings, spring, damping ",
350 "-2.3, 2.15, 0.78, 8,9,6,4,5,7,10,11, 800000.0, 8000.0 ",
351 "-1.1, 2.20, -1.0, 8,9,6,4,5,7,10,11, 80000.0, 8000.0 ",
352 "-2.6, 3.00, 0, 8,9,6,4,5,7,10,11, 80000.0, 8000.0 ",
353 "2.0, 1.0, 1.75, 8,9,6,4,5,7,10,11, 80000.0, 8000.0 ",
354 "//2.0, 2.80, 1.75, 8,9,6,4,5,7,10,11, 80000.0, 8000.0 ",
355 " ",
356 "set_beam_defaults 105000, 2000, 60000000, 10000000 ",
357 " ",
358 "flexbodywheels ",
359 ";radius, rimradius, width, rays, n1, n2, ref-n, braked, propulsed, force-n, weight, tire-spring, tire-damp, rim-spring, rim-damp, rim-orientation, rim-mesh, tire-mesh ",
360 "0.65, 0.5, 0.3, 14, 26, 27, 9999, 1, 1, 55, 180.0, 750000.0, 900.0, 700000.0, 3000.0, r, HDXrim.mesh HDXtire.mesh ",
361 "0.65, 0.5, 0.3, 14, 24, 25, 9999, 1, 1, 56, 180.0, 750000.0, 900.0, 700000.0, 3000.0, l, HDXrim.mesh HDXtire.mesh ",
362 "0.65, 0.5, 0.3, 14, 37, 35, 36, 1, 1, 53, 280.0, 800000.0, 1600.0, 700000.0, 5000.0, r, HDXdblrim.mesh HDXdbltire.mesh ",
363 "0.65, 0.5, 0.3, 14, 36, 34, 37, 1, 1, 54, 280.0, 800000.0, 1600.0, 700000.0, 5000.0, l, HDXdblrim.mesh HDXdbltire.mesh ",
364 " ",
365 "set_beam_defaults 700000, 350, 60000000, 80000000 ",
366 "//wheels ",
367 " ",
368 "//0.65, 0.3, 18, 37, 35, 36, 1, 1, 53, 280.0, 700000.0, 3000.0, tracks/wheelface tracks/wheelband2 ",
369 "//0.65, 0.3, 18, 36, 34, 37, 1, 1, 54, 280.0, 700000.0, 3000.0, tracks/wheelface tracks/wheelband2 ",
370 "//0.65, 0.3, 18, 24, 25, 9999, 1, 0, 55, 180.0, 700000.0, 3000.0, tracks/wheelface tracks/wheelband1 ",
371 "//0.65, 0.3, 18, 26, 27, 9999, 1, 0, 56, 180.0, 700000.0, 3000.0, tracks/wheelface tracks/wheelband1 ",
372 " ",
373 ";R/L ",
374 "shocks ",
375 " ",
376 "16, 35, 200000, 10000, 0.5, 0.6, 0.67, i ",
377 "18, 34, 200000, 10000, 0.5, 0.6, 0.67, i ",
378 "37, 18, 200000, 10000, 0.5, 0.6, 0.67, i ",
379 "36, 16, 200000, 10000, 0.5, 0.6, 0.67, i ",
380 "24, 6, 200000, 10000, 0.5, 0.6, 1.0, i ",
381 "24, 2, 200000, 10000, 0.5, 0.6, 1.0, i ",
382 "0, 26, 200000, 10000, 0.5, 0.6, 1.0, i ",
383 "4, 26, 200000, 10000, 0.5, 0.6, 1.0, i ",
384 "4, 24, 200000, 10000, 0.5, 0.6, 1.0, i ",
385 "0, 24, 200000, 10000, 0.5, 0.6, 1.0, i ",
386 "2, 26, 200000, 10000, 0.5, 0.6, 1.0, i ",
387 "6, 26, 200000, 10000, 0.5, 0.6, 1.0, i ",
388 "hydros ",
389 " ",
390 "24, 31, -0.18 ",
391 "26, 29, 0.18 ",
392 "24, 30, 0.18 ",
393 "28, 26, -0.18 ",
394 "//set_inertia_defaults 1.5, 2.5, smoothcrane revprogressiv ",
395 "",
396 "commands2",
397 ";id1, id2, rateShort, rateLong, short, long, keyS, keyL, options descr... ",
398 "95, 77, 0.25,0.4,1.0,1.18,3,4,ipf,Door 1.5,1.5, smooth revprogressiv 0 ",
399 "92, 77, 0.25,0.4,1.0,1.17,3,4,ipf,Door 1.5,1.5, smooth revprogressiv 0 ",
400 " ",
401 "96, 83, 0.24,0.42,1.0,1.17,3,4,ipf,Door 1.5,1.5, smooth revprogressiv 0 ",
402 "91, 83, 0.24,0.42,1.0,1.18,3,4,ipf,Door 1.5,1.5, smooth revprogressiv 0 ",
403 " ",
404 "99, 84, 1.0,1.0,1.0,3.1,1,2,ipf,Crossing guard 0,0, smooth revprogressiv 0 ",
405 "98, 84, 1.0,1.0,1.0,3.1,1,2,ipf,Crossing_guard 0,0, smooth revprogressiv 0 ",
406 " ",
407 "108, 45, 0.2,0.25,1.0,2.1,1,2,ipf,Stop_sign&crossing_guard 0, 0, smooth revprogressiv 0 ",
408 " ",
409 " ",
410 " ",
411 "//Example: ",
412 "//1, 2, 0.1, 1.0, 3.0, 1, ... ",
413 " ",
414 " ",
415 "rotators ",
416 " ",
417 "ropes ",
418 " ",
419 "ties ",
420 " ",
421 "fixes ",
422 " ",
423 "contacters",
424 "86 ","87 ","102","103","78 ","77 ","72 ","71 ","52 ","51 ","73 ","74 ",
425 "70 ","69 ","75 ","76 ","67 ","68 ","53 ","55 ","82 ","56 ","54 ",
426 " ",
427 " ",
428 " ",
429 "ropables ",
430 "14 ",
431 "15 ",
432 "32 ",
433 "33 ",
434 " ",
435 "flares ",
436 "; f (default mode when not stated): frontlight ",
437 "; b : brakelight ",
438 "; l : left blinker ",
439 "; r : right blinker ",
440 "; R : reverse light (on when driving in R gear) ",
441 "; u : user controlled light (i.e. fog light) (see controlnumber)) ",
442 ";RefNode,X,Y,OffsetX,OffsetY, Type, ControlNumber, BlinkDelay, size Mat...",
443 "0,1,2, 0, 0, u, 2, 361, 0.1 ",
444 "0,1,2, 0, 0, u, 1, 450, 0.1 ",
445 "0,1,2, 0, 0, u, 2, 0, 0.1 ",
446 "0,1,2, 0, 0, u, 4, 0, 0.1 ",
447 "0,1,2, 0, 0,u,2,0,0.1 tracks/HDXstrobe ",
448 "0,1,2, 0, 0,u,3,0,0.1 tracks/HDXstrobe ",
449 " ",
450 ";Front ",
451 "87,86,77,-0.18,0.28,f,-1,0,2.5 ",
452 "87,86,78,0.9,0.28,f,-1,0,2.5 ",
453 "87,86,77,-0.08,0.29,f,-1,0,1.1 tracks/HDXyellow1 ",
454 "87,86,78,0.8,0.29,f,-1,0,-1.1 tracks/HDXyellow1 ",
455 " ",
456 ";8-ways ",
457 "52,51,72,0.06,0.35,u,1, 0, 1.5 tracks/HDX8yellow1 ",
458 "52,51,72,0.76,0.35,u,1, 0, 1.5 tracks/HDX8yellow2 ",
459 "52,51,72,0.0,0.2,u,2, 0, 1.5 tracks/HDX8red1 ",
460 "52,51,72,0.9,0.2,u,2, 0, 1.5 tracks/HDX8red2 ",
461 " ",
462 " ",
463 "86,55,51,0.76,0.58,l,-1,400, 0.12 ",
464 "86,55,51,0.75,0.58,l,-1,400, 0.12 ",
465 "86,55,51,0.74,0.58,l,-1,400, 0.12 ",
466 "86,55,51,0.76,0.58,f,-1,0, 0.1 tracks/HDXyellow2 ",
467 "86,55,51,0.75,0.58,f,-1,0, 0.1 tracks/HDXyellow2 ",
468 "86,55,51,0.74,0.58,f,-1,0, 0.1 tracks/HDXyellow2 ",
469 " ",
470 "86,55,51,2.795,0.63,l,-1,400, 0.12 tracks/HDXred ",
471 "86,55,51,2.785,0.63,l,-1,400, 0.12 tracks/HDXred ",
472 "86,55,51,2.775,0.63,l,-1,400, 0.12 tracks/HDXred ",
473 "86,55,51,2.795,0.63,f,-1,0, 0.1 tracks/HDXred ",
474 "86,55,51,2.785,0.63,f,-1,0, 0.1 tracks/HDXred ",
475 "86,55,51,2.775,0.63,f,-1,0, 0.1 tracks/HDXred ",
476 " ",
477 "87,52,56,0.58,0.76,r,-1,400, 0.12 ",
478 "87,52,56,0.58,0.75,r,-1,400, 0.12 ",
479 "87,52,56,0.58,0.74,r,-1,400, 0.12 ",
480 "87,52,56,0.58,0.76,f,-1,0, 0.1 tracks/HDXyellow2 ",
481 "87,52,56,0.58,0.75,f,-1,0, 0.1 tracks/HDXyellow2 ",
482 "87,52,56,0.58,0.74,f,-1,0, 0.1 tracks/HDXyellow2 ",
483 " ",
484 "87,52,56,0.63,2.795,r,-1,400, 0.12 tracks/HDXred ",
485 "87,52,56,0.63,2.785,r,-1,400, 0.12 tracks/HDXred ",
486 "87,52,56,0.63,2.775,r,-1,400, 0.12 tracks/HDXred ",
487 "87,52,56,0.63,2.795,f,-1,0, 0.1 tracks/HDXred ",
488 "87,52,56,0.63,2.785,f,-1,0, 0.1 tracks/HDXred ",
489 "87,52,56,0.63,2.775,f,-1,0, 0.1 tracks/HDXred ",
490 " ",
491 "87,52,56,0.19,0.315,u,2,0, 0.95 ",
492 " ",
493 "//84,47,56,6.28,-0.04,f,-1,0, 0.1 tracks/HDXyellow2 ",
494 "//82,47,56,6.28,0.0,f,-1,0, 0.1 tracks/HDXyellow2 ",
495 "//82,47,56,6.28,0.04,f,-1,0, 0.1 tracks/HDXyellow2 ",
496 " ",
497 " ",
498 ";FR turn signals ",
499 "87,86,77,-0.08,0.29,r,-1,400, -1 ",
500 ";Row 1 center ",
501 "87,86,77,-0.42,0.6,f,-1,0, 0.15 tracks/HDXyellow2 ",
502 "87,86,77,-0.43,0.6,r,-1,400, 0.1 ",
503 "87,86,77,-0.44,0.6,r,-1,400, 0.1 ",
504 "87,86,77,-0.45,0.6,r,-1,400, 0.1 ",
505 "87,86,77,-0.41,0.6,r,-1,400, 0.1 ",
506 "87,86,77,-0.40,0.6,r,-1,400, 0.1 ",
507 "87,86,77,-0.39,0.6,r,-1,400, 0.1 ",
508 ";Row 2 (down 1) ",
509 "87,86,77,-0.4,0.58,r,-1,400, 0.1 ",
510 "87,86,77,-0.41,0.58,r,-1,400, 0.1 ",
511 "87,86,77,-0.42,0.58,r,-1,400, 0.1 ",
512 "87,86,77,-0.43,0.58,r,-1,400, 0.1 ",
513 "87,86,77,-0.39,0.58,r,-1,400, 0.1 ",
514 "87,86,77,-0.38,0.58,r,-1,400, 0.1 ",
515 "87,86,77,-0.37,0.58,r,-1,400, 0.1 ",
516 ";Row 3 (down 2) ",
517 "87,86,77,-0.38,0.56,r,-1,400, 0.1 ",
518 "87,86,77,-0.37,0.56,r,-1,400, 0.1 ",
519 "87,86,77,-0.36,0.56,r,-1,400, 0.1 ",
520 "87,86,77,-0.39,0.56,r,-1,400, 0.1 ",
521 "87,86,77,-0.40,0.56,r,-1,400, 0.1 ",
522 ";Row 4 (up 1) ",
523 "87,86,77,-0.44,0.62,r,-1,400, 0.1 ",
524 "87,86,77,-0.45,0.62,r,-1,400, 0.1 ",
525 "87,86,77,-0.46,0.62,r,-1,400, 0.1 ",
526 "87,86,77,-0.47,0.62,r,-1,400, 0.1 ",
527 "87,86,77,-0.43,0.62,r,-1,400, 0.1 ",
528 "87,86,77,-0.42,0.62,r,-1,400, 0.1 ",
529 "87,86,77,-0.41,0.62,r,-1,400, 0.1 ",
530 ";Row 5 (up 2) ",
531 "87,86,77,-0.46,0.64,r,-1,400, 0.1 ",
532 "87,86,77,-0.47,0.64,r,-1,400, 0.1 ",
533 "87,86,77,-0.48,0.64,r,-1,400, 0.1 ",
534 "87,86,77,-0.45,0.64,r,-1,400, 0.1 ",
535 "87,86,77,-0.44,0.64,r,-1,400, 0.1 ",
536 ";Row 6 (up 3) ",
537 "87,86,77,-0.49,0.66,r,-1,400, 0.1 ",
538 "87,86,77,-0.47,0.66,r,-1,400, 0.1 ",
539 "87,86,77,-0.48,0.66,r,-1,400, 0.1 ",
540 ";Row 7 (down 3) ",
541 "87,86,77,-0.35,0.54,r,-1,400, 0.1 ",
542 "87,86,77,-0.36,0.54,r,-1,400, 0.1 ",
543 "87,86,77,-0.37,0.54,r,-1,400, 0.1 ",
544 " ",
545 ";FRts running ",
546 "87,86,77,-0.43,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ","87,86,77,-0.44,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
547 "87,86,77,-0.45,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ","87,86,77,-0.41,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
548 "87,86,77,-0.40,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ","87,86,77,-0.39,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
549 ";Row 2 (down 1) ",
550 "87,86,77,-0.4,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ","87,86,77,-0.41,0.58,f,-1,0, 0.1 tracks/HDXyellow3",
551 "87,86,77,-0.42,0.58,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.43,0.58,f,-1,0, 0.1 tracks/HDXyellow3",
552 "87,86,77,-0.39,0.58,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.38,0.58,f,-1,0, 0.1 tracks/HDXyellow3",
553 "87,86,77,-0.37,0.58,f,-1,0, 0.1 tracks/HDXyellow3",
554 ";Row 3 (down 2) ",
555 "87,86,77,-0.38,0.56,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.37,0.56,f,-1,0, 0.1 tracks/HDXyellow3",
556 "87,86,77,-0.36,0.56,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.39,0.56,f,-1,0, 0.1 tracks/HDXyellow3",
557 "87,86,77,-0.40,0.56,f,-1,0, 0.1 tracks/HDXyellow3",
558 ";Row 4 (up 1) ",
559 "87,86,77,-0.44,0.62,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.45,0.62,f,-1,0, 0.1 tracks/HDXyellow3",
560 "87,86,77,-0.46,0.62,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.47,0.62,f,-1,0, 0.1 tracks/HDXyellow3",
561 "87,86,77,-0.43,0.62,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.42,0.62,f,-1,0, 0.1 tracks/HDXyellow3",
562 "87,86,77,-0.41,0.62,f,-1,0, 0.1 tracks/HDXyellow3",
563 ";Row 5 (up 2) ",
564 "87,86,77,-0.46,0.64,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.47,0.64,f,-1,0, 0.1 tracks/HDXyellow3",
565 "87,86,77,-0.48,0.64,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.45,0.64,f,-1,0, 0.1 tracks/HDXyellow3",
566 "87,86,77,-0.44,0.64,f,-1,0, 0.1 tracks/HDXyellow3",
567 ";Row 6 (up 3) ",
568 "87,86,77,-0.49,0.66,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.47,0.66,f,-1,0, 0.1 tracks/HDXyellow3",
569 "87,86,77,-0.48,0.66,f,-1,0, 0.1 tracks/HDXyellow3",
570 ";Row 7 (dowf 3) ",
571 "87,86,77,-0.35,0.54,f,-1,0, 0.1 tracks/HDXyellow3","87,86,77,-0.36,0.54,f,-1,0, 0.1 tracks/HDXyellow3",
572 "87,86,77,-0.37,0.54,f,-1,0, 0.1 tracks/HDXyellow3",
573 " ",
574 ";FL turn signals ",
575 "87,86,78,0.8,0.29,l,-1,400, -1 ",
576 ";Row 1 center ",
577 "87,86,78,0.85,0.6,l,-1,400, 0.1 ",
578 "87,86,78,0.84,0.6,l,-1,400, 0.1 ",
579 "87,86,78,0.83,0.6,l,-1,400, 0.1 ",
580 "87,86,78,0.82,0.6,f, 0,0, 0.15 tracks/HDXyellow2 ",
581 "87,86,78,0.81,0.6,l,-1,400, 0.1 ",
582 "87,86,78,0.8,0.6,l,-1,400, 0.1 ",
583 "87,86,78,0.79,0.6,l,-1,400, 0.1 ",
584 ";low 2 (down 1) ",
585 "87,86,78,0.85,0.58,l,-1,400, 0.1 ",
586 "87,86,78,0.84,0.58,l,-1,400, 0.1 ",
587 "87,86,78,0.83,0.58,l,-1,400, 0.1 ",
588 "87,86,78,0.82,0.58,l,-1,400, 0.1 ",
589 "87,86,78,0.81,0.58,l,-1,400, 0.1 ",
590 "87,86,78,0.8,0.58,l,-1,400, 0.1 ",
591 "87,86,78,0.79,0.58,l,-1,400, 0.1 ",
592 ";low 3 (down 2) ",
593 "87,86,78,0.84,0.56,l,-1,400, 0.1 ",
594 "87,86,78,0.83,0.56,l,-1,400, 0.1 ",
595 "87,86,78,0.82,0.56,l,-1,400, 0.1 ",
596 "87,86,78,0.81,0.56,l,-1,400, 0.1 ",
597 "87,86,78,0.8,0.56,l,-1,400, 0.1 ",
598 ";low 7 ",
599 ";low 3 (down 2) ",
600 "87,86,78,0.83,0.54,l,-1,400, 0.1 ",
601 "87,86,78,0.82,0.54,l,-1,400, 0.1 ",
602 "87,86,78,0.81,0.54,l,-1,400, 0.1 ",
603 ";low 4 (up 1) ",
604 "87,86,78,0.85,0.62,l,-1,400, 0.1 ",
605 "87,86,78,0.84,0.62,l,-1,400, 0.1 ",
606 "87,86,78,0.83,0.62,l,-1,400, 0.1 ",
607 "87,86,78,0.82,0.62,l,-1,400, 0.1 ",
608 "87,86,78,0.81,0.62,l,-1,400, 0.1 ",
609 "87,86,78,0.8,0.62,l,-1,400, 0.1 ",
610 "87,86,78,0.79,0.62,l,-1,400, 0.1 ",
611 ";low 5 (up 2) ",
612 "87,86,78,0.84,0.64,l,-1,400, 0.1 ",
613 "87,86,78,0.83,0.64,l,-1,400, 0.1 ",
614 "87,86,78,0.82,0.64,l,-1,400, 0.1 ",
615 "87,86,78,0.81,0.64,l,-1,400, 0.1 ",
616 "87,86,78,0.8,0.64,l,-1,400, 0.1 ",
617 ";low 6 (up 3) ",
618 "87,86,78,0.83,0.66,l,-1,400, 0.1 ",
619 "87,86,78,0.82,0.66,l,-1,400, 0.1 ",
620 "87,86,78,0.81,0.66,l,-1,400, 0.1 ",
621 " ",
622 ";FLts Running ",
623 "87,86,78,0.85,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
624 "87,86,78,0.84,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
625 "87,86,78,0.83,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
626 "87,86,78,0.81,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
627 "87,86,78,0.8,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
628 "87,86,78,0.79,0.6,f,-1,0, 0.1 tracks/HDXyellow3 ",
629 ";low 2 (down 1) ",
630 "87,86,78,0.85,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
631 "87,86,78,0.84,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
632 "87,86,78,0.83,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
633 "87,86,78,0.82,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
634 "87,86,78,0.81,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
635 "87,86,78,0.8,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
636 "87,86,78,0.79,0.58,f,-1,0, 0.1 tracks/HDXyellow3 ",
637 ";low 3 (down 2) ",
638 "87,86,78,0.84,0.56,f,-1,0, 0.1 tracks/HDXyellow3 ",
639 "87,86,78,0.83,0.56,f,-1,0, 0.1 tracks/HDXyellow3 ",
640 "87,86,78,0.82,0.56,f,-1,0, 0.1 tracks/HDXyellow3 ",
641 "87,86,78,0.81,0.56,f,-1,0, 0.1 tracks/HDXyellow3 ",
642 "87,86,78,0.8,0.56,f,-1,0, 0.1 tracks/HDXyellow3 ",
643 ";low 7 ",
644 ";low 3 (down 2) ",
645 "87,86,78,0.83,0.54,f,-1,0, 0.1 tracks/HDXyellow3 ",
646 "87,86,78,0.82,0.54,f,-1,0, 0.1 tracks/HDXyellow3 ",
647 "87,86,78,0.81,0.54,f,-1,0, 0.1 tracks/HDXyellow3 ",
648 ";low 4 (up 1) ",
649 "87,86,78,0.85,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
650 "87,86,78,0.84,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
651 "87,86,78,0.83,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
652 "87,86,78,0.82,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
653 "87,86,78,0.81,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
654 "87,86,78,0.8,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
655 "87,86,78,0.79,0.62,f,-1,0, 0.1 tracks/HDXyellow3 ",
656 ";low 5 (up 2) ",
657 "87,86,78,0.84,0.64,f,-1,0, 0.1 tracks/HDXyellow3 ",
658 "87,86,78,0.83,0.64,f,-1,0, 0.1 tracks/HDXyellow3 ",
659 "87,86,78,0.82,0.64,f,-1,0, 0.1 tracks/HDXyellow3 ",
660 "87,86,78,0.81,0.64,f,-1,0, 0.1 tracks/HDXyellow3 ",
661 "87,86,78,0.8,0.64,f,-1,0, 0.1 tracks/HDXyellow3 ",
662 ";low 6 (up 3) ",
663 "87,86,78,0.83,0.66,f,-1,0, 0.1 tracks/HDXyellow3 ",
664 "87,86,78,0.82,0.66,f,-1,0, 0.1 tracks/HDXyellow3 ",
665 "87,86,78,0.81,0.66,f,-1,0, 0.1 tracks/HDXyellow3 ",
666 " ",
667 " ",
668 ";Rear ",
669 ";LR LED brake, turn, reverse squares ",
670 ";RR left brake ",
671 ";Row 0 CENTER ",
672 "75,76,70,0.05,0.08,b,-1,0,0.1 ",
673 "75,76,70,0.06,0.08,b,-1,0,0.1 ",
674 "75,76,70,0.02,0.08,b,-1,0,0.1 ",
675 "75,76,70,0.03,0.08,b,-1,0,0.1 ",
676 "75,76,70,0.04,0.08,b,-1,0,0.1 ",
677 ";Row 1 (up 1) ",
678 "75,76,70,0.00,0.1,b,-1,0,0.1 ",
679 "75,76,70,0.01,0.1,b,-1,0,0.1 ",
680 "75,76,70,0.02,0.1,b,-1,0,0.1 ",
681 "75,76,70,0.03,0.1,b,-1,0,0.1 ",
682 "75,76,70,0.04,0.1,b,-1,0,0.1 ",
683 ";Row 2 (up 2) ",
684 "75,76,70,0.0,0.12,b,-1,0,0.1 ",
685 "75,76,70,0.01,0.12,b,-1,0,0.1 ",
686 "75,76,70,0.02,0.12,b,-1,0,0.1 ",
687 "75,76,70,-0.02,0.12,b,-1,0,0.1 ",
688 "75,76,70,-0.01,0.12,b,-1,0,0.1 ",
689 ";Row 3 (up 3) ",
690 "75,76,70,0.0,0.14,b,-1,0,0.1 ",
691 "75,76,70,-0.04,0.14,b,-1,0,0.1 ",
692 "75,76,70,-0.03,0.14,b,-1,0,0.1 ",
693 "75,76,70,-0.02,0.14,b,-1,0,0.1 ",
694 "75,76,70,-0.01,0.14,b,-1,0,0.1 ",
695 ";Row 4 (up 4) ",
696 "75,76,70,-0.05,0.16,b,-1,0,0.1 ",
697 "75,76,70,-0.04,0.16,b,-1,0,0.1 ",
698 "75,76,70,-0.03,0.16,b,-1,0,0.1 ",
699 "75,76,70,-0.02,0.16,b,-1,0,0.1 ",
700 "75,76,70,-0.06,0.16,b,-1,0,0.1 ",
701 ";Row 5 (up 5) ",
702 "75,76,70,-0.05,0.18,b,-1,0,0.1 ",
703 "75,76,70,-0.04,0.18,b,-1,0,0.1 ",
704 "75,76,70,-0.08,0.18,b,-1,0,0.1 ",
705 "75,76,70,-0.07,0.18,b,-1,0,0.1 ",
706 "75,76,70,-0.06,0.18,b,-1,0,0.1 ",
707 ";Row 6 (up 6) ",
708 "75,76,70,-0.1,0.2,b,-1,0,0.1 ",
709 "75,76,70,-0.09,0.2,b,-1,0,0.1 ",
710 "75,76,70,-0.08,0.2,b,-1,0,0.1 ",
711 "75,76,70,-0.07,0.2,b,-1,0,0.1 ",
712 "75,76,70,-0.06,0.2,b,-1,0,0.1 ",
713 ";Row 7 (up 7) ",
714 "75,76,70,-0.1,0.22,b,-1,0,0.1 ",
715 "75,76,70,-0.09,0.22,b,-1,0,0.1 ",
716 "75,76,70,-0.08,0.22,b,-1,0,0.1 ",
717 "75,76,70,-0.12,0.22,b,-1,0,0.1 ",
718 "75,76,70,-0.11,0.22,b,-1,0,0.1 ",
719 ";Row 8 (up 8) ",
720 "75,76,70,-0.1,0.24,b,-1,0,0.1 ",
721 "75,76,70,-0.14,0.24,b,-1,0,0.1 ",
722 "75,76,70,-0.13,0.24,b,-1,0,0.1 ",
723 "75,76,70,-0.12,0.24,b,-1,0,0.1 ",
724 "75,76,70,-0.11,0.24,b,-1,0,0.1 ",
725 ";Row 9 (up 9) ",
726 "75,76,70,-0.15,0.26,b,-1,0,0.1 ",
727 "75,76,70,-0.14,0.26,b,-1,0,0.1 ",
728 "75,76,70,-0.13,0.26,b,-1,0,0.1 ",
729 "75,76,70,-0.12,0.26,b,-1,0,0.1 ",
730 "75,76,70,-0.16,0.26,b,-1,0,0.1 ",
731 ";Row 10 (up 10) ",
732 "75,76,70,-0.15,0.28,b,-1,0,0.1 ",
733 "75,76,70,-0.14,0.28,b,-1,0,0.1 ",
734 "75,76,70,-0.18,0.28,b,-1,0,0.1 ",
735 "75,76,70,-0.17,0.28,b,-1,0,0.1 ",
736 "75,76,70,-0.16,0.28,b,-1,0,0.1 ",
737 " ",
738 ";RRbs Running ",
739 ";Row 0 CENTER ",
740 "75,76,70,0.05,0.08,f,-1,0,0.1 tracks/HDXred1 ",
741 "75,76,70,0.06,0.08,f,-1,0,0.1 tracks/HDXred1 ",
742 "75,76,70,0.02,0.08,f,-1,0,0.1 tracks/HDXred1 ",
743 "75,76,70,0.03,0.08,f,-1,0,0.1 tracks/HDXred1 ",
744 "75,76,70,0.04,0.08,f,-1,0,0.1 tracks/HDXred1 ",
745 ";Row 1 (up 1) ",
746 "75,76,70,0.00,0.1,f,-1,0,0.1 tracks/HDXred1 ",
747 "75,76,70,0.01,0.1,f,-1,0,0.1 tracks/HDXred1 ",
748 "75,76,70,0.02,0.1,f,-1,0,0.1 tracks/HDXred1 ",
749 "75,76,70,0.03,0.1,f,-1,0,0.1 tracks/HDXred1 ",
750 "75,76,70,0.04,0.1,f,-1,0,0.1 tracks/HDXred1 ",
751 ";Row 2 (up 2) ",
752 "75,76,70,0.0,0.12,f,-1,0,0.1 tracks/HDXred1 ",
753 "75,76,70,0.01,0.12,f,-1,0,0.1 tracks/HDXred1 ",
754 "75,76,70,0.02,0.12,f,-1,0,0.1 tracks/HDXred1 ",
755 "75,76,70,-0.02,0.12,f,-1,0,0.1 tracks/HDXred1 ",
756 "75,76,70,-0.01,0.12,f,-1,0,0.1 tracks/HDXred1 ",
757 ";Row 3 (up 3) ",
758 "75,76,70,0.0,0.14,f,-1,0,0.1 tracks/HDXred1 ",
759 "75,76,70,-0.04,0.14,f,-1,0,0.1 tracks/HDXred1 ",
760 "75,76,70,-0.03,0.14,f,-1,0,0.1 tracks/HDXred1 ",
761 "75,76,70,-0.02,0.14,f,-1,0,0.1 tracks/HDXred1 ",
762 "75,76,70,-0.01,0.14,f,-1,0,0.1 tracks/HDXred1 ",
763 ";Row 4 (up 4) ",
764 "75,76,70,-0.05,0.16,f,-1,0,0.1 tracks/HDXred1 ",
765 "75,76,70,-0.04,0.16,f,-1,0,0.1 tracks/HDXred1 ",
766 "75,76,70,-0.03,0.16,f,-1,0,0.1 tracks/HDXred1 ",
767 "75,76,70,-0.02,0.16,f,-1,0,0.1 tracks/HDXred1 ",
768 "75,76,70,-0.06,0.16,f,-1,0,0.1 tracks/HDXred1 ",
769 ";Row 5 (up 5) ",
770 "75,76,70,-0.05,0.18,f,-1,0,0.1 tracks/HDXred1 ",
771 "75,76,70,-0.04,0.18,f,-1,0,0.1 tracks/HDXred1 ",
772 "75,76,70,-0.08,0.18,f,-1,0,0.1 tracks/HDXred1 ",
773 "75,76,70,-0.07,0.18,f,-1,0,0.1 tracks/HDXred1 ",
774 "75,76,70,-0.06,0.18,f,-1,0,0.1 tracks/HDXred1 ",
775 ";Row 6 (up 6) ",
776 "75,76,70,-0.1,0.2,f,-1,0,0.1 tracks/HDXred1 ",
777 "75,76,70,-0.09,0.2,f,-1,0,0.1 tracks/HDXred1 ",
778 "75,76,70,-0.08,0.2,f,-1,0,0.1 tracks/HDXred1 ",
779 "75,76,70,-0.07,0.2,f,-1,0,0.1 tracks/HDXred1 ",
780 "75,76,70,-0.06,0.2,f,-1,0,0.1 tracks/HDXred1 ",
781 ";Row 7 (up 7) ",
782 "75,76,70,-0.1,0.22,f,-1,0,0.1 tracks/HDXred1 ",
783 "75,76,70,-0.09,0.22,f,-1,0,0.1 tracks/HDXred1 ",
784 "75,76,70,-0.08,0.22,f,-1,0,0.1 tracks/HDXred1 ",
785 "75,76,70,-0.12,0.22,f,-1,0,0.1 tracks/HDXred1 ",
786 "75,76,70,-0.11,0.22,f,-1,0,0.1 tracks/HDXred1 ",
787 ";Row 8 (up 8) ",
788 "75,76,70,-0.1,0.24,f,-1,0,0.1 tracks/HDXred1 ",
789 "75,76,70,-0.14,0.24,f,-1,0,0.1 tracks/HDXred1 ",
790 "75,76,70,-0.13,0.24,f,-1,0,0.1 tracks/HDXred1 ",
791 "75,76,70,-0.12,0.24,f,-1,0,0.1 tracks/HDXred1 ",
792 "75,76,70,-0.11,0.24,f,-1,0,0.1 tracks/HDXred1 ",
793 ";Row 9 (up 9) ",
794 "75,76,70,-0.15,0.26,f,-1,0,0.1 tracks/HDXred1 ",
795 "75,76,70,-0.14,0.26,f,-1,0,0.1 tracks/HDXred1 ",
796 "75,76,70,-0.13,0.26,f,-1,0,0.1 tracks/HDXred1 ",
797 "75,76,70,-0.12,0.26,f,-1,0,0.1 tracks/HDXred1 ",
798 "75,76,70,-0.16,0.26,f,-1,0,0.1 tracks/HDXred1 ",
799 ";Row 10 (up 10) ",
800 "75,76,70,-0.15,0.28,f,-1,0,0.1 tracks/HDXred1 ",
801 "75,76,70,-0.14,0.28,f,-1,0,0.1 tracks/HDXred1 ",
802 "75,76,70,-0.18,0.28,f,-1,0,0.1 tracks/HDXred1 ",
803 "75,76,70,-0.17,0.28,f,-1,0,0.1 tracks/HDXred1 ",
804 "75,76,70,-0.16,0.28,f,-1,0,0.1 tracks/HDXred1 ",
805 " ",
806 ";RR turn signal (center) ",
807 "75,76,70,0.0,0.08,l,-1,400,0.1 ",
808 "75,76,70,-0.01,0.08,l,-1,400,0.1 ",
809 "75,76,70,-0.02,0.08,l,-1,400,0.1 ",
810 "75,76,70,-0.03,0.08,l,-1,400,0.1 ",
811 "75,76,70,-0.04,0.08,l,-1,400,0.1 ",
812 ";low 1 (up 1) ",
813 "75,76,70,-0.05,0.1,l,-1,400,0.1 ",
814 "75,76,70,-0.06,0.1,l,-1,400,0.1 ",
815 "75,76,70,-0.02,0.1,l,-1,400,0.1 ",
816 "75,76,70,-0.03,0.1,l,-1,400,0.1 ",
817 "75,76,70,-0.04,0.1,l,-1,400,0.1 ",
818 ";low 2 (up 2) ",
819 "75,76,70,-0.05,0.12,l,-1,400,0.1 ",
820 "75,76,70,-0.06,0.12,l,-1,400,0.1 ",
821 "75,76,70,-0.07,0.12,l,-1,400,0.1 ",
822 "75,76,70,-0.08,0.12,l,-1,400,0.1 ",
823 "75,76,70,-0.04,0.12,l,-1,400,0.1 ",
824 ";low 3 (up 3) ",
825 "75,76,70,-0.10,0.14,l,-1,400,0.1 ",
826 "75,76,70,-0.06,0.14,l,-1,400,0.1 ",
827 "75,76,70,-0.07,0.14,l,-1,400,0.1 ",
828 "75,76,70,-0.08,0.14,l,-1,400,0.1 ",
829 "75,76,70,-0.09,0.14,l,-1,400,0.1 ",
830 ";low 4 (up 4) ",
831 "75,76,70,-0.10,0.16,l,-1,400,0.1 ",
832 "75,76,70,-0.11,0.16,l,-1,400,0.1 ",
833 "75,76,70,-0.12,0.16,l,-1,400,0.1 ",
834 "75,76,70,-0.08,0.16,l,-1,400,0.1 ",
835 "75,76,70,-0.09,0.16,l,-1,400,0.1 ",
836 ";low 5 (up 5) ",
837 "75,76,70,-0.10,0.18,l,-1,400,0.1 ",
838 "75,76,70,-0.11,0.18,l,-1,400,0.1 ",
839 "75,76,70,-0.12,0.18,l,-1,400,0.1 ",
840 "75,76,70,-0.13,0.18,l,-1,400,0.1 ",
841 "75,76,70,-0.14,0.18,l,-1,400,0.1 ",
842 ";low 6 (up 6) ",
843 "75,76,70,-0.15,0.2,l,-1,400,0.1 ",
844 "75,76,70,-0.16,0.2,l,-1,400,0.1 ",
845 "75,76,70,-0.12,0.2,l,-1,400,0.1 ",
846 "75,76,70,-0.13,0.2,l,-1,400,0.1 ",
847 "75,76,70,-0.14,0.2,l,-1,400,0.1 ",
848 ";low 7 (up 7) ",
849 "75,76,70,-0.15,0.22,l,-1,400,0.1 ",
850 "75,76,70,-0.16,0.22,l,-1,400,0.1 ",
851 "75,76,70,-0.17,0.22,l,-1,400,0.1 ",
852 "75,76,70,-0.18,0.22,l,-1,400,0.1 ",
853 "75,76,70,-0.14,0.22,l,-1,400,0.1 ",
854 ";low 8 (up 8) ",
855 "75,76,70,-0.20,0.24,l,-1,400,0.1 ",
856 "75,76,70,-0.16,0.24,l,-1,400,0.1 ",
857 "75,76,70,-0.17,0.24,l,-1,400,0.1 ",
858 "75,76,70,-0.18,0.24,l,-1,400,0.1 ",
859 "75,76,70,-0.19,0.24,l,-1,400,0.1 ",
860 ";low 9 (up 9) ",
861 "75,76,70,-0.20,0.26,l,-1,400,0.1 ",
862 "75,76,70,-0.21,0.26,l,-1,400,0.1 ",
863 "75,76,70,-0.22,0.26,l,-1,400,0.1 ",
864 "75,76,70,-0.18,0.26,l,-1,400,0.1 ",
865 "75,76,70,-0.19,0.26,l,-1,400,0.1 ",
866 ";low 10 (up 10) ",
867 "75,76,70,-0.20,0.28,l,-1,400,0.1 ",
868 "75,76,70,-0.21,0.28,l,-1,400,0.1 ",
869 "75,76,70,-0.22,0.28,l,-1,400,0.1 ",
870 "75,76,70,-0.23,0.28,l,-1,400,0.1 ",
871 "75,76,70,-0.24,0.28,l,-1,400,0.1 ",
872 " ",
873 ";LR reverse (center) ",
874 "75,76,70,0.12,0.08,R,-1,0,0.1 ",
875 "75,76,70,0.11,0.08,R,-1,0,0.1 ",
876 "75,76,70,0.1,0.08,R,-1,0,0.1 ",
877 "75,76,70,0.09,0.08,R,-1,0,0.1 ",
878 "75,76,70,0.08,0.08,R,-1,0,0.1 ",
879 ";Row 1 (up 1) ",
880 "75,76,70,0.1,0.1,R,-1,0,0.1 ",
881 "75,76,70,0.09,0.1,R,-1,0,0.1 ",
882 "75,76,70,0.08,0.1,R,-1,0,0.1 ",
883 "75,76,70,0.07,0.1,R,-1,0,0.1 ",
884 "75,76,70,0.06,0.1,R,-1,0,0.1 ",
885 ";Row 2 (up 2) ",
886 "75,76,70,0.08,0.12,R,-1,0,0.1 ",
887 "75,76,70,0.07,0.12,R,-1,0,0.1 ",
888 "75,76,70,0.06,0.12,R,-1,0,0.1 ",
889 "75,76,70,0.05,0.12,R,-1,0,0.1 ",
890 "75,76,70,0.04,0.12,R,-1,0,0.1 ",
891 ";Row 3 (up 3) ",
892 "75,76,70,0.06,0.14,R,-1,0,0.1 ",
893 "75,76,70,0.05,0.14,R,-1,0,0.1 ",
894 "75,76,70,0.04,0.14,R,-1,0,0.1 ",
895 "75,76,70,0.03,0.14,R,-1,0,0.1 ",
896 "75,76,70,0.02,0.14,R,-1,0,0.1 ",
897 ";Row 4 (up 4) ",
898 "75,76,70,0.04,0.16,R,-1,0,0.1 ",
899 "75,76,70,0.03,0.16,R,-1,0,0.1 ",
900 "75,76,70,0.02,0.16,R,-1,0,0.1 ",
901 "75,76,70,0.01,0.16,R,-1,0,0.1 ",
902 "75,76,70,0.0,0.16,R,-1,0,0.1 ",
903 ";Row 5 (up 5) ",
904 "75,76,70,0.02,0.18,R,-1,0,0.1 ",
905 "75,76,70,0.01,0.18,R,-1,0,0.1 ",
906 "75,76,70,0.0,0.18,R,-1,0,0.1 ",
907 "75,76,70,-0.01,0.18,R,-1,0,0.1 ",
908 "75,76,70,-0.02,0.18,R,-1,0,0.1 ",
909 ";Row 6 (up 6) ",
910 "75,76,70,0.0,0.2,R,-1,0,0.1 ",
911 "75,76,70,-0.01,0.2,R,-1,0,0.1 ",
912 "75,76,70,-0.02,0.2,R,-1,0,0.1 ",
913 "75,76,70,-0.03,0.2,R,-1,0,0.1 ",
914 "75,76,70,-0.04,0.2,R,-1,0,0.1 ",
915 ";Row 7 (up 7) ",
916 "75,76,70,-0.02,0.22,R,-1,0,0.1 ",
917 "75,76,70,-0.03,0.22,R,-1,0,0.1 ",
918 "75,76,70,-0.04,0.22,R,-1,0,0.1 ",
919 "75,76,70,-0.05,0.22,R,-1,0,0.1 ",
920 "75,76,70,-0.06,0.22,R,-1,0,0.1 ",
921 ";Row 8 (up 8) ",
922 "75,76,70,-0.04,0.24,R,-1,0,0.1 ",
923 "75,76,70,-0.05,0.24,R,-1,0,0.1 ",
924 "75,76,70,-0.06,0.24,R,-1,0,0.1 ",
925 "75,76,70,-0.07,0.24,R,-1,0,0.1 ",
926 "75,76,70,-0.08,0.24,R,-1,0,0.1 ",
927 ";Row 9 (up 9) ",
928 "75,76,70,-0.06,0.26,R,-1,0,0.1 ",
929 "75,76,70,-0.07,0.26,R,-1,0,0.1 ",
930 "75,76,70,-0.08,0.26,R,-1,0,0.1 ",
931 "75,76,70,-0.09,0.26,R,-1,0,0.1 ",
932 "75,76,70,-0.10,0.26,R,-1,0,0.1 ",
933 ";Row 10 (up 10) ",
934 "75,76,70,-0.08,0.28,R,-1,0,0.1 ",
935 "75,76,70,-0.09,0.28,R,-1,0,0.1 ",
936 "75,76,70,-0.10,0.28,R,-1,0,0.1 ",
937 "75,76,70,-0.11,0.28,R,-1,0,0.1 ",
938 "75,76,70,-0.12,0.28,R,-1,0,0.1 ",
939 " ",
940 ";-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X.....",
941 " ",
942 ";Right rear stuff ",
943 ";RR reverse (center) ",
944 "75,76,69,0.80,0.08,R,-1,0,0.1 ",
945 "75,76,69,0.81,0.08,R,-1,0,0.1 ",
946 "75,76,69,0.82,0.08,R,-1,0,0.1 ",
947 "75,76,69,0.83,0.08,R,-1,0,0.1 ",
948 "75,76,69,0.84,0.08,R,-1,0,0.1 ",
949 " ",
950 "75,76,69,0.80,0.1,R,-1,0,0.1 ",
951 "75,76,69,0.81,0.1,R,-1,0,0.1 ",
952 "75,76,69,0.82,0.1,R,-1,0,0.1 ",
953 "75,76,69,0.83,0.1,R,-1,0,0.1 ",
954 "75,76,69,0.84,0.1,R,-1,0,0.1 ",
955 " ",
956 "75,76,69,0.80,0.12,R,-1,0,0.1 ",
957 "75,76,69,0.81,0.12,R,-1,0,0.1 ",
958 "75,76,69,0.82,0.12,R,-1,0,0.1 ",
959 "75,76,69,0.83,0.12,R,-1,0,0.1 ",
960 "75,76,69,0.84,0.12,R,-1,0,0.1 ",
961 " ",
962 "75,76,69,0.80,0.14,R,-1,0,0.1 ",
963 "75,76,69,0.81,0.14,R,-1,0,0.1 ",
964 "75,76,69,0.82,0.14,R,-1,0,0.1 ",
965 "75,76,69,0.83,0.14,R,-1,0,0.1 ",
966 "75,76,69,0.84,0.14,R,-1,0,0.1 ",
967 " ",
968 "75,76,69,0.80,0.16,R,-1,0,0.1 ",
969 "75,76,69,0.81,0.16,R,-1,0,0.1 ",
970 "75,76,69,0.82,0.16,R,-1,0,0.1 ",
971 "75,76,69,0.83,0.16,R,-1,0,0.1 ",
972 "75,76,69,0.84,0.16,R,-1,0,0.1 ",
973 " ",
974 "75,76,69,0.80,0.18,R,-1,0,0.1 ",
975 "75,76,69,0.81,0.18,R,-1,0,0.1 ",
976 "75,76,69,0.82,0.18,R,-1,0,0.1 ",
977 "75,76,69,0.83,0.18,R,-1,0,0.1 ",
978 "75,76,69,0.84,0.18,R,-1,0,0.1 ",
979 " ",
980 "75,76,69,0.80,0.2,R,-1,0,0.1 ",
981 "75,76,69,0.81,0.2,R,-1,0,0.1 ",
982 "75,76,69,0.82,0.2,R,-1,0,0.1 ",
983 "75,76,69,0.83,0.2,R,-1,0,0.1 ",
984 "75,76,69,0.84,0.2,R,-1,0,0.1 ",
985 " ",
986 "75,76,69,0.80,0.22,R,-1,0,0.1 ",
987 "75,76,69,0.81,0.22,R,-1,0,0.1 ",
988 "75,76,69,0.82,0.22,R,-1,0,0.1 ",
989 "75,76,69,0.83,0.22,R,-1,0,0.1 ",
990 "75,76,69,0.84,0.22,R,-1,0,0.1 ",
991 " ",
992 "75,76,69,0.80,0.24,R,-1,0,0.1 ",
993 "75,76,69,0.81,0.24,R,-1,0,0.1 ",
994 "75,76,69,0.82,0.24,R,-1,0,0.1 ",
995 "75,76,69,0.83,0.24,R,-1,0,0.1 ",
996 "75,76,69,0.84,0.24,R,-1,0,0.1 ",
997 " ",
998 "75,76,69,0.80,0.26,R,-1,0,0.1 ",
999 "75,76,69,0.81,0.26,R,-1,0,0.1 ",
1000 "75,76,69,0.82,0.26,R,-1,0,0.1 ",
1001 "75,76,69,0.83,0.26,R,-1,0,0.1 ",
1002 "75,76,69,0.84,0.26,R,-1,0,0.1 ",
1003 " ",
1004 "75,76,69,0.80,0.28,R,-1,0,0.1 ",
1005 "75,76,69,0.81,0.28,R,-1,0,0.1 ",
1006 "75,76,69,0.82,0.28,R,-1,0,0.1 ",
1007 "75,76,69,0.83,0.28,R,-1,0,0.1 ",
1008 "75,76,69,0.84,0.28,R,-1,0,0.1 ",
1009 " ",
1010 ";RR BRAKE (center) ",
1011 "75,76,69,0.86,0.08,b,-1,0,0.1 ",
1012 "75,76,69,0.87,0.08,b,-1,0,0.1 ",
1013 "75,76,69,0.88,0.08,b,-1,0,0.1 ",
1014 "75,76,69,0.89,0.08,b,-1,0,0.1 ",
1015 "75,76,69,0.90,0.08,b,-1,0,0.1 ",
1016 " ",
1017 "75,76,69,0.86,0.1,b,-1,0,0.1 ",
1018 "75,76,69,0.87,0.1,b,-1,0,0.1 ",
1019 "75,76,69,0.88,0.1,b,-1,0,0.1 ",
1020 "75,76,69,0.89,0.1,b,-1,0,0.1 ",
1021 "75,76,69,0.9,0.1,b,-1,0,0.1 ",
1022 " ",
1023 "75,76,69,0.86,0.12,b,-1,0,0.1 ",
1024 "75,76,69,0.87,0.12,b,-1,0,0.1 ",
1025 "75,76,69,0.88,0.12,b,-1,0,0.1 ",
1026 "75,76,69,0.89,0.12,b,-1,0,0.1 ",
1027 "75,76,69,0.9,0.12,b,-1,0,0.1 ",
1028 " ",
1029 "75,76,69,0.86,0.14,b,-1,0,0.1 ",
1030 "75,76,69,0.87,0.14,b,-1,0,0.1 ",
1031 "75,76,69,0.88,0.14,b,-1,0,0.1 ",
1032 "75,76,69,0.89,0.14,b,-1,0,0.1 ",
1033 "75,76,69,0.9,0.14,b,-1,0,0.1 ",
1034 " ",
1035 "75,76,69,0.86,0.16,b,-1,0,0.1 ",
1036 "75,76,69,0.87,0.16,b,-1,0,0.1 ",
1037 "75,76,69,0.88,0.16,b,-1,0,0.1 ",
1038 "75,76,69,0.89,0.16,b,-1,0,0.1 ",
1039 "75,76,69,0.9,0.16,b,-1,0,0.1 ",
1040 " ",
1041 "75,76,69,0.86,0.18,b,-1,0,0.1 ",
1042 "75,76,69,0.87,0.18,b,-1,0,0.1 ",
1043 "75,76,69,0.88,0.18,b,-1,0,0.1 ",
1044 "75,76,69,0.89,0.18,b,-1,0,0.1 ",
1045 "75,76,69,0.9,0.18,b,-1,0,0.1 ",
1046 " ",
1047 "75,76,69,0.86,0.2,b,-1,0,0.1 ",
1048 "75,76,69,0.87,0.2,b,-1,0,0.1 ",
1049 "75,76,69,0.88,0.2,b,-1,0,0.1 ",
1050 "75,76,69,0.89,0.2,b,-1,0,0.1 ",
1051 "75,76,69,0.9,0.2,b,-1,0,0.1 ",
1052 " ",
1053 "75,76,69,0.86,0.22,b,-1,0,0.1 ",
1054 "75,76,69,0.87,0.22,b,-1,0,0.1 ",
1055 "75,76,69,0.88,0.22,b,-1,0,0.1 ",
1056 "75,76,69,0.89,0.22,b,-1,0,0.1 ",
1057 "75,76,69,0.9,0.22,b,-1,0,0.1 ",
1058 " ",
1059 "75,76,69,0.86,0.24,b,-1,0,0.1 ",
1060 "75,76,69,0.87,0.24,b,-1,0,0.1 ",
1061 "75,76,69,0.88,0.24,b,-1,0,0.1 ",
1062 "75,76,69,0.89,0.24,b,-1,0,0.1 ",
1063 "75,76,69,0.9,0.24,b,-1,0,0.1 ",
1064 " ",
1065 "75,76,69,0.86,0.26,b,-1,0,0.1 ",
1066 "75,76,69,0.87,0.26,b,-1,0,0.1 ",
1067 "75,76,69,0.88,0.26,b,-1,0,0.1 ",
1068 "75,76,69,0.89,0.26,b,-1,0,0.1 ",
1069 "75,76,69,0.9,0.26,b,-1,0,0.1 ",
1070 " ",
1071 "75,76,69,0.86,0.28,b,-1,0,0.1 ",
1072 "75,76,69,0.87,0.28,b,-1,0,0.1 ",
1073 "75,76,69,0.88,0.28,b,-1,0,0.1 ",
1074 "75,76,69,0.89,0.28,b,-1,0,0.1 ",
1075 "75,76,69,0.9,0.28,b,-1,0,0.1 ",
1076 " ",
1077 ";;;;;RR Bbs running>>><<<< ",
1078 "75,76,69,0.86,0.08,f,-1,0,0.1 tracks/HDXred1 ",
1079 "75,76,69,0.87,0.08,f,-1,0,0.1 tracks/HDXred1 ",
1080 "75,76,69,0.88,0.08,f,-1,0,0.1 tracks/HDXred1 ",
1081 "75,76,69,0.89,0.08,f,-1,0,0.1 tracks/HDXred1 ",
1082 "75,76,69,0.90,0.08,f,-1,0,0.1 tracks/HDXred1 ",
1083 " ",
1084 "75,76,69,0.86,0.1,f,-1,0,0.1 tracks/HDXred1 ",
1085 "75,76,69,0.87,0.1,f,-1,0,0.1 tracks/HDXred1 ",
1086 "75,76,69,0.88,0.1,f,-1,0,0.1 tracks/HDXred1 ",
1087 "75,76,69,0.89,0.1,f,-1,0,0.1 tracks/HDXred1 ",
1088 "75,76,69,0.9,0.1,f,-1,0,0.1 tracks/HDXred1 ",
1089 " ",
1090 "75,76,69,0.86,0.12,f,-1,0,0.1 tracks/HDXred1 ",
1091 "75,76,69,0.87,0.12,f,-1,0,0.1 tracks/HDXred1 ",
1092 "75,76,69,0.88,0.12,f,-1,0,0.1 tracks/HDXred1 ",
1093 "75,76,69,0.89,0.12,f,-1,0,0.1 tracks/HDXred1 ",
1094 "75,76,69,0.9,0.12,f,-1,0,0.1 tracks/HDXred1 ",
1095 " ",
1096 "75,76,69,0.86,0.14,f,-1,0,0.1 tracks/HDXred1 ",
1097 "75,76,69,0.87,0.14,f,-1,0,0.1 tracks/HDXred1 ",
1098 "75,76,69,0.88,0.14,f,-1,0,0.1 tracks/HDXred1 ",
1099 "75,76,69,0.89,0.14,f,-1,0,0.1 tracks/HDXred1 ",
1100 "75,76,69,0.9,0.14,f,-1,0,0.1 tracks/HDXred1 ",
1101 " ",
1102 "75,76,69,0.86,0.16,f,-1,0,0.1 tracks/HDXred1 ",
1103 "75,76,69,0.87,0.16,f,-1,0,0.1 tracks/HDXred1 ",
1104 "75,76,69,0.88,0.16,f,-1,0,0.1 tracks/HDXred1 ",
1105 "75,76,69,0.89,0.16,f,-1,0,0.1 tracks/HDXred1 ",
1106 "75,76,69,0.9,0.16,f,-1,0,0.1 tracks/HDXred1 ",
1107 " ",
1108 "75,76,69,0.86,0.18,f,-1,0,0.1 tracks/HDXred1 ",
1109 "75,76,69,0.87,0.18,f,-1,0,0.1 tracks/HDXred1 ",
1110 "75,76,69,0.88,0.18,f,-1,0,0.1 tracks/HDXred1 ",
1111 "75,76,69,0.89,0.18,f,-1,0,0.1 tracks/HDXred1 ",
1112 "75,76,69,0.9,0.18,f,-1,0,0.1 tracks/HDXred1 ",
1113 " ",
1114 "75,76,69,0.86,0.2,f,-1,0,0.1 tracks/HDXred1 ",
1115 "75,76,69,0.87,0.2,f,-1,0,0.1 tracks/HDXred1 ",
1116 "75,76,69,0.88,0.2,f,-1,0,0.1 tracks/HDXred1 ",
1117 "75,76,69,0.89,0.2,f,-1,0,0.1 tracks/HDXred1 ",
1118 "75,76,69,0.9,0.2,f,-1,0,0.1 tracks/HDXred1 ",
1119 " ",
1120 "75,76,69,0.86,0.22,f,-1,0,0.1 tracks/HDXred1 ",
1121 "75,76,69,0.87,0.22,f,-1,0,0.1 tracks/HDXred1 ",
1122 "75,76,69,0.88,0.22,f,-1,0,0.1 tracks/HDXred1 ",
1123 "75,76,69,0.89,0.22,f,-1,0,0.1 tracks/HDXred1 ",
1124 "75,76,69,0.9,0.22,f,-1,0,0.1 tracks/HDXred1 ",
1125 " ",
1126 "75,76,69,0.86,0.24,f,-1,0,0.1 tracks/HDXred1 ",
1127 "75,76,69,0.87,0.24,f,-1,0,0.1 tracks/HDXred1 ",
1128 "75,76,69,0.88,0.24,f,-1,0,0.1 tracks/HDXred1 ",
1129 "75,76,69,0.89,0.24,f,-1,0,0.1 tracks/HDXred1 ",
1130 "75,76,69,0.9,0.24,f,-1,0,0.1 tracks/HDXred1 ",
1131 " ",
1132 "75,76,69,0.86,0.26,f,-1,0,0.1 tracks/HDXred1 ",
1133 "75,76,69,0.87,0.26,f,-1,0,0.1 tracks/HDXred1 ",
1134 "75,76,69,0.88,0.26,f,-1,0,0.1 tracks/HDXred1 ",
1135 "75,76,69,0.89,0.26,f,-1,0,0.1 tracks/HDXred1 ",
1136 "75,76,69,0.9,0.26,f,-1,0,0.1 tracks/HDXred1 ",
1137 " ",
1138 "75,76,69,0.86,0.28,f,-1,0,0.1 tracks/HDXred1 ",
1139 "75,76,69,0.87,0.28,f,-1,0,0.1 tracks/HDXred1 ",
1140 "75,76,69,0.88,0.28,f,-1,0,0.1 tracks/HDXred1 ",
1141 "75,76,69,0.89,0.28,f,-1,0,0.1 tracks/HDXred1 ",
1142 "75,76,69,0.9,0.28,f,-1,0,0.1 tracks/HDXred1 ",
1143 " ",
1144 ";RR TURN SIGNAL (center) ",
1145 "75,76,69,0.92,0.08,r,-1,400,0.1 ",
1146 "75,76,69,0.93,0.08,r,-1,400,0.1 ",
1147 "75,76,69,0.94,0.08,r,-1,400,0.1 ",
1148 "75,76,69,0.95,0.08,r,-1,400,0.1 ",
1149 "75,76,69,0.96,0.08,r,-1,400,0.1 ",
1150 " ",
1151 "75,76,69,0.92,0.1,r,-1,400,0.1 ",
1152 "75,76,69,0.93,0.1,r,-1,400,0.1 ",
1153 "75,76,69,0.94,0.1,r,-1,400,0.1 ",
1154 "75,76,69,0.95,0.1,r,-1,400,0.1 ",
1155 "75,76,69,0.96,0.1,r,-1,400,0.1 ",
1156 " ",
1157 "75,76,69,0.92,0.12,r,-1,400,0.1 ",
1158 "75,76,69,0.93,0.12,r,-1,400,0.1 ",
1159 "75,76,69,0.94,0.12,r,-1,400,0.1 ",
1160 "75,76,69,0.95,0.12,r,-1,400,0.1 ",
1161 "75,76,69,0.96,0.12,r,-1,400,0.1 ",
1162 " ",
1163 "75,76,69,0.92,0.14,r,-1,400,0.1 ",
1164 "75,76,69,0.93,0.14,r,-1,400,0.1 ",
1165 "75,76,69,0.94,0.14,r,-1,400,0.1 ",
1166 "75,76,69,0.95,0.14,r,-1,400,0.1 ",
1167 "75,76,69,0.96,0.14,r,-1,400,0.1 ",
1168 " ",
1169 "75,76,69,0.92,0.16,r,-1,400,0.1 ",
1170 "75,76,69,0.93,0.16,r,-1,400,0.1 ",
1171 "75,76,69,0.94,0.16,r,-1,400,0.1 ",
1172 "75,76,69,0.95,0.16,r,-1,400,0.1 ",
1173 "75,76,69,0.96,0.16,r,-1,400,0.1 ",
1174 " ",
1175 "75,76,69,0.92,0.18,r,-1,400,0.1 ",
1176 "75,76,69,0.93,0.18,r,-1,400,0.1 ",
1177 "75,76,69,0.94,0.18,r,-1,400,0.1 ",
1178 "75,76,69,0.95,0.18,r,-1,400,0.1 ",
1179 "75,76,69,0.96,0.18,r,-1,400,0.1 ",
1180 " ",
1181 "75,76,69,0.92,0.2,r,-1,400,0.1 ",
1182 "75,76,69,0.93,0.2,r,-1,400,0.1 ",
1183 "75,76,69,0.94,0.2,r,-1,400,0.1 ",
1184 "75,76,69,0.95,0.2,r,-1,400,0.1 ",
1185 "75,76,69,0.96,0.2,r,-1,400,0.1 ",
1186 " ",
1187 "75,76,69,0.92,0.22,r,-1,400,0.1 ",
1188 "75,76,69,0.93,0.22,r,-1,400,0.1 ",
1189 "75,76,69,0.94,0.22,r,-1,400,0.1 ",
1190 "75,76,69,0.95,0.22,r,-1,400,0.1 ",
1191 "75,76,69,0.96,0.22,r,-1,400,0.1 ",
1192 " ",
1193 "75,76,69,0.92,0.24,r,-1,400,0.1 ",
1194 "75,76,69,0.93,0.24,r,-1,400,0.1 ",
1195 "75,76,69,0.94,0.24,r,-1,400,0.1 ",
1196 "75,76,69,0.95,0.24,r,-1,400,0.1 ",
1197 "75,76,69,0.96,0.24,r,-1,400,0.1 ",
1198 " ",
1199 "75,76,69,0.92,0.26,r,-1,400,0.1 ",
1200 "75,76,69,0.93,0.26,r,-1,400,0.1 ",
1201 "75,76,69,0.94,0.26,r,-1,400,0.1 ",
1202 "75,76,69,0.95,0.26,r,-1,400,0.1 ",
1203 "75,76,69,0.96,0.26,r,-1,400,0.1 ",
1204 " ",
1205 "75,76,69,0.92,0.28,r,-1,400,0.1 ",
1206 "75,76,69,0.93,0.28,r,-1,400,0.1 ",
1207 "75,76,69,0.94,0.28,r,-1,400,0.1 ",
1208 "75,76,69,0.95,0.28,r,-1,400,0.1 ",
1209 "75,76,69,0.96,0.28,r,-1,400,0.1 ",
1210 "",
1211 "",
1212 " ",
1213 "flares2 ",
1214 ";RefNode,X,Y,OffsetX, OffsetY, OffsetZ, Type, ControlNumber, BlinkDelay, Size, MaterialName ",
1215 "71, 72, 73, 0.05, 0.04, 1.85, u, 4, 0, 1 tracks/HDXdome ",
1216 " ",
1217 "71, 72, 73, 0.12, 0.11, 1.88, u, 4, 0, 1.0 tracks/HDXdome ",
1218 "71, 72, 73, 0.12, 0.30, 1.88, u, 4, 0, 1.0 tracks/HDXdome ",
1219 "71, 72, 73, 0.12, 0.50, 1.89, u, 4, 0, 1.0 tracks/HDXdome ",
1220 "71, 72, 73, 0.12, 0.70, 1.90, u, 4, 0, 1.0 tracks/HDXdome ",
1221 "71, 72, 73, 0.12, 0.90, 1.91, u, 4, 0, 1.0 tracks/HDXdome ",
1222 " ",
1223 "71, 72, 73, 0.92, 0.11, 1.89, u, 4, 0, 1.0 tracks/HDXdome ",
1224 "71, 72, 73, 0.92, 0.30, 1.89, u, 4, 0, 1.0 tracks/HDXdome ",
1225 "71, 72, 73, 0.92, 0.50, 1.90, u, 4, 0, 1.0 tracks/HDXdome ",
1226 "71, 72, 73, 0.92, 0.70, 1.91, u, 4, 0, 1.0 tracks/HDXdome ",
1227 "71, 72, 73, 0.92, 0.90, 1.92, u, 4, 0, 1.0 tracks/HDXdome ",
1228 " ",
1229 "69,70,73,-0.04,0.75, -2.3, u,1, 0, 1.1 tracks/HDX8yellow1 ",
1230 "69,70,73,0.66,0.75, -2.3, u,1, 0, 1.1 tracks/HDX8yellow2 ",
1231 "69,70,73,-0.1,0.6, -2.3, u,2, 0, 1.1 tracks/HDX8red1 ",
1232 "69,70,73,0.8,0.6, -2.3, u,2, 0, 1.1 tracks/HDX8red2 ",
1233 "67,68,75,0.09,0.62,1.3,b,-1,0,1 ",
1234 "67,68,75,0.09,0.62,1.2,f,-1,0,1 tracks/HDXred ",
1235 "67,68,75,0.91,0.62,1.3,b,-1,0,1 ",
1236 "67,68,75,0.91,0.62,1.2,f,-1,0,1 tracks/HDXred ",
1237 "67,68,75,0.18,0.62,1.2,R,-1,0,1 ",
1238 "67,68,75,0.82,0.62,1.2,R,-1,0,1 ",
1239 " ",
1240 "125,129,127,0,0,0,u,2,0,2 tracks/HDXstrobe ",
1241 "125,129,127,0,0,0,u,3,0,2 tracks/HDXstrobe ",
1242 "125,127,128,0,0,0,u,2,0,2 tracks/HDXstrobe ",
1243 "125,127,128,0,0,0,u,3,0,2 tracks/HDXstrobe ",
1244 "125,128,126,0,0,0,u,2,0,2 tracks/HDXstrobe ",
1245 "125,128,126,0,0,0,u,3,0,2 tracks/HDXstrobe ",
1246 "125,126,129,0,0,0,u,2,0,2 tracks/HDXstrobe ",
1247 "125,126,129,0,0,0,u,3,0,2 tracks/HDXstrobe ",
1248 " ",
1249 " ",
1250 "materialflarebindings ",
1251 "0, sign_STOP ",
1252 "1, Indicator_yellowindicator ",
1253 "2, Indicator_redindicator ",
1254 "3, dome_domelight ",
1255 "//4, strobe_strobe ",
1256 "//4, strobe_strobeI ",
1257 "//5, strobe_strobe ",
1258 "//5, strobe_strobeI ",
1259 " ",
1260 " ",
1261 " ",
1262 "props ",
1263 ";ref,x,y,offsetx,offsety,offsetz,rotx,roty,rotz,mesh ",
1264 " ",
1265 "86,87,1,0,0,0,0,180,0, HDXbumper.mesh ",
1266 "111,110,59,-0.2,-0.56,-0.02,0,-90,180, signback.mesh ",
1267 "107,104,45,-0.01,0.47,0.02,0,90,0, signback.mesh ",
1268 "111,113,112,1,0.05,-0.02,0,0,180, sign.mesh ",
1269 "107,105,106,1.26,-0.22,-0.02,0,0,180, sign.mesh ",
1270 "53,54,55, -.32, 2.092, -1.13, 1, 0, 180, edoor.mesh ",
1271 "add_animation -90, 0, 0, source: event, mode: y-rotation,eventlock, event: COMMANDS_06 ",
1272 "add_animation -1.42, 0, 0, source: event, mode: y-offset,eventlock, event: COMMANDS_06 ",
1273 "add_animation 1.82, 0, 0, source: event, mode: x-offset,eventlock, event: COMMANDS_06 ",
1274 " ",
1275 "//add_animation, 0.05, -1, 85, source: event, mode: x-rotation, autoanimate, noflip, bounce, eventlock, event: TRUCK_LIGHTTOGGLE5",
1276 " ",
1277 " ",
1278 "53,54,55, -.32, 2.095, -1.145, 0.5, 0, 180, windowb.mesh ",
1279 "53,54,55, -.32, 2.095, -1.140, 0.5, 0, 180, windowf.mesh ",
1280 "add_animation, -0.18, 0, -0.18, source: event, mode: y-offset, autoanimate, bounce, eventlock, event: COMMANDS_05 ",
1281 " ",
1282 " ",
1283 "101,100,98, 3.9, 0.35, -1.28, 90, -92, 180, HDXguard.mesh ",
1284 " ",
1285 ";buttons! ",
1286 ";f/b, u/d, l/r ",
1287 "86,84,77,0.219,0.865,0.201,27,-10,178, doorrocker.mesh ",
1288 "add_animation -8, 0, 0, source: event, mode: y-rotation, noflip, event: COMMANDS_03 ",
1289 "add_animation 8, 0, 0, source: event, mode: x-rotation, noflip, event: COMMANDS_03 ",
1290 "add_animation 8, 0, 0, source: event, mode: y-rotation, noflip, event: COMMANDS_04 ",
1291 "add_animation -8, 0, 0, source: event, mode: x-rotation, noflip, event: COMMANDS_04 ",
1292 " ",
1293 "86,84,77,0.280,0.850,0.201,18,-30,220, Indicator.mesh ",
1294 " ",
1295 "86,84,77,0.280,0.825,0.27,27,-10,181, button2.mesh ",
1296 "add_animation 10, 0, 0, source: event, mode: y-rotation, noflip, event: TRUCK_LIGHTTOGGLE1 ",
1297 "add_animation -10, 0, 0, source: event, mode: x-rotation, noflip, event: TRUCK_LIGHTTOGGLE1 ",
1298 " ",
1299 "86,84,77,0.335,0.818,0.270,-17,30,46, button3.mesh ",
1300 "add_animation -15, 0, 0, source: event, mode: y-rotation, noflip, event: TRUCK_LIGHTTOGGLE3 ",
1301 "//add_animation 10, 0, 0, source: event, mode: x-rotation, noflip, event: TRUCK_LIGHTTOGGLE3 ",
1302 "",
1303 ";wipers ",
1304 "123, 72, 124, 0, 0, 0, 35, 180, -90, wiper.mesh ",
1305 "add_animation, 0.05, -85, 1, source: event, mode: x-rotation, autoanimate, noflip, bounce, eventlock, event: TRUCK_LIGHTTOGGLE5 ",
1306 " ",
1307 "124, 71, 123, 0, 0, 0, -35, 0, -90, wiper.mesh ",
1308 "add_animation, 0.05, -1, 85, source: event, mode: x-rotation, autoanimate, noflip, bounce, eventlock, event: TRUCK_LIGHTTOGGLE5 ",
1309 " ",
1310 "49, 77, 51, -2.4, 0.943, -0.02, 90, 0, -90, HDXrearview.mesh ",
1311 " ",
1312 "52,131,78,-0.5,0,0.1,86.5,180,160, HDXrmirror.mesh ",
1313 " ",
1314 "51,130,77,-0.5,0,-0.1,89.5,180,200, HDXlmirror.mesh ",
1315 " ",
1316 ";interior ",
1317 "83,79,61,0.5,-0.06,-0.36,0,90,0, HDXseats.mesh ",
1318 "120,121,122,1.2,0,0,0,90,0, HDXdseat.mesh ",
1319 " ",
1320 ";ceiling ",
1321 "71, 72, 73, 0, 0.04, -0.10, 90, 90, 8, dome.mesh ",
1322 " ",
1323 "71, 72, 73, 0.1, 0.11, -0.08, 90, 90, 8, dome.mesh ",
1324 "71, 72, 73, 0.1, 0.30, -0.07, 90, 90, 8, dome.mesh ",
1325 "71, 72, 73, 0.1, 0.50, -0.055, 90, 90, 8, dome.mesh ",
1326 "71, 72, 73, 0.1, 0.70, -0.042, 90, 90, 8, dome.mesh ",
1327 "71, 72, 73, 0.1, 0.90, -0.03, 90, 90, 8, dome.mesh ",
1328 " ",
1329 "71, 72, 73, 0.9, 0.11, -0.08, 90, 90, -8, dome.mesh ",
1330 "71, 72, 73, 0.9, 0.30, -0.07, 90, 90, -8, dome.mesh ",
1331 "71, 72, 73, 0.9, 0.50, -0.055, 90, 90, -8, dome.mesh ",
1332 "71, 72, 73, 0.9, 0.70, -0.042, 90, 90, -8, dome.mesh ",
1333 "71, 72, 73, 0.9, 0.90, -0.03, 90, 90, -8, dome.mesh ",
1334 " ",
1335 "71, 72, 73, 0.1, 0.21, -0.08, 0, 0, 8, speaker.mesh ",
1336 "71, 72, 73, 0.1, 0.40, -0.07, 0, 0, 8, speaker.mesh ",
1337 "71, 72, 73, 0.1, 0.595, -0.055, 0, 0, 8, speaker.mesh ",
1338 "71, 72, 73, 0.1, 0.79, -0.042, 0, 0, 8, speaker.mesh ",
1339 " ",
1340 "71, 72, 73, 0.9, 0.16, -0.08, 0, 0, -8, speaker.mesh ",
1341 "71, 72, 73, 0.9, 0.35, -0.07, 0, 0, -8, speaker.mesh ",
1342 "71, 72, 73, 0.9, 0.545, -0.055, 0, 0, -8, speaker.mesh ",
1343 "71, 72, 73, 0.9, 0.79, -0.042, 0, 0, -8, speaker.mesh ",
1344 " ",
1345 "86,55,51, 0.55,0.62, -0.01, 0, 90, 180, number.mesh ",
1346 "77, 49, 62, -0.03, 0, 1.25, 0, 184, 90, number.mesh ",
1347 "78, 50, 52, 0.1, -0.26, -0.03, 183.5, 90, 0, number.mesh ",
1348 "87,56,52, 0.475,0.62, 0.01, 0, 90, 0, number.mesh ",
1349 "67,68,75 0.425, 0.8, -0.039, 0, 90, 180, number.mesh ",
1350 "51,77,52 -0.1, 0.75, -0.008, 0, -180, 180, number.mesh ",
1351 " ",
1352 "//75,76,69, 0.04, 0.049, -0.032, 90, 0, -90, leftrearsignal.mesh ",
1353 "//85, 55, 46, 0.05, 6.3, 0, 90, 90, -90, leftsidesignal1.mesh ",
1354 " ",
1355 " ",
1356 ";dashboard ",
1357 "49,77,51,-0.38,-0.10,0.14,55,0,180, 20cmspedo.mesh ",
1358 "49,77,51,0.15,-.11,0.14,55,0,180, 20cmtach.mesh ",
1359 "49,77,51,-1.10,-.11,0.18,55,0,180, 20cmselector.mesh ",
1360 " ",
1361 "118,119,117,0.615,0.08,0.05,-90,0,0, swheel.mesh ",
1362 "add_animation, -500, -500, 500, source: steeringwheel, mode: y-rotation ",
1363 " ",
1364 "//add_animation 200, 0, 0, source: steeringwheel, mode: z-rotation ",
1365 "//add_animation -200, 0, 0, source: steeringwheel, mode: z-rotation ",
1366 " ",
1367 "73,74,71,0.5,0.1,-0.11,0,0,180, strobe.mesh ",
1368 " ",
1369 " ",
1370 "53,54,55, -0.320, 2.095, -1.135, 1, 0, 180, HDX.mesh ",
1371 " ",
1372 "//add_animation -0.007, 0, 0, source: parking, mode:z-offset ",
1373 " ",
1374 " ",
1375 "flexbodies ",
1376 "91,90,93,-3.1,0.46,1,91,0,90,HDXdoor.mesh ",
1377 "forset 90, 91, 96, 93 ",
1378 " ",
1379 "92,89,94,2.85,0.465,-1,91,0,-90,HDXdoor.mesh ",
1380 "forset 89, 92, 94, 95 ",
1381 " ",
1382 " ",
1383 "submesh ",
1384 ";sides ",
1385 "87,68,52,cu ",
1386 "70,52,68,cu ",
1387 "86,51,67,cu ",
1388 "69,67,51,cu ",
1389 " ",
1390 "76,75,78,cu ",
1391 "75,77,76,cu ",
1392 " ",
1393 " ",
1394 "82,54,48,cu ",
1395 "58,64,56,cu ",
1396 "54,58,56,cu ",
1397 "56,54,47,cu ",
1398 " ",
1399 "85,45,55,cu ",
1400 "57,55,59,cu ",
1401 "53,55,57,cu ",
1402 "55,57,53,cu ",
1403 " ",
1404 ";back ",
1405 "68,67,70,cu ",
1406 "76,75,68,cu ",
1407 "69,70,67,cu ",
1408 "75,76,67,cu ",
1409 "116,75,67,cu ",
1410 "116,76,68,cu ",
1411 " ",
1412 "11,10,9,cu ",
1413 "10,11,8,cu ",
1414 "66,62,68,cu ",
1415 "65,60,67,cu ",
1416 " ",
1417 "88,87,79,cu ",
1418 "84,86,52,cu ",
1419 " ",
1420 ";roof ",
1421 "73,74,71,cu ",
1422 "74,73,72,cu ",
1423 " ",
1424 ";bottom ",
1425 "86,87,67,cu ",
1426 "87,86,68,cu ",
1427 " ",
1428 ";front ",
1429 "87,52,86,cu ",
1430 "86,87,51,cu ",
1431 "77,87,78,cu ",
1432 "78,77,87,cu ",
1433 "49,86,78,cu ",
1434 "50,77,87,cu ",
1435 " ",
1436 ";props ",
1437 "101,100,103,cu ",
1438 "114,110,115,cu ",
1439 "113,111,112,cu ",
1440 "109,104,108,cu ",
1441 "105,106,107,cu ",
1442 " ",
1443 "130,51,71,cu ",
1444 "131,52,72,cu ",
1445 " ",
1446 "end "};
1447 
1448 static int keyword;
1449 
1451 
1452 #define E_DELIMITER_SPACE "[[:blank:]]+"
1453 
1454 #define DEFINE_REGEX_IGNORECASE(_NAME_,_REGEXP_) \
1455  const std::regex _NAME_ = std::regex( _REGEXP_, std::regex::ECMAScript | std::regex::icase);
1456 
1458 #define E_KEYWORD_BLOCK(_NAME_) \
1459  "(^" _NAME_ "[[:blank:]]*$)?"
1460 
1462 #define E_KEYWORD_INLINE(_NAME_) \
1463  "(^" _NAME_ E_DELIMITER_SPACE ".*$)?"
1464 
1466 #define E_KEYWORD_INLINE_TOLERANT(_NAME_) \
1467  "(^" _NAME_ "[[:blank:],]+" ".*$)?"
1468 
1469 // IMPORTANT! If you add a value here, you must also modify File::Keywords enum, it relies on positions in this regex
1470 #define IDENTIFY_KEYWORD_REGEX_STRING \
1471  E_KEYWORD_INLINE_TOLERANT("add_animation") \
1472  E_KEYWORD_BLOCK("airbrakes") E_KEYWORD_BLOCK("animators") \
1473  E_KEYWORD_INLINE("AntiLockBrakes") E_KEYWORD_BLOCK("axles") \
1474  E_KEYWORD_INLINE("author") E_KEYWORD_BLOCK("backmesh") \
1475  E_KEYWORD_BLOCK("beams") E_KEYWORD_BLOCK("brakes") \
1476  E_KEYWORD_BLOCK("cab") E_KEYWORD_BLOCK("camerarail") \
1477  E_KEYWORD_BLOCK("cameras") E_KEYWORD_BLOCK("cinecam") \
1478  E_KEYWORD_BLOCK("collisionboxes") E_KEYWORD_BLOCK("commands") \
1479  E_KEYWORD_BLOCK("commands2") E_KEYWORD_BLOCK("contacters") \
1480  E_KEYWORD_INLINE("cruisecontrol") E_KEYWORD_BLOCK("description") \
1481  E_KEYWORD_INLINE("detacher_group") E_KEYWORD_BLOCK("disabledefaultsounds") \
1482  E_KEYWORD_BLOCK("enable_advanced_deformation") \
1483  E_KEYWORD_BLOCK("end") E_KEYWORD_BLOCK("end_section") \
1484  E_KEYWORD_BLOCK("engine") E_KEYWORD_BLOCK("engoption") \
1485  E_KEYWORD_BLOCK("engturbo") E_KEYWORD_BLOCK("envmap") \
1486  E_KEYWORD_BLOCK("exhausts") E_KEYWORD_INLINE("extcamera") \
1487  E_KEYWORD_INLINE("fileformatversion") E_KEYWORD_INLINE("fileinfo") \
1488  E_KEYWORD_BLOCK("fixes") E_KEYWORD_BLOCK("flares") \
1489  E_KEYWORD_BLOCK("flares2") E_KEYWORD_BLOCK("flexbodies") \
1490  E_KEYWORD_INLINE("flexbody_camera_mode") E_KEYWORD_BLOCK("flexbodywheels") \
1491  E_KEYWORD_BLOCK("forwardcommands") E_KEYWORD_BLOCK("fusedrag") \
1492  E_KEYWORD_BLOCK("globals") E_KEYWORD_INLINE("guid") \
1493  E_KEYWORD_BLOCK("guisettings") E_KEYWORD_BLOCK("help") \
1494  E_KEYWORD_BLOCK("hideInChooser") E_KEYWORD_BLOCK("hookgroup") \
1495  E_KEYWORD_BLOCK("hooks") E_KEYWORD_BLOCK("hydros") \
1496  E_KEYWORD_BLOCK("importcommands") E_KEYWORD_BLOCK("lockgroups") \
1497  E_KEYWORD_BLOCK("lockgroup_default_nolock") E_KEYWORD_BLOCK("managedmaterials") \
1498  E_KEYWORD_BLOCK("materialflarebindings") E_KEYWORD_BLOCK("meshwheels") \
1499  E_KEYWORD_BLOCK("meshwheels2") E_KEYWORD_BLOCK("minimass") \
1500  E_KEYWORD_BLOCK("nodecollision") E_KEYWORD_BLOCK("nodes") \
1501  E_KEYWORD_BLOCK("nodes2") E_KEYWORD_BLOCK("particles") \
1502  E_KEYWORD_BLOCK("pistonprops") E_KEYWORD_INLINE("prop_camera_mode") \
1503  E_KEYWORD_BLOCK("props") E_KEYWORD_BLOCK("railgroups") \
1504  E_KEYWORD_BLOCK("rescuer") E_KEYWORD_BLOCK("rigidifiers") \
1505  E_KEYWORD_BLOCK("rollon") E_KEYWORD_BLOCK("ropables") \
1506  E_KEYWORD_BLOCK("ropes") E_KEYWORD_BLOCK("rotators") \
1507  E_KEYWORD_BLOCK("rotators2") E_KEYWORD_BLOCK("screwprops") \
1508  E_KEYWORD_INLINE("section") E_KEYWORD_INLINE("sectionconfig") \
1509  E_KEYWORD_INLINE("set_beam_defaults") E_KEYWORD_INLINE("set_beam_defaults_scale") \
1510  E_KEYWORD_INLINE("set_collision_range") E_KEYWORD_INLINE("set_inertia_defaults") \
1511  E_KEYWORD_INLINE("set_managedmaterials_options") E_KEYWORD_INLINE("set_node_defaults") \
1512  E_KEYWORD_BLOCK("set_shadows") E_KEYWORD_INLINE("set_skeleton_settings") \
1513  E_KEYWORD_BLOCK("shocks") E_KEYWORD_BLOCK("shocks2") \
1514  E_KEYWORD_BLOCK("slidenode_connect_instantly") E_KEYWORD_BLOCK("slidenodes") \
1515  E_KEYWORD_INLINE("SlopeBrake") E_KEYWORD_BLOCK("soundsources") \
1516  E_KEYWORD_BLOCK("soundsources2") E_KEYWORD_INLINE("speedlimiter") \
1517  E_KEYWORD_BLOCK("submesh") E_KEYWORD_INLINE("submesh_groundmodel") \
1518  E_KEYWORD_BLOCK("texcoords") E_KEYWORD_BLOCK("ties") \
1519  E_KEYWORD_BLOCK("torquecurve") E_KEYWORD_INLINE("TractionControl") \
1520  E_KEYWORD_BLOCK("triggers") E_KEYWORD_BLOCK("turbojets") \
1521  E_KEYWORD_BLOCK("turboprops") E_KEYWORD_BLOCK("turboprops2") \
1522  E_KEYWORD_BLOCK("videocamera") E_KEYWORD_BLOCK("wheeldetachers") \
1523  E_KEYWORD_BLOCK("wheels") E_KEYWORD_BLOCK("wheels2") \
1524  E_KEYWORD_BLOCK("wings")
1525 
1526 std::vector<std::string> lines_vec;
1527 
1528 DEFINE_REGEX_IGNORECASE( IDENTIFY_KEYWORD_IGNORE_CASE, IDENTIFY_KEYWORD_REGEX_STRING )
1529 
1531 {
1532  int count = sizeof(trucklines)/sizeof(const char*);
1533  for (int i = 0; i < count; ++i)
1534  {
1535  lines_vec.emplace_back(std::string(trucklines[0]));
1536  }
1537 }
1538 
1539 unsigned FindKeywordMatch(std::smatch& search_results)
1540 {
1541  // The 'results' array contains a complete match at positon [0] and sub-matches starting with [1],
1542  // so we get exact positions in Regexes::IDENTIFY_KEYWORD, which again match File::Keyword enum members
1543 
1544  for (unsigned int i = 1; i < search_results.size(); i++)
1545  {
1546  std::ssub_match sub = search_results[i];
1547  if (sub.matched)
1548  {
1549  // Build enum value directly from result offset
1550  return i;
1551  }
1552  }
1553  return INT_MAX;
1554 }
1555 
1556 static void Bench_sol1__Regex(benchmark::State& state)
1557 {
1558  std::smatch results;
1559  while (state.KeepRunning())
1560  {
1561  int count = (int) lines_vec.size();
1562  for (int i = 0; i < count; ++i)
1563  {
1564  std::regex_search(lines_vec[i], results, IDENTIFY_KEYWORD_IGNORE_CASE); // Always returns true.
1565  keyword = FindKeywordMatch(results);
1566  }
1567  }
1568 }
1570 
1571 static void Bench_sol1b_RegexPreCond(benchmark::State& state)
1572 {
1573  using namespace std;
1574  std::smatch results;
1575  while (state.KeepRunning())
1576  {
1577  int count = (int) lines_vec.size();
1578  for (int i = 0; i < count; ++i)
1579  {
1580  // precondition
1581  char c = lines_vec[i][0];
1582  //if ((c >= (int)'0' && c <= (int)'9'))
1583  if (! ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
1584  {
1585  continue;
1586  }
1587  // end precond.
1588 
1589  std::regex_search(lines_vec[i], results, IDENTIFY_KEYWORD_IGNORE_CASE); // Always returns true.
1590  keyword = FindKeywordMatch(results);
1591  }
1592  }
1593 }
1595 
1596 static void Bench_sol1c_RegexPreCondIsdigit(benchmark::State& state)
1597 {
1598  using namespace std;
1599  std::smatch results;
1600  while (state.KeepRunning())
1601  {
1602  int count = (int) lines_vec.size();
1603  for (int i = 0; i < count; ++i)
1604  {
1605  // precondition - use isdigit()
1606  char c = lines_vec[i][0];
1607  if (isdigit(c))
1608  {
1609  continue;
1610  }
1611  // end precond.
1612 
1613  std::regex_search(lines_vec[i], results, IDENTIFY_KEYWORD_IGNORE_CASE); // Always returns true.
1614  keyword = FindKeywordMatch(results);
1615  }
1616  }
1617 }
1619  // Scores ~2x worse than non-isdigit() test (Win7/MSVC2015/IntelCore i5-3570K@3.4Ghz) --only_a_ptr, 10/2016
1620 
1621 static void Bench_sol1d_RegexPreCondIsAlpha(benchmark::State& state)
1622 {
1623  using namespace std;
1624  std::smatch results;
1625  while (state.KeepRunning())
1626  {
1627  int count = (int) lines_vec.size();
1628  for (int i = 0; i < count; ++i)
1629  {
1630  // precondition - use isdigit()
1631  char c = lines_vec[i][0];
1632  if (!isalpha(c))
1633  {
1634  continue;
1635  }
1636  // end precond.
1637 
1638  std::regex_search(lines_vec[i], results, IDENTIFY_KEYWORD_IGNORE_CASE); // Always returns true.
1639  keyword = FindKeywordMatch(results);
1640  }
1641  }
1642 }
1644  // Scores ~2x worse than non-isdigit() test (Win7/MSVC2015/IntelCore i5-3570K@3.4Ghz) --only_a_ptr, 10/2016
1645 
1646 // ################################# Solution 2 - switch ######################################
1647 
1648 #ifndef WIN32
1649  #define stricmp strcasecmp
1650  #define strnicmp strncasecmp
1651 #endif
1652 
1653 // Compare both upper&lower-case ASCII character
1654 #define CASE(_LOWER_) case(_LOWER_): case((_LOWER_)-32)
1655 // Match line against keyword (start with 2nd character)
1656 #define MATCH(_STR_, _KWORD_) if (stricmp(line+1, _STR_+1) == 0) return _KWORD_;
1657 
1659 {
1660  switch (line[0])
1661  {
1662  CASE('a'):
1663  MATCH("add_animation", KEYWORD_ADD_ANIMATION );
1664  MATCH("airbrakes", KEYWORD_AIRBRAKES );
1665  MATCH("animators", KEYWORD_ANIMATORS );
1666  MATCH("AntiLockBrakes", KEYWORD_ANTI_LOCK_BRAKES );
1667  MATCH("axles", KEYWORD_AXLES );
1668  MATCH("author", KEYWORD_AUTHOR );
1669  break;
1670  CASE('b'):
1671  MATCH("backmesh", KEYWORD_BACKMESH );
1672  MATCH("beams", KEYWORD_BEAMS );
1673  MATCH("brakes", KEYWORD_BRAKES );
1674  break;
1675  CASE('c'):
1676  MATCH("cab", KEYWORD_CAB );
1677  MATCH("camerarail", KEYWORD_CAMERARAIL );
1678  MATCH("cameras", KEYWORD_CAMERAS );
1679  MATCH("cinecam", KEYWORD_CINECAM );
1680  MATCH("collisionboxes", KEYWORD_COLLISIONBOXES );
1681  MATCH("commands", KEYWORD_COMMANDS );
1682  MATCH("commands2", KEYWORD_COMMANDS2 );
1683  MATCH("contacters", KEYWORD_CONTACTERS );
1684  MATCH("cruisecontrol", KEYWORD_CRUISECONTROL );
1685  break;
1686  CASE('d'):
1687  MATCH("description", KEYWORD_DESCRIPTION );
1688  MATCH("detacher_group", KEYWORD_DETACHER_GROUP );
1689  MATCH("disabledefaultsounds", KEYWORD_DISABLEDEFAULTSOUNDS );
1690  break;
1691  CASE('e'):
1692  MATCH("enable_advanced_deformation", KEYWORD_ENABLE_ADVANCED_DEFORMATION );
1693  MATCH("end", KEYWORD_END );
1694  MATCH("end_section", KEYWORD_END_SECTION );
1695  MATCH("engine", KEYWORD_ENGINE );
1696  MATCH("engoption", KEYWORD_ENGOPTION );
1697  MATCH("engturbo", KEYWORD_ENGTURBO );
1698  MATCH("envmap", KEYWORD_ENVMAP );
1699  MATCH("exhausts", KEYWORD_EXHAUSTS );
1700  MATCH("extcamera", KEYWORD_EXTCAMERA );
1701  break;
1702  CASE('f'):
1703  MATCH("fileformatversion", KEYWORD_FILEFORMATVERSION );
1704  MATCH("fileinfo", KEYWORD_FILEINFO );
1705  MATCH("fixes", KEYWORD_FIXES );
1706  MATCH("flares", KEYWORD_FLARES );
1707  MATCH("flares2", KEYWORD_FLARES2 );
1708  MATCH("flexbodies", KEYWORD_FLEXBODIES );
1709  MATCH("flexbody_camera_mode", KEYWORD_FLEXBODY_CAMERA_MODE );
1710  MATCH("flexbodywheels", KEYWORD_FLEXBODYWHEELS );
1711  MATCH("forwardcommands", KEYWORD_FORWARDCOMMANDS );
1712  MATCH("fusedrag", KEYWORD_FUSEDRAG );
1713  break;
1714  CASE('g'):
1715  MATCH("globals", KEYWORD_GLOBALS );
1716  MATCH("guid", KEYWORD_GUID );
1717  MATCH("guisettings", KEYWORD_GUISETTINGS );
1718  break;
1719  CASE('h'):
1720  MATCH("help", KEYWORD_HELP );
1721  MATCH("hideInChooser", KEYWORD_HIDE_IN_CHOOSER );
1722  MATCH("hookgroup", KEYWORD_HOOKGROUP );
1723  MATCH("hooks", KEYWORD_HOOKS );
1724  MATCH("hydros", KEYWORD_HYDROS );
1725  break;
1726  CASE('i'):
1727  MATCH("importcommands", KEYWORD_IMPORTCOMMANDS );
1728  break;
1729  CASE('l'):
1730  MATCH("lockgroups", KEYWORD_LOCKGROUPS );
1731  MATCH("lockgroup_default_nolock", KEYWORD_LOCKGROUP_DEFAULT_NOLOCK );
1732  break;
1733  CASE('m'):
1734  MATCH("managedmaterials", KEYWORD_MANAGEDMATERIALS );
1735  MATCH("materialflarebindings", KEYWORD_MATERIALFLAREBINDINGS );
1736  MATCH("meshwheels", KEYWORD_MESHWHEELS );
1737  MATCH("meshwheels2", KEYWORD_MESHWHEELS2 );
1738  MATCH("minimass", KEYWORD_MINIMASS );
1739  break;
1740  CASE('n'):
1741  MATCH("nodecollision", KEYWORD_NODECOLLISION );
1742  MATCH("nodes", KEYWORD_NODES );
1743  MATCH("nodes2", KEYWORD_NODES2 );
1744  break;
1745  CASE('p'):
1746  MATCH("particles", KEYWORD_PARTICLES );
1747  MATCH("pistonprops", KEYWORD_PISTONPROPS );
1748  MATCH("prop_camera_mode", KEYWORD_PROP_CAMERA_MODE );
1749  MATCH("props", KEYWORD_PROPS );
1750  break;
1751  CASE('r'):
1752  MATCH("railgroups", KEYWORD_RAILGROUPS );
1753  MATCH("rescuer", KEYWORD_RESCUER );
1754  MATCH("rigidifiers", KEYWORD_RIGIDIFIERS );
1755  MATCH("rollon", KEYWORD_ROLLON );
1756  MATCH("ropables", KEYWORD_ROPABLES );
1757  MATCH("ropes", KEYWORD_ROPES );
1758  MATCH("rotators", KEYWORD_ROTATORS );
1759  MATCH("rotators2", KEYWORD_ROTATORS2 );
1760  break;
1761  CASE('s'):
1762  MATCH("screwprops", KEYWORD_SCREWPROPS );
1763  MATCH("section", KEYWORD_SECTION );
1764  MATCH("sectionconfig", KEYWORD_SECTIONCONFIG );
1765  MATCH("set_beam_defaults", KEYWORD_SET_BEAM_DEFAULTS );
1766  MATCH("set_beam_defaults_scale", KEYWORD_SET_BEAM_DEFAULTS_SCALE );
1767  MATCH("set_collision_range", KEYWORD_SET_COLLISION_RANGE );
1768  MATCH("set_inertia_defaults", KEYWORD_SET_INERTIA_DEFAULTS );
1769  MATCH("set_managedmaterials_options", KEYWORD_SET_MANAGEDMATERIALS_OPTIONS);
1770  MATCH("set_node_defaults", KEYWORD_SET_NODE_DEFAULTS );
1771  MATCH("set_shadows", KEYWORD_SET_SHADOWS );
1772  MATCH("set_skeleton_settings", KEYWORD_SET_SKELETON_SETTINGS );
1773  MATCH("shocks", KEYWORD_SHOCKS );
1774  MATCH("shocks2", KEYWORD_SHOCKS2 );
1775  MATCH("slidenode_connect_instantly", KEYWORD_SLIDENODE_CONNECT_INSTANTLY );
1776  MATCH("slidenodes", KEYWORD_SLIDENODES );
1777  MATCH("SlopeBrake", KEYWORD_SLOPE_BRAKE );
1778  MATCH("soundsources", KEYWORD_SOUNDSOURCES );
1779  MATCH("soundsources2", KEYWORD_SOUNDSOURCES2 );
1780  MATCH("speedlimiter", KEYWORD_SPEEDLIMITER );
1781  MATCH("submesh", KEYWORD_SUBMESH );
1782  MATCH("submesh_groundmodel", KEYWORD_SUBMESH_GROUNDMODEL );
1783  break;
1784  CASE('t'):
1785  MATCH("texcoords", KEYWORD_TEXCOORDS );
1786  MATCH("ties", KEYWORD_TIES );
1787  MATCH("torquecurve", KEYWORD_TORQUECURVE );
1788  MATCH("TractionControl", KEYWORD_TRACTION_CONTROL );
1789  MATCH("triggers", KEYWORD_TRIGGERS );
1790  MATCH("turbojets", KEYWORD_TURBOJETS );
1791  MATCH("turboprops", KEYWORD_TURBOPROPS );
1792  MATCH("turboprops2", KEYWORD_TURBOPROPS2 );
1793  break;
1794  CASE('v'):
1795  MATCH("videocamera", KEYWORD_VIDEOCAMERA );
1796  break;
1797  CASE('w'):
1798  MATCH("wheeldetachers", KEYWORD_WHEELDETACHERS );
1799  MATCH("wheels", KEYWORD_WHEELS );
1800  MATCH("wheels2", KEYWORD_WHEELS2 );
1801  MATCH("wings", KEYWORD_WINGS );
1802  break;
1803 
1804  default:
1805  return KEYWORD_INVALID;
1806  }
1807 }
1808 
1809 static void Bench_sol2__Switch(benchmark::State& state)
1810 {
1811  while (state.KeepRunning())
1812  {
1813  int count = sizeof(trucklines)/sizeof(const char*);
1814  for (int i = 0; i < count; ++i)
1815  {
1817  }
1818  }
1819 }
1821 
1822 static void Bench_sol2b_SwitchPreCond(benchmark::State& state)
1823 {
1824  while (state.KeepRunning())
1825  {
1826  int count = sizeof(trucklines)/sizeof(const char*);
1827  for (int i = 0; i < count; ++i)
1828  {
1829  // precondition
1830  char c = trucklines[i][0];
1831  if (! ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')))
1832  {
1833  keyword = (int) KEYWORD_INVALID;
1834  continue;
1835  }
1836  // precondition
1837 
1839  }
1840  }
1841 }
1843 
1844 int main(int argc, char** argv)
1845 {
1846  using namespace std;
1847 
1848  // prepare
1849  cout << "Preparing..." << endl;
1851 
1852 
1853  // benchmark
1854  ::benchmark::Initialize(&argc, argv);
1855  ::benchmark::RunSpecifiedBenchmarks();
1856 #ifdef _MSC_VER
1857  system("pause");
1858 #endif
1859  return (int) keyword;
1860 }
1861 
1862 
KEYWORD_SECTION
@ KEYWORD_SECTION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:44
KEYWORD_MATERIALFLAREBINDINGS
@ KEYWORD_MATERIALFLAREBINDINGS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:34
KEYWORD_SOUNDSOURCES2
@ KEYWORD_SOUNDSOURCES2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:52
BENCHMARK
BENCHMARK(Bench_sol1__Regex)
KEYWORD_END
@ KEYWORD_END
Definition: Bench_TruckParser_IdentifyKeyword.cpp:19
KEYWORD_TURBOPROPS2
@ KEYWORD_TURBOPROPS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:57
KEYWORD_SHOCKS
@ KEYWORD_SHOCKS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:49
KEYWORD_ANTI_LOCK_BRAKES
@ KEYWORD_ANTI_LOCK_BRAKES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:9
KEYWORD_TEXCOORDS
@ KEYWORD_TEXCOORDS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:54
KEYWORD_PROP_CAMERA_MODE
@ KEYWORD_PROP_CAMERA_MODE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:38
KEYWORD_BRAKES
@ KEYWORD_BRAKES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:12
KEYWORD_CONTACTERS
@ KEYWORD_CONTACTERS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:16
KEYWORD_LOCKGROUP_DEFAULT_NOLOCK
@ KEYWORD_LOCKGROUP_DEFAULT_NOLOCK
Definition: Bench_TruckParser_IdentifyKeyword.cpp:33
KEYWORD_IMPORTCOMMANDS
@ KEYWORD_IMPORTCOMMANDS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:32
Keyword
Keyword
Definition: Bench_TruckParser_IdentifyKeyword.cpp:6
KEYWORD_RAILGROUPS
@ KEYWORD_RAILGROUPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:39
KEYWORD_RESCUER
@ KEYWORD_RESCUER
Definition: Bench_TruckParser_IdentifyKeyword.cpp:40
KEYWORD_BEAMS
@ KEYWORD_BEAMS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:11
KEYWORD_ROTATORS
@ KEYWORD_ROTATORS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:42
KEYWORD_CAB
@ KEYWORD_CAB
Definition: Bench_TruckParser_IdentifyKeyword.cpp:12
Bench_sol1c_RegexPreCondIsdigit
static void Bench_sol1c_RegexPreCondIsdigit(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1596
KEYWORD_ROLLON
@ KEYWORD_ROLLON
Definition: Bench_TruckParser_IdentifyKeyword.cpp:41
CASE
#define CASE(_LOWER_)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1654
KEYWORD_EXHAUSTS
@ KEYWORD_EXHAUSTS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:22
KEYWORD_WHEELDETACHERS
@ KEYWORD_WHEELDETACHERS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:58
KEYWORD_FIXES
@ KEYWORD_FIXES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:24
KEYWORD_HOOKGROUP
@ KEYWORD_HOOKGROUP
Definition: Bench_TruckParser_IdentifyKeyword.cpp:30
KEYWORD_SLIDENODE_CONNECT_INSTANTLY
@ KEYWORD_SLIDENODE_CONNECT_INSTANTLY
Definition: Bench_TruckParser_IdentifyKeyword.cpp:50
Bench_sol2b_SwitchPreCond
static void Bench_sol2b_SwitchPreCond(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1822
KEYWORD_DISABLEDEFAULTSOUNDS
@ KEYWORD_DISABLEDEFAULTSOUNDS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:18
KEYWORD_GUISETTINGS
@ KEYWORD_GUISETTINGS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:29
KEYWORD_CINECAM
@ KEYWORD_CINECAM
Definition: Bench_TruckParser_IdentifyKeyword.cpp:14
KEYWORD_RIGIDIFIERS
@ KEYWORD_RIGIDIFIERS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:40
KEYWORD_ENGTURBO
@ KEYWORD_ENGTURBO
Definition: Bench_TruckParser_IdentifyKeyword.cpp:21
KEYWORD_TRIGGERS
@ KEYWORD_TRIGGERS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:56
KEYWORD_CRUISECONTROL
@ KEYWORD_CRUISECONTROL
Definition: Bench_TruckParser_IdentifyKeyword.cpp:16
KEYWORD_FLEXBODIES
@ KEYWORD_FLEXBODIES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:25
KEYWORD_SCREWPROPS
@ KEYWORD_SCREWPROPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:43
KEYWORD_MESHWHEELS2
@ KEYWORD_MESHWHEELS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:35
KEYWORD_WHEELS2
@ KEYWORD_WHEELS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:59
KEYWORD_GLOBALS
@ KEYWORD_GLOBALS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:28
KEYWORD_WHEELS
@ KEYWORD_WHEELS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:59
KEYWORD_PARTICLES
@ KEYWORD_PARTICLES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:37
KEYWORD_LOCKGROUPS
@ KEYWORD_LOCKGROUPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:32
KEYWORD_TRACTION_CONTROL
@ KEYWORD_TRACTION_CONTROL
Definition: Bench_TruckParser_IdentifyKeyword.cpp:55
KEYWORD_SOUNDSOURCES
@ KEYWORD_SOUNDSOURCES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:51
MATCH
#define MATCH(_STR_, _KWORD_)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1656
KEYWORD_NODECOLLISION
@ KEYWORD_NODECOLLISION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:36
KEYWORD_NODES2
@ KEYWORD_NODES2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:37
KEYWORD_NODES
@ KEYWORD_NODES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:36
IdentifyKeywordSwitch
Keyword IdentifyKeywordSwitch(const char *line)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1658
PrepareBench_sol1
void PrepareBench_sol1()
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1530
FindKeywordMatch
unsigned FindKeywordMatch(std::smatch &search_results)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1539
main
int main(int argc, char **argv)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1844
KEYWORD_ROTATORS2
@ KEYWORD_ROTATORS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:43
KEYWORD_COMMANDS2
@ KEYWORD_COMMANDS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:15
KEYWORD_DETACHER_GROUP
@ KEYWORD_DETACHER_GROUP
Definition: Bench_TruckParser_IdentifyKeyword.cpp:17
KEYWORD_FLEXBODY_CAMERA_MODE
@ KEYWORD_FLEXBODY_CAMERA_MODE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:26
KEYWORD_PROPS
@ KEYWORD_PROPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:39
KEYWORD_SHOCKS2
@ KEYWORD_SHOCKS2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:49
KEYWORD_INVALID
@ KEYWORD_INVALID
Definition: Bench_TruckParser_IdentifyKeyword.cpp:61
keyword
static int keyword
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1448
Bench_sol1b_RegexPreCond
static void Bench_sol1b_RegexPreCond(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1571
KEYWORD_MINIMASS
@ KEYWORD_MINIMASS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:35
KEYWORD_ROPES
@ KEYWORD_ROPES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:42
KEYWORD_ENVMAP
@ KEYWORD_ENVMAP
Definition: Bench_TruckParser_IdentifyKeyword.cpp:21
KEYWORD_FILEFORMATVERSION
@ KEYWORD_FILEFORMATVERSION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:23
KEYWORD_ADD_ANIMATION
@ KEYWORD_ADD_ANIMATION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:8
KEYWORD_TURBOJETS
@ KEYWORD_TURBOJETS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:56
KEYWORD_AIRBRAKES
@ KEYWORD_AIRBRAKES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:8
KEYWORD_ANIMATORS
@ KEYWORD_ANIMATORS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:9
KEYWORD_PISTONPROPS
@ KEYWORD_PISTONPROPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:38
KEYWORD_SLIDENODES
@ KEYWORD_SLIDENODES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:50
KEYWORD_SET_SKELETON_SETTINGS
@ KEYWORD_SET_SKELETON_SETTINGS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:48
Bench_sol1__Regex
static void Bench_sol1__Regex(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1556
KEYWORD_BACKMESH
@ KEYWORD_BACKMESH
Definition: Bench_TruckParser_IdentifyKeyword.cpp:11
KEYWORD_SET_SHADOWS
@ KEYWORD_SET_SHADOWS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:48
KEYWORD_SET_BEAM_DEFAULTS_SCALE
@ KEYWORD_SET_BEAM_DEFAULTS_SCALE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:45
KEYWORD_HYDROS
@ KEYWORD_HYDROS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:31
KEYWORD_FLEXBODYWHEELS
@ KEYWORD_FLEXBODYWHEELS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:26
trucklines
const char * trucklines[]
Definition: Bench_TruckParser_IdentifyKeyword.cpp:65
IDENTIFY_KEYWORD_REGEX_STRING
#define IDENTIFY_KEYWORD_REGEX_STRING
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1470
KEYWORD_ENGOPTION
@ KEYWORD_ENGOPTION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:20
Bench_sol2__Switch
static void Bench_sol2__Switch(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1809
KEYWORD_CAMERAS
@ KEYWORD_CAMERAS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:13
KEYWORD_TURBOPROPS
@ KEYWORD_TURBOPROPS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:57
KEYWORD_AUTHOR
@ KEYWORD_AUTHOR
Definition: Bench_TruckParser_IdentifyKeyword.cpp:10
KEYWORD_TIES
@ KEYWORD_TIES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:54
KEYWORD_ROPABLES
@ KEYWORD_ROPABLES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:41
KEYWORD_COLLISIONBOXES
@ KEYWORD_COLLISIONBOXES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:14
KEYWORD_GUID
@ KEYWORD_GUID
Definition: Bench_TruckParser_IdentifyKeyword.cpp:28
KEYWORD_SET_NODE_DEFAULTS
@ KEYWORD_SET_NODE_DEFAULTS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:47
KEYWORD_DESCRIPTION
@ KEYWORD_DESCRIPTION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:17
KEYWORD_FLARES
@ KEYWORD_FLARES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:24
KEYWORD_SPEEDLIMITER
@ KEYWORD_SPEEDLIMITER
Definition: Bench_TruckParser_IdentifyKeyword.cpp:52
KEYWORD_FUSEDRAG
@ KEYWORD_FUSEDRAG
Definition: Bench_TruckParser_IdentifyKeyword.cpp:27
Bench_sol1d_RegexPreCondIsAlpha
static void Bench_sol1d_RegexPreCondIsAlpha(benchmark::State &state)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1621
KEYWORD_SET_INERTIA_DEFAULTS
@ KEYWORD_SET_INERTIA_DEFAULTS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:46
KEYWORD_HIDE_IN_CHOOSER
@ KEYWORD_HIDE_IN_CHOOSER
Definition: Bench_TruckParser_IdentifyKeyword.cpp:30
KEYWORD_HOOKS
@ KEYWORD_HOOKS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:31
KEYWORD_HELP
@ KEYWORD_HELP
Definition: Bench_TruckParser_IdentifyKeyword.cpp:29
KEYWORD_SET_BEAM_DEFAULTS
@ KEYWORD_SET_BEAM_DEFAULTS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:45
DEFINE_REGEX_IGNORECASE
#define DEFINE_REGEX_IGNORECASE(_NAME_, _REGEXP_)
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1454
KEYWORD_FILEINFO
@ KEYWORD_FILEINFO
Definition: Bench_TruckParser_IdentifyKeyword.cpp:23
KEYWORD_TORQUECURVE
@ KEYWORD_TORQUECURVE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:55
KEYWORD_FLARES2
@ KEYWORD_FLARES2
Definition: Bench_TruckParser_IdentifyKeyword.cpp:25
lines_vec
std::vector< std::string > lines_vec
Definition: Bench_TruckParser_IdentifyKeyword.cpp:1526
KEYWORD_END_SECTION
@ KEYWORD_END_SECTION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:19
KEYWORD_FORWARDCOMMANDS
@ KEYWORD_FORWARDCOMMANDS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:27
KEYWORD_EXTCAMERA
@ KEYWORD_EXTCAMERA
Definition: Bench_TruckParser_IdentifyKeyword.cpp:22
KEYWORD_ENGINE
@ KEYWORD_ENGINE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:20
KEYWORD_VIDEOCAMERA
@ KEYWORD_VIDEOCAMERA
Definition: Bench_TruckParser_IdentifyKeyword.cpp:58
KEYWORD_SLOPE_BRAKE
@ KEYWORD_SLOPE_BRAKE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:51
KEYWORD_COMMANDS
@ KEYWORD_COMMANDS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:15
KEYWORD_AXLES
@ KEYWORD_AXLES
Definition: Bench_TruckParser_IdentifyKeyword.cpp:10
KEYWORD_ENABLE_ADVANCED_DEFORMATION
@ KEYWORD_ENABLE_ADVANCED_DEFORMATION
Definition: Bench_TruckParser_IdentifyKeyword.cpp:18
KEYWORD_MESHWHEELS
@ KEYWORD_MESHWHEELS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:34
KEYWORD_SUBMESH
@ KEYWORD_SUBMESH
Definition: Bench_TruckParser_IdentifyKeyword.cpp:53
KEYWORD_SUBMESH_GROUNDMODEL
@ KEYWORD_SUBMESH_GROUNDMODEL
Definition: Bench_TruckParser_IdentifyKeyword.cpp:53
KEYWORD_MANAGEDMATERIALS
@ KEYWORD_MANAGEDMATERIALS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:33
KEYWORD_SET_MANAGEDMATERIALS_OPTIONS
@ KEYWORD_SET_MANAGEDMATERIALS_OPTIONS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:47
KEYWORD_SECTIONCONFIG
@ KEYWORD_SECTIONCONFIG
Definition: Bench_TruckParser_IdentifyKeyword.cpp:44
KEYWORD_WINGS
@ KEYWORD_WINGS
Definition: Bench_TruckParser_IdentifyKeyword.cpp:60
KEYWORD_CAMERARAIL
@ KEYWORD_CAMERARAIL
Definition: Bench_TruckParser_IdentifyKeyword.cpp:13
KEYWORD_SET_COLLISION_RANGE
@ KEYWORD_SET_COLLISION_RANGE
Definition: Bench_TruckParser_IdentifyKeyword.cpp:46