mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Identify bytes in music player for voice limit, as well as struct values for ScreenViewPort co-ords
This commit is contained in:
@@ -264,7 +264,7 @@ glabel menu_audio_options_loop
|
||||
.L8008502C:
|
||||
/* 085C2C 8008502C 0C0002CA */ jal func_80000B28
|
||||
/* 085C30 80085030 00000000 */ nop
|
||||
/* 085C34 80085034 0C0002F8 */ jal func_80000BE0
|
||||
/* 085C34 80085034 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 085C38 80085038 24040018 */ li $a0, 24
|
||||
/* 085C3C 8008503C 0C0002CD */ jal play_music
|
||||
/* 085C40 80085040 24040018 */ li $a0, 24
|
||||
@@ -310,7 +310,7 @@ glabel menu_audio_options_loop
|
||||
/* 085CD4 800850D4 00000000 */ nop
|
||||
/* 085CD8 800850D8 0C0002CA */ jal func_80000B28
|
||||
/* 085CDC 800850DC 00000000 */ nop
|
||||
/* 085CE0 800850E0 0C0002F8 */ jal func_80000BE0
|
||||
/* 085CE0 800850E0 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 085CE4 800850E4 24040018 */ li $a0, 24
|
||||
/* 085CE8 800850E8 92040003 */ lbu $a0, 3($s0)
|
||||
/* 085CEC 800850EC 0C0002CD */ jal play_music
|
||||
|
||||
@@ -525,7 +525,7 @@ glabel menu_track_select_init
|
||||
/* 08FB7C 8008EF7C 2610F760 */ addiu $s0, %lo(D_800DF760) # addiu $s0, $s0, -0x8a0
|
||||
/* 08FB80 8008EF80 AC206848 */ sw $zero, %lo(D_80126848)($at)
|
||||
/* 08FB84 8008EF84 AE000000 */ sw $zero, ($s0)
|
||||
/* 08FB88 8008EF88 0C0002F8 */ jal func_80000BE0
|
||||
/* 08FB88 8008EF88 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 08FB8C 8008EF8C 24040018 */ li $a0, 24
|
||||
/* 08FB90 8008EF90 0C000307 */ jal func_80000C1C
|
||||
/* 08FB94 8008EF94 00000000 */ nop
|
||||
|
||||
@@ -303,7 +303,7 @@ glabel menu_trophy_race_rankings_init
|
||||
.L80098E5C:
|
||||
/* 099A5C 80098E5C 0C03105C */ jal func_800C4170
|
||||
/* 099A60 80098E60 24040002 */ li $a0, 2
|
||||
/* 099A64 80098E64 0C0002F8 */ jal func_80000BE0
|
||||
/* 099A64 80098E64 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 099A68 80098E68 24040018 */ li $a0, 24
|
||||
/* 099A6C 80098E6C 0C0002CD */ jal play_music
|
||||
/* 099A70 80098E70 24040018 */ li $a0, 24
|
||||
|
||||
@@ -77,7 +77,7 @@ glabel menu_trophy_race_round_init
|
||||
/* 098F80 80098380 AC2B0980 */ sw $t3, %lo(D_800E0980)($at)
|
||||
/* 098F84 80098384 0C03105C */ jal func_800C4170
|
||||
/* 098F88 80098388 24040002 */ li $a0, 2
|
||||
/* 098F8C 8009838C 0C0002F8 */ jal func_80000BE0
|
||||
/* 098F8C 8009838C 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 098F90 80098390 24040018 */ li $a0, 24
|
||||
/* 098F94 80098394 0C0002CD */ jal play_music
|
||||
/* 098F98 80098398 24040018 */ li $a0, 24
|
||||
|
||||
@@ -141,7 +141,7 @@ glabel func_80034E9C
|
||||
/* 035CA0 800350A0 240E008C */ li $t6, 140
|
||||
/* 035CA4 800350A4 24040010 */ li $a0, 16
|
||||
/* 035CA8 800350A8 A5AB0004 */ sh $t3, 4($t5)
|
||||
/* 035CAC 800350AC 0C00030E */ jal func_80000C38
|
||||
/* 035CAC 800350AC 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 035CB0 800350B0 ADAE0000 */ sw $t6, ($t5)
|
||||
/* 035CB4 800350B4 0C000326 */ jal func_80000C98
|
||||
/* 035CB8 800350B8 2404FFF8 */ li $a0, -8
|
||||
@@ -172,7 +172,7 @@ glabel func_80034E9C
|
||||
.L80035114:
|
||||
/* 035D14 80035114 0C000326 */ jal func_80000C98
|
||||
/* 035D18 80035118 AF200000 */ sw $zero, ($t9)
|
||||
/* 035D1C 8003511C 0C00030E */ jal func_80000C38
|
||||
/* 035D1C 8003511C 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 035D20 80035120 24040006 */ li $a0, 6
|
||||
.L80035124:
|
||||
/* 035D24 80035124 8E0A005C */ lw $t2, 0x5c($s0)
|
||||
|
||||
@@ -189,7 +189,7 @@ glabel func_80039330
|
||||
.L800395A0:
|
||||
/* 03A1A0 800395A0 0C0004BA */ jal func_800012E8
|
||||
/* 03A1A4 800395A4 AFA60084 */ sw $a2, 0x84($sp)
|
||||
/* 03A1A8 800395A8 0C0002F8 */ jal func_80000BE0
|
||||
/* 03A1A8 800395A8 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 03A1AC 800395AC 24040018 */ li $a0, 24
|
||||
/* 03A1B0 800395B0 0C0002CD */ jal play_music
|
||||
/* 03A1B4 800395B4 24040020 */ li $a0, 32
|
||||
@@ -661,7 +661,7 @@ glabel L80039BB8
|
||||
/* 03A85C 80039C5C 8FA90064 */ lw $t1, 0x64($sp)
|
||||
/* 03A860 80039C60 00000000 */ nop
|
||||
/* 03A864 80039C64 912400B3 */ lbu $a0, 0xb3($t1)
|
||||
/* 03A868 80039C68 0C0002F8 */ jal func_80000BE0
|
||||
/* 03A868 80039C68 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 03A86C 80039C6C 00000000 */ nop
|
||||
/* 03A870 80039C70 8FAA0064 */ lw $t2, 0x64($sp)
|
||||
/* 03A874 80039C74 00000000 */ nop
|
||||
@@ -1135,7 +1135,7 @@ glabel L8003A268
|
||||
/* 03AF4C 8003A34C 8FAD0064 */ lw $t5, 0x64($sp)
|
||||
/* 03AF50 8003A350 00000000 */ nop
|
||||
/* 03AF54 8003A354 91A400B3 */ lbu $a0, 0xb3($t5)
|
||||
/* 03AF58 8003A358 0C0002F8 */ jal func_80000BE0
|
||||
/* 03AF58 8003A358 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 03AF5C 8003A35C 00000000 */ nop
|
||||
/* 03AF60 8003A360 8FAE0064 */ lw $t6, 0x64($sp)
|
||||
/* 03AF64 8003A364 00000000 */ nop
|
||||
|
||||
@@ -105,7 +105,7 @@ glabel func_8003B988
|
||||
/* 03C700 8003BB00 8FA80044 */ lw $t0, 0x44($sp)
|
||||
/* 03C704 8003BB04 240F008C */ li $t7, 140
|
||||
/* 03C708 8003BB08 24040010 */ li $a0, 16
|
||||
/* 03C70C 8003BB0C 0C00030E */ jal func_80000C38
|
||||
/* 03C70C 8003BB0C 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 03C710 8003BB10 AD0F0008 */ sw $t7, 8($t0)
|
||||
/* 03C714 8003BB14 0C002050 */ jal func_80008140
|
||||
/* 03C718 8003BB18 00000000 */ nop
|
||||
@@ -163,7 +163,7 @@ glabel func_8003B988
|
||||
/* 03C7D8 8003BBD8 AFA90040 */ sw $t1, 0x40($sp)
|
||||
/* 03C7DC 8003BBDC 0C000326 */ jal func_80000C98
|
||||
/* 03C7E0 8003BBE0 AFA80044 */ sw $t0, 0x44($sp)
|
||||
/* 03C7E4 8003BBE4 0C00030E */ jal func_80000C38
|
||||
/* 03C7E4 8003BBE4 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 03C7E8 8003BBE8 24040006 */ li $a0, 6
|
||||
/* 03C7EC 8003BBEC 0C00205A */ jal func_80008168
|
||||
/* 03C7F0 8003BBF0 00000000 */ nop
|
||||
|
||||
@@ -84,7 +84,7 @@ glabel func_8003C2E4
|
||||
/* 03D020 8003C420 2404FFF8 */ li $a0, -8
|
||||
/* 03D024 8003C424 240B008C */ li $t3, 140
|
||||
/* 03D028 8003C428 AE0B0008 */ sw $t3, 8($s0)
|
||||
/* 03D02C 8003C42C 0C00030E */ jal func_80000C38
|
||||
/* 03D02C 8003C42C 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 03D030 8003C430 24040010 */ li $a0, 16
|
||||
/* 03D034 8003C434 0C0006F0 */ jal play_sound
|
||||
/* 03D038 8003C438 24040011 */ li $a0, 17
|
||||
@@ -122,7 +122,7 @@ glabel func_8003C2E4
|
||||
.L8003C4AC:
|
||||
/* 03D0AC 8003C4AC 0C000326 */ jal func_80000C98
|
||||
/* 03D0B0 8003C4B0 AE000008 */ sw $zero, 8($s0)
|
||||
/* 03D0B4 8003C4B4 0C00030E */ jal func_80000C38
|
||||
/* 03D0B4 8003C4B4 0C00030E */ jal set_sndfx_player_voice_limit
|
||||
/* 03D0B8 8003C4B8 24040006 */ li $a0, 6
|
||||
.L8003C4BC:
|
||||
/* 03D0BC 8003C4BC 8602000C */ lh $v0, 0xc($s0)
|
||||
|
||||
@@ -397,7 +397,7 @@ glabel load_level
|
||||
/* 06C400 8006B800 00000000 */ nop
|
||||
.L8006B804:
|
||||
/* 06C404 8006B804 906400B3 */ lbu $a0, 0xb3($v1)
|
||||
/* 06C408 8006B808 0C0002F8 */ jal func_80000BE0
|
||||
/* 06C408 8006B808 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 06C40C 8006B80C 00000000 */ nop
|
||||
/* 06C410 8006B810 0C00032F */ jal func_80000CBC
|
||||
/* 06C414 8006B814 00000000 */ nop
|
||||
|
||||
@@ -22,7 +22,7 @@ glabel func_800A497C
|
||||
/* 0A55CC 800A49CC 10000074 */ b .L800A4BA0
|
||||
/* 0A55D0 800A49D0 83AD0027 */ lb $t5, 0x27($sp)
|
||||
.L800A49D4:
|
||||
/* 0A55D4 800A49D4 0C0002F8 */ jal func_80000BE0
|
||||
/* 0A55D4 800A49D4 0C0002F8 */ jal set_music_player_voice_limit
|
||||
/* 0A55D8 800A49D8 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* 0A55DC 800A49DC 0C0002CD */ jal play_music
|
||||
/* 0A55E0 800A49E0 24040019 */ li $a0, 25
|
||||
|
||||
+63
-52
@@ -218,6 +218,7 @@ typedef struct {
|
||||
ALSound *soundArray[1];
|
||||
} ALInstrument;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct ALBank_s {
|
||||
s16 instCount; /* number of programs in this bank */
|
||||
u8 flags;
|
||||
@@ -268,6 +269,7 @@ typedef struct {
|
||||
s32 *params;
|
||||
} ALSynConfig;
|
||||
|
||||
/* Size: 0x14 bytes */
|
||||
typedef struct ALPlayer_s {
|
||||
struct ALPlayer_s *next;
|
||||
void *clientData; /* storage for client callback */
|
||||
@@ -293,6 +295,7 @@ typedef struct ALVoiceConfig_s {
|
||||
u8 unityPitch; /* unity pitch flag */
|
||||
} ALVoiceConfig;
|
||||
|
||||
/* Size: 0x4C bytes */
|
||||
typedef struct {
|
||||
ALPlayer *head; /* client list head */
|
||||
ALLink pFreeList; /* list of free physical voices */
|
||||
@@ -522,6 +525,7 @@ typedef struct {
|
||||
u8 chan;
|
||||
} ALOscEvent;
|
||||
|
||||
/* Size: 0x10 bytes */
|
||||
typedef struct {
|
||||
s16 type;
|
||||
union {
|
||||
@@ -545,6 +549,7 @@ typedef struct {
|
||||
ALEvent evt;
|
||||
} ALEventListItem;
|
||||
|
||||
/* Size: 0x14 bytes */
|
||||
typedef struct {
|
||||
ALLink freeList;
|
||||
ALLink allocList;
|
||||
@@ -603,6 +608,7 @@ typedef struct {
|
||||
u8 unk10;
|
||||
} ALChanState_Custom;
|
||||
|
||||
/* Size: 0x1C bytes */
|
||||
typedef struct ALSeq_s {
|
||||
u8 *base; /* ptr to start of sequence file */
|
||||
u8 *trackStart; /* ptr to first MIDI event */
|
||||
@@ -667,62 +673,67 @@ typedef ALMicroTime (*ALOscInit)(void **oscState,f32 *initVal, u8 oscType,
|
||||
typedef ALMicroTime (*ALOscUpdate)(void *oscState, f32 *updateVal);
|
||||
typedef void (*ALOscStop)(void *oscState);
|
||||
|
||||
/* Size: 0x8C bytes */
|
||||
typedef struct {
|
||||
ALPlayer node; /* note: must be first in structure */
|
||||
ALSynth *drvr; /* reference to the client driver */
|
||||
ALSeq *target; /* current sequence */
|
||||
ALMicroTime curTime;
|
||||
ALBank *bank; /* current ALBank */
|
||||
s32 uspt; /* microseconds per tick */
|
||||
s32 nextDelta; /* microseconds to next callback */
|
||||
s32 state;
|
||||
u16 chanMask; /* active channels */
|
||||
s16 vol; /* overall sequence volume */
|
||||
u8 maxChannels; /* number of MIDI channels */
|
||||
u8 debugFlags; /* control which error get reported */
|
||||
ALEvent nextEvent;
|
||||
ALEventQueue evtq;
|
||||
ALMicroTime frameTime;
|
||||
ALChanState *chanState; /* 16 channels for MIDI */
|
||||
ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
u8 unk70;
|
||||
u8 unk71;
|
||||
u8 unk72; // Might just be padding?
|
||||
u8 unk73; // Might just be padding?
|
||||
ALOscInit initOsc;
|
||||
ALOscUpdate updateOsc;
|
||||
ALOscStop stopOsc;
|
||||
ALSeqMarker *loopStart;
|
||||
ALSeqMarker *loopEnd;
|
||||
s32 loopCount; /* -1 = loop forever, 0 = no loop */
|
||||
/* 0x00 */ ALPlayer node; /* note: must be first in structure */
|
||||
/* 0x14 */ ALSynth *drvr; /* reference to the client driver */
|
||||
/* 0x18 */ ALSeq *target; /* current sequence */
|
||||
/* 0x1C */ ALMicroTime curTime;
|
||||
/* 0x20 */ ALBank *bank; /* current ALBank */
|
||||
/* 0x24 */ s32 uspt; /* microseconds per tick */
|
||||
/* 0x28 */ s32 nextDelta; /* microseconds to next callback */
|
||||
/* 0x2C */ s32 state;
|
||||
/* 0x30 */ u16 chanMask; /* active channels */
|
||||
/* 0x32 */ s16 vol; /* overall sequence volume */
|
||||
/* 0x34 */ u8 maxChannels; /* number of MIDI channels */
|
||||
/* 0x35 */ u8 debugFlags; /* control which error get reported */
|
||||
/* 0x36 */ ALEvent nextEvent;
|
||||
/* 0x48 */ ALEventQueue evtq;
|
||||
/* 0x5C */ ALMicroTime frameTime;
|
||||
/* 0x60 */ ALChanState *chanState; /* 16 channels for MIDI */
|
||||
/* 0x64 */ ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
/* 0x68 */ ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
/* 0x6C */ ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
/* 0x70 */ u8 voiceLimit;
|
||||
/* 0x71 */ u8 mappedVoices;
|
||||
/* 0x72 */ u8 unk72; // Might just be padding?
|
||||
/* 0x73 */ u8 unk73; // Might just be padding?
|
||||
/* 0x74 */ ALOscInit initOsc;
|
||||
/* 0x78 */ ALOscUpdate updateOsc;
|
||||
/* 0x7C */ ALOscStop stopOsc;
|
||||
/* 0x80 */ ALSeqMarker *loopStart;
|
||||
/* 0x84 */ ALSeqMarker *loopEnd;
|
||||
/* 0x88 */ s32 loopCount; /* -1 = loop forever, 0 = no loop */
|
||||
} ALSeqPlayer;
|
||||
|
||||
/* Size: 0x80 bytes */
|
||||
typedef struct {
|
||||
ALPlayer node; /* note: must be first in structure */
|
||||
ALSynth *drvr; /* reference to the client driver */
|
||||
ALCSeq *target; /* current sequence */
|
||||
ALMicroTime curTime;
|
||||
ALBank *bank; /* current ALBank */
|
||||
s32 uspt; /* microseconds per tick */
|
||||
s32 nextDelta; /* microseconds to next callback */
|
||||
s32 state;
|
||||
u16 chanMask; /* active channels */
|
||||
s16 vol; /* overall sequence volume */
|
||||
u8 maxChannels; /* number of MIDI channels */
|
||||
u8 debugFlags; /* control which error get reported */
|
||||
ALEvent nextEvent;
|
||||
ALEventQueue evtq;
|
||||
ALMicroTime frameTime;
|
||||
ALChanState *chanState; /* 16 channels for MIDI */
|
||||
ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
ALOscInit initOsc;
|
||||
ALOscUpdate updateOsc;
|
||||
ALOscStop stopOsc;
|
||||
s32 unk7C;
|
||||
/* 0x00 */ ALPlayer node; /* note: must be first in structure */
|
||||
/* 0x14 */ ALSynth *drvr; /* reference to the client driver */
|
||||
/* 0x18 */ ALCSeq *target; /* current sequence */
|
||||
/* 0x1C */ ALMicroTime curTime;
|
||||
/* 0x20 */ ALBank *bank; /* current ALBank */
|
||||
/* 0x24 */ s32 uspt; /* microseconds per tick */
|
||||
/* 0x28 */ s32 nextDelta; /* microseconds to next callback */
|
||||
/* 0x2C */ s32 state;
|
||||
/* 0x30 */ u16 chanMask; /* active channels */
|
||||
/* 0x32 */ s16 vol; /* overall sequence volume */
|
||||
/* 0x34 */ u8 maxChannels; /* number of MIDI channels */
|
||||
/* 0x35 */ u8 debugFlags; /* control which error get reported */
|
||||
/* 0x36 */ u8 unk36;
|
||||
/* 0x37 */ u8 unk37;
|
||||
/* 0x38 */ u8 unk38; // Might just be padding?
|
||||
/* 0x39 */ u8 unk39; // Might just be padding?
|
||||
/* 0x40 */ ALEvent nextEvent;
|
||||
/* 0x4C */ ALEventQueue evtq;
|
||||
/* 0x60 */ ALMicroTime frameTime;
|
||||
/* 0x64 */ ALChanState *chanState; /* 16 channels for MIDI */
|
||||
/* 0x68 */ ALVoiceState *vAllocHead; /* list head for allocated voices */
|
||||
/* 0x6C */ ALVoiceState *vAllocTail; /* list tail for allocated voices */
|
||||
/* 0x70 */ ALVoiceState *vFreeList; /* list of free voice state structs */
|
||||
/* 0x74 */ ALOscInit initOsc;
|
||||
/* 0x78 */ ALOscUpdate updateOsc;
|
||||
/* 0x7C */ ALOscStop stopOsc;
|
||||
} ALCSPlayer;
|
||||
|
||||
/* Maintain backwards compatibility with old routine names. */
|
||||
|
||||
+2
-2
@@ -272,7 +272,7 @@ typedef struct LevelHeader {
|
||||
|
||||
/* 0xB0 */ s16 unkB0;
|
||||
/* 0xB2 */ u8 unkB2;
|
||||
/* 0xB3 */ u8 unkB3;
|
||||
/* 0xB3 */ u8 voiceLimit;
|
||||
/* 0xB3 */ u8 unkB4;
|
||||
/* 0xB3 */ u8 unkB5;
|
||||
/* 0xB3 */ u8 unkB6;
|
||||
@@ -921,7 +921,7 @@ typedef struct unk80120AC0 {
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
s16 unk34;
|
||||
s16 levelSegmentIndex;
|
||||
s16 pad36;
|
||||
s16 unk38;
|
||||
s8 pad3A;
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
|
||||
#include "audio_internal.h"
|
||||
|
||||
u8 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan){
|
||||
u8 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan) {
|
||||
return seqp->chanState[chan].vol;
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "audio_internal.h"
|
||||
|
||||
void alHeapInit(ALHeap *hp, u8 *base, s32 len){
|
||||
void alHeapInit(ALHeap *hp, u8 *base, s32 len) {
|
||||
s32 extraAlign = (AL_CACHE_ALIGN+1) - ((s32) base & AL_CACHE_ALIGN);
|
||||
|
||||
if (extraAlign != AL_CACHE_ALIGN+1)
|
||||
|
||||
@@ -15,8 +15,8 @@ ALVoiceState *__mapVoice(ALSeqPlayer *seqp, u8 key, u8 vel, u8 channel)
|
||||
{
|
||||
ALVoiceState *vs = seqp->vFreeList;
|
||||
|
||||
if(seqp->unk70 < seqp->unk71) {
|
||||
stubbed_printf("Exceeded voice limit of %d (%d)\n", seqp->unk70, seqp->unk71);
|
||||
if(seqp->voiceLimit < seqp->mappedVoices) {
|
||||
stubbed_printf("Exceeded voice limit of %d (%d)\n", seqp->voiceLimit, seqp->mappedVoices);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ ALVoiceState *__mapVoice(ALSeqPlayer *seqp, u8 key, u8 vel, u8 channel)
|
||||
vs->key = key;
|
||||
vs->velocity = vel;
|
||||
vs->voice.clientPrivate = vs;
|
||||
seqp->unk71++;
|
||||
seqp->mappedVoices++;
|
||||
}
|
||||
|
||||
return vs;
|
||||
@@ -61,7 +61,7 @@ void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice)
|
||||
|
||||
vs->next = seqp->vFreeList;
|
||||
seqp->vFreeList = vs;
|
||||
seqp->unk71--;
|
||||
seqp->mappedVoices--;
|
||||
return;
|
||||
|
||||
}
|
||||
@@ -305,7 +305,9 @@ void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs)
|
||||
}
|
||||
}
|
||||
|
||||
void func_8000B010(ALCSPlayer *arg0, s8 arg1) {
|
||||
//TODO: This doesn't seem to be the write way to do this, but it works for now.
|
||||
(s8) arg0->initOsc = arg1;
|
||||
/**
|
||||
* The voice limit bytes seem to be unique to this game.
|
||||
*/
|
||||
void set_voice_limit(ALSeqPlayer *seqp, s8 voiceLimit) {
|
||||
seqp->voiceLimit = voiceLimit;
|
||||
}
|
||||
|
||||
+14
-21
@@ -11,17 +11,10 @@
|
||||
#include "audio_internal.h"
|
||||
#include "unknown_003260.h"
|
||||
|
||||
/* Size: 0x08 bytes */
|
||||
typedef struct unk80115D48 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ s16 unk2;
|
||||
/* 0x04 */ s32 unk4;
|
||||
} unk80115D48;
|
||||
|
||||
/************ .data ************/
|
||||
|
||||
ALCSPlayer *gMusicPlayer = NULL;
|
||||
ALCSPlayer *gSndFxPlayer = NULL;
|
||||
ALSeqPlayer *gMusicPlayer = NULL;
|
||||
ALSeqPlayer *gSndFxPlayer = NULL;
|
||||
u8 musicRelativeVolume = 0x7F;
|
||||
u8 sfxRelativeVolume = 0x7F;
|
||||
u8 D_800DC640 = 1;
|
||||
@@ -162,7 +155,7 @@ void audio_init(u32 arg0) {
|
||||
synth_config.heap = &gALHeap;
|
||||
audioNewThread(&synth_config, 12, arg0);
|
||||
gMusicPlayer = func_80002224(24, 120);
|
||||
func_8000B010(gMusicPlayer, 18);
|
||||
set_voice_limit(gMusicPlayer, 18);
|
||||
gSndFxPlayer = func_80002224(16, 50);
|
||||
D_80115CFC = allocate_from_main_pool_safe( seq_max_len, COLOR_TAG_CYAN);
|
||||
D_80115D00 = allocate_from_main_pool_safe( seq_max_len, COLOR_TAG_CYAN);
|
||||
@@ -255,9 +248,9 @@ void play_music(u8 arg0) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_80000BE0(u8 arg0) {
|
||||
void set_music_player_voice_limit(u8 voiceLimit) {
|
||||
if (D_800DC670 == 0) {
|
||||
func_8000B010(gMusicPlayer, arg0);
|
||||
set_voice_limit(gMusicPlayer, voiceLimit);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,8 +262,8 @@ void func_80000C2C(void) {
|
||||
D_800DC670 = 0;
|
||||
}
|
||||
|
||||
void func_80000C38(u8 arg0) {
|
||||
func_8000B010(gSndFxPlayer, arg0);
|
||||
void set_sndfx_player_voice_limit(u8 voiceLimit) {
|
||||
set_voice_limit(gSndFxPlayer, voiceLimit);
|
||||
}
|
||||
|
||||
/* Unused? */
|
||||
@@ -750,7 +743,7 @@ u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx) {
|
||||
return ((u32)(1+ ALBankFile_80115D14->bankArray[0]->instArray[0]->soundArray[sndIndx-1]->envelope->decayTime) == 0);
|
||||
}
|
||||
|
||||
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events) {
|
||||
ALSeqPlayer *func_80002224(s32 _max_voices, s32 _max_events) {
|
||||
ALCSPlayer *cseqp;
|
||||
ALSeqpConfig config;
|
||||
|
||||
@@ -763,15 +756,15 @@ ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events) {
|
||||
config.updateOsc = NULL;
|
||||
config.stopOsc = NULL;
|
||||
|
||||
|
||||
cseqp = (ALCSPlayer *) alHeapDBAlloc(NULL, 0, &gALHeap, 1, 128);
|
||||
cseqp = (ALCSPlayer *) alHeapDBAlloc(NULL, 0, &gALHeap, 1, sizeof(ALCSPlayer));
|
||||
alCSPNew(cseqp, &config);
|
||||
alCSPSetBank(cseqp, ALBankFile_80115D10->bankArray[0]);
|
||||
((u8*) cseqp)[0x36]= 0x7F; //this member doesn't exist in ALCSPlayer
|
||||
cseqp->unk36 = 0x7F;
|
||||
|
||||
return cseqp;
|
||||
}
|
||||
|
||||
void func_800022BC(u8 arg0, ALCSPlayer *arg1) {
|
||||
void func_800022BC(u8 arg0, ALSeqPlayer *arg1) {
|
||||
func_80002570(arg1);
|
||||
if (arg0 < ALSeqFile_80115CF8->seqCount) {
|
||||
if (arg1 == gMusicPlayer) {
|
||||
@@ -785,7 +778,7 @@ void func_800022BC(u8 arg0, ALCSPlayer *arg1) {
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/audio/func_8000232C.s")
|
||||
#else
|
||||
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq){
|
||||
void func_8000232C(ALSeqPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq){
|
||||
if(alCSPGetState(seqp) == AL_STOPPED && *arg2){
|
||||
/*load_asset_to_address(ASSET_AUDIO, ptr,
|
||||
(u32)((ALSeqFile_80115CF8->seqArray)[*arg2]) - get_rom_offset_of_asset(ASSET_AUDIO,0),
|
||||
@@ -802,7 +795,7 @@ void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq){
|
||||
}
|
||||
#endif
|
||||
|
||||
void func_80002570(ALCSPlayer *seqp) {
|
||||
void func_80002570(ALSeqPlayer *seqp) {
|
||||
if(gMusicPlayer == seqp && D_80115D40 != 0){
|
||||
alCSPStop(seqp);
|
||||
D_80115D40 = 0;
|
||||
|
||||
+24
-15
@@ -4,8 +4,8 @@
|
||||
#include "types.h"
|
||||
#include "audio_internal.h"
|
||||
|
||||
extern ALCSPlayer* gMusicPlayer;
|
||||
extern ALCSPlayer* gSndFxPlayer;
|
||||
extern ALSeqPlayer* gMusicPlayer;
|
||||
extern ALSeqPlayer* gSndFxPlayer;
|
||||
extern u8 musicRelativeVolume;
|
||||
extern u8 sfxRelativeVolume;
|
||||
extern u8 D_800DC640;
|
||||
@@ -30,38 +30,48 @@ typedef struct unk80115D18 {
|
||||
u8 pad8[2];
|
||||
} unk80115D18;
|
||||
|
||||
/* Size: 3 bytes */
|
||||
/* Size: 0x03 bytes */
|
||||
typedef struct unk80115D1C {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
} unk80115D1C;
|
||||
|
||||
/* Size: 0x08 bytes */
|
||||
typedef struct unk80115D48 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ s16 unk2;
|
||||
/* 0x04 */ s32 unk4;
|
||||
} unk80115D48;
|
||||
|
||||
void alCSPNew(ALCSPlayer *seqp, ALSeqpConfig *config); //lib/src/al/csplayer.c
|
||||
void alCSPSetBank(ALCSPlayer *seqp, ALBank *b); //lib/src/unknown_0C8660.c
|
||||
void func_8000B010(ALCSPlayer *, u8); //lib/src/mips1/alseqplayer.c
|
||||
void set_voice_limit(ALCSPlayer *seqp, u8 voiceLimit); //lib/src/mips1/alseqplayer.c
|
||||
void *alHeapDBAlloc(u8 *file, s32 line, ALHeap *hp, s32 num, s32 size); //lib/src/al/alHeapDBAlloc.c
|
||||
s32 alCSPSetChlPan(ALCSPlayer *seqp, u8 chan, ALPan pan); //lib/src/unknown_0C84E0.c
|
||||
void alCSPSetChlVol(ALCSPlayer *, u8 chan, u8 vol); //lib/src/unknown_0C84E0.c
|
||||
s32 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan); //lib/src/al
|
||||
u8 alCSPGetChlVol(ALCSPlayer *seqp, u8 chan); //lib/src/al
|
||||
void func_80063BA0(ALCSPlayer *seqp, u8 arg1, u8 arg2); //lib/src/unknown_0647A0.c
|
||||
u8 func_80063C00(ALCSPlayer *seqp, u8 arg1); //lib/src/mips1/al/unknown_064800.c
|
||||
u8 alSeqpGetChlFXMix(ALSeqPlayer *seqp, u8 chan); //lib/src/al/alSeqpGetChlFXMix.c
|
||||
void func_8006492C(u8 arg0); //lib/src/mips1/al/reverb.c
|
||||
void alHeapInit(ALHeap *hp, u8 *base, s32 len); //lib/src/al/alHeapInit.c
|
||||
void alBnkfNew(ALBankFile *ctl, u8 *tbl); //lib/src/al/global_asm.c
|
||||
void alCSPSetVol(ALCSPlayer *seqp, s16 vol); //lib/src/al/alCSPSetVol.c
|
||||
void alCSPStop(ALCSPlayer *seqp); //lib/src/al/unknown_0C91A0.c
|
||||
void func_80063B44(u32 arg0, u8 arg1); //lib/src/al/unknown_0646F0.c
|
||||
s32 alCSPGetState(ALCSPlayer *seqp); //lib/src/unknown_0C8650.c
|
||||
|
||||
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events);
|
||||
void audio_init(u32 arg0);
|
||||
void set_relative_volume_for_music(u8 vol);
|
||||
void func_80000890(u8 arg0);
|
||||
void func_80000968(s32 arg0);
|
||||
void func_80000B18(void);
|
||||
void func_80000B28(void);
|
||||
void func_800022BC(u8 arg0, ALCSPlayer *arg1);
|
||||
void play_music(u8 arg0);
|
||||
void func_80000BE0(u8 arg0);
|
||||
void set_music_player_voice_limit(u8 voiceLimit);
|
||||
void func_80000C1C(void);
|
||||
void func_80000C2C(void);
|
||||
void func_80000C38(u8 arg0);
|
||||
void set_sndfx_player_voice_limit(u8 voiceLimit);
|
||||
void func_80000C68(u8 arg0);
|
||||
void func_80000C98(s32 arg0);
|
||||
void func_80000CBC(void);
|
||||
@@ -112,17 +122,16 @@ u8 ALSeqFile_80115CF8_GetSeqCount(void);
|
||||
void func_80002128(unk80115D18 **arg0, s32 *arg1, s32 *arg2);
|
||||
void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2);
|
||||
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx);
|
||||
ALCSPlayer *func_80002224(s32 _max_voices, s32 _max_events);
|
||||
void func_800022BC(u8 arg0, ALCSPlayer *arg1);
|
||||
void func_80002570(ALCSPlayer *seqp);
|
||||
ALSeqPlayer *func_80002224(s32 _max_voices, s32 _max_events);
|
||||
void func_800022BC(u8 arg0, ALSeqPlayer *arg1);
|
||||
void func_80002570(ALSeqPlayer *seqp);
|
||||
void func_80002608(u8 arg0);
|
||||
u8 func_80002630(void);
|
||||
|
||||
void func_80001D04(u16, s32*); //Non matching.
|
||||
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); //Non Matching
|
||||
void func_8000232C(ALSeqPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); //Non Matching
|
||||
f32 func_800015F8(void); //Non Matching
|
||||
void func_80001FB8(u16 arg0); //Non Matching
|
||||
void func_8000232C(ALCSPlayer *seqp, void *ptr, u8 *arg2, ALCSeq *seq); // Non Matching
|
||||
void func_80009B7C(s32 *arg0, f32 x, f32 y, f32 z); // Non Matching
|
||||
|
||||
#endif
|
||||
|
||||
+26
-27
@@ -139,7 +139,6 @@ u8 D_80121150[16];
|
||||
/******************************/
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
void func_800663DC(s32 x_pos, s32 y_pos, s32 z_pos, s32 arg3, s32 arg4, s32 arg5);
|
||||
extern s32 D_A4600010;
|
||||
extern s32 D_B0000578;
|
||||
|
||||
@@ -166,8 +165,8 @@ void func_80065EA0(void) {
|
||||
if ((D_B0000578 & 0xFFFF) != 0x8965) {
|
||||
D_800DD060 = 1;
|
||||
}
|
||||
guPerspectiveF(&D_80120EE0, &perspNorm[5], CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE);
|
||||
func_8006F870(&D_80120EE0, &D_80120FE0);
|
||||
guPerspectiveF(D_80120EE0, perspNorm[5], CAMERA_DEFAULT_FOV, CAMERA_ASPECT, CAMERA_NEAR, CAMERA_FAR, CAMERA_SCALE);
|
||||
func_8006F870(D_80120EE0, D_80120FE0);
|
||||
gCurCamFOV = CAMERA_DEFAULT_FOV;
|
||||
}
|
||||
#else
|
||||
@@ -305,7 +304,7 @@ void func_80066488(s32 arg0, f32 xPos, f32 yPos, f32 zPos, s16 arg4, s16 arg5, s
|
||||
D_80120AC0[arg0].unk0 = arg4;
|
||||
D_80120AC0[arg0].unk2 = arg5;
|
||||
D_80120AC0[arg0].unk4 = arg6;
|
||||
D_80120AC0[arg0].unk34 = get_level_segment_index_from_position(xPos, yPos, zPos);
|
||||
D_80120AC0[arg0].levelSegmentIndex = get_level_segment_index_from_position(xPos, yPos, zPos);
|
||||
D_80120D14 = 1;
|
||||
}
|
||||
|
||||
@@ -464,30 +463,30 @@ void func_80066940(s32 viewPortIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
phi_a2 = arg2;
|
||||
}
|
||||
if ((phi_a1 >= width) || (phi_a3 < 0) || (arg2 >= height) || (phi_a2 < 0)) {
|
||||
gScreenViewports[viewPortIndex].unk20 = 0;
|
||||
gScreenViewports[viewPortIndex].unk24 = 0;
|
||||
gScreenViewports[viewPortIndex].unk28 = 0;
|
||||
gScreenViewports[viewPortIndex].unk2C = 0;
|
||||
gScreenViewports[viewPortIndex].upperLeftX = 0;
|
||||
gScreenViewports[viewPortIndex].upperLeftY = 0;
|
||||
gScreenViewports[viewPortIndex].lowerRightX = 0;
|
||||
gScreenViewports[viewPortIndex].lowerRightY = 0;
|
||||
} else {
|
||||
if (phi_a1 < 0) {
|
||||
gScreenViewports[viewPortIndex].unk20 = 0;
|
||||
gScreenViewports[viewPortIndex].upperLeftX = 0;
|
||||
} else {
|
||||
gScreenViewports[viewPortIndex].unk20 = phi_a1;
|
||||
gScreenViewports[viewPortIndex].upperLeftX = phi_a1;
|
||||
}
|
||||
if (arg2 < 0) {
|
||||
gScreenViewports[viewPortIndex].unk24 = 0;
|
||||
gScreenViewports[viewPortIndex].upperLeftY = 0;
|
||||
} else {
|
||||
gScreenViewports[viewPortIndex].unk24 = arg2;
|
||||
gScreenViewports[viewPortIndex].upperLeftY = arg2;
|
||||
}
|
||||
if (phi_a3 >= width) {
|
||||
gScreenViewports[viewPortIndex].unk28 = width - 1;
|
||||
gScreenViewports[viewPortIndex].lowerRightX = width - 1;
|
||||
} else {
|
||||
gScreenViewports[viewPortIndex].unk28 = phi_a3;
|
||||
gScreenViewports[viewPortIndex].lowerRightX = phi_a3;
|
||||
}
|
||||
if (phi_a2 >= height) {
|
||||
gScreenViewports[viewPortIndex].unk2C = height - 1;
|
||||
gScreenViewports[viewPortIndex].lowerRightY = height - 1;
|
||||
} else {
|
||||
gScreenViewports[viewPortIndex].unk2C = phi_a2;
|
||||
gScreenViewports[viewPortIndex].lowerRightY = phi_a2;
|
||||
}
|
||||
}
|
||||
gScreenViewports[viewPortIndex].unk4 = arg2;
|
||||
@@ -526,12 +525,13 @@ void func_80066AA8(s32 viewPortIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
gScreenViewports[viewPortIndex].flags &= ~0x40;
|
||||
}
|
||||
|
||||
s32 func_80066BA8(s32 viewPortIndex, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4) {
|
||||
*arg1 = gScreenViewports[viewPortIndex].unk20;
|
||||
*arg3 = gScreenViewports[viewPortIndex].unk28;
|
||||
*arg2 = gScreenViewports[viewPortIndex].unk24;
|
||||
*arg4 = gScreenViewports[viewPortIndex].unk2C;
|
||||
if ((*arg1 | *arg3 | *arg2 | *arg4) == 0) {
|
||||
s32 func_80066BA8(s32 viewPortIndex, s32 *upperLeftX, s32 *upperLeftY, s32 *lowerRightX, s32 *lowerRightY) {
|
||||
//gDPFillRectangle values
|
||||
*upperLeftX = gScreenViewports[viewPortIndex].upperLeftX;
|
||||
*lowerRightX = gScreenViewports[viewPortIndex].lowerRightX;
|
||||
*upperLeftY = gScreenViewports[viewPortIndex].upperLeftY;
|
||||
*lowerRightY = gScreenViewports[viewPortIndex].lowerRightY;
|
||||
if ((*upperLeftX | *lowerRightX | *upperLeftY | *lowerRightY) == 0) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
@@ -553,7 +553,6 @@ void func_80066C80(s32 *arg0, s32 *arg1, s32 *arg2, s32 *arg3) {
|
||||
*arg3 = (u32) (temp_v0 >> 0x10);
|
||||
}
|
||||
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
|
||||
// Still a work-in-progress but it doesn't seem to cause any problems,
|
||||
@@ -584,10 +583,10 @@ void func_80066CDC(Gfx **dlist, s32 arg1) {
|
||||
temp_a3 = temp_t0 >> 1;
|
||||
if (gScreenViewports[D_80120CE4].flags & 1) {
|
||||
gDPSetScissor((*dlist)++, SCISSOR_INTERLACE,
|
||||
gScreenViewports[D_80120CE4].unk20,
|
||||
gScreenViewports[D_80120CE4].unk24,
|
||||
gScreenViewports[D_80120CE4].unk28,
|
||||
gScreenViewports[D_80120CE4].unk2C
|
||||
gScreenViewports[D_80120CE4].upperLeftX,
|
||||
gScreenViewports[D_80120CE4].upperLeftY,
|
||||
gScreenViewports[D_80120CE4].lowerRightX,
|
||||
gScreenViewports[D_80120CE4].lowerRightY
|
||||
)
|
||||
func_80068158(dlist, 0, 0, 0, 0);
|
||||
if (arg1 != 0) {
|
||||
|
||||
+14
-14
@@ -35,19 +35,19 @@ extern s8 D_800DD060;
|
||||
|
||||
/* Size: 0x34 bytes. */
|
||||
typedef struct ScreenViewport {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
s32 unk2C;
|
||||
s32 flags;
|
||||
/* 0x00 */ s32 unk0;
|
||||
/* 0x04 */ s32 unk4;
|
||||
/* 0x08 */ s32 unk8;
|
||||
/* 0x0C */ s32 unkC;
|
||||
/* 0x10 */ s32 unk10;
|
||||
/* 0x14 */ s32 unk14;
|
||||
/* 0x18 */ s32 unk18;
|
||||
/* 0x1C */ s32 unk1C;
|
||||
/* 0x20 */ s32 upperLeftX; //gDPFillRectangle values
|
||||
/* 0x24 */ s32 upperLeftY;
|
||||
/* 0x28 */ s32 lowerRightX;
|
||||
/* 0x2C */ s32 lowerRightY;
|
||||
/* 0x30 */ s32 flags;
|
||||
} ScreenViewport;
|
||||
|
||||
/* Size: 6 bytes */
|
||||
@@ -115,7 +115,7 @@ void func_80066894(s32 viewPortIndex, s32 arg1);
|
||||
s32 func_80066910(s32 viewPortIndex);
|
||||
void func_80066940(s32 viewPortIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
void func_80066AA8(s32 viewPortIndex, s32 arg1, s32 arg2, s32 arg3, s32 arg4);
|
||||
s32 func_80066BA8(s32 viewPortIndex, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4);
|
||||
s32 func_80066BA8(s32 viewPortIndex, s32 *upperLeftX, s32 *upperLeftY, s32 *lowerRightX, s32 *lowerRightY);
|
||||
void func_80066C2C(s32 viewPortIndex, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4);
|
||||
void func_80066C80(s32 *arg0, s32 *arg1, s32 *arg2, s32 *arg3);
|
||||
void func_80066CDC(Gfx **dlist, s32 arg1);
|
||||
|
||||
+13
-13
@@ -2316,7 +2316,7 @@ void menu_title_screen_init(void) {
|
||||
for(i = 0; i < 11; i++) {
|
||||
D_800DF7DC[i].texture = D_80126550[D_800DF7C4[i]];
|
||||
}
|
||||
func_80000BE0(0x1B);
|
||||
set_music_player_voice_limit(0x1B);
|
||||
func_800660C0();
|
||||
set_text_font(0);
|
||||
func_800C4170(2);
|
||||
@@ -2344,7 +2344,7 @@ GLOBAL_ASM("asm/non_matchings/menu/menu_title_screen_loop.s")
|
||||
|
||||
void func_80084118(void) {
|
||||
func_8009C4A8(D_800DF7C4);
|
||||
func_80000BE0(0x10);
|
||||
set_music_player_voice_limit(0x10);
|
||||
func_800660D0();
|
||||
func_800C422C(2);
|
||||
func_80000890(1);
|
||||
@@ -2356,7 +2356,7 @@ void menu_options_init(void) {
|
||||
func_800C01D8(&D_800DF77C);
|
||||
func_800C4170(2);
|
||||
set_text_font(2);
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000B18();
|
||||
}
|
||||
@@ -2533,7 +2533,7 @@ void menu_audio_options_init(void) {
|
||||
if (gActiveMagicCodes & CHEAT_MUSIC_MENU) { // Check if "JUKEBOX" cheat is active
|
||||
gAudioMenuStrings[6].unkC = gMusicTestString;
|
||||
gAudioMenuStrings[3].unk2 = 0xD4;
|
||||
func_80000BE0(0x20);
|
||||
set_music_player_voice_limit(0x20);
|
||||
D_801263E0 = 5;
|
||||
} else {
|
||||
gAudioMenuStrings[6].unkC = NULL;
|
||||
@@ -2646,7 +2646,7 @@ s32 menu_audio_options_loop(s32 arg0) {
|
||||
play_music((u8)D_800DFABC);
|
||||
} else {
|
||||
func_80000B28();
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000B18();
|
||||
}
|
||||
@@ -2662,7 +2662,7 @@ s32 menu_audio_options_loop(s32 arg0) {
|
||||
}
|
||||
if (buttonInputs & (A_BUTTON | START_BUTTON)) {
|
||||
func_80000B28();
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music((u8)D_800DFABC);
|
||||
D_801263D8 = D_800DFABC;
|
||||
}
|
||||
@@ -2699,7 +2699,7 @@ void func_800851FC(void) {
|
||||
func_8000488C(D_801269FC);
|
||||
}
|
||||
if (D_801263D8 >= 0) {
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000C98(0x100);
|
||||
func_80000B18();
|
||||
@@ -4723,7 +4723,7 @@ void menu_5_init(void) {
|
||||
if (temp != -1) {
|
||||
func_80000FDC(temp, 0, 0.5f);
|
||||
}
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000B18();
|
||||
D_801263E0 = 0;
|
||||
@@ -4922,7 +4922,7 @@ void func_80094C14(s32 arg0) {
|
||||
break;
|
||||
case 1:
|
||||
if (func_8000C8B4(0x12C) < D_801263D8) {
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000C98(0x100);
|
||||
}
|
||||
@@ -5028,7 +5028,7 @@ void menu_11_init(void) {
|
||||
func_80094604();
|
||||
func_800C4170(2);
|
||||
func_800C01D8(&D_800DF77C);
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000C98(0x80);
|
||||
}
|
||||
@@ -5199,7 +5199,7 @@ void menu_trophy_race_round_init(void) {
|
||||
gMenuDelay = 0;
|
||||
D_800E0980 = 10;
|
||||
func_800C4170(2);
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
play_music(0x18);
|
||||
func_80000C98(0x100);
|
||||
}
|
||||
@@ -5545,7 +5545,7 @@ void menu_credits_init(void) {
|
||||
func_8009C8A4(D_800E17F0);
|
||||
func_80094604();
|
||||
func_800C4170(2);
|
||||
func_80000BE0(0x18);
|
||||
set_music_player_voice_limit(0x18);
|
||||
D_800E18F8 = (u16)0x1000;
|
||||
if (gViewingCreditsFromCheat) {
|
||||
play_music(8);
|
||||
@@ -5603,7 +5603,7 @@ void func_8009B1E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) {
|
||||
GLOBAL_ASM("asm/non_matchings/menu/menu_credits_loop.s")
|
||||
|
||||
void func_8009BCF0(void) {
|
||||
func_80000BE0(0x12);
|
||||
set_music_player_voice_limit(0x12);
|
||||
func_800C0180();
|
||||
func_80066894(0, 0);
|
||||
func_80066AA8(0, 0x8000, 0x8000, 0x8000, 0x8000);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user