Document Sequence Modes and Related Functions (#1046)

* Document Audio_SetSequenceMode

* Cleanup surrounding docs

* format

* Clean-up

* fix capital `I` in `playeridx`

* Dist -> DistSq

* `SetCamModeAndSeqMode` -> `UpdateCamAndSeqModes`

* Get rid of extra padding

* PR Feedback
This commit is contained in:
engineer124
2021-12-06 04:13:53 +11:00
committed by GitHub
parent e635e34265
commit 79220ba58a
8 changed files with 268 additions and 134 deletions
+2 -2
View File
@@ -2060,8 +2060,8 @@ void func_800F5BF0(u8 arg0);
void Audio_PlayFanfare(u16);
void func_800F5C2C(void);
void func_800F5E18(u8 playerIdx, u16 seqId, u8 fadeTimer, s8 arg3, s8 arg4);
void func_800F5E90(u8);
void func_800F6114(f32 dist);
void Audio_SetSequenceMode(u8 seqMode);
void Audio_SetBgmEnemyVolume(f32 dist);
void func_800F6268(f32 dist, u16);
void func_800F64E0(u8 arg0);
void func_800F6584(u8 arg0);
+19 -12
View File
@@ -7,17 +7,17 @@
#define NA_BGM_NATURE_AMBIENCE 0x1 // Environmental nature background sounds
#define NA_BGM_FIELD_LOGIC 0x2 // Hyrule Field
#define NA_BGM_FIELD_INIT 0x3 // Hyrule Field Initial Segment From Loading Area
#define NA_BGM_FIELD_MOVE_1 0x4 // Hyrule Field Moving Segment 1
#define NA_BGM_FIELD_MOVE_2 0x5 // Hyrule Field Moving Segment 2
#define NA_BGM_FIELD_MOVE_3 0x6 // Hyrule Field Moving Segment 3
#define NA_BGM_FIELD_MOVE_4 0x7 // Hyrule Field Moving Segment 4
#define NA_BGM_FIELD_MOVE_5 0x8 // Hyrule Field Moving Segment 5
#define NA_BGM_FIELD_MOVE_6 0x9 // Hyrule Field Moving Segment 6
#define NA_BGM_FIELD_MOVE_7 0x0A // Hyrule Field Moving Segment 7
#define NA_BGM_FIELD_MOVE_8 0x0B // Hyrule Field Moving Segment 8
#define NA_BGM_FIELD_MOVE_9 0x0C // Hyrule Field Moving Segment 9
#define NA_BGM_FIELD_MOVE_A 0x0D // Hyrule Field Moving Segment 10
#define NA_BGM_FIELD_MOVE_B 0x0E // Hyrule Field Moving Segment 11
#define NA_BGM_FIELD_DEFAULT_1 0x4 // Hyrule Field Moving Segment 1
#define NA_BGM_FIELD_DEFAULT_2 0x5 // Hyrule Field Moving Segment 2
#define NA_BGM_FIELD_DEFAULT_3 0x6 // Hyrule Field Moving Segment 3
#define NA_BGM_FIELD_DEFAULT_4 0x7 // Hyrule Field Moving Segment 4
#define NA_BGM_FIELD_DEFAULT_5 0x8 // Hyrule Field Moving Segment 5
#define NA_BGM_FIELD_DEFAULT_6 0x9 // Hyrule Field Moving Segment 6
#define NA_BGM_FIELD_DEFAULT_7 0x0A // Hyrule Field Moving Segment 7
#define NA_BGM_FIELD_DEFAULT_8 0x0B // Hyrule Field Moving Segment 8
#define NA_BGM_FIELD_DEFAULT_9 0x0C // Hyrule Field Moving Segment 9
#define NA_BGM_FIELD_DEFAULT_A 0x0D // Hyrule Field Moving Segment 10
#define NA_BGM_FIELD_DEFAULT_B 0x0E // Hyrule Field Moving Segment 11
#define NA_BGM_FIELD_ENEMY_INIT 0x0F // Hyrule Field Enemy Approaches
#define NA_BGM_FIELD_ENEMY_1 0x10 // Hyrule Field Enemy Near Segment 1
#define NA_BGM_FIELD_ENEMY_2 0x11 // Hyrule Field Enemy Near Segment 2
@@ -95,7 +95,7 @@
#define NA_BGM_DOOR_OF_TIME 0x59 // Open Door of Temple of Time "NA_BGM_GATE_OPEN"
#define NA_BGM_OWL 0x5A // Kaepora Gaebora's Theme
#define NA_BGM_SHADOW_TEMPLE 0x5B // Shadow Temple "NA_BGM_DARKNESS_DUNGEON"
#define NA_BGM_WATAER_TEMPLE 0x5C // Water Temple "NA_BGM_AQUA_DUNGEON"
#define NA_BGM_WATER_TEMPLE 0x5C // Water Temple "NA_BGM_AQUA_DUNGEON"
#define NA_BGM_BRIDGE_TO_GANONS 0x5D // Ganon's Castle Bridge "NA_BGM_BRIDGE"
#define NA_BGM_OCARINA_OF_TIME 0x5E // Ocarina of Time "NA_BGM_SARIA"
#define NA_BGM_GERUDO_VALLEY 0x5F // Gerudo Valley "NA_BGM_GERUDO"
@@ -124,4 +124,11 @@ typedef enum {
/* 3 */ SEQ_PLAYER_BGM_SUB
} SequencePlayerId;
typedef enum {
/* 0 */ SEQ_MODE_DEFAULT,
/* 1 */ SEQ_MODE_ENEMY,
/* 2 */ SEQ_MODE_STILL, // Not moving or first-person view
/* 3 */ SEQ_MODE_IGNORE
} SequenceMode;
#endif
+1 -1
View File
@@ -216,7 +216,7 @@ typedef struct {
/* 0x4D */ char unk_4D[0x03];
/* 0x50 */ TargetContextEntry arr_50[3];
/* 0x8C */ Actor* unk_8C;
/* 0x90 */ Actor* unk_90;
/* 0x90 */ Actor* bgmEnemy; // The nearest enemy to player with the right flags that will trigger NA_BGM_ENEMY
/* 0x94 */ Actor* unk_94;
} TargetContext; // size = 0x98