1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-10-20 05:30:26 +00:00

Document the Haas Effect (#1302)

* Document Haas Effect

* More docs

* cleanup

* add comments

* Adjust comment

* More cleanup

* Fix

* Add description of the Haas Effect

* roman suggestion
This commit is contained in:
engineer124 2022-08-28 11:33:38 -04:00 committed by GitHub
commit e25bb1485a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 137 additions and 98 deletions

View file

@ -121,7 +121,7 @@ extern u8 gDefaultShortNoteGateTimeTable[16];
extern EnvelopePoint gDefaultEnvelope[4];
extern NoteSubEu gZeroNoteSub;
extern NoteSubEu gDefaultNoteSub;
extern u16 gHeadsetPanQuantization[64];
extern u16 gHaasEffectDelaySizes[64];
extern s16 D_8012FBA8[];
extern f32 gHeadsetPanVolume[128];
extern f32 gStereoPanVolume[128];

View file

@ -484,19 +484,19 @@ typedef struct SequenceLayer {
} SequenceLayer; // size = 0x80
typedef struct {
/* 0x0000 */ s16 adpcmdecState[0x10];
/* 0x0020 */ s16 finalResampleState[0x10];
/* 0x0040 */ s16 mixEnvelopeState[0x28];
/* 0x0090 */ s16 panResampleState[0x10];
/* 0x00B0 */ s16 panSamplesBuffer[0x20];
/* 0x00F0 */ s16 dummyResampleState[0x10];
} NoteSynthesisBuffers; // size = 0x110
/* 0x000 */ s16 adpcmdecState[16];
/* 0x020 */ s16 finalResampleState[16];
/* 0x040 */ s16 mixEnvelopeState[32];
/* 0x080 */ s16 unusedState[16];
/* 0x0A0 */ s16 haasEffectDelayState[32];
/* 0x0E0 */ s16 unkState[128];
} NoteSynthesisBuffers; // size = 0x1E0
typedef struct {
/* 0x00 */ u8 restart;
/* 0x01 */ u8 sampleDmaIndex;
/* 0x02 */ u8 prevHeadsetPanRight;
/* 0x03 */ u8 prevHeadsetPanLeft;
/* 0x02 */ u8 prevHaasEffectLeftDelaySize;
/* 0x03 */ u8 prevHaasEffectRightDelaySize;
/* 0x04 */ u8 reverbVol;
/* 0x05 */ u8 numParts;
/* 0x06 */ u16 samplePosFrac;
@ -559,11 +559,11 @@ typedef struct {
/* 0x01 */ u8 bookOffset : 2;
/* 0x01 */ u8 isSyntheticWave : 1;
/* 0x01 */ u8 hasTwoParts : 1;
/* 0x01 */ u8 usesHeadsetPanEffects2 : 1;
/* 0x01 */ u8 useHaasEffect : 1;
} bitField1;
/* 0x02 */ u8 gain; // Increases volume by a multiplicative scaling factor. Represented as a UQ4.4 number
/* 0x03 */ u8 headsetPanRight;
/* 0x04 */ u8 headsetPanLeft;
/* 0x03 */ u8 haasEffectLeftDelaySize;
/* 0x04 */ u8 haasEffectRightDelaySize;
/* 0x05 */ u8 reverbVol;
/* 0x06 */ u8 harmonicIndexCurAndPrev; // bits 3..2 store curHarmonicIndex, bits 1..0 store prevHarmonicIndex
/* 0x07 */ u8 unk_07;