20 #define min(x,y) ((x) < (y) ? (x) : (y))
23 #define max(x,y) ((x) > (y) ? (x) : (y))
27 #define read_uint32(x) (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1)) | ((x)[2]<<(8*2)) | ((x)[3]<<(8*3)))
28 #define read_uint16(x) (unsigned)(((x)[0]<<(8*0)) | ((x)[1]<<(8*1)))
32 #define write_uint32(dest, src) do {\
33 (dest)[0] = ((src)&0x000000FF)>>(8*0); \
34 (dest)[1] = ((src)&0x0000FF00)>>(8*1); \
35 (dest)[2] = ((src)&0x00FF0000)>>(8*2); \
36 (dest)[3] = ((src)&0xFF000000)>>(8*3); \
38 #define write_uint16(dest, src) do {\
39 (dest)[0] = ((src)&0x00FF)>>(8*0); \
40 (dest)[1] = ((src)&0xFF00)>>(8*1); \
44 extern char *
strdup (
const char *__s);
50 va_start(args, Message);
51 vfprintf(stderr, Message, args);
62 #define OPERAND_BYTES(x) (x)
63 #define OPERAND(x, y) ((y)<<((x)*4+4))
64 #define UNIMPLEMENTED ((uint32_t)~0)
89 static const uint8_t
HITHeader[] = {
'H',
'I',
'T',
'!',0x01,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
'T',
'R',
'A',
'X'};
91 #define InstructionCount 96
191 #define TSOVariableCount 82
210 {
"trackdatasource", 0x11},
222 {
"IsHeadRelative", 0x1d},
223 {
"MinDistance", 0x1e},
224 {
"MaxDistance", 0x1f},
230 {
"IsStreamed", 0x25},
231 {
"bufsizemult", 0x26},
234 {
"fade_speed", 0x29},
238 {
"whattodowithupdate", 0x2d},
243 {
"ispositioned", 0x32},
244 {
"AppObjectId", 0x34},
245 {
"callbackarg", 0x35},
246 {
"pitchrandmin", 0x36},
247 {
"pitchrandmax", 0x37},
250 {
"starttrackid", 0x3a},
251 {
"endtrackid", 0x3b},
252 {
"startdelay", 0x3c},
253 {
"fadeinspeed", 0x3d},
254 {
"fadeoutspeed", 0x3e},
266 {
"main_songnum", 0x6e},
267 {
"main_musichitlistid", 0x6f},
268 {
"campfire_nexttrack", 0x70},
269 {
"campfire_busy", 0x71},
270 {
"main_duckpri", 0x7b},
272 {
"main_fxtype", 0x7d},
273 {
"main_fxlevel", 0x7e},
274 {
"main_pause", 0x7f},
277 #define TS1VariableCount 87
305 {
"IsHeadRelative", 0x1b},
306 {
"MinDistance", 0x1c},
307 {
"MaxDistance", 0x1d},
311 {
"filter_type", 0x21},
312 {
"filter_cutoff", 0x22},
313 {
"filter_level", 0x23},
316 {
"IsStreamed", 0x26},
317 {
"BufSizeMult", 0x27},
320 {
"fade_speed", 0x2a},
327 {
"WhatToDoWithUpdate", 0x33},
332 {
"IsPositioned", 0x38},
334 {
"MultipleInstances", 0x3a},
335 {
"AssociatedTrack1", 0x3b},
336 {
"AssociatedTrack2", 0x3c},
337 {
"AssociatedTrack3", 0x3d},
338 {
"AssociatedTrack4", 0x3e},
339 {
"AssociatedTrack5", 0x3f},
340 {
"AssociatedTrack6", 0x40},
341 {
"AssociatedTrack7", 0x41},
342 {
"AssociatedTrack8", 0x42},
353 {
"main_songnum", 0x6e},
354 {
"main_musichitlistid", 0x6f},
355 {
"campfire_nexttrack", 0x70},
356 {
"campfire_busy", 0x71},
357 {
"main_duckpri", 0x7b},
359 {
"main_fxtype", 0x7d},
360 {
"main_fxlevel", 0x7e},
361 {
"main_pause", 0x7f},
364 #define ConstantCount 72
366 {
"duckpri_always", 0x0},
367 {
"duckpri_low", 0xa},
368 {
"duckpri_normal", 0x14},
369 {
"duckpri_high", 0x1e},
370 {
"duckpri_higher", 0x28},
371 {
"duckpri_evenhigher", 0x32},
372 {
"duckpri_never", 0x64},
373 {
"spl_infinite", 0x0},
375 {
"spl_normal", 0x14},
380 {
"GroupDialogMain", 0x2},
381 {
"GroupDialogOverlay", 0x3},
382 {
"PchDishwasherClose", 0x32},
383 {
"PchDishwasherLoad", 0x33},
384 {
"PchDishwasherLoad2", 0x34},
385 {
"PchDishwasherOpen", 0x35},
386 {
"PchDishwasherTurnDial", 0x39},
387 {
"PchDishwasherTurnDial2", 0x3a},
388 {
"TrkRadioStationCountry", 0x104},
389 {
"TrkRadioStationBossaNova", 0x10e},
390 {
"TrkRadioStationClassical", 0x10d},
391 {
"TrkRadioStationRock", 0x118},
396 {
"kSndobSetVolume", 5},
397 {
"kSndobSetPitch", 6},
399 {
"kSndobSetPosition", 8},
400 {
"kSndobSetFxType", 9},
401 {
"kSndobSetFxLevel", 10},
403 {
"kSndobUnpause", 12},
405 {
"kSndobUnload", 14},
407 {
"kSndobUncache", 16},
408 {
"kSndobCancelNote", 19},
410 {
"kSetMusicMode", 36},
426 {
"kClassical", 1007},
429 {
"kArgsIdVolPan", 2},
434 {
"kKillInstance", 23},
437 {
"kUpdateSourceVolPan", 32},
449 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xF1, 0xFF,
451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00