Paper Mario DX
Paper Mario (N64) modding
 
Loading...
Searching...
No Matches
audio.h
Go to the documentation of this file.
1#ifndef _AUDIO_H_
2#define _AUDIO_H_
3#include "nu/nusys.h"
4#include "nu/nualsgi.h"
5#include "PR/n_abi.h"
6#include "common.h"
7
8// temporary to keep track of unk portions of alUnk structs (not just unk fields)
9typedef s8 UNK_TYPE_08;
10typedef s16 UNK_TYPE_16;
11typedef s32 UNK_TYPE_32;
12typedef void* UNK_TYPE_PTR;
13
14typedef u8* AuFilePos;
15typedef u8* WaveData;
16
17#define NO_INSTRUMENT ((Instrument*) -1)
18
19#define AU_FX_DELAY_COUNT 4
20#define AU_FX_LENGTH 0xA10
21
22#define AU_5750 5750
23
24#define SAMPLES 184
25#define SAMPLE184(delta) (((delta) + (SAMPLES / 2)) / SAMPLES) * SAMPLES
26#define FIXED_SAMPLE SAMPLES
27
28#define N_AL_DECODER_IN 0
29#define N_AL_RESAMPLER_OUT 0
30#define N_AL_TEMP_0 0
31#define N_AL_DECODER_OUT 0x170
32#define N_AL_TEMP_1 0x170
33#define N_AL_TEMP_2 0x2E0
34#define N_AL_MAIN_L_OUT 0x4E0
35#define N_AL_MAIN_R_OUT 0x650
36#define N_AL_AUX_L_OUT 0x7C0
37#define N_AL_AUX_R_OUT 0x930
38
39#define ALIGN16_(val) (((val) + 0xF) & 0xFFF0)
40#define AU_FILE_RELATIVE(base,offset) ((void*)((s32)(offset) + (s32)(base)))
41
42#define AUDIO_HEAP_SIZE 0x56000
43 // NU_AU_AUDIO_SAMPLES ?
44#define AUDIO_SAMPLES 184
45#define AUDIO_COMMAND_LIST_BUFFER_SIZE 0x4000
46
47#define ADPCMFBYTES 9
48
49#define SND_MAX_VOLUME_8 0x7F // 127
50#define SND_MAX_VOLUME_16 0x7FFF
51
52#define BGM_SAMPLE_RATE 156250
53#define BGM_DEFAULT_TEMPO 15600
54
55#define SND_MIN_DURATION 250
56#define SND_MAX_DURATION 10000
57
58#define BGM_MAX_VOLUME 127
59
60#define BGM_SEGMENT_LABEL 3
61
62typedef u32 SegData;
63
71
78
85
99
107
117
124
132
229};
230
235
240
245
246typedef union AmbVoiceStateInfo {
247 struct {
248 u8 playerIndex;
249 u8 trackIndex;
250 u8 tune;
251 u8 released;
252 };
253 s32 all;
255
256struct BGMPlayer;
257struct AuGlobals;
258struct AuVoice;
259
260typedef void (*AuCallback)(void);
261
262typedef union SeqArgs {
263 u8 raw[4];
264 struct { // cmd E0
265 u16 value;
267 struct { // cmd E1
268 u8 value;
270 struct { // cmd E2
271 u8 cent;
273 struct { // cmd E3
274 u8 effectType;
276 struct { // cmd E4
277 u16 time;
278 u16 value;
280 struct { // cmd E5
281 u16 time;
282 u8 value;
284 struct { // cmd E6
285 u8 index;
286 u8 value;
288 // command E7 unused
289 struct { // cmd E8
290 u8 bank;
291 u8 patch;
293 struct { // cmd E9
294 u8 value;
296 struct { // cmd EA
297 u8 value;
299 struct { // cmd EB
300 u8 value;
302 struct { // cmd EC
303 u8 value;
305 struct { // cmd ED
306 u8 cent;
308 struct { // cmd EE
309 u8 value;
311 struct { // cmd EF
312 u16 value;
314 struct { // cmd F0
315 u8 amount;
316 u8 speed;
317 u8 time;
319 struct { // cmd F1
320 u8 value;
322 struct { // cmd F2
323 u8 time;
325 // no args for F3 (TrackTremoloStop)
326 struct { // cmd F4
327 u8 pan0;
328 u8 pan1;
330 struct { // cmd F5
331 u8 index;
333 struct { // cmd F6
334 u16 time;
335 u8 value;
337 struct { // cmd F7
338 u8 index;
340 // commands F8-FB unused
341 struct { // cmd FC
342 u16 unk_00;
343 u8 unk_02;
345 struct { // cmd FD
346 u32 eventInfo;
348 struct { // cmd FE
349 u16 offset;
350 u8 length;
352 struct { // cmd FF
353 u8 unk_00;
354 u8 unk_01;
355 u8 unk_02;
357} SeqArgs;
358
363
364// envelope related?
365typedef struct Fade {
367 /* 0x4 */ s32 fadeStep;
368 /* 0x8 */ s16 targetVolume;
369 /* 0xA */ s16 fadeTime;
370 union {
371 /* 0xC */ AuCallback onCompleteCallback;
372 /* 0xC */ s32 variation;
373 };
374 // fields below are envelope?
376 /* 0x14 */ s32 volScaleStep;
377 /* 0x18 */ s16 targetVolScale;
378 /* 0x1A */ s16 volScaleTime;
379} Fade; // size = 0x10
380
381typedef struct AlUnkPi {
382 /* 0x00 */ UNK_TYPE_32 unk_00;
384 /* 0x08 */ UNK_TYPE_32 unk_08;
385 /* 0x0C */ UNK_TYPE_32 unk_0C;
386} AlUnkPi; // size = 0x8
387
388// based on ALDelay
389typedef struct AuDelay {
390 /* 0x00 */ u32 input;
391 /* 0x04 */ u32 output;
392 /* 0x08 */ s16 ffcoef; // feedforward coef
393 /* 0x0A */ s16 fbcoef; // feedback coef
394 /* 0x0C */ s16 gain;
395 /* 0x0E */ char pad_0E[2];
396 /* 0x10 */ f32 rsinc;
397 /* 0x14 */ f32 rsval;
398 /* 0x18 */ s32 rsdelta;
399 /* 0x1C */ f32 rsgain;
400 /* 0x20 */ struct AuLowPass* lowpass_20; // [ALLowPass] ?
401 /* 0x24 */ struct AuLowPass* lowpass_24; // [ALLowPass] ?
402 /* 0x28 */ struct AuResampler* resampler_28; // [ALResampler] ?
403 /* 0x2C */ struct AuResampler* resampler_2C; // [ALResampler] ?
404} AuDelay; // size = 0x30
405
406// based on ALFx
407typedef struct AuFX {
408 /* 0x00 */ s16* base;
409 /* 0x04 */ s16* input;
410 /* 0x08 */ s32 length;
411 /* 0x0C */ AuDelay* delays;
412 /* 0x10 */ u8 delayCount;
413} AuFX; // size = 0x14
414
415// based on ALLowPass
416typedef struct AuLowPass {
417 /* 0x00 */ s16 fc;
418 /* 0x02 */ s16 fgain;
419 // ALLowPass uses a union with force_aligned to create this padding
420 /* 0x04 */ char pad_04[4];
421 /* 0x08 */ s16 fccoef[16];
422 /* 0x28 */ POLEF_STATE* fstate;
423 /* 0x2C */ s32 first;
424} AuLowPass; // size = 0x30
425
426typedef struct AlUnkKappa {
427 /* 0x00 */ UNK_TYPE_PTR unk_00; // size = 2 * 1420h
429 /* 0x06 */ s16 unk_06;
430 /* 0x08 */ s16 unk_08;
434} AlUnkKappa; // size unk
435
436typedef struct AuFxBus {
437 /* 0x00 */ u16 gain;
438 /* 0x02 */ char unk_02[0x2];
439 /* 0x04 */ AuFX* fxL;
440 /* 0x08 */ AuFX* fxR;
441 /* 0x0C */ u8 curEffectType;
442 /* 0x0D */ char unk_0D[0x3];
443 /* 0x10 */ struct AuPVoice* head;
444 /* 0x14 */ struct AuPVoice* tail;
445} AuFxBus; // size = 0x18
446
447 // ALDMAproc in PM supposedly has an extra arg added, so that's why we have ALDMAproc2 and ALDMANew2
448typedef s32 (*ALDMAproc2)(s32 addr, s32 len, void *state, u8 arg3);
449typedef ALDMAproc2 (*ALDMANew2)(void *state);
450
451// based on ALLoadFilter
452typedef struct AuLoadFilter {
453 /* 0x00 */ ADPCM_STATE* state;
454 /* 0x04 */ ADPCM_STATE* lstate;
455 /* 0x08 */ ALRawLoop loop;
456 /* 0x14 */ struct Instrument* instrument;
457 /* 0x18 */ s32 bookSize;
458 /* 0x1C */ ALDMAproc2 dmaFunc;
459 /* 0x20 */ NUDMAState* dmaState;
460 /* 0x24 */ s32 sample;
461 /* 0x28 */ s32 lastsam;
462 /* 0x2C */ s32 first;
463 /* 0x30 */ s32 memin;
464} AuLoadFilter; // size = 0x34
465
466// based on ALResampler
467typedef struct AuResampler {
468 /* 0x00 */ RESAMPLE_STATE* state;
469 /* 0x04 */ f32 ratio;
470 /* 0x08 */ f32 delta;
471 /* 0x0C */ s32 first;
472} AuResampler; // size = 0x10
473
474// envelope mixer -- based on ALEnvMixer
475typedef struct AuEnvMixer {
476 /* 0x00 */ ENVMIX_STATE* state;
477 /* 0x04 */ s16 pan;
478 /* 0x06 */ s16 volume;
479 /* 0x08 */ s16 cvolL;
480 /* 0x0A */ s16 cvolR;
481 /* 0x0C */ s16 dryamt;
482 /* 0x0E */ s16 wetamt;
483 /* 0x10 */ s16 lratl;
484 /* 0x12 */ s16 lratm;
485 /* 0x14 */ s16 ltgt;
486 /* 0x16 */ s16 rratl;
487 /* 0x18 */ s16 rratm;
488 /* 0x1A */ s16 rtgt;
489 /* 0x1C */ s32 delta;
490 /* 0x20 */ s32 segEnd;
491 /* 0x24 */ s32 first;
492 /* 0x28 */ s32 motion;
493} AuEnvMixer; // size = 0x2C
494
495// based on N_PVoice
496typedef struct AuPVoice {
497 /* 0x00 */ struct AuPVoice* next;
501 /* 0x74 */ s16 unk_74;
502 /* 0x76 */ s16 unk_76;
503 /* 0x78 */ u8 busId;
504 /* 0x79 */ u8 index;
505 /* 0x7A */ u8 unk_7A[2];
506} AuPVoice;
507
508// based on N_ALSynth
509typedef struct AuSynDriver {
510 /* 0x00 */ s32 curSamples;
511 /* 0x04 */ s32 unk_04;
512 /* 0x08 */ s32 outputRate;
513 /* 0x0C */ s32 num_pvoice;
514 /* 0x10 */ s32 num_bus;
515 /* 0x14 */ ALDMANew2 dmaNew; // pointer to nuAuDmaNew
516 /* 0x18 */ ALHeap* heap;
517 /* 0x1C */ AuPVoice* pvoices;
518 /* 0x20 */ AuFxBus* fxBus;
519 /* 0x24 */ s32* savedMainOut; // struct size = 0x170
520 /* 0x28 */ s32* savedAuxOut; // struct size = 0x170
522
523typedef struct SoundSFXEntry {
524 /* 0x0 */ u16 soundID;
525 /* 0x2 */ u16 upperSoundID;
526 /* 0x4 */ s16 volume;
527 /* 0x6 */ s16 pitchShift;
528 /* 0x8 */ s8 pan;
529 /* 0x9 */ char unk_9[0x1];
530} SoundSFXEntry; // size = 0xA
531
532typedef struct EnvelopeData {
533 /* 0x00 */ u8* cmdListPress;
534 /* 0x04 */ u8* cmdListRelease;
535} EnvelopeData; // size = 0x8
536
537typedef struct EnvelopeOffset {
538 /* 0x00 */ u16 offsetPress;
539 /* 0x02 */ u16 offsetRelease;
540} EnvelopeOffset; // size = 0x4;
541
542typedef struct EnvelopePreset {
543 /* 0x00 */ u8 count;
544 /* 0x01 */ char unk_01[3];
545 /* 0x04 */ EnvelopeOffset offsets[1]; // variable size
547
548// partially ALWaveTable?
549typedef struct Instrument {
550 /* 0x00 */ u8* base;
551 /* 0x04 */ u32 wavDataLength;
553 /* 0x0C */ s32 loopStart;
554 /* 0x10 */ s32 loopEnd;
555 /* 0x14 */ s32 loopCount;
556 /* 0x18 */ u16* predictor;
557 /* 0x1C */ u16 dc_bookSize;
558 /* 0x1E */ u16 keyBase;
559 /* 0x20 */ union {
560 f32 pitchRatio;
561 s32 outputRate;
562 };
563 /* 0x24 */ u8 type;
564 /* 0x25 */ u8 unk_25;
565 /* 0x26 */ s8 unk_26;
566 /* 0x27 */ s8 unk_27;
567 /* 0x28 */ s8 unk_28;
568 /* 0x29 */ s8 unk_29;
569 /* 0x2A */ s8 unk_2A;
570 /* 0x2B */ s8 unk_2B;
572} Instrument; // size = 0x30;
573
575
576typedef struct SoundLerp {
577 /* 0x0 */ s32 current;
578 /* 0x4 */ s32 step;
579 /* 0xA */ s16 time;
580 /* 0x8 */ s16 goal;
581} SoundLerp; // size = 0xC
582
583typedef struct SoundPlayChange {
584 union {
585 u32 all;
586 struct {
587 u8 tune;
588 u8 volume;
589 u8 pan;
590 u8 reverb;
591 };
592 };
594
595typedef struct SoundPlayer {
597 /* 0x04 */ char pad4[0xC];
604 /* 0x58 */ f32 pitchRatio;
605 /* 0x5C */ s16 sfxVolume;
606 /* 0x5E */ s16 alternativeVolume;
607 /* 0x60 */ SoundLerp tuneLerp;
609 /* 0x78 */ u8 cmdList_mode2[8];
611 /* 0x84 */ s8 alternativeType;
612 /* 0x85 */ u8 triggers;
613 /* 0x86 */ char unk_86[0x2];
614 /* 0x88 */ s8* loopStartPos;
615 /* 0x8C */ u8 loopIterCount; // loopIterCount = 0 for infinite loop
616 /* 0x8D */ char unk_8D;
617 /* 0x8E */ u16 delay;
618 /* 0x90 */ u16 playLength;
619 /* 0x92 */ s16 coarseTune;
620 /* 0x94 */ s8 fineTune;
621 /* 0x95 */ char unk_05;
622 /* 0x96 */ u16 curSoundID;
623 /* 0x98 */ u8 priority;
624 /* 0x99 */ u8 exclusiveID;
625 /* 0x9A */ u8 sfxParamsFlags;
626 /* 0x9B */ u8 sfxPan;
627 /* 0x9C */ u8 reverb;
628 /* 0x9D */ u8 instrumentIndex; // ?
629 /* 0x9E */ u8 envelopePreset;
630 /* 0x9F */ u8 playVelocity;
631 /* 0xA0 */ u8 unk_A0;
632 /* 0xA1 */ u8 randomPitch;
633 /* 0xA2 */ u8 randomVelocity;
634 /* 0xA3 */ s8 unk_A3;
635 /* 0xA4 */ s16 masterPitchShift;
636 /* 0xA6 */ s16 masterVolume;
637 /* 0xA8 */ u8 masterPan;
638 /* 0xA8 */ u8 state;
639 /* 0xA9 */ char unk_AA[0x2];
640} SoundPlayer; // size = 0xAC
641
642typedef struct SoundManager90 {
643 union {
644 /* 0x0 */ s32 s32;
645 struct {
646 /* 0x0 */ u8 unk_0;
647 /* 0x1 */ u8 unk_1;
648 /* 0x2 */ u8 unk_2;
649 /* 0x3 */ u8 volume;
650 };
651 };
652} SoundManager90; // size = 4
653
655 /* 0x0 */ u16 data[3];
656} SoundManagerCustomCmdList; // size = 6
657
658typedef struct SoundManager {
659 /* 0x000 */ struct AuGlobals* globals;
660 /* 0x004 */ struct AuVoice* curVoice;
661 /* 0x008 */ u8* sefData;
662 /* 0x00C */ s32* normalSounds[8];
663 /* 0x02C */ s32* extraSounds;
664 /* 0x030 */ s32 playCounter; //?
665 /* 0x034 */ s32 nextUpdateStep;
666 /* 0x038 */ s32 nextUpdateInterval;
667 /* 0x03C */ s32 nextUpdateCounter;
668 /* 0x040 */ struct Fade fadeInfo;
669 /* 0x05C */ s32 busVolume;
670 /* 0x060 */ s32 randomValue;
671 /* 0x064 */ s32* customReverbParams[8];
672 /* 0x084 */ s8 customReverbAmounts[8];
673 /* 0x08C */ u8 lastCustomEffectIdx;
674 /* 0x08D */ s8 defaultReverbAmt;
675 /* 0x08E */ char unk_8E[0x2];
676 /* 0x090 */ SoundManager90 bgmSounds[4];
678 /* 0x0B8 */ u16 baseVolume;
679 /* 0x0BA */ s16 unk_BA;
680 /* 0x0BC */ u8 priority;
681 /* 0x0BD */ u8 sfxPlayerSelector;
682 /* 0x0BE */ u8 busId;
683 /* 0x0BF */ u8 curVoiceIndex;
684 /* 0x0C0 */ u8 state;
685 /* 0x0C1 */ char unk_C1[0x1];
686 /* 0x0C2 */ SoundSFXEntry soundQueue[16];
687 /* 0x162 */ s8 unk_162;
688 /* 0x163 */ u8 sfxQueuePosOffset;
689 /* 0x164 */ u8 sfxQueueNextPos;
690 /* 0x165 */ s8 unk_165;
691 /* 0x166 */ char unk_166[0x2];
692 /* 0x168 */ s32 resetPending;
693 /* 0x16C */ SoundPlayer players[8];
694} SoundManager; // size = 0x6CC
695
696typedef struct SoundInstance {
697 /* 0x00 */ s32 flags;
698 /* 0x04 */ s32 soundID;
699 /* 0x08 */ s32 sourceFlags;
700 /* 0x0C */ u8 volume;
701 /* 0x0D */ u8 pan;
702 /* 0x0E */ s16 pitchShift;
703 /* 0x10 */ Vec3f pos;
704} SoundInstance; // size = 0x1C
705
706typedef struct AlternatingSoundSet {
707 /* 0x00 */ s32* sounds;
708 /* 0x04 */ s16 soundCount;
709 /* 0x06 */ s16 curIndex;
710} AlternatingSoundSet; // size = 0x08
711
712typedef struct AuVoice {
714 /* 0x04 */ f32 pitchRatio;
715 /* 0x08 */ s32 delta;
716 /* 0x0C */ s16 p_volume; // volume for pvoice
717 /* 0x0E */ u8 pan;
718 /* 0x0F */ u8 reverb;
719 /* 0x10 */ u8 busId;
720 /* 0x11 */ char unk_11[0x3];
722 /* 0x1C */ u8* cmdPtr;
723 /* 0x20 */ s32 unk_20;
724 /* 0x24 */ s32 volChangeTime;
725 /* 0x28 */ s32 timeLeft;
726 /* 0x2C */ f32 rate;
727 /* 0x30 */ s32 volMult;
728 /* 0x34 */ u8* loopStart;
729 /* 0x38 */ u8 loopCounter;
730 /* 0x39 */ u8 initialAmp;
731 /* 0x3A */ u8 targetAmp;
732 /* 0x3B */ u8 timeIntervalIndex;
733 /* 0x3C */ u8 unk_3C;
734 /* 0x3D */ u8 envelopeFlags;
736 /* 0x3F */ u8 releaseVolumeMult;
737 /* 0x40 */ s16 clientVolume;
738 /* 0x42 */ u8 stopPending;
739 /* 0x43 */ u8 syncFlags;
740 /* 0x44 */ s8 clientPriority;
741 /* 0x45 */ u8 priority;
742 /* 0x46 */ char unk_46[2];
743} AuVoice; // size = 0x48
744
745typedef struct BGMFileInfo {
746 /* 0x10 */ u8 numSegments;
747 /* 0x11 */ char pad_11[3];
748 /* 0x14 */ u16 segments[4];
749 /* 0x1C */ u16 drums;
750 /* 0x1E */ u16 drumCount;
751 /* 0x20 */ u16 instruments;
752 /* 0x22 */ u16 instrumentCount;
753} BGMFileInfo; // size = 0x14
754
755typedef struct BGMHeader {
756 /* 0x00 */ s32 signature; // 'BGM '
757 /* 0x04 */ s32 size; // including header
758 /* 0x08 */ s32 name;
759 /* 0x0C */ char pad_C[4];
760 /* 0x10 */ BGMFileInfo info;
761} BGMHeader; // size = 0x24
762
763typedef struct BGMDrumInfo {
764 /* 0x0 */ s16 bankPatch;
765 /* 0x2 */ s16 keyBase;
766 /* 0x4 */ u8 volume;
767 /* 0x5 */ s8 pan;
768 /* 0x6 */ s8 reverb;
769 /* 0x7 */ u8 randTune;
770 /* 0x8 */ u8 randVolume;
771 /* 0x9 */ u8 randPan;
772 /* 0xA */ u8 randReverb;
773 /* 0xB */ char pad_B[1];
774} BGMDrumInfo; // size = 0xC
775
776typedef struct BGMInstrumentInfo {
777 /* 0x00 */ u16 bankPatch; // upper = bank, lower = patch
778 /* 0x02 */ u8 volume;
779 /* 0x03 */ s8 pan;
780 /* 0x04 */ s8 reverb;
781 /* 0x05 */ s8 coarseTune;
782 /* 0x06 */ s8 fineTune;
783 /* 0x07 */ char pad_7[1];
784} BGMInstrumentInfo; // size = 0x8
785
786typedef struct AUFileMetadata {
787 /* 0x00 */ s32 signature; // file type identifer: 'SBN ', 'SEF ', etc
788 /* 0x04 */ s32 size; // full file size, including header and data
790
791typedef struct SBNHeader {
792 /* 0x00 */ AUFileMetadata mdata; // uses identifer 'SBN '
793 /* 0x08 */ char unused_08[8];
794 /* 0x10 */ s32 tableOffset; // offset in the SBN file of the file table (== sizeof(SBNHeader))
795 /* 0x14 */ s32 numEntries; // number of entries in the SBN file table
796 /* 0x18 */ s32 fileSize; // full size of the SBN file (unread)
797 /* 0x1C */ s32 versionOffset;
798 /* 0x20 */ char unused_04[4];
799 /* 0x24 */ s32 INIToffset;
800 /* 0x28 */ char reserved[24];
801} SBNHeader; // size = 0x40
802
803typedef struct SEFHeader {
804 /* 0x00 */ AUFileMetadata mdata; // uses identifer 'SEF '
805 /* 0x08 */ s32 unk8;
806 /* 0x0C */ s8 unkC; // 0
807 /* 0x0D */ s8 unkD; // 0
808 /* 0x0E */ u8 hasExtraSection; // 1
809 /* 0x0F */ s8 unkF; // 0
810 /* 0x10 */ u16 sections[8];
811 /* 0x20 */ u16 section2000;
812} SEFHeader; // size = 0x22
813
814typedef struct INITHeader {
815 /* 0x00 */ AUFileMetadata mdata; // uses identifer 'INIT'
816 /* 0x08 */ u16 entriesOffset;
817 /* 0x0A */ u16 entriesSize;
818 /* 0x0C */ u16 tblOffset;
819 /* 0x0E */ u16 tblSize;
820 /* 0x10 */ u16 shortsOffset;
821 /* 0x12 */ u16 shortsSize;
822 /* 0x14 */ char unk_14[0xC];
823} INITHeader; // size = 0x20
824
825typedef struct PERHeader {
826 /* 0x00 */ AUFileMetadata mdata; // uses identifer 'PER ' or 'PRG '
827 /* 0x08 */ char unk_08[8];
828} PERHeader; // size = 0x10
829
830typedef struct PEREntry {
831 /* 0x00 */ BGMDrumInfo drums[12];
832} PEREntry; // size = 0x90;
833
834typedef struct SBNFileEntry {
835 /* 0x0 */ s32 offset;
836 union {
837 /* 0x4 */ u32 data;
838 //TODO try replacing the data field with these
839 struct {
840 /* 0x4 */ s8 fmt;
841 /* 0x5 */ UNK_TYPE_08 unk__05;
842 /* 0x6 */ s16 size;
843 };
844 };
845} SBNFileEntry; // size = 0x8
846
847typedef struct BKHeader {
848 /* 0x00 */ u16 signature; // 'BK'
849 /* 0x02 */ char unk_02[2];
850 /* 0x04 */ s32 size;
851 /* 0x08 */ s32 name;
852 /* 0x0C */ u16 format; // 'CR', 'DR', 'SR'
853 /* 0x0E */ char unk_0E[2];
854 /* 0x10 */ char unk_10[2];
855 /* 0x12 */ u16 instruments[16];
856 /* 0x32 */ u16 instrumetsSize;
857 /* 0x34 */ u16 unkStartA;
858 /* 0x36 */ u16 unkSizeA;
859 /* 0x38 */ u16 predictorsStart;
860 /* 0x3A */ u16 predictorsSize;
861 /* 0x3C */ u16 unkStartB;
862 /* 0x3E */ u16 unkSizeB;
863} BKHeader; // size = 0x40
864
865typedef struct InitSongEntry {
866 /* 0x0 */ u16 bgmFileIndex; // required BGM file
867 /* 0x2 */ u16 bkFileIndex[3]; // optional BK files for this track
868} InitSongEntry; // size = 0x8
869
870typedef struct SoundBank {
871 /* 0x000 */ char unk_00[0xE];
872 /* 0x00E */ u8 swizzled;
873 /* 0x010 */ char unk_0F[0x831];
874} SoundBank; // size = 0x840
875
876typedef struct AuEffectChange {
877 /* 0x0 */ u8 type;
878 /* 0x1 */ u8 changed;
879 /* 0x2 */ char unk_02[2];
881
882typedef struct SndGlobalsSub6C {
883 /* 0x00 */ struct BGMPlayer* bgmPlayer;
884 /* 0x04 */ u8 unk_4;
885 /* 0x05 */ u8 unk_5;
887
888// found at 801D57A0
889typedef struct AuGlobals {
890 /* 0x0000 */ f32 outputRate;
894 /* 0x001C */ s32 baseRomOffset;
896 /* 0x0024 */ s32 fileListLength;
897 /* 0x0028 */ char unk_28[0x4];
898 /* 0x002C */ InitSongEntry* songList;
899 /* 0x0030 */ s32 songListLength;
900 /* 0x0034 */ s32 bkFileListOffset;
901 /* 0x0038 */ s32 bkListLength;
902 /* 0x003C */ u16* mseqFileList;
904 /* 0x0050 */ u8 channelDelayPending;
905 /* 0x0051 */ u8 channelDelayBusId;
906 /* 0x0052 */ u8 channelDelayTime;
907 /* 0x0053 */ u8 channelDelaySide;
908 /* 0x0054 */ PEREntry* dataPER;
910 /* 0x005C */ struct BGMHeader* dataBGM[2];
911 /* 0x0064 */ struct MSEQHeader* dataMSEQ[2];
913 /* 0x0074 */ struct BGMPlayer* unk_74;
914 /* 0x0078 */ struct BGMPlayer* unk_78;
915 /* 0x007C */ s32 unkSongName;
916 /* 0x0080 */ s32 unk_80;
917 /* 0x0084 */ s32 unkFadeTime;
918 /* 0x0088 */ s32 unkFadeStart;
919 /* 0x008C */ s32 unkFadeEnd;
922 /* 0x0098 */ u32 musicEventQueueCount;
923 /* 0x009C */ s32 flushMusicEventQueue;
924 /* 0x00A0 */ SEFHeader* dataSEF;
925 /* 0x00A4 */ AuCallback audioThreadCallbacks[2]; // 0 = on begin update, 1 = unimplemented
934 /* 0x130C */ u8 unk_130C;
935 /* 0x130D */ char unk_130D[3];
936 /* 0x1310 */ SoundBank* banks[3];
937 /* 0x131C */ char unk_131C[4];
938 /* 0x1320 */ AuVoice voices[24];
939} AuGlobals; // size = 0x19E0
940
941typedef struct BGMPlayerTrack {
943 /* 0x04 */ AuFilePos savedPos;
947 /* 0x18 */ s32 subTrackVolume;
948 /* 0x1C */ s32 subTrackVolumeStep;
949 /* 0x20 */ s32 subTrackVolumeTarget;
950 /* 0x24 */ s32 subTrackVolumeTime;
951 /* 0x28 */ s32 delayTime;
952 //TODO Fade struct?
953 /* 0x2C */ s32 unkVolume;
954 /* 0x30 */ s32 unkVolumeStep;
955 /* 0x34 */ s16 unkVolumeTarget;
956 /* 0x36 */ s16 unkVolumeTime;
957 /* 0x38 */ s16 segTrackTune;
958 /* 0x3A */ s16 trackTremoloAmount;
959 /* 0x3C */ char unk_3C[0x2];
960 /* 0x3E */ s16 detourLength;
962 /* 0x44 */ u16 patch;
963 /* 0x46 */ u16 subTrackCoarseTune;
964 /* 0x48 */ s8 subTrackFineTune;
965 /* 0x49 */ s8 segTrackVolume;
966 /* 0x4A */ u8 subTrackPan;
967 /* 0x4B */ u8 subTrackReverb;
968 /* 0x4C */ u8 unk_4C;
969 /* 0x4D */ u8 unk_4D;
970 /* 0x4E */ u8 unk_4E;
971 /* 0x4F */ u8 unk_4F;
972 /* 0x50 */ u8 unk_50;
973 /* 0x51 */ u8 unk_51;
974 /* 0x52 */ u8 unk_52; // voice idx start
975 /* 0x53 */ u8 unk_53; // voice idx end
976 /* 0x54 */ u8 polyphonicIdx;
977 /* 0x55 */ u8 trackTremoloSpeed;
978 /* 0x56 */ u8 trackTremoloTime;
979 /* 0x57 */ u8 unk_57;
980 /* 0x58 */ u8 isDrumTrack;
981 /* 0x59 */ u8 parentTrackIdx;
982 /* 0x5A */ u8 unk_5A;
983 /* 0x5B */ s8 subtrackBusId;
984 /* 0x5C */ u8 index;
985 /* 0x5D */ char unk_5D[0x3];
986} BGMPlayerTrack; // size = 0x60;
987
988typedef struct SeqNote {
989 /* 0x00 */ Instrument* ins;
990 /* 0x00 */ f32 pitchRatio;
991 /* 0x08 */ s16 volume;
992 /* 0x0A */ s16 adjustedPitch;
993 /* 0x0C */ s32 noteLength;
994 /* 0x10 */ u16 tremoloAmount;
995 /* 0x12 */ u8 tremoloTime;
996 /* 0x12 */ u8 unk_13;
997 /* 0x14 */ s16 unk_14;
998 /* 0x16 */ u8 noteVelocity;
999 /* 0x17 */ u8 unk_note_17;
1000} SeqNote; // size = 0x18;
1001
1002typedef struct BGMPlayer {
1003 /* 0x000 */ AuGlobals* globals;
1005 /* 0x008 */ s32 nextUpdateStep;
1006 /* 0x00C */ s32 nextUpdateInterval;
1007 /* 0x010 */ s32 nextUpdateCounter;
1008 /* 0x014 */ s32 updateCounter;
1009 /* 0x018 */ s32 songPlayingCounter;
1010 /* 0x01C */ s32 songName;
1011 /* 0x020 */ s32 fadeSongName;
1012 /* 0x024 */ s32 bgmFileIndex;
1013 /* 0x028 */ s32 songID;
1014 /* 0x02C */ Fade fadeInfo;
1015 /* 0x048 */ s32 busVolume;
1016 /* 0x04C */ u8 effectIndices[4];
1017 /* 0x050 */ s32 randomValue1;
1018 /* 0x054 */ s32 randomValue2;
1019 /* 0x058 */ u16 unk_58;
1020 /* 0x05A */ s16 unk_5A;
1021 /* 0x05C */ s16 unk_5C;
1022 /* 0x05E */ char pad5E[2];
1023 /* 0x060 */ u32 curSegmentID;
1024 /* 0x064 */ struct BGMHeader* bgmFile;
1028 /* 0x074 */ s32 unk_74;
1031 /* 0x080 */ BGMDrumInfo* drums[12];
1032 /* 0x0B0 */ s32 masterTempo;
1033 /* 0x0B4 */ s32 masterTempoStep;
1034 /* 0x0B8 */ s32 masterTempoTarget;
1035 /* 0x0BC */ s32 masterTempoTime;
1036 /* 0x0C0 */ s32 masterVolume;
1037 /* 0x0C4 */ s32 masterVolumeStep;
1038 /* 0x0C8 */ s32 masterVolumeTarget;
1039 /* 0x0CC */ s32 masterVolumeTime;
1040 /* 0x0D0 */ f32 playbackRate;
1041 /* 0x0D4 */ SeqArgs seqCmdArgs;
1042 /* 0x0D8 */ SegData* segLoopStartLabels[32];
1044 /* 0x168 */ u8 segLoopCounters[4];
1045 /* 0x16C */ s32 proxMixValue;
1046 /* 0x170 */ u8 proxMixID;
1047 /* 0x171 */ u8 proxMixVolume;
1048 /* 0x172 */ char unk_172[0x2];
1049 /* 0x174 */ s16 unk_174[8][9];
1050 /* 0x204 */ u8* trackVolsConfig;
1051 /* 0x208 */ u16 masterTempoBPM;
1052 /* 0x20A */ u16 maxTempo;
1053 /* 0x20C */ u16 masterPitchShift;
1054 /* 0x20E */ s16 detune;
1055 /* 0x210 */ u8 segLoopDepth;
1056 /* 0x211 */ u8 unk_211;
1057 /* 0x212 */ u8 unk_212[8];
1058 /* 0x21A */ s8 volumeChanged;
1059 /* 0x21B */ u8 unk_21B;
1060 /* 0x21C */ u8 bgmDrumCount;
1061 /* 0x21D */ u8 bgmInstrumentCount;
1062 /* 0x21E */ u8 unk_21E;
1063 /* 0x21F */ char unk_21F[0x1];
1064 /* 0x220 */ u8 unk_220;
1065 /* 0x221 */ u8 masterState;
1066 /* 0x222 */ u8 unk_222;
1067 /* 0x223 */ u8 unk_223;
1068 /* 0x224 */ u8 effectValues[4];
1069 /* 0x227 */ char unk_228[0x2];
1070 /* 0x22A */ u8 unk_22A[8];
1072 /* 0x233 */ u8 unk_233;
1073 /* 0x234 */ u8 priority;
1074 /* 0x235 */ u8 busId;
1075 /* 0x236 */ char unk_236[0x2];
1076 /* 0x238 */ s32 unk_238[8];
1077 /* 0x258 */ u8 unk_258;
1078 /* 0x259 */ u8 unk_259;
1079 /* 0x25A */ u8 unk_25A;
1080 /* 0x25B */ u8 unk_25B;
1081 /* 0x25C */ BGMPlayerTrack tracks[16];
1082 /* 0x85C */ SeqNote notes[24];
1083} BGMPlayer; // size = 0xA9C
1084
1085typedef struct MSEQTrackData {
1086 /* 0x0 */ u8 trackIndex;
1087 /* 0x1 */ u8 type;
1088 /* 0x2 */ s16 time;
1089 /* 0x4 */ s16 delta;
1090 /* 0x6 */ u16 goal;
1091} MSEQTrackData; // size = 0x8
1092
1093typedef struct MSEQHeader {
1094 /* 0x00 */ s32 signature; // 'MSEQ '
1095 /* 0x04 */ s32 size; // including header
1096 /* 0x08 */ s32 name;
1097 /* 0x0C */ u8 firstVoiceIdx;
1098 /* 0x0D */ u8 trackSettingsCount;
1099 /* 0x0E */ u16 trackSettingsOffset;
1100 /* 0x10 */ u16 dataStart;
1101} MSEQHeader; // size variable
1102
1103typedef struct AmbienceTrack {
1108 /* 0x24 */ s8 pan;
1109 /* 0x25 */ s8 reverb;
1110 /* 0x26 */ u8 flags;
1111 /* 0x27 */ char unk_27[1];
1112} AmbienceTrack; // size = 0x28
1113
1114typedef struct AmbienceSavedVoice {
1115 /* 0x0 */ u8 trackIndex;
1116 /* 0x1 */ u8 tune;
1117 /* 0x2 */ s8 volume;
1118 /* 0x4 */ char unk_03[1];
1119} AmbienceSavedVoice; // size = 0x4
1120
1121typedef struct AmbienceVoiceState {
1123 /* 0x04 */ s16 pitch;
1124 /* 0x06 */ s8 volume;
1125 /* 0x07 */ u8 isResumable;
1126} AmbienceVoiceState; // size = 0x8
1127
1128typedef struct AmbiencePlayer {
1129 /* 0x000 */ MSEQHeader* mseqFile;
1132 /* 0x00C */ AuFilePos loopStartPos[2];
1134 /* 0x018 */ s32 delay;
1135 /* 0x01C */ s32 unk_1C;
1136 /* 0x020 */ s32 mseqName;
1137 /* 0x024 */ u8 mode;
1138 /* 0x025 */ u8 playState;
1139 /* 0x026 */ u8 fadeSettingsType;
1140 /* 0x027 */ char unk_27[1];
1141 /* 0x028 */ u16 fadeSettingsTime;
1142 /* 0x02A */ u8 fadeSettingsInitial; // 255 means from current volume
1143 /* 0x02B */ u8 fadeSettingsGoal;
1144 /* 0x02C */ u8 loopCount[2];
1145 /* 0x02E */ char unk_2E[2];
1146 /* 0x030 */ u32 firstVoiceIdx;
1147 /* 0x034 */ u32 lastVoiceIdx;
1148 /* 0x038 */ s32 fadeVolume;
1149 /* 0x03C */ s32 fadeStep;
1150 /* 0x040 */ u16 fadeTime;
1151 /* 0x042 */ u8 fadeGoal;
1152 /* 0x043 */ u8 resetRequired;
1153 /* 0x044 */ AmbienceTrack tracks[10];
1155} AmbiencePlayer; // size = 0x1E4
1156
1157//TODO AuStreamingManager ?
1158// 801D57A0
1159typedef struct AmbienceManager {
1160 /* 0x000 */ AuGlobals* globals;
1161 /* 0x004 */ s32 nextUpdateStep;
1162 /* 0x008 */ s32 nextUpdateInterval;
1163 /* 0x00C */ s32 nextUpdateCounter;
1164 /* 0x010 */ MSEQHeader* mseqFiles[4];
1165 /* 0x020 */ u8 numActivePlayers;
1166 /* 0x021 */ u8 loadTracksFadeInfo;
1167 /* 0x022 */ u8 priority;
1168 /* 0x023 */ u8 busId;
1169 /* 0x024 */ AmbiencePlayer players[4];
1172
1173typedef struct AlUnkGemini {
1174 /* 0x00 */ u16 sound1;
1175 /* 0x02 */ u16 sound2;
1176 /* 0x04 */ u8 flags;
1177} AlUnkGemini; // size = 0x5
1178
1179typedef struct ALConfig {
1180 /* 0x00 */ s32 num_pvoice;
1181 /* 0x04 */ s32 num_bus;
1182 /* 0x08 */ s32 outputRate;
1183 /* 0x0C */ u8 unk_0C;
1184 /* 0x0D */ char unk_0D[3];
1185 /* 0x10 */ void* dmaNew;
1186 /* 0x14 */ ALHeap* heap;
1187} ALConfig; // size = 0x18;
1188
1189extern volatile u8 AuSynUseStereo;
1190extern u16 DummyInstrumentPredictor[32];
1191extern u8 DummyInstrumentBase[190];
1192extern s32 CUSTOM_SMALL_ROOM_PARAMS[];
1193extern s32 CUSTOM_ECHO_PARAMS_1[];
1194extern s32 CUSTOM_ECHO_PARAMS_3[];
1195extern s32 CUSTOM_ECHO_PARAMS_2[];
1198extern s32 AuEnvelopeIntervals[];
1199extern s32 PreventBGMPlayerUpdate;
1200extern u16 AuAmbiencePlayOnlyIndex;
1201
1204extern u8 AuUseGlobalVolume;
1205extern u16 AuGlobalVolume;
1206extern u8 AuSynStereoDirty;
1207
1208extern AuGlobals* gSoundGlobals;
1209extern BGMPlayer* gBGMPlayerC;
1210extern BGMPlayer* gBGMPlayerB;
1213extern BGMPlayer* gBGMPlayerA;
1214
1215#include "audio/private.h"
1216
1217#endif
s32 * extraSounds
Definition audio.h:663
s8 unk_29
Definition audio.h:568
u16 format
Definition audio.h:852
char unk_02[0x2]
Definition audio.h:438
s32 randomValue2
Definition audio.h:1018
f32 outputRate
Definition audio.h:890
u16 drumCount
Definition audio.h:750
s32 unkFadeTime
Definition audio.h:917
s8 subtrackBusId
Definition audio.h:983
u8 unk_212[8]
Definition audio.h:1057
struct SeqArgs::@80 SubTrackReverbType
u8 channelDelayPending
Definition audio.h:904
MSEQHeader * mseqFiles[4]
Definition audio.h:1164
BGMInstrumentInfo * instrumentsInfo
Definition audio.h:1030
AUFileMetadata mdata
Definition audio.h:792
u8 randomVelocity
Definition audio.h:633
SoundManagerState
Definition audio.h:236
@ SND_MANAGER_STATE_DISABLED
Definition audio.h:238
@ SND_MANAGER_STATE_ENABLED
Definition audio.h:237
struct BGMHeader * bgmFile
Definition audio.h:1024
u16 bkFileIndex[3]
Definition audio.h:867
f32 pitchRatio
Definition audio.h:604
u8 * sefData
Definition audio.h:661
struct SeqArgs::@64 MasterVolumeFade
s32 fadeStep
Definition audio.h:367
u8 * cmdListPress
Definition audio.h:533
u8 busId
Definition audio.h:1074
u32 firstVoiceIdx
Definition audio.h:1146
AmbVoiceStateInfo info
Definition audio.h:1122
u16 predictorsSize
Definition audio.h:860
s8 volumeChanged
Definition audio.h:1058
char unk_166[0x2]
Definition audio.h:691
s32 CUSTOM_ECHO_PARAMS_1[]
Definition sfx_player.c:95
MSEQHeader * mseqFile
Definition audio.h:1129
VolumeField curVolume
Definition audio.h:366
u8 fadeSettingsType
Definition audio.h:1139
Instrument * sfxInstrumentRef
Definition audio.h:600
u8 instrumentIndex
Definition audio.h:628
ALHeap * heap
Definition audio.h:1186
char pad_B[1]
Definition audio.h:773
u16 * predictor
Definition audio.h:556
u8 trackSettingsCount
Definition audio.h:1098
u8 curVoiceIndex
Definition audio.h:683
char unk_8D
Definition audio.h:616
u8 randVolume
Definition audio.h:770
s32 baseRomOffset
Definition audio.h:894
s32 * customReverbParams[8]
Definition audio.h:671
u8 lastCustomEffectIdx
Definition audio.h:673
s32 unk_04
Definition audio.h:511
f32 delta
Definition audio.h:470
u16 unkStartA
Definition audio.h:857
u16 shortsSize
Definition audio.h:821
SoundManager * soundManager
Definition audio.h:1004
UNK_TYPE_32 unk__04
Definition audio.h:383
s8 segTrackVolume
Definition audio.h:965
s32 * savedMainOut
Definition audio.h:519
u16 soundID
Definition audio.h:524
struct SeqArgs::@82 EventTrigger
u16 playLength
Definition audio.h:618
s16 dryamt
Definition audio.h:481
AuVoice voices[24]
Definition audio.h:938
s32 versionOffset
Definition audio.h:797
u16 gain
Definition audio.h:437
char unk_27[1]
Definition audio.h:1140
f32 rsval
Definition audio.h:397
UNK_TYPE_PTR unk_00
Definition audio.h:427
s32 rsdelta
Definition audio.h:398
AuFilePos mseqReadPos
Definition audio.h:1131
AuFilePos sefDataReadPos
Definition audio.h:596
BGMPlayer * gBGMPlayerB
u16 unk_58
Definition audio.h:1019
s32 songPlayingCounter
Definition audio.h:1009
u16 predictorsStart
Definition audio.h:859
s32 numEntries
Definition audio.h:795
struct SeqArgs::@61 MasterPitchShift
AuEffectType
Definition audio.h:86
@ AU_FX_CUSTOM_3
Definition audio.h:96
@ AU_FX_FLANGE
Definition audio.h:91
@ AU_FX_CUSTOM_2
Definition audio.h:95
@ AU_FX_CUSTOM_1
Definition audio.h:94
@ AU_FX_ECHO
Definition audio.h:92
@ AU_FX_CHORUS
Definition audio.h:90
@ AU_FX_SMALLROOM
Definition audio.h:88
@ AU_FX_OTHER_BIGROOM
Definition audio.h:97
@ AU_FX_BIGROOM
Definition audio.h:89
@ AU_FX_NONE
Definition audio.h:87
@ AU_FX_CUSTOM_0
Definition audio.h:93
u8 segLoopDepth
Definition audio.h:1055
char unk_21F[0x1]
Definition audio.h:1063
volatile u8 AuSynUseStereo
s8 unk_2B
Definition audio.h:570
u8 fadeSettingsGoal
Definition audio.h:1143
SoundPlayChange changed
Definition audio.h:961
f32 ratio
Definition audio.h:469
s32 signature
Definition audio.h:1094
s32 volScaleStep
Definition audio.h:376
s32 num_pvoice
Definition audio.h:1180
struct SeqArgs::@66 TrackOverridePatch
char unk_130D[3]
Definition audio.h:935
struct AuPVoice * next
Definition audio.h:497
AuSynDriver * gActiveSynDriverPtr
Definition 31650.c:14
s32 CUSTOM_SMALL_ROOM_PARAMS[]
Definition sfx_player.c:84
s32 nextUpdateInterval
Definition audio.h:1162
s8 alternativeType
Definition audio.h:611
struct SeqArgs::@74 TrackTremolo
u8 * cmdListRelease
Definition audio.h:534
EnvelopeData envelope
Definition audio.h:721
s32 s32
Definition audio.h:361
char unk_228[0x2]
Definition audio.h:1069
char unk_28[0x4]
Definition audio.h:897
s16 fccoef[16]
Definition audio.h:421
EnvelopeCommand
Definition audio.h:125
@ ENV_CMD_END
Definition audio.h:130
@ ENV_CMD_SET_MULTIPLIER
Definition audio.h:129
@ ENV_CMD_ADD_MULTIPLIER
Definition audio.h:128
@ ENV_CMD_START_LOOP
Definition audio.h:127
@ ENV_CMD_END_LOOP
Definition audio.h:126
InitSongEntry * songList
Definition audio.h:898
Instrument * defaultInstrument
Definition audio.h:891
struct AuResampler * resampler_28
Definition audio.h:402
u8 unk_211
Definition audio.h:1056
s16 pitchShift
Definition audio.h:527
s16 wetamt
Definition audio.h:482
u16 instrumentCount
Definition audio.h:752
InstrumentGroup instrumentGroup6[4]
Definition audio.h:932
u8 unk_25B
Definition audio.h:1080
s16 fc
Definition audio.h:417
u8 tremoloTime
Definition audio.h:995
u8 unk_25A
Definition audio.h:1079
s32 segEnd
Definition audio.h:490
s32 songName
Definition audio.h:1010
struct AuLowPass * lowpass_24
Definition audio.h:401
SoundLerp volumeLerp
Definition audio.h:608
s16 rtgt
Definition audio.h:488
EnvelopePreset DummyInstrumentEnvelope
Definition sfx_player.c:294
u8 unk_258
Definition audio.h:1077
s32 curSamples
Definition audio.h:510
struct AuGlobals * globals
Definition audio.h:659
u8 randomPitch
Definition audio.h:632
s32 nextUpdateInterval
Definition audio.h:666
struct Fade fadeInfo
Definition audio.h:668
s32 unkSongName
Definition audio.h:915
MusicEventTrigger * musicEventQueue
Definition audio.h:921
AUFileMetadata mdata
Definition audio.h:815
struct SeqArgs::@68 SubTrackPan
struct SeqArgs::@75 TrackTremoloSpeed
SegmentControlCommands
Definition audio.h:108
@ BGM_SEGMENT_START_LOOP
Definition audio.h:111
@ BGM_SEGMENT_6
Definition audio.h:114
@ BGM_SEGMENT_END_LOOP
Definition audio.h:113
@ BGM_SEGMENT_SUBSEG
Definition audio.h:110
@ BGM_SEGMENT_END
Definition audio.h:109
@ BGM_SEGMENT_7
Definition audio.h:115
@ BGM_SEGMENT_WAIT
Definition audio.h:112
s16 cvolR
Definition audio.h:480
Instrument * instrument
Definition audio.h:1104
u16 sound1
Definition audio.h:1174
s32 AuEnvelopeIntervals[]
Definition sfx_player.c:341
s16 keyBase
Definition audio.h:765
ALDMANew2 dmaNew
Definition audio.h:515
s16 coarseTune
Definition audio.h:619
SoundManager * gSoundManager
struct SeqArgs::@71 SubTrackCoarseTune
u16 signature
Definition audio.h:848
BGMDrumInfo * drumsInfo
Definition audio.h:1029
u16 fadeSettingsTime
Definition audio.h:1141
s16 unk_74
Definition audio.h:501
s32 outputRate
Definition audio.h:512
s8 unk_27
Definition audio.h:566
s32 loopEnd
Definition audio.h:554
struct SeqArgs::@70 SegTrackVolume
s32 nextUpdateInterval
Definition audio.h:1006
u32 output
Definition audio.h:391
u16 shortsOffset
Definition audio.h:820
s16 masterPitchShift
Definition audio.h:635
u8 curEffectType
Definition audio.h:441
u8 masterPan
Definition audio.h:637
SoundPlayChange changed
Definition audio.h:603
char unk_0F[0x831]
Definition audio.h:873
u16 AuAmbiencePlayOnlyIndex
Definition 30450.c:8
u16 dataStart
Definition audio.h:1100
s16 lratm
Definition audio.h:484
s32 songID
Definition audio.h:1013
AuGlobals * globals
Definition audio.h:1003
struct MSEQHeader * dataMSEQ[2]
Definition audio.h:911
s32 bookSize
Definition audio.h:457
SoundManager90 bgmSounds[4]
Definition audio.h:676
SoundLerp tuneLerp
Definition audio.h:607
s32 step
Definition audio.h:578
AuGlobals * gSoundGlobals
s32 flushMusicEventQueue
Definition audio.h:923
AmbienceTrack tracks[10]
Definition audio.h:1153
EnvelopeOffset offsets[1]
Definition audio.h:545
u16 baseVolume
Definition audio.h:678
u8 raw[4]
Definition audio.h:263
s32 unkVolumeStep
Definition audio.h:954
u8 proxMixID
Definition audio.h:1046
UNK_TYPE_16 unk__04
Definition audio.h:428
s32 randomValue1
Definition audio.h:1017
char unk_8E[0x2]
Definition audio.h:675
s32 * savedAuxOut
Definition audio.h:520
InstrumentGroup instrumentGroup3[16]
Definition audio.h:927
s32 nextUpdateStep
Definition audio.h:1161
s32 current
Definition audio.h:577
AuCallback audioThreadCallbacks[2]
Definition audio.h:925
u8 unk_21E
Definition audio.h:1062
AuLoadFilter decoder
Definition audio.h:498
s32 unk_74
Definition audio.h:1028
s32 masterVolumeTarget
Definition audio.h:1038
struct SeqArgs::@73 SegTrackTune
s16 fbcoef
Definition audio.h:393
u8 reverb
Definition audio.h:627
u8 bgmDrumCount
Definition audio.h:1060
u16 offsetPress
Definition audio.h:538
ADPCM_STATE * state
Definition audio.h:453
s32 nextUpdateCounter
Definition audio.h:1007
char unk_01[3]
Definition audio.h:544
s16 ffcoef
Definition audio.h:392
struct SeqArgs::@59 MasterTempo
s16 alternativeVolume
Definition audio.h:606
void * dmaNew
Definition audio.h:1185
u8 loopCount[2]
Definition audio.h:1144
AuFilePos alternativeDataPos
Definition audio.h:610
u8 envelopePreset
Definition audio.h:629
char pad_C[4]
Definition audio.h:759
u8 unk_0C
Definition audio.h:1183
u16 unkSizeA
Definition audio.h:858
s32 * normalSounds[8]
Definition audio.h:662
u8 trackTremoloTime
Definition audio.h:978
char unk_5D[0x3]
Definition audio.h:985
u16 masterTempoBPM
Definition audio.h:1051
u8 relativeReleaseVolumes
Definition audio.h:735
s32 masterTempo
Definition audio.h:1032
VolumeField volScale
Definition audio.h:375
SegData * subSegmentStartPos
Definition audio.h:1027
SoundLerp tuneLerp
Definition audio.h:1106
s32 first
Definition audio.h:423
s16 unk_5A
Definition audio.h:1020
u8 loopCounter
Definition audio.h:729
SeqNote notes[24]
Definition audio.h:1082
u8 unk_259
Definition audio.h:1078
s32 masterTempoStep
Definition audio.h:1033
s32 bkFileListOffset
Definition audio.h:900
AmbVoiceStateInfo id
Definition audio.h:1133
s16 pitchShift
Definition audio.h:702
BGMDrumInfo drums[12]
Definition audio.h:831
f32 pitchRatio
Definition audio.h:714
s16 volScaleTime
Definition audio.h:378
char unk_05
Definition audio.h:621
s32 volMult
Definition audio.h:727
SoundPlayer players[8]
Definition audio.h:693
InstrumentGroup instrumentGroup1[4]
Definition audio.h:928
s32 bkListLength
Definition audio.h:901
char unk_0E[2]
Definition audio.h:853
s32 playCounter
Definition audio.h:664
char unk_9[0x1]
Definition audio.h:529
s8 unk_28
Definition audio.h:567
AUFileMetadata mdata
Definition audio.h:804
u8 AmbientSoundIDtoMSEQFileIndex[]
Definition sfx_player.c:328
UNK_TYPE_32 unk_08
Definition audio.h:384
u8 effectIndices[4]
Definition audio.h:1016
s32 first
Definition audio.h:471
u32 wavDataLength
Definition audio.h:551
s32 randomValue
Definition audio.h:670
s32 masterTempoTarget
Definition audio.h:1034
BGMInstrumentInfo * dataPRG
Definition audio.h:909
s8 unkC
Definition audio.h:806
s32 loopCount
Definition audio.h:555
s16 rratm
Definition audio.h:487
Instrument sfxInstrument
Definition audio.h:601
char unk_C1[0x1]
Definition audio.h:685
u16 instrumetsSize
Definition audio.h:856
struct BGMPlayer * unk_74
Definition audio.h:913
u8 numActivePlayers
Definition audio.h:1165
SBNFileEntry * sbnFileList
Definition audio.h:895
AuFilePos mseqReadStart
Definition audio.h:1130
struct SeqArgs::@69 SubTrackReverb
SeqArgs seqCmdArgs
Definition audio.h:1041
s32 unkFadeEnd
Definition audio.h:919
u8 polyphonicIdx
Definition audio.h:976
u8 timeIntervalIndex
Definition audio.h:732
s16 volume
Definition audio.h:478
u16 dc_bookSize
Definition audio.h:557
s16 masterVolume
Definition audio.h:636
s32 subTrackVolumeStep
Definition audio.h:948
s16 unk_174[8][9]
Definition audio.h:1049
BGMFileInfo info
Definition audio.h:760
u8 cmdList_mode2[8]
Definition audio.h:609
SoundLerp volumeLerp
Definition audio.h:1107
char unk_236[0x2]
Definition audio.h:1075
char pad_0E[2]
Definition audio.h:395
s32 fileSize
Definition audio.h:796
u8 loadTracksFadeInfo
Definition audio.h:1166
u16 drums
Definition audio.h:749
AuVoiceSyncFlags
Definition audio.h:79
@ AU_VOICE_SYNC_FLAG_PARAMS
Definition audio.h:81
@ AU_VOICE_SYNC_FLAG_PAN_FXMIX
Definition audio.h:83
@ AU_VOICE_SYNC_FLAG_PITCH
Definition audio.h:82
@ AU_VOICE_SYNC_FLAG_ALL
Definition audio.h:80
UNK_TYPE_16 unk__0A
Definition audio.h:431
u8 trackTremoloSpeed
Definition audio.h:977
u8 unk_222
Definition audio.h:1066
u16 segments[4]
Definition audio.h:748
s16 trackTremoloAmount
Definition audio.h:958
u8 randPan
Definition audio.h:771
BGMDrumInfo * drums[12]
Definition audio.h:1031
s32 busVolume
Definition audio.h:669
s32 subTrackVolume
Definition audio.h:947
u16 maxTempo
Definition audio.h:1052
s32 CUSTOM_ECHO_PARAMS_3[]
Definition sfx_player.c:113
s32 name
Definition audio.h:758
u16 tblSize
Definition audio.h:819
s16 bankPatch
Definition audio.h:764
s32 UNK_TYPE_32
Definition audio.h:11
f32 rsgain
Definition audio.h:399
s32 size
Definition audio.h:1095
u8 * WaveData
Definition audio.h:15
AuPVoice * pvoices
Definition audio.h:517
BGMPlayerState
Definition audio.h:100
@ BGM_PLAY_STATE_IDLE
Definition audio.h:101
@ BGM_PLAY_STATE_STOP
Definition audio.h:105
@ BGM_PLAY_STATE_NEXT_SUBSEG
Definition audio.h:103
@ BGM_STATE_PLAY_SUBSEG
Definition audio.h:102
@ BGM_PLAY_STATE_INIT
Definition audio.h:104
u8 * trackVolsConfig
Definition audio.h:1050
s32(* ALDMAproc2)(s32 addr, s32 len, void *state, u8 arg3)
Definition audio.h:448
AuLowPass * lowpass_10
Definition audio.h:433
s16 pan
Definition audio.h:477
u16 subTrackCoarseTune
Definition audio.h:963
s32 masterTempoTime
Definition audio.h:1035
char unused_04[4]
Definition audio.h:798
s32 delta
Definition audio.h:489
char unk_AA[0x2]
Definition audio.h:639
u8 unk_223
Definition audio.h:1067
u8 * base
Definition audio.h:550
f32 rate
Definition audio.h:726
ENVMIX_STATE * state
Definition audio.h:476
s32 fileListLength
Definition audio.h:896
u8 numSegments
Definition audio.h:746
s16 unkVolumeTime
Definition audio.h:956
s8 clientPriority
Definition audio.h:740
s32 nextUpdateStep
Definition audio.h:665
char unk_10[2]
Definition audio.h:854
char unk_00[0xE]
Definition audio.h:871
s32 nextUpdateStep
Definition audio.h:1005
s32 loopStart
Definition audio.h:553
s16 UNK_TYPE_16
Definition audio.h:10
struct AuLowPass * lowpass_20
Definition audio.h:400
s32 lastsam
Definition audio.h:461
s16 clientVolume
Definition audio.h:737
s32 name
Definition audio.h:1096
s32 unk_80
Definition audio.h:916
u8 unk_13
Definition audio.h:996
AmbienceVoiceState voiceStates[16]
Definition audio.h:1170
s16 fadeTime
Definition audio.h:369
AuFxBus * fxBus
Definition audio.h:518
u8 bgmInstrumentCount
Definition audio.h:1061
struct Instrument * instrument
Definition audio.h:456
u8 unk_note_17
Definition audio.h:999
AuResampler resampler
Definition audio.h:499
char pad_11[3]
Definition audio.h:747
u8 priority
Definition audio.h:623
SoundManagerCustomCmdList customCmdList[4]
Definition audio.h:677
u8 noteVelocity
Definition audio.h:998
char unk_0D[0x3]
Definition audio.h:442
ALHeap * heap
Definition audio.h:516
FxBus
Definition audio.h:118
@ FX_BUS_BGMA_MAIN
Definition audio.h:119
@ FX_BUS_BGMA_AUX
Definition audio.h:122
@ FX_BUS_SOUND
Definition audio.h:120
@ FX_BUS_BGMB
Definition audio.h:121
u16 bgmFileIndex
Definition audio.h:866
s16 detourLength
Definition audio.h:960
u8 pan
Definition audio.h:717
s32 delayTime
Definition audio.h:951
SegData * segmentReadPos
Definition audio.h:1025
s16 cvolL
Definition audio.h:479
u8 effectValues[4]
Definition audio.h:1068
s32 name
Definition audio.h:851
s32 num_pvoice
Definition audio.h:513
s16 targetVolScale
Definition audio.h:377
s16 time
Definition audio.h:579
s16 rratl
Definition audio.h:486
s16 volume
Definition audio.h:991
u16 masterPitchShift
Definition audio.h:1053
u16 instruments
Definition audio.h:751
s32 volChangeTime
Definition audio.h:724
u16 trackSettingsOffset
Definition audio.h:1099
u8 sfxQueueNextPos
Definition audio.h:689
s32 subTrackVolumeTime
Definition audio.h:950
u8 unk_21B
Definition audio.h:1059
u8 AuUseGlobalVolume
Definition 31650.c:16
BGMPlayer * gBGMPlayerA
s32 masterVolume
Definition audio.h:1036
AuFX * fxR
Definition audio.h:440
s8 unk_26
Definition audio.h:565
s16 adjustedPitch
Definition audio.h:992
s16 lratl
Definition audio.h:483
u16 DummyInstrumentPredictor[32]
Definition sfx_player.c:61
char unk_0D[3]
Definition audio.h:1184
void(* AuCallback)(void)
Definition audio.h:260
u8 triggers
Definition audio.h:612
u8 index
Definition audio.h:504
struct SeqArgs::@67 SubTrackVolume
char unk_2E[2]
Definition audio.h:1145
u8 DummyInstrumentBase[190]
Definition sfx_player.c:68
s16 unk_5C
Definition audio.h:1021
AuLowPass * lowpass_0C
Definition audio.h:432
s32 PreventBGMPlayerUpdate
Definition 30450.c:6
s32 masterVolumeTime
Definition audio.h:1039
char unk_86[0x2]
Definition audio.h:613
s32 INIToffset
Definition audio.h:799
u8 volume
Definition audio.h:766
u8 syncFlags
Definition audio.h:739
u8 unk_130C
Definition audio.h:934
u8 sfxPlayerSelector
Definition audio.h:681
struct SeqArgs::@79 TrackVolumeFade
InstrumentGroup instrumentGroup2[16]
Definition audio.h:929
AuSynDriver * gSynDriverPtr
Definition 31650.c:15
s32 tableOffset
Definition audio.h:794
s32 songListLength
Definition audio.h:899
s8 unkD
Definition audio.h:807
u16 u16
Definition audio.h:360
s32 busVolume
Definition audio.h:1015
u16 tremoloAmount
Definition audio.h:994
s8 UNK_TYPE_08
Definition audio.h:9
s32 nextUpdateCounter
Definition audio.h:1163
AmbienceSavedVoice savedVoices[4]
Definition audio.h:1154
ALDMAproc2(* ALDMANew2)(void *state)
Definition audio.h:449
Fade fadeInfo
Definition audio.h:1014
struct AuPVoice * tail
Definition audio.h:444
u8 bFadeConfigSetsVolume
Definition audio.h:1071
u8 unk_3C
Definition audio.h:733
u8 releaseVolumeMult
Definition audio.h:736
char unk_14[0xC]
Definition audio.h:822
s16 unkVolumeTarget
Definition audio.h:955
u8 exclusiveID
Definition audio.h:624
u8 delayCount
Definition audio.h:412
s16 unk_BA
Definition audio.h:679
struct SeqArgs::@83 Detour
s32 updateCounter
Definition audio.h:1008
ALDMAproc2 dmaFunc
Definition audio.h:458
u8 channelDelayBusId
Definition audio.h:905
char unk_172[0x2]
Definition audio.h:1048
s32 CUSTOM_ECHO_PARAMS_2[]
Definition sfx_player.c:104
BGMPlayer * gBGMPlayerC
s32 sourceFlags
Definition audio.h:699
struct SeqArgs::@84 UnkCmdFF
AuDelay * delays
Definition audio.h:411
s32 first
Definition audio.h:491
s32 size
Definition audio.h:757
AuFilePos loopStartPos[2]
Definition audio.h:1132
EnvelopeData envelope
Definition audio.h:598
AuFilePos savedPos
Definition audio.h:943
u8 unk_7A[2]
Definition audio.h:505
u8 channelDelaySide
Definition audio.h:907
SoundBank * banks[3]
Definition audio.h:936
struct AuPVoice * head
Definition audio.h:443
s32 unkFadeStart
Definition audio.h:918
u8 sfxParamsFlags
Definition audio.h:625
UNK_PTR loopPredictor
Definition audio.h:552
u16 curSoundID
Definition audio.h:622
u8 parentTrackIdx
Definition audio.h:981
ALRawLoop loop
Definition audio.h:455
AmbiencePlayer players[4]
Definition audio.h:1169
u8 stopPending
Definition audio.h:738
u16 sections[8]
Definition audio.h:810
UNK_TYPE_32 unk_00
Definition audio.h:382
u8 busId
Definition audio.h:503
s32 motion
Definition audio.h:492
Instrument * instrument
Definition audio.h:713
s32 unk_238[8]
Definition audio.h:1076
struct BGMHeader * dataBGM[2]
Definition audio.h:910
s32 fadeSongName
Definition audio.h:1011
char unk_46[2]
Definition audio.h:742
ADPCM_STATE * lstate
Definition audio.h:454
SoundPlayerState
Definition audio.h:231
@ SND_PLAYER_STATE_INIT
Definition audio.h:233
@ SND_PLAYER_STATE_CONTINUE
Definition audio.h:232
struct AuResampler * resampler_2C
Definition audio.h:403
EnvelopePreset * envelopes
Definition audio.h:571
f32 rsinc
Definition audio.h:396
u16 AuGlobalVolume
Definition 31650.c:17
PEREntry * dataPER
Definition audio.h:908
u8 envelopeFlags
Definition audio.h:734
s8 unkF
Definition audio.h:809
u16 unkStartB
Definition audio.h:861
u8 unk_233
Definition audio.h:1072
BGMInstrumentInfo defaultPRGEntry
Definition audio.h:893
u8 unk_22A[8]
Definition audio.h:1070
struct BGMPlayer * unk_78
Definition audio.h:914
u16 section2000
Definition audio.h:811
s16 sfxVolume
Definition audio.h:605
struct BGMPlayer * bgmPlayer
Definition audio.h:883
u32 input
Definition audio.h:390
SoundInstanceFlags
Definition audio.h:241
@ SOUND_INSTANCE_FLAG_POSITION_CHANGED
Definition audio.h:243
@ SOUND_INSTANCE_FLAG_ACTIVE
Definition audio.h:242
s32 nextUpdateCounter
Definition audio.h:667
s16 unk_06
Definition audio.h:429
s8 fineTune
Definition audio.h:620
struct SeqArgs::@77 UnkCmdF4
s8 reverb
Definition audio.h:768
char unk_27[1]
Definition audio.h:1111
struct SeqArgs::@65 MasterEffect
s8 unk_A3
Definition audio.h:634
s32 noteLength
Definition audio.h:993
s32 soundID
Definition audio.h:698
u8 priority
Definition audio.h:1073
struct SeqArgs::@62 UnkCmdE3
char reserved[24]
Definition audio.h:800
u8 initialAmp
Definition audio.h:730
s32 unkVolume
Definition audio.h:953
u8 reverb
Definition audio.h:718
s32 subTrackVolumeTarget
Definition audio.h:949
u8 firstVoiceIdx
Definition audio.h:1097
char pad4[0xC]
Definition audio.h:597
SegData * segActiveLoopEndPos[4]
Definition audio.h:1043
s32 offset
Definition audio.h:835
u8 fadeSettingsInitial
Definition audio.h:1142
u8 sfxQueuePosOffset
Definition audio.h:688
POLEF_STATE * fstate
Definition audio.h:422
u16 keyBase
Definition audio.h:558
s16 gain
Definition audio.h:394
s32 masterVolumeStep
Definition audio.h:1037
s32 signature
Definition audio.h:787
EnvelopeData envelope
Definition audio.h:946
BGMPlayerTrack tracks[16]
Definition audio.h:1081
NUDMAState * dmaState
Definition audio.h:459
AuFilePos bgmReadPos
Definition audio.h:942
SoundSFXEntry soundQueue[16]
Definition audio.h:686
char pad_7[1]
Definition audio.h:783
struct SeqArgs::@76 TrackTremoloTime
u8 segLoopCounters[4]
Definition audio.h:1044
u16 offsetRelease
Definition audio.h:539
InstrumentGroup instrumentGroupX[1]
Definition audio.h:926
u16 delay
Definition audio.h:617
char unk_11[0x3]
Definition audio.h:720
char unk_02[2]
Definition audio.h:849
SegData * segmentStartPos
Definition audio.h:1026
u32 SegData
Definition audio.h:62
s8 customReverbAmounts[8]
Definition audio.h:672
s8 * loopStartPos
Definition audio.h:614
s16 p_volume
Definition audio.h:716
u8 loopIterCount
Definition audio.h:615
u8 randReverb
Definition audio.h:772
AuPriority
Definition audio.h:64
@ AU_PRIORITY_BGM_PLAYER_MAIN
Definition audio.h:66
@ AU_PRIORITY_MSEQ_MANAGER
Definition audio.h:69
@ AU_PRIORITY_FREE
Definition audio.h:65
@ AU_PRIORITY_SFX_MANAGER
Definition audio.h:68
@ AU_PRIORITY_BGM_PLAYER_AUX
Definition audio.h:67
s16 segTrackTune
Definition audio.h:957
s32 delta
Definition audio.h:715
u8 unk_25
Definition audio.h:564
s16 goal
Definition audio.h:580
u8 priority
Definition audio.h:680
f32 pitchRatio
Definition audio.h:990
EnvelopeData envelope
Definition audio.h:1105
s32 num_bus
Definition audio.h:514
u16 upperSoundID
Definition audio.h:525
SndGlobalsSub6C unk_globals_6C[1]
Definition audio.h:912
u8 randTune
Definition audio.h:769
s32 outputRate
Definition audio.h:1182
AuFilePos prevReadPos
Definition audio.h:944
s32 resetPending
Definition audio.h:692
s16 * input
Definition audio.h:409
InstrumentGroup * instrumentGroups[8]
Definition audio.h:933
AuEffectChange effectChanges[4]
Definition audio.h:903
s8 unk_2A
Definition audio.h:569
u8 masterState
Definition audio.h:1065
AuGlobals * globals
Definition audio.h:1160
u32 lastVoiceIdx
Definition audio.h:1147
AuEnvMixer envMixer
Definition audio.h:500
s8 subTrackFineTune
Definition audio.h:964
f32 playbackRate
Definition audio.h:1040
u8 unk_A0
Definition audio.h:631
u8 * AuFilePos
Definition audio.h:14
u8 busId
Definition audio.h:719
u16 unkSizeB
Definition audio.h:862
s32 memin
Definition audio.h:463
char unk_131C[4]
Definition audio.h:937
s16 unk_08
Definition audio.h:430
Instrument * ins
Definition audio.h:989
s16 unk_76
Definition audio.h:502
struct SeqArgs::@60 MasterVolume
s32 size
Definition audio.h:850
u8 swizzled
Definition audio.h:872
AuVoiceEnvelopeFlags
Definition audio.h:72
@ AU_VOICE_ENV_FLAG_KEY_RELEASED
Definition audio.h:75
@ AU_VOICE_ENV_FLAG_STOP
Definition audio.h:73
@ AU_VOICE_ENV_FLAG_VOL_CHANGED
Definition audio.h:76
@ AU_VOICE_ENV_FLAG_HANDLED_VOL_CHANGE
Definition audio.h:74
u8 AuSynStereoDirty
Definition 31650.c:18
RESAMPLE_STATE * state
Definition audio.h:468
u8 * envelopCustomPressProfile
Definition audio.h:599
EnvelopeTimeIntervals
Definition audio.h:133
@ ENV_TIME_14UNITS
Definition audio.h:215
@ ENV_TIME_350MS
Definition audio.h:191
@ ENV_TIME_4_5S
Definition audio.h:160
@ ENV_TIME_280MS
Definition audio.h:195
@ ENV_TIME_140MS
Definition audio.h:209
@ ENV_TIME_45S
Definition audio.h:137
@ ENV_TIME_55S
Definition audio.h:135
@ ENV_TIME_240MS
Definition audio.h:199
@ ENV_TIME_270MS
Definition audio.h:196
@ ENV_TIME_800MS
Definition audio.h:181
@ ENV_TIME_8S
Definition audio.h:156
@ ENV_TIME_120MS
Definition audio.h:211
@ ENV_TIME_1UNITS
Definition audio.h:227
@ ENV_TIME_1100MS
Definition audio.h:176
@ ENV_TIME_18S
Definition audio.h:146
@ ENV_TIME_375MS
Definition audio.h:190
@ ENV_TIME_17S
Definition audio.h:147
@ ENV_TIME_210MS
Definition audio.h:202
@ ENV_TIME_160MS
Definition audio.h:207
@ ENV_TIME_170MS
Definition audio.h:206
@ ENV_TIME_700MS
Definition audio.h:183
@ ENV_TIME_60S
Definition audio.h:134
@ ENV_TIME_1900MS
Definition audio.h:168
@ ENV_TIME_1800MS
Definition audio.h:169
@ ENV_TIME_100MS
Definition audio.h:213
@ ENV_TIME_650MS
Definition audio.h:184
@ ENV_TIME_6S
Definition audio.h:158
@ ENV_TIME_35S
Definition audio.h:139
@ ENV_TIME_850MS
Definition audio.h:180
@ ENV_TIME_1700MS
Definition audio.h:170
@ ENV_TIME_600MS
Definition audio.h:185
@ ENV_TIME_0
Definition audio.h:228
@ ENV_TIME_10S
Definition audio.h:154
@ ENV_TIME_15S
Definition audio.h:149
@ ENV_TIME_22_5S
Definition audio.h:143
@ ENV_TIME_220MS
Definition audio.h:201
@ ENV_TIME_190MS
Definition audio.h:204
@ ENV_TIME_2UNITS
Definition audio.h:226
@ ENV_TIME_11UNITS
Definition audio.h:217
@ ENV_TIME_25S
Definition audio.h:142
@ ENV_TIME_30S
Definition audio.h:140
@ ENV_TIME_950MS
Definition audio.h:178
@ ENV_TIME_300MS
Definition audio.h:193
@ ENV_TIME_110MS
Definition audio.h:212
@ ENV_TIME_1300MS
Definition audio.h:174
@ ENV_TIME_27_5S
Definition audio.h:141
@ ENV_TIME_1400MS
Definition audio.h:173
@ ENV_TIME_150MS
Definition audio.h:208
@ ENV_TIME_2500MS
Definition audio.h:165
@ ENV_TIME_8UNITS
Definition audio.h:220
@ ENV_TIME_2250MS
Definition audio.h:166
@ ENV_TIME_14S
Definition audio.h:150
@ ENV_TIME_3S
Definition audio.h:163
@ ENV_TIME_1600MS
Definition audio.h:171
@ ENV_TIME_1S
Definition audio.h:177
@ ENV_TIME_5S
Definition audio.h:159
@ ENV_TIME_5UNITS
Definition audio.h:223
@ ENV_TIME_230MS
Definition audio.h:200
@ ENV_TIME_7S
Definition audio.h:157
@ ENV_TIME_16UNITS
Definition audio.h:214
@ ENV_TIME_6UNITS
Definition audio.h:222
@ ENV_TIME_2750MS
Definition audio.h:164
@ ENV_TIME_325MS
Definition audio.h:192
@ ENV_TIME_450MS
Definition audio.h:188
@ ENV_TIME_3_5S
Definition audio.h:162
@ ENV_TIME_4S
Definition audio.h:161
@ ENV_TIME_180MS
Definition audio.h:205
@ ENV_TIME_3UNITS
Definition audio.h:225
@ ENV_TIME_19S
Definition audio.h:145
@ ENV_TIME_13S
Definition audio.h:151
@ ENV_TIME_1500MS
Definition audio.h:172
@ ENV_TIME_200MS
Definition audio.h:203
@ ENV_TIME_4UNITS
Definition audio.h:224
@ ENV_TIME_50S
Definition audio.h:136
@ ENV_TIME_11S
Definition audio.h:153
@ ENV_TIME_130MS
Definition audio.h:210
@ ENV_TIME_40S
Definition audio.h:138
@ ENV_TIME_10UNITS
Definition audio.h:218
@ ENV_TIME_2S
Definition audio.h:167
@ ENV_TIME_250MS
Definition audio.h:198
@ ENV_TIME_900MS
Definition audio.h:179
@ ENV_TIME_12S
Definition audio.h:152
@ ENV_TIME_7UNITS
Definition audio.h:221
@ ENV_TIME_400MS
Definition audio.h:189
@ ENV_TIME_20S
Definition audio.h:144
@ ENV_TIME_16S
Definition audio.h:148
@ ENV_TIME_1200MS
Definition audio.h:175
@ ENV_TIME_9S
Definition audio.h:155
@ ENV_TIME_750MS
Definition audio.h:182
@ ENV_TIME_12UNITS
Definition audio.h:216
@ ENV_TIME_550MS
Definition audio.h:186
@ ENV_TIME_260MS
Definition audio.h:197
@ ENV_TIME_9UNITS
Definition audio.h:219
@ ENV_TIME_290MS
Definition audio.h:194
@ ENV_TIME_500MS
Definition audio.h:187
s16 * base
Definition audio.h:408
s32 unk8
Definition audio.h:805
s32 length
Definition audio.h:410
u16 instruments[16]
Definition audio.h:855
SegData * segLoopStartLabels[32]
Definition audio.h:1042
char unk_08[8]
Definition audio.h:827
s16 unk_14
Definition audio.h:997
InstrumentGroup instrumentGroup4[16]
Definition audio.h:930
Vec3f pos
Definition audio.h:703
u32 musicEventQueueCount
Definition audio.h:922
u8 unk_220
Definition audio.h:1064
char pad_04[4]
Definition audio.h:420
u8 playVelocity
Definition audio.h:630
s8 defaultReverbAmt
Definition audio.h:674
MusicEventTrigger * musicEventQueuePos
Definition audio.h:920
char unused_08[8]
Definition audio.h:793
u8 * loopStart
Definition audio.h:728
Instrument * instrument
Definition audio.h:945
AuFilePos sefReadStart
Definition audio.h:602
u16 * mseqFileList
Definition audio.h:902
s32 num_bus
Definition audio.h:1181
UNK_TYPE_32 unk_0C
Definition audio.h:385
struct SeqArgs::@81 Jump
s16 ltgt
Definition audio.h:485
u8 type
Definition audio.h:563
s32 unk_20
Definition audio.h:723
char unk_3C[0x2]
Definition audio.h:959
s32 first
Definition audio.h:462
u8 priority
Definition audio.h:741
s32 signature
Definition audio.h:756
SEFHeader * dataSEF
Definition audio.h:924
AUFileMetadata mdata
Definition audio.h:826
void * UNK_TYPE_PTR
Definition audio.h:12
Instrument * InstrumentGroup[16]
Definition audio.h:574
u32 curSegmentID
Definition audio.h:1023
struct SeqArgs::@78 SetTrackVoice
u8 targetAmp
Definition audio.h:731
struct AuVoice * curVoice
Definition audio.h:660
char pad5E[2]
Definition audio.h:1022
u8 hasExtraSection
Definition audio.h:808
u8 * cmdPtr
Definition audio.h:722
InstrumentGroup instrumentGroup5[16]
Definition audio.h:931
s16 targetVolume
Definition audio.h:368
u16 entriesSize
Definition audio.h:817
s16 fgain
Definition audio.h:418
s32 timeLeft
Definition audio.h:725
s16 detune
Definition audio.h:1054
struct SeqArgs::@63 MasterTempoFade
AmbienceManager * gAuAmbienceManager
s32 bgmFileIndex
Definition audio.h:1012
u8 subTrackReverb
Definition audio.h:967
u16 sound2
Definition audio.h:1175
u8 channelDelayTime
Definition audio.h:906
AuFX * fxL
Definition audio.h:439
u16 entriesOffset
Definition audio.h:816
struct SeqArgs::@72 SubTrackFineTune
s32 proxMixValue
Definition audio.h:1045
s32 sample
Definition audio.h:460
char unk_02[2]
Definition audio.h:879
u8 sfxPan
Definition audio.h:626
u16 tblOffset
Definition audio.h:818
u8 proxMixVolume
Definition audio.h:1047
BGMDrumInfo defaultDrumEntry
Definition audio.h:892
Definition audio.h:407
Definition audio.h:365
u32 MusicEventTrigger
#define UNK_PTR
Definition types.h:7