identify sequence ID's, too

This commit is contained in:
Fazana
2022-05-21 20:44:35 +01:00
parent 5f6e424d3b
commit 6119f222de
11 changed files with 98 additions and 23 deletions
@@ -109,7 +109,7 @@ glabel obj_loop_door
/* 03C710 8003BB10 AD0F0008 */ sw $t7, 8($t0)
/* 03C714 8003BB14 0C002050 */ jal func_80008140
/* 03C718 8003BB18 00000000 */ nop
/* 03C71C 8003BB1C 0C0006F0 */ jal play_sound
/* 03C71C 8003BB1C 0C0006F0 */ jal play_sequence
/* 03C720 8003BB20 24040011 */ li $a0, 17
/* 03C724 8003BB24 8FA80044 */ lw $t0, 0x44($sp)
/* 03C728 8003BB28 00000000 */ nop
@@ -64,7 +64,7 @@ glabel obj_loop_silvercoin
/* 03EA04 8003DE04 2484002B */ addiu $a0, $a0, 0x2b
/* 03EA08 8003DE08 309900FF */ andi $t9, $a0, 0xff
/* 03EA0C 8003DE0C 03202025 */ move $a0, $t9
/* 03EA10 8003DE10 0C0006F0 */ jal play_sound
/* 03EA10 8003DE10 0C0006F0 */ jal play_sequence
/* 03EA14 8003DE14 AFA20018 */ sw $v0, 0x18($sp)
/* 03EA18 8003DE18 8FA20018 */ lw $v0, 0x18($sp)
/* 03EA1C 8003DE1C 8FA60020 */ lw $a2, 0x20($sp)
@@ -145,7 +145,7 @@ glabel obj_loop_trophycab
/* 035CB0 800350B0 ADAE0000 */ sw $t6, ($t5)
/* 035CB4 800350B4 0C000326 */ jal set_music_fade_timer
/* 035CB8 800350B8 2404FFF8 */ li $a0, -8
/* 035CBC 800350BC 0C0006F0 */ jal play_sound
/* 035CBC 800350BC 0C0006F0 */ jal play_sequence
/* 035CC0 800350C0 24040011 */ li $a0, 17
.L800350C4:
/* 035CC4 800350C4 8FA30050 */ lw $v1, 0x50($sp)
@@ -86,7 +86,7 @@ glabel obj_loop_ttdoor
/* 03D028 8003C428 AE0B0008 */ sw $t3, 8($s0)
/* 03D02C 8003C42C 0C00030E */ jal set_sndfx_player_voice_limit
/* 03D030 8003C430 24040010 */ li $a0, 16
/* 03D034 8003C434 0C0006F0 */ jal play_sound
/* 03D034 8003C434 0C0006F0 */ jal play_sequence
/* 03D038 8003C438 24040011 */ li $a0, 17
/* 03D03C 8003C43C 82040013 */ lb $a0, 0x13($s0)
/* 03D040 8003C440 00000000 */ nop
+75
View File
@@ -0,0 +1,75 @@
#ifndef SEQUENCE_IDS_H
#define SEQUENCE_IDS_H
enum SequenceID {
SEQUENCE_NONE,
SEQUENCE_NONE2,
SEQUENCE_TROPHY,
SEQUENCE_BALLOON_AWARD,
SEQUENCE_KEY_CUTSCENE,
SEQUENCE_AMBIENT,
SEQUENCE_INTRO_CUTSCENE,
SEQUENCE_TITLE_THEME,
SEQUENCE_DARKMOON_CAVERNS,
SEQUENCE_JUNGLE_FALLS,
SEQUENCE_ANCIENT_LAKE,
SEQUENCE_FROSTY_VILLAGE,
SEQUENCE_UNUSED12,
SEQUENCE_FOSSIL_CANYON,
SEQUENCE_HOT_TOP_VOLCANO,
SEQUENCE_WHALE_BAY,
SEQUENCE_WALRUS_COVE,
SEQUENCE_LOCKED,
SEQUENCE_WIZPIGSTONE,
SEQUENCE_TAJTIP,
SEQUENCE_TIMBERSISLAND,
SEQUENCE_CREDITS,
SEQUENCE_EVERFROST_PEAK,
SEQUENCE_UNUSED23,
SEQUENCE_LOBBY,
SEQUENCE_RACE_WIN,
SEQUENCE_CHARACTER_SELECT,
SEQUENCE_UNK27,
SEQUENCE_BOSS_INTRO,
SEQUENCE_TAJ_RACE,
SEQUENCE_RACE_START,
SEQUENCE_WINDMILL_PLAINS,
SEQUENCE_TAJ,
SEQUENCE_AMBIENT2,
SEQUENCE_CHALLENGE,
SEQUENCE_AMBIENT3,
SEQUENCE_TT,
SEQUENCE_CRESCENT_ISLAND,
SEQUENCE_UNUSED37,
SEQUENCE_SPACEDUST_ALLEY,
SEQUENCE_BOULDER_CANYON,
SEQUENCE_AMBIENT4,
SEQUENCE_SPACEPORT_ALPHA,
SEQUENCE_SILVER_COIN_1,
SEQUENCE_SILVER_COIN_2,
SEQUENCE_SILVER_COIN_3,
SEQUENCE_SILVER_COIN_4,
SEQUENCE_SILVER_COIN_5,
SEQUENCE_SILVER_COIN_6,
SEQUENCE_SILVER_COIN_7,
SEQUENCE_SILVER_COIN_8,
SEQUENCE_WIZPIG_THEME,
SEQUENCE_BOSS_UNLOCKED,
SEQUENCE_WIZPIG_INTRO,
SEQUENCE_KEY_COLLECT,
SEQUENCE_WIZPIG_RACE,
SEQUENCE_WIZPIG_WIN,
SEQUENCE_BOSS_RACE,
SEQUENCE_UNK57,
SEQUENCE_UNK58,
SEQUENCE_UNK59,
SEQUENCE_BOSS_WIN,
SEQUENCE_BOSS_LOSE,
SEQUENCE_HAUNTED_WOODS,
SEQUENCE_AMBIENT5,
SEQUENCE_PIRATE_LAGOON,
NUM_SEQUENCE_IDS
};
#endif
-1
View File
@@ -553,5 +553,4 @@ enum SoundID {
NUM_SOUND_IDS
};
#endif
-1
View File
@@ -5,7 +5,6 @@
#include "types.h"
#include "enums.h"
#include "sound_ids.h"
/* Size: 0x20 bytes */
typedef struct MenuElement {
+13 -9
View File
@@ -643,9 +643,13 @@ void sfxSetPan(ALPan pan) {
return;
}
void play_sound(u8 arg0) {
/**
* Plays a sequence just once, allowing it to coexist with the music if necessary.
* Examples include getting silver coins, challenge keys, or getting the locked message.
*/
void play_sequence(u8 seqID) {
D_800DC644 = 1;
func_800022BC(D_80115D05 = arg0, gSndFxPlayer);
func_800022BC(D_80115D05 = seqID, gSndFxPlayer);
}
u32 func_80001C08(void) {
@@ -685,16 +689,16 @@ void play_sound_spatial(u16 soundID, f32 x, f32 y, f32 z, s32 **arg4) {
}
}
void func_80001F14(u16 sndIndx, u32 *arg1) {
if (sndIndx <= 0 || ALBankFile_80115D14_GetSoundCount() < sndIndx) {
void func_80001F14(u16 soundID, u32 *arg1) {
if (soundID <= 0 || ALBankFile_80115D14_GetSoundCount() < soundID) {
if (arg1) {
*arg1 = 0;
}
} else {
if (arg1) {
func_80004638(ALBankFile_80115D14->bankArray[0], (s16)sndIndx, arg1);
func_80004638(ALBankFile_80115D14->bankArray[0], (s16)soundID, arg1);
} else {
func_80004638(ALBankFile_80115D14->bankArray[0], (s16)sndIndx, &D_80115F88);
func_80004638(ALBankFile_80115D14->bankArray[0], (s16)soundID, &D_80115F88);
}
}
}
@@ -740,11 +744,11 @@ void func_8000216C(unk80115D1C **arg0, s32 *arg1, s32 *arg2) {
}
}
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 sndIndx) {
if (sndIndx <= 0 || ALBankFile_80115D14->bankArray[0]->instArray[0]->soundCount < sndIndx) {
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 soundID) {
if (soundID <= 0 || ALBankFile_80115D14->bankArray[0]->instArray[0]->soundCount < soundID) {
return 0;
}
return ((u32)(1 + ALBankFile_80115D14->bankArray[0]->instArray[0]->soundArray[sndIndx - 1]->envelope->decayTime) == 0);
return ((u32)(1 + ALBankFile_80115D14->bankArray[0]->instArray[0]->soundArray[soundID - 1]->envelope->decayTime) == 0);
}
ALSeqPlayer *func_80002224(s32 _max_voices, s32 _max_events) {
+3 -3
View File
@@ -112,17 +112,17 @@ u8 musicGetRelativeVolume(void);
s32 musicGetVolSliderPercentage(void);
void sfxSetRelativeVolume(u8 arg0);
void sfxSetPan(ALPan pan);
void play_sound(u8 arg0);
void play_sequence(u8 seqID);
u32 func_80001C08(void);
void func_80001C5C(u16 arg0);
u16 func_80001CB8(u16 arg0);
void play_sound_spatial(u16 soundID, f32 x, f32 y, f32 z, s32 **arg4);
void func_80001F14(u16 sndIndx, u32 *arg1);
void func_80001F14(u16 soundID, u32 *arg1);
u16 ALBankFile_80115D14_GetSoundCount(void);
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);
u8 ALBankFile_80115D14_GetSoundDecayTime(u16 soundID);
ALSeqPlayer *func_80002224(s32 _max_voices, s32 _max_events);
void func_800022BC(u8 arg0, ALSeqPlayer *arg1);
void func_80002570(ALSeqPlayer *seqp);
+3 -4
View File
@@ -543,7 +543,6 @@ void func_800C31EC(s32);
s32 func_800C3400(void);
LevelHeader *get_current_level_header(void);
Settings *get_settings(void);
void play_sound(u8 arg0);
void set_music_fade_timer(s32 time);
void set_sndfx_player_voice_limit(u8 voiceLimit);
@@ -632,7 +631,7 @@ void obj_loop_trophycab(Object *obj, s32 speed) {
obj64->unk0 = 140;
set_sndfx_player_voice_limit(16);
set_music_fade_timer(-8);
play_sound(17);
play_sequence(SEQUENCE_LOCKED);
}
}
if ((obj64->unk0 != 0) && (func_80001C08() == 0)) {
@@ -1587,7 +1586,7 @@ void obj_loop_dino_whale(Object *obj, s32 speed) {
if (obj->unk4C->unk13 < 0xFF) {
if (obj->unk78 == 0) {
obj->unk78 = 0x3C;
func_80009558(0x23B, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
func_80009558(571, obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position, 4, NULL);
}
}
}
@@ -2170,7 +2169,7 @@ void obj_loop_worldkey(Object *worldKeyObj, s32 speed) {
Object_WorldKey *obj64 = &playerObj->unk64->world_key;
if (obj64->unk0 != -1) {
// Player has grabbed the key!
play_sound(SOUND_WORLD_KEY_GRAB);
play_sequence(SEQUENCE_KEY_COLLECT);
settings = get_settings();
settings->keys |= 1 << worldKeyObj->unk78; // Set key flag
gParticlePtrList_addObject(worldKeyObj); // Makes the key unload.
-1
View File
@@ -7,7 +7,6 @@
#include "libc/math.h"
#define WORLD_KEY_GRAB_CHECK_RADIUS 50
#define SOUND_WORLD_KEY_GRAB 54
#define TIME_JIFFIES_PER_SECOND 60
#define TIME_SECONDS(sec) sec * TIME_JIFFIES_PER_SECOND