More jaudio game64 documentation

This commit is contained in:
Cuyler36
2025-04-18 21:05:00 -04:00
parent abebf12b19
commit 0188f5cf50
11 changed files with 482 additions and 300 deletions
+133 -10
View File
@@ -13,8 +13,9 @@ extern "C" {
/* audio is monophonic */
#define MONO(id) ((id) | 0x1000)
#define HANABI(id) ((id) | 0x2000) /* TODO: better name, this probably is some echo effect modifier */
#define SE_FLAG_15(id) ((id) | 0x8000)
#define SE_DIST_REVERB(id) ((id) | 0x2000)
#define SE_ECHO(id) ((id) | 0x4000)
#define SE_SINGLETON(id) ((id) | 0x8000)
// TODO: Make the rest of Sound Effects with parameters
#define SE_REGISTER MONO(NA_SE_REGISTER)
@@ -51,6 +52,8 @@ typedef enum audio_sound_effects {
NA_SE_LIGHT_ON,
NA_SE_LIGHT_OFF,
NA_SE_19 = 0x19,
NA_SE_24 = 0x24,
NA_SE_25 = 0x25,
NA_SE_26 = 0x26,
@@ -68,6 +71,7 @@ typedef enum audio_sound_effects {
NA_SE_35 = 0x35,
NA_SE_DRAWER_SHUT = 0x3A,
NA_SE_3B = 0x3B,
NA_SE_ITEM_GET = 0x40,
NA_SE_MOLE_CRICKET_HIDE = 0x44,
@@ -95,7 +99,7 @@ typedef enum audio_sound_effects {
NA_SE_51 = 0x51,
NA_SE_52 = 0x52,
NA_SE_53 = 0x53,
NA_SE_54 = 0x54,
NA_SE_KOKORO_TOGURU = 0x54,
NA_SE_ITEM_HORIDASHI = 0x57,
NA_SE_CLEAN_UP_FTR = 0x58,
@@ -119,6 +123,11 @@ typedef enum audio_sound_effects {
NA_SE_GASAGOSO = 0x69,
NA_SE_6A = 0x6A,
NA_SE_6E = 0x6E,
NA_SE_6F = 0x6F,
NA_SE_70 = 0x70,
NA_SE_71 = 0x71,
NA_SE_TOILE_CHAIR_STANDUP = 0x72,
NA_SE_TOOL_BROKEN1 = 0x74,
@@ -150,10 +159,10 @@ typedef enum audio_sound_effects {
NA_SE_10B,
NA_SE_10C,
NA_SE_HANABI0 = HANABI(0x10F),
NA_SE_HANABI1 = HANABI(0x110),
NA_SE_HANABI2 = HANABI(0x111),
NA_SE_HANABI3 = HANABI(0x112),
NA_SE_HANABI0 = SE_DIST_REVERB(0x10F),
NA_SE_HANABI1 = SE_DIST_REVERB(0x110),
NA_SE_HANABI2 = SE_DIST_REVERB(0x111),
NA_SE_HANABI3 = SE_DIST_REVERB(0x112),
NA_SE_EAT = 0x113,
NA_SE_114 = 0x114,
NA_SE_SEMI_ESCAPE = 0x115,
@@ -167,6 +176,12 @@ typedef enum audio_sound_effects {
NA_SE_SCOOP_UMERU = 0x120,
NA_SE_SCOOP_HIT,
NA_SE_122 = 0x122,
NA_SE_123 = 0x123,
NA_SE_124 = 0x124,
NA_SE_125 = 0x125,
NA_SE_126 = 0x126,
NA_SE_12D = 0x12D,
NA_SE_GOKI_JUMP_AWAY = 0x132,
@@ -189,11 +204,19 @@ typedef enum audio_sound_effects {
NA_SE_ARAIIKI_BOY = 0x158,
NA_SE_ARAIIKI_GIRL = 0x15A,
NA_SE_AMI_HIT_WATER = 0x15C,
NA_SE_ZASSOU_NUKU = 0x15F,
NA_SE_HACHI_SASARERU,
NA_SE_166 = 0x166,
NA_SE_UCHIWA = 0x167,
NA_SE_16A = 0x16A,
NA_SE_16E = 0x16E,
NA_SE_16F = 0x16F,
NA_SE_LAWNMOWER = 0x177,
NA_SE_17C = 0x17C,
@@ -227,7 +250,7 @@ typedef enum audio_sound_effects {
NA_SE_BUBU_CHAIR_SIT,
NA_SE_SOFT_CHAIR_STANDUP,
NA_SE_HARD_CHAIR_STANDUP,
NA_SE_424 = 0x424,
NA_SE_426 = 0x426,
NA_SE_BUBU_CHAIR_STANDUP = 0x429,
@@ -247,9 +270,12 @@ typedef enum audio_sound_effects {
NA_SE_438 = 0x438,
NA_SE_KARABURI = 0x43A,
NA_SE_43B = 0x43B,
NA_SE_43D = 0x43D,
NA_SE_43F = 0x43F,
NA_SE_ROD_STROKE_SMALL = 0x445,
NA_SE_446 = 0x446,
@@ -267,8 +293,27 @@ typedef enum audio_sound_effects {
NA_SE_COIN_GASAGOSO = 0x465,
NA_SE_501 = 0x501,
NA_SE_505 = 0x505,
NA_SE_509 = 0x509,
NA_SE_50D = 0x50D,
NA_SE_511 = 0x511,
NA_SE_515 = 0x515,
NA_SE_519 = 0x519,
NA_SE_51D = 0x51D,
NA_SE_521 = 0x521,
NA_SE_525 = 0x525,
NA_SE_529 = 0x529,
NA_SE_531 = 0x531,
NA_SE_539 = 0x539,
NA_SE_53D = 0x53D,
NA_SE_BEBE = MONO(0x6D),
NA_SE_4028 = SE_ECHO(0x28),
// Footsteps
NA_SE_FOOTSTEP_BEGIN = 0x4200,
NA_SE_FOOTSTEP_BEGIN = SE_ECHO(0x200),
NA_SE_FOOTSTEP_GRASS,
NA_SE_FOOTSTEP_SOIL,
NA_SE_FOOTSTEP_STONE,
@@ -280,6 +325,8 @@ typedef enum audio_sound_effects {
NA_SE_FOOTSTEP_WAVE,
NA_SE_FOOTSTEP_PLUSSBRIDGE,
NA_SE_FLOOR_SE_START = SE_ECHO(0x2E6),
} AudioSE;
typedef enum bgm_e {
@@ -391,8 +438,84 @@ typedef enum bgm_e {
BGM_KAPPA_SONG13,
BGM_KAPPA_SONG14,
BGM_KAPPA_SONG15,
BGM_108,
BGM_109,
BGM_110,
BGM_111,
BGM_112,
BGM_113,
BGM_114,
BGM_115,
BGM_116,
BGM_117,
BGM_118,
BGM_119,
BGM_120,
BGM_121,
BGM_122,
BGM_123,
BGM_124,
BGM_125,
BGM_126,
BGM_127,
// TODO: others
BGM_MD0 = 128,
BGM_MD0, // 128
BGM_MD1,
BGM_MD2,
BGM_MD3,
BGM_MD4,
BGM_MD5,
BGM_MD6,
BGM_MD7,
BGM_MD8,
BGM_MD9,
BGM_MD10,
BGM_MD11,
BGM_MD12,
BGM_MD13,
BGM_MD14,
BGM_MD15,
BGM_MD16,
BGM_MD17,
BGM_MD18,
BGM_MD19,
BGM_MD20,
BGM_MD21,
BGM_MD22,
BGM_MD23,
BGM_MD24,
BGM_MD25,
BGM_MD26,
BGM_MD27,
BGM_MD28,
BGM_MD29,
BGM_MD30,
BGM_MD31,
BGM_MD32,
BGM_MD33,
BGM_MD34,
BGM_MD35,
BGM_MD36,
BGM_MD37,
BGM_MD38,
BGM_MD39,
BGM_MD40,
BGM_MD41,
BGM_MD42,
BGM_MD43,
BGM_MD44,
BGM_MD45,
BGM_MD46,
BGM_MD47,
BGM_MD48,
BGM_MD49,
BGM_MD50,
BGM_MD51,
BGM_MD52,
BGM_MD53,
BGM_MD54,
BGM_TOTAKEKE_LIVE0 = 192,
} BGM_e;
+42
View File
@@ -247,6 +247,48 @@ typedef enum AUDIO_CALLBACKS {
/* 0xFF */ AUDIO_CALLBACK_SOUND
} AUDIO_CALLBACKS;
typedef enum NAGroup {
NA_GROUP0,
NA_GROUP1,
NA_GROUP2,
NA_GROUP3,
NA_GROUP4,
NA_GROUP5,
NA_GROUP6,
NA_GROUP7,
NA_GROUP8,
NA_GROUP9,
NA_GROUP10,
NA_GROUP11,
NA_GROUP12,
NA_GROUP13,
NA_GROUP14,
NA_GROUP15,
NA_GROUP_NUM
} NAGroup;
typedef enum NASubtrack {
NA_SUBTRACK0,
NA_SUBTRACK1,
NA_SUBTRACK2,
NA_SUBTRACK3,
NA_SUBTRACK4,
NA_SUBTRACK5,
NA_SUBTRACK6,
NA_SUBTRACK7,
NA_SUBTRACK8,
NA_SUBTRACK9,
NA_SUBTRACK10,
NA_SUBTRACK11,
NA_SUBTRACK12,
NA_SUBTRACK13,
NA_SUBTRACK14,
NA_SUBTRACK15,
NA_SUBTRACK_NUM
} NASubtrack;
#define NA_COMMAND_AUDIO_START_SEQ(groupID, seqID, fadeinTime) \
Nap_SetS32(NA_MAKE_COMMAND(AUDIOCMD_START_SEQ, groupID, seqID, 0), fadeinTime)
+1 -1
View File
@@ -320,7 +320,7 @@ static void Kamakura_Indoor_Actor_move(ACTOR* actorx, GAME* game) {
int i;
s16 timer;
sAdo_OngenPos((u32)actorx, NA_SE_54, &k_indoor->mochi.pos);
sAdo_OngenPos((u32)actorx, NA_SE_KOKORO_TOGURU, &k_indoor->mochi.pos);
if ((play->game_frame & 7) == 0) {
xyz_t soba_yuge_pos = k_indoor->mochi.pos;
+1 -1
View File
@@ -3,7 +3,7 @@ extern Gfx int_hos_mario_kinoko_all_model[];
static void fIMK_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8* data) {
if (aFTR_CAN_PLAY_SE(ftr_actor)) {
if (ftr_actor->switch_changed_flag == TRUE) {
sAdo_OngenTrgStart(SE_FLAG_15(0x179), &ftr_actor->position);
sAdo_OngenTrgStart(SE_SINGLETON(0x179), &ftr_actor->position);
}
}
}
+1 -1
View File
@@ -22,7 +22,7 @@ static void aNogG_mv(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor, GAME* game, u8*
/* If the wall is ringside seating, play camera flashing effect */
if (mRmTp_GetWallIdx() == WALL_NPC065) {
sAdo_SysTrgStart(SE_FLAG_15(0x17E));
sAdo_SysTrgStart(SE_SINGLETON(0x17E));
(*Common_Get(clip).effect_clip->effect_make_proc)(eEC_EFFECT_FLASHC, ftr_actor->position, 2, 0, game,
RSV_NO, 0, 0);
}
+2 -2
View File
@@ -11,9 +11,9 @@ static void mChoice_sound_CURSOL() {
}
static void mChoice_sound_ZOOMDOWN_SHORT() {
sAdo_SysTrgStart(SE_FLAG_15(NA_SE_ZOOMDOWN_SHORT));
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMDOWN_SHORT));
}
static void mChoice_sound_ZOOMDOWN_LONG() {
sAdo_SysTrgStart(SE_FLAG_15(NA_SE_ZOOMDOWN_LONG));
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMDOWN_LONG));
}
+1 -1
View File
@@ -2085,7 +2085,7 @@ static void mIV_inventory_ovl_init(Submenu* submenu, mSM_MenuInfo_c* menu_info,
inv_ovl->wc_flag = FALSE;
if (menu_info->data0 == mSM_IV_OPEN_MAILBOX) {
sAdo_SysTrgStart(SE_FLAG_15(NA_SE_ZOOMUP));
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMUP));
} else {
sAdo_SysTrgStart(NA_SE_MENU_PAUSE);
}
+1 -1
View File
@@ -47,7 +47,7 @@ static void mMB_move_Wait(Submenu* submenu, mSM_MenuInfo_c* menu_info) {
mailbox_ovl->open_flag = FALSE;
} else {
submenu->overlay->move_chg_base_proc(menu_info, mSM_MOVE_OUT_LEFT);
sAdo_SysTrgStart(SE_FLAG_15(NA_SE_ZOOMDOWN_SHORT));
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMDOWN_SHORT));
}
}
}
+2 -2
View File
@@ -164,13 +164,13 @@ static void mMsg_sound_ZOOMUP() {
static void mMsg_sound_ZOOMDOWN_SHORT(mMsg_Window_c* msg_p) {
if ((msg_p->status_flags & mMsg_STATUS_FLAG_NO_ZOOMDOWN) == 0) {
sAdo_SysTrgStart(0x8005);
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMDOWN_SHORT));
}
}
static void mMsg_sound_ZOOMDOWN_LONG(mMsg_Window_c* msg_p) {
if ((msg_p->status_flags & mMsg_STATUS_FLAG_NO_ZOOMDOWN) == 0) {
sAdo_SysTrgStart(0x8015);
sAdo_SysTrgStart(SE_SINGLETON(NA_SE_ZOOMDOWN_LONG));
}
}
+1 -1
View File
@@ -7471,7 +7471,7 @@ static void mTG_move_cancel(Submenu* submenu, mSM_MenuInfo_c* menu_info, mTG_tag
break;
case mSM_OVL_MAILBOX:
move_dir = mSM_MOVE_OUT_LEFT;
sfx = SE_FLAG_15(NA_SE_ZOOMDOWN_SHORT);
sfx = SE_SINGLETON(NA_SE_ZOOMDOWN_SHORT);
break;
default:
move_dir = mSM_MOVE_OUT_LEFT;
File diff suppressed because it is too large Load Diff