mirror of
https://github.com/zeldaret/ss
synced 2026-06-19 07:37:01 -04:00
Sound event callback tables
This commit is contained in:
@@ -2638,11 +2638,19 @@ d/snd/d_snd_stage_callbacks.cpp:
|
||||
.text start:0x803665F0 end:0x8036740C align:16
|
||||
|
||||
d/snd/d_snd_event_callbacks.cpp:
|
||||
.text start:0x80367410 end:0x8036A3A4 align:16
|
||||
.text start:0x80367410 end:0x803698F8 align:16
|
||||
.rodata start:0x804F2308 end:0x804F3678
|
||||
.sdata2 start:0x8057D808 end:0x8057D8A4
|
||||
|
||||
d/snd/d_snd_event_demo_callbacks.cpp:
|
||||
.text start:0x80369900 end:0x8036A3A4 align:16
|
||||
.rodata start:0x804F3678 end:0x804F37E8
|
||||
.data start:0x80548A58 end:0x80548B08
|
||||
.sdata2 start:0x8057D8A4 end:0x8057D8B0
|
||||
|
||||
d/snd/d_snd_area_sound_effect_mgr.cpp:
|
||||
.text start:0x8036A3B0 end:0x8036B8D0 align:16
|
||||
.data start:0x80548B38 end:0x80548B48
|
||||
.data start:0x80548B08 end:0x80548B48
|
||||
.sbss start:0x80575D78 end:0x80575D80
|
||||
.sdata2 start:0x8057D8B0 end:0x8057D8E8
|
||||
|
||||
|
||||
+26
-15
@@ -20308,8 +20308,8 @@ fn_803695B0 = .text:0x803695B0; // type:function size:0x14
|
||||
playExitTriforceRoomSound = .text:0x803695D0; // type:function size:0x3C
|
||||
fn_80369610 = .text:0x80369610; // type:function size:0x38
|
||||
fn_80369650 = .text:0x80369650; // type:function size:0x14
|
||||
fn_80369670 = .text:0x80369670; // type:function size:0x1C4
|
||||
fn_80369840 = .text:0x80369840; // type:function size:0xB8
|
||||
handleStageEvent__14dSndStateMgr_cFPCc = .text:0x80369670; // type:function size:0x1C4
|
||||
handleGlobalEvent__14dSndStateMgr_cFPCc = .text:0x80369840; // type:function size:0xB8
|
||||
fn_80369900 = .text:0x80369900; // type:function size:0x10
|
||||
fn_80369910 = .text:0x80369910; // type:function size:0x60
|
||||
fn_80369970 = .text:0x80369970; // type:function size:0x34
|
||||
@@ -20333,7 +20333,7 @@ fn_8036A0D0 = .text:0x8036A0D0; // type:function size:0x3C
|
||||
fn_8036A110 = .text:0x8036A110; // type:function size:0x108
|
||||
fn_8036A220 = .text:0x8036A220; // type:function size:0x3C
|
||||
fn_8036A260 = .text:0x8036A260; // type:function size:0x6C
|
||||
fn_8036A2D0 = .text:0x8036A2D0; // type:function size:0xB8
|
||||
handleDemoEvent__14dSndStateMgr_cFPCc = .text:0x8036A2D0; // type:function size:0xB8
|
||||
fn_8036A390 = .text:0x8036A390; // type:function size:0x14
|
||||
__dt__42SndMgrDisposer<24dSndAreaSoundEffectMgr_c>Fv = .text:0x8036A3B0; // type:function size:0x78
|
||||
create__42SndMgrDisposer<24dSndAreaSoundEffectMgr_c>Fv = .text:0x8036A430; // type:function size:0x48
|
||||
@@ -28974,35 +28974,43 @@ lbl_804F2684 = .rodata:0x804F2684; // type:object size:0xC
|
||||
lbl_804F2690 = .rodata:0x804F2690; // type:object size:0x18 data:string
|
||||
lbl_804F26A8 = .rodata:0x804F26A8; // type:object size:0x10
|
||||
lbl_804F26B8 = .rodata:0x804F26B8; // type:object size:0x770
|
||||
lbl_804F2E28 = .rodata:0x804F2E28; // type:object size:0x18
|
||||
lbl_804F2E28 = .rodata:0x804F2E28; // type:object size:0x15 data:string
|
||||
lbl_804F2E40 = .rodata:0x804F2E40; // type:object size:0x10
|
||||
lbl_804F2E50 = .rodata:0x804F2E50; // type:object size:0x10 data:string
|
||||
lbl_804F2E60 = .rodata:0x804F2E60; // type:object size:0x10
|
||||
lbl_804F2E70 = .rodata:0x804F2E70; // type:object size:0x14
|
||||
lbl_804F2E84 = .rodata:0x804F2E84; // type:object size:0xE0
|
||||
lbl_804F2E84 = .rodata:0x804F2E84; // type:object size:0x1C
|
||||
lbl_804F2EA0 = .rodata:0x804F2EA0; // type:object size:0xA8
|
||||
lbl_804F2F48 = .rodata:0x804F2F48; // type:object size:0x1C
|
||||
lbl_804F2F64 = .rodata:0x804F2F64; // type:object size:0xC data:string
|
||||
lbl_804F2F70 = .rodata:0x804F2F70; // type:object size:0x10
|
||||
lbl_804F2F80 = .rodata:0x804F2F80; // type:object size:0x10
|
||||
lbl_804F2F90 = .rodata:0x804F2F90; // type:object size:0x14
|
||||
lbl_804F2FA4 = .rodata:0x804F2FA4; // type:object size:0x1C
|
||||
lbl_804F2FC0 = .rodata:0x804F2FC0; // type:object size:0xC8
|
||||
lbl_804F2FC0 = .rodata:0x804F2FC0; // type:object size:0x20
|
||||
lbl_804F2FE0 = .rodata:0x804F2FE0; // type:object size:0xA8
|
||||
lbl_804F3088 = .rodata:0x804F3088; // type:object size:0x10
|
||||
lbl_804F3098 = .rodata:0x804F3098; // type:object size:0x14 data:string
|
||||
lbl_804F30AC = .rodata:0x804F30AC; // type:object size:0x10
|
||||
lbl_804F30BC = .rodata:0x804F30BC; // type:object size:0x10
|
||||
lbl_804F30CC = .rodata:0x804F30CC; // type:object size:0x9C
|
||||
lbl_804F30CC = .rodata:0x804F30CC; // type:object size:0x10
|
||||
lbl_804F30DC = .rodata:0x804F30DC; // type:object size:0x8C
|
||||
lbl_804F3168 = .rodata:0x804F3168; // type:object size:0x10
|
||||
lbl_804F3178 = .rodata:0x804F3178; // type:object size:0xC data:string
|
||||
lbl_804F3184 = .rodata:0x804F3184; // type:object size:0x60
|
||||
lbl_804F3184 = .rodata:0x804F3184; // type:object size:0xC
|
||||
lbl_804F3190 = .rodata:0x804F3190; // type:object size:0x54
|
||||
lbl_804F31E4 = .rodata:0x804F31E4; // type:object size:0x10
|
||||
lbl_804F31F4 = .rodata:0x804F31F4; // type:object size:0xC data:string
|
||||
lbl_804F3200 = .rodata:0x804F3200; // type:object size:0xC
|
||||
lbl_804F320C = .rodata:0x804F320C; // type:object size:0xC
|
||||
lbl_804F3218 = .rodata:0x804F3218; // type:object size:0xC
|
||||
lbl_804F3224 = .rodata:0x804F3224; // type:object size:0x194
|
||||
lbl_804F3224 = .rodata:0x804F3224; // type:object size:0xC
|
||||
lbl_804F3230 = .rodata:0x804F3230; // type:object size:0x134
|
||||
lbl_804F3364 = .rodata:0x804F3364; // type:object size:0x54
|
||||
lbl_804F33B8 = .rodata:0x804F33B8; // type:object size:0x18
|
||||
lbl_804F33D0 = .rodata:0x804F33D0; // type:object size:0x10
|
||||
lbl_804F33E0 = .rodata:0x804F33E0; // type:object size:0x80
|
||||
lbl_804F33E0 = .rodata:0x804F33E0; // type:object size:0x10 data:string
|
||||
lbl_804F33F0 = .rodata:0x804F33F0; // type:object size:0x70
|
||||
lbl_804F3460 = .rodata:0x804F3460; // type:object size:0x10
|
||||
lbl_804F3470 = .rodata:0x804F3470; // type:object size:0x10
|
||||
lbl_804F3480 = .rodata:0x804F3480; // type:object size:0x10
|
||||
@@ -29011,11 +29019,14 @@ lbl_804F349C = .rodata:0x804F349C; // type:object size:0x10
|
||||
lbl_804F34AC = .rodata:0x804F34AC; // type:object size:0xC
|
||||
lbl_804F34B8 = .rodata:0x804F34B8; // type:object size:0xC
|
||||
lbl_804F34C4 = .rodata:0x804F34C4; // type:object size:0xC
|
||||
lbl_804F34D0 = .rodata:0x804F34D0; // type:object size:0x108
|
||||
lbl_804F34D0 = .rodata:0x804F34D0; // type:object size:0xC
|
||||
lbl_804F34DC = .rodata:0x804F34DC; // type:object size:0xFC
|
||||
lbl_804F35D8 = .rodata:0x804F35D8; // type:object size:0xC
|
||||
lbl_804F35E4 = .rodata:0x804F35E4; // type:object size:0x64
|
||||
lbl_804F3648 = .rodata:0x804F3648; // type:object size:0x30
|
||||
lbl_804F3678 = .rodata:0x804F3678; // type:object size:0x170
|
||||
lbl_804F35E4 = .rodata:0x804F35E4; // type:object size:0x10
|
||||
lbl_804F35F4 = .rodata:0x804F35F4; // type:object size:0x54
|
||||
lbl_804F3648 = .rodata:0x804F3648; // type:object size:0x14
|
||||
lbl_804F365C = .rodata:0x804F365C; // type:object size:0x1C
|
||||
lbl_804F3678 = .rodata:0x804F3678; // type:object size:0x16C
|
||||
lbl_804F37E8 = .rodata:0x804F37E8; // type:object size:0x30 data:2byte
|
||||
lbl_804F3818 = .rodata:0x804F3818; // type:object size:0x40
|
||||
lbl_804F3858 = .rodata:0x804F3858; // type:object size:0x30 data:4byte
|
||||
@@ -42278,7 +42289,7 @@ sInstance__15dSnd3DManager_c = .sbss:0x80575D58; // type:object size:0x4 data:4b
|
||||
sDisposer__15dSnd3DManager_c = .sbss:0x80575D5C; // type:object size:0x4 data:4byte
|
||||
lbl_80575D60 = .sbss:0x80575D60; // type:object size:0x4 data:4byte
|
||||
lbl_80575D64 = .sbss:0x80575D64; // type:object size:0x4 data:4byte
|
||||
lbl_80575D68 = .sbss:0x80575D68; // type:object size:0x4 data:4byte
|
||||
sEventExecuteCallback__14dSndStateMgr_c = .sbss:0x80575D68; // type:object size:0x4 data:4byte
|
||||
sInstance__14dSndStateMgr_c = .sbss:0x80575D6C; // type:object size:0x4 data:4byte
|
||||
sDisposer__14dSndStateMgr_c = .sbss:0x80575D70; // type:object size:0x8 data:4byte
|
||||
sInstance__24dSndAreaSoundEffectMgr_c = .sbss:0x80575D78; // type:object size:0x4 data:4byte
|
||||
|
||||
@@ -748,6 +748,7 @@ config.libs = [
|
||||
Object(NonMatching, "d/snd/d_snd_stage_reverb.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_stage_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_event_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_event_demo_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_area_sound_effect_mgr.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_area_sound.cpp"),
|
||||
Object(Matching, "d/snd/d_snd_control_sound.cpp"),
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
#ifndef D_SND_EVENT_H
|
||||
#define D_SND_EVENT_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
typedef void (*SndEventCallback)(void);
|
||||
|
||||
struct SndEventDef {
|
||||
/* 0x00 */ const char *eventName;
|
||||
/* 0x04 */ s32 eventId;
|
||||
/* 0x08 */ SndEventCallback initializeCb;
|
||||
/* 0x0C */ SndEventCallback executeCb;
|
||||
/* 0x10 */ SndEventCallback finalizeCb;
|
||||
/* 0x14 */ u8 _0x14[0x1C - 0x14]; // always zero
|
||||
};
|
||||
|
||||
enum SndEvent_e {
|
||||
/* 0x00 */ SND_EVENT_DefaultStart = 0x00,
|
||||
/* 0x01 */ SND_EVENT_SkyDiveStart = 0x01,
|
||||
/* 0x02 */ SND_EVENT_ShortDiveStart = 0x02,
|
||||
/* 0x03 */ SND_EVENT_ParachuteStart = 0x03,
|
||||
/* 0x04 */ SND_EVENT_SirenBackStart = 0x04,
|
||||
/* 0x05 */ SND_EVENT_TimeDoorIn = 0x05,
|
||||
/* 0x06 */ SND_EVENT_TimeDoorOut = 0x06,
|
||||
/* 0x07 */ SND_EVENT_ReturnSkyloft = 0x07,
|
||||
/* 0x08 */ SND_EVENT_Shutter = 0x08,
|
||||
/* 0x09 */ SND_EVENT_DayTime = 0x09,
|
||||
/* 0x0A */ SND_EVENT_BedStart = 0x0A,
|
||||
/* 0x0B */ SND_EVENT_TboxShow = 0x0B,
|
||||
/* 0x0C */ SND_EVENT_TreasureBoxOpen = 0x0C,
|
||||
/* 0x0D */ SND_EVENT_TreasureBoxOpenBoss = 0x0D,
|
||||
/* 0x0E */ SND_EVENT_FaysSirenSong = 0x0E,
|
||||
/* 0x0F */ SND_EVENT_fays_song_fin_siren = 0x0F,
|
||||
/* 0x10 */ SND_EVENT_SDGateInOpen = 0x10,
|
||||
/* 0x11 */ SND_EVENT_SealedDoorOpen = 0x11,
|
||||
/* 0x12 */ SND_EVENT_SealedDoorClose = 0x12,
|
||||
/* 0x13 */ SND_EVENT_HeartContainer = 0x13,
|
||||
/* 0x14 */ SND_EVENT_ordinary_sword_sprit = 0x14,
|
||||
/* 0x15 */ SND_EVENT_fays_navigate = 0x15,
|
||||
/* 0x16 */ SND_EVENT_fays_allert = 0x16,
|
||||
/* 0x17 */ SND_EVENT_DefaultGetItem = 0x17,
|
||||
/* 0x18 */ SND_EVENT_ItemGetGorgeous = 0x18,
|
||||
/* 0x19 */ SND_EVENT_Save = 0x19,
|
||||
/* 0x1A */ SND_EVENT_SwordDraw = 0x1A,
|
||||
/* 0x1B */ SND_EVENT_SwordDrawDoorNew = 0x1B,
|
||||
/* 0x1C */ SND_EVENT_DoorBossGame = 0x1C,
|
||||
/* 0x1D */ SND_EVENT_FallRestart = 0x1D,
|
||||
/* 0x1E */ SND_EVENT_DeadMagma = 0x1E,
|
||||
/* 0x1F */ SND_EVENT_DeadSink = 0x1F,
|
||||
/* 0x20 */ SND_EVENT_Dead = 0x20,
|
||||
/* 0x21 */ SND_EVENT_DeadDive = 0x21,
|
||||
/* 0x22 */ SND_EVENT_SirenChaser2 = 0x22,
|
||||
/* 0x23 */ SND_EVENT_JMAP = 0x23,
|
||||
/* 0x24 */ SND_EVENT_JMAPAllMove = 0x24,
|
||||
/* 0x25 */ SND_EVENT_OracleInSiren = 0x25,
|
||||
/* 0x26 */ SND_EVENT_CeremonyByRescueTeam = 0x26,
|
||||
/* 0x27 */ SND_EVENT_BirdRaceStart = 0x27,
|
||||
/* 0x28 */ SND_EVENT_GoddessGateOpen = 0x28,
|
||||
/* 0x29 */ SND_EVENT_FaysPharosSong = 0x29,
|
||||
/* 0x2A */ SND_EVENT_fays_song_pharos = 0x2A,
|
||||
/* 0x2B */ SND_EVENT_fays_song_fin_pharos = 0x2B,
|
||||
/* 0x2D */ SND_EVENT_HarpPerformanceResult = 0x2D,
|
||||
/* 0x2E */ SND_EVENT_ItemGetBird = 0x2E,
|
||||
/* 0x2F */ SND_EVENT_DivingMGStart = 0x2F,
|
||||
/* 0x30 */ SND_EVENT_DiveGameResult = 0x30,
|
||||
/* 0x31 */ SND_EVENT_StartCarryPumpkin = 0x31,
|
||||
/* 0x32 */ SND_EVENT_CarryPumpkinResultsFailed = 0x32,
|
||||
/* 0x33 */ SND_EVENT_CarryPumpkinResultsSuccessful = 0x33,
|
||||
/* 0x34 */ SND_EVENT_NusiAppearDemo = 0x34,
|
||||
/* 0x35 */ SND_EVENT_NusiTHideAppearDemo = 0x35,
|
||||
/* 0x36 */ SND_EVENT_TenAppearDemo = 0x36,
|
||||
/* 0x37 */ SND_EVENT_NusiTDeathDemo = 0x37,
|
||||
/* 0x38 */ SND_EVENT_NusiDeathDemo = 0x38,
|
||||
/* 0x39 */ SND_EVENT_F100IntroByFay = 0x39,
|
||||
/* 0x3A */ SND_EVENT_BC_wakidasi = 0x3A,
|
||||
/* 0x3B */ SND_EVENT_Kyui3Fall = 0x3B,
|
||||
/* 0x3C */ SND_EVENT_F102Intro2 = 0x3C,
|
||||
/* 0x3D */ SND_EVENT_Uo = 0x3D,
|
||||
/* 0x3E */ SND_EVENT_WaterfallStop = 0x3E,
|
||||
/* 0x3F */ SND_EVENT_F103Intro2 = 0x3F,
|
||||
/* 0x40 */ SND_EVENT_Onp = 0x40,
|
||||
/* 0x41 */ SND_EVENT_F103_UoMS = 0x41,
|
||||
/* 0x42 */ SND_EVENT_F200IntroByFay = 0x42,
|
||||
/* 0x43 */ SND_EVENT_F202_R02Intro = 0x43,
|
||||
/* 0x44 */ SND_EVENT_SearchLightDemo = 0x44,
|
||||
/* 0x45 */ SND_EVENT_F300_1IntroByFay = 0x45,
|
||||
/* 0x46 */ SND_EVENT_FirstTimeSlip = 0x46,
|
||||
/* 0x47 */ SND_EVENT_F301IntroByFay = 0x47,
|
||||
/* 0x49 */ SND_EVENT_F302RevivalRairyu = 0x49,
|
||||
/* 0x4A */ SND_EVENT_F401IntroByFay = 0x4A,
|
||||
/* 0x4B */ SND_EVENT_BBossAppear = 0x4B,
|
||||
/* 0x4C */ SND_EVENT_BBFLYDEMO = 0x4C,
|
||||
/* 0x4D */ SND_EVENT_BBossEvac = 0x4D,
|
||||
/* 0x4E */ SND_EVENT_BBoss2Evac = 0x4E,
|
||||
/* 0x4F */ SND_EVENT_BBoss3Evac = 0x4F,
|
||||
/* 0x50 */ SND_EVENT_BBFuuin = 0x50,
|
||||
/* 0x51 */ SND_EVENT_BBHDTH = 0x51,
|
||||
/* 0x52 */ SND_EVENT_BBHDRC = 0x52,
|
||||
/* 0x53 */ SND_EVENT_BBFCL = 0x53,
|
||||
/* 0x54 */ SND_EVENT_BBTUTO = 0x54,
|
||||
/* 0x55 */ SND_EVENT_F402L3QuakeStart = 0x55,
|
||||
/* 0x56 */ SND_EVENT_Girahimu3SecondAppearDemo = 0x56,
|
||||
/* 0x57 */ SND_EVENT_SF_start = 0x57,
|
||||
/* 0x58 */ SND_EVENT_GirahimuSwordDemo = 0x58,
|
||||
/* 0x59 */ SND_EVENT_SF4_Op = 0x59,
|
||||
/* 0x5A */ SND_EVENT_SF4_End = 0x5A,
|
||||
/* 0x5C */ SND_EVENT_AsuraStart = 0x5C,
|
||||
/* 0x5D */ SND_EVENT_AsuraStartB = 0x5D,
|
||||
/* 0x5E */ SND_EVENT_ELizarufos_c_opening = 0x5E,
|
||||
/* 0x5F */ SND_EVENT_D200R04Rock = 0x5F,
|
||||
/* 0x60 */ SND_EVENT_RollRockLspJump = 0x60,
|
||||
/* 0x62 */ SND_EVENT_RollRockLspAppear = 0x62,
|
||||
/* 0x63 */ SND_EVENT_RollRockChangeVera = 0x63,
|
||||
/* 0x64 */ SND_EVENT_MoleInitFear = 0x64,
|
||||
/* 0x65 */ SND_EVENT_MolePushSwitch = 0x65,
|
||||
/* 0x66 */ SND_EVENT_MoleInitTalk = 0x66,
|
||||
/* 0x67 */ SND_EVENT_CatchMole = 0x67,
|
||||
/* 0x68 */ SND_EVENT_D201IronFence = 0x68,
|
||||
/* 0x69 */ SND_EVENT_MogMolShut = 0x69,
|
||||
/* 0x6A */ SND_EVENT_MogMolOpen = 0x6A,
|
||||
/* 0x6B */ SND_EVENT_LavaPlate = 0x6B,
|
||||
/* 0x6C */ SND_EVENT_ResqueMole = 0x6C,
|
||||
/* 0x6D */ SND_EVENT_MG_start = 0x6D,
|
||||
/* 0x6E */ SND_EVENT_ECaptain_c_Opening = 0x6E,
|
||||
/* 0x6F */ SND_EVENT_BKR_start = 0x6F,
|
||||
/* 0x70 */ SND_EVENT_BKR_end = 0x70,
|
||||
/* 0x71 */ SND_EVENT_BKR_armCaught = 0x71,
|
||||
/* 0x72 */ SND_EVENT_BLS_demo2 = 0x72,
|
||||
/* 0x73 */ SND_EVENT_BLS_end = 0x73,
|
||||
/* 0x74 */ SND_EVENT_D003Intro = 0x74,
|
||||
/* 0x75 */ SND_EVENT_ECaptain_c_OpeningType2 = 0x75,
|
||||
/* 0x76 */ SND_EVENT_NeedleUnderground = 0x76,
|
||||
/* 0x77 */ SND_EVENT_TriforceWarp = 0x77,
|
||||
|
||||
/* 0x78 */ SND_EVENT_0x78 = 0x78,
|
||||
|
||||
/* 0x79 */ SND_EVENT_Demo03_03 = 0x79,
|
||||
/* 0x7A */ SND_EVENT_Demo15_04 = 0x7A,
|
||||
/* 0x7B */ SND_EVENT_Demo08_01 = 0x7B,
|
||||
/* 0x7C */ SND_EVENT_Demo36_01 = 0x7C,
|
||||
/* 0x7D */ SND_EVENT_Demo41_01 = 0x7D,
|
||||
/* 0x7E */ SND_EVENT_Demo59_01 = 0x7E,
|
||||
/* 0x7F */ SND_EVENT_Demo62_01 = 0x7F,
|
||||
/* 0x80 */ SND_EVENT_Demo64_06 = 0x80,
|
||||
/* 0x81 */ SND_EVENT_Demo70_01 = 0x81,
|
||||
/* 0x82 */ SND_EVENT_Demo70_02 = 0x82,
|
||||
/* 0x83 */ SND_EVENT_Demo72_01 = 0x83,
|
||||
/* 0x84 */ SND_EVENT_Demo77_01 = 0x84,
|
||||
/* 0x85 */ SND_EVENT_Demo79_01 = 0x85,
|
||||
|
||||
/* 0x87 */ SND_EVENT_0x87 = 0x87,
|
||||
|
||||
/* 0x89 */ SND_EVENT_0x98 = 0x89,
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -56,7 +56,7 @@ enum SoundSourceType_e {
|
||||
SND_SOURCE_NPC_HEAD = 48,
|
||||
SND_SOURCE_INSECT = 49,
|
||||
SND_SOURCE_NPC_50 = 50,
|
||||
SND_SOURCE_NPC_NRM = 51,
|
||||
SND_SOURCE_NPC_51 = 51,
|
||||
SND_SOURCE_NPC_DRAGON = 52,
|
||||
|
||||
// 53: TagSound (5)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_SND_STATE_MGR_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_event.h"
|
||||
#include "d/snd/d_snd_util.h"
|
||||
#include "nw4r/snd/snd_FxReverbStdDpl2.h"
|
||||
#include "sized_string.h"
|
||||
@@ -12,7 +13,7 @@ SND_DISPOSER_FORWARD_DECL(dSndStateMgr_c);
|
||||
class dSndStateMgr_c {
|
||||
public:
|
||||
SND_DISPOSER_MEMBERS(dSndStateMgr_c);
|
||||
|
||||
|
||||
public:
|
||||
enum StageFlags_e {
|
||||
STAGE_FIELD = 0x1,
|
||||
@@ -29,6 +30,17 @@ public:
|
||||
STAGE_SILENT_GROUNDS = 0x200,
|
||||
};
|
||||
|
||||
enum EventFlags_e {
|
||||
EVENT_MUTE_BGM_PARTIAL = 0x8,
|
||||
EVENT_MUTE_BGM_FULL = 0x10,
|
||||
EVENT_MUTE_STAGE_EFFECTS_PARTIAL = 0x20,
|
||||
EVENT_MUTE_STAGE_EFFECTS_FULL = 0x40,
|
||||
EVENT_MUTE_ENEMY_PARTIAL = 0x80,
|
||||
EVENT_MUTE_ENEMY_FULL = 0x100,
|
||||
EVENT_MUTE_OBJ_PARTIAL = 0x200,
|
||||
EVENT_MUTE_OBJ_FULL = 0x400,
|
||||
};
|
||||
|
||||
dSndStateMgr_c();
|
||||
|
||||
void setup(EGG::Heap *pHeap);
|
||||
@@ -93,18 +105,25 @@ public:
|
||||
bool isInEvent(const char *eventName);
|
||||
|
||||
private:
|
||||
bool handleGlobalEvent(const char *name);
|
||||
bool handleStageEvent(const char *name);
|
||||
void handleDemoEvent(const char *name);
|
||||
|
||||
u32 getStageTypeFlags(const char *stageName) const;
|
||||
// ET, FS, or corresponding Sky Keep rooms
|
||||
static bool isVolcanicDungeon(u32 stageId);
|
||||
// Checks if the given stage + layer is the stage you're transported
|
||||
// to when viewing hint movies.
|
||||
static bool isSeekerStoneStage(const char *stageName, s32 layer);
|
||||
|
||||
|
||||
void setCallbacksForStage();
|
||||
|
||||
u32 getStageId(const char *name, s32 layer);
|
||||
static u32 getStageUnk2(u32 stageId);
|
||||
|
||||
|
||||
static SndEventCallback sEventExecuteCallback;
|
||||
|
||||
/* 0x010 */ u32 field_0x010;
|
||||
/* 0x014 */ UNKWORD field_0x014;
|
||||
/* 0x018 */ UNKWORD field_0x018;
|
||||
@@ -147,7 +166,7 @@ private:
|
||||
/* 0x1EC */ SizedString<64> field_0x1EC;
|
||||
/* 0x22C */ UNKWORD field_0x22C;
|
||||
/* 0x230 */ UNKWORD field_0x230;
|
||||
/* 0x234 */ UNKWORD field_0x234;
|
||||
/* 0x234 */ const SndEventDef *field_0x234;
|
||||
/* 0x238 */ UNKWORD field_0x238;
|
||||
/* 0x23C */ u8 field_0x23C;
|
||||
/* 0x23D */ u8 field_0x23D;
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_event.h"
|
||||
#include "d/snd/d_snd_stage_data.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
|
||||
void todoInititalizeSndEvent();
|
||||
void todoExecuteSndEvent();
|
||||
void todoFinalizeSndEvent();
|
||||
|
||||
#pragma push
|
||||
#pragma readonly_strings on
|
||||
// clang-format off
|
||||
|
||||
static const SndEventDef sSndEventDefs_GLOBAL[] = {
|
||||
{ "DefaultStart", SND_EVENT_DefaultStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SkyDiveStart", SND_EVENT_SkyDiveStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ShortDiveStart", SND_EVENT_ShortDiveStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ParachuteStart", SND_EVENT_ParachuteStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SirenBackStart", SND_EVENT_SirenBackStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "TimeDoorIn", SND_EVENT_TimeDoorIn, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{ "TimeDoorOut", SND_EVENT_TimeDoorOut, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "ReturnSkyloft", SND_EVENT_ReturnSkyloft, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "Shutter", SND_EVENT_Shutter, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "DayTime", SND_EVENT_DayTime, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "BedStart", SND_EVENT_BedStart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "TboxShow", SND_EVENT_TboxShow, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "TreasureBoxOpen", SND_EVENT_TreasureBoxOpen, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "TreasureBoxOpenBoss", SND_EVENT_TreasureBoxOpenBoss, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "FaysSirenSong", SND_EVENT_FaysSirenSong, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "fays_song_fin_siren", SND_EVENT_fays_song_fin_siren, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SDGateInOpen", SND_EVENT_SDGateInOpen, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SealedDoorOpen", SND_EVENT_SealedDoorOpen, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SealedDoorClose", SND_EVENT_SealedDoorClose, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "HeartContainer", SND_EVENT_HeartContainer, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "ordinary_sword_sprit", SND_EVENT_ordinary_sword_sprit, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "fays_navigate", SND_EVENT_fays_navigate, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "fays_allert", SND_EVENT_fays_allert, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DefaultGetItem", SND_EVENT_DefaultGetItem, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ItemGetGorgeous", SND_EVENT_ItemGetGorgeous, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "Save", SND_EVENT_Save, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SwordDraw", SND_EVENT_SwordDraw, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SwordDrawDoorNew", SND_EVENT_SwordDrawDoorNew, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DoorBossGame", SND_EVENT_DoorBossGame, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "FallRestart", SND_EVENT_FallRestart, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DeadMagma", SND_EVENT_DeadMagma, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DeadSink", SND_EVENT_DeadSink, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "Dead", SND_EVENT_Dead, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DeadDive", SND_EVENT_DeadDive, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{ "SirenChaser2", SND_EVENT_SirenChaser2, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
{ "JMAP", SND_EVENT_JMAP, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "JMAPAllMove", SND_EVENT_JMAPAllMove, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "OracleInSiren", SND_EVENT_OracleInSiren, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "HarpPerformanceResult", SND_EVENT_HarpPerformanceResult, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{ "F102Intro2", SND_EVENT_F102Intro2, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "Uo", SND_EVENT_Uo, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "WaterfallStop", SND_EVENT_WaterfallStop, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
{ "F103Intro2", SND_EVENT_F103Intro2, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "Onp", SND_EVENT_Onp, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "F103_UoMS", SND_EVENT_F103_UoMS, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "F200IntroByFay", SND_EVENT_F200IntroByFay, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "F202_R02Intro", SND_EVENT_F202_R02Intro, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "SearchLightDemo", SND_EVENT_SearchLightDemo, nullptr, nullptr, nullptr},
|
||||
{ "F300_1IntroByFay", SND_EVENT_F300_1IntroByFay, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "FirstTimeSlip", SND_EVENT_FirstTimeSlip, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "F301IntroByFay", SND_EVENT_F301IntroByFay, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "F302RevivalRairyu", SND_EVENT_F302RevivalRairyu, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "F402L3QuakeStart", SND_EVENT_F402L3QuakeStart, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Girahimu3SecondAppearDemo", SND_EVENT_Girahimu3SecondAppearDemo, nullptr, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "SF_start", SND_EVENT_SF_start, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "GirahimuSwordDemo", SND_EVENT_GirahimuSwordDemo, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{ "AsuraStart", SND_EVENT_AsuraStart, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "AsuraStartB", SND_EVENT_AsuraStartB, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "RollRockLspAppear", SND_EVENT_RollRockLspAppear, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "RollRockChangeVera", SND_EVENT_RollRockChangeVera, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "MG_start", SND_EVENT_MG_start, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "BLS_demo2", SND_EVENT_BLS_demo2, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BLS_end", SND_EVENT_BLS_end, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ECaptain_c_Opening", SND_EVENT_ECaptain_c_Opening, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "D003Intro", SND_EVENT_D003Intro, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ECaptain_c_OpeningType2", SND_EVENT_ECaptain_c_OpeningType2, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "SF4_End", SND_EVENT_SF4_End, nullptr, nullptr, nullptr},
|
||||
{ "TriforceWarp", SND_EVENT_TriforceWarp, nullptr, todoExecuteSndEvent, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F000[] = {
|
||||
{"CeremonyByRescueTeam", SND_EVENT_CeremonyByRescueTeam, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "BirdRaceStart", SND_EVENT_BirdRaceStart, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
{ "GoddessGateOpen", SND_EVENT_GoddessGateOpen, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{ "FaysPharosSong", SND_EVENT_FaysPharosSong, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "fays_song_pharos", SND_EVENT_fays_song_pharos, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{"fays_song_fin_pharos", SND_EVENT_fays_song_fin_pharos, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F001r[] = {
|
||||
{"OracleInSiren", SND_EVENT_OracleInSiren, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F020[] = {
|
||||
{ "ItemGetBird", SND_EVENT_ItemGetBird, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "DivingMGStart", SND_EVENT_DivingMGStart, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "DiveGameResult", SND_EVENT_DiveGameResult, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "StartCarryPumpkin", SND_EVENT_StartCarryPumpkin, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "CarryPumpkinResultsFailed", SND_EVENT_CarryPumpkinResultsFailed, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{"CarryPumpkinResultsSuccessful", SND_EVENT_CarryPumpkinResultsSuccessful, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F023[] = {
|
||||
{ "NusiAppearDemo", SND_EVENT_NusiAppearDemo, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{"NusiTHideAppearDemo", SND_EVENT_NusiTHideAppearDemo, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "TenAppearDemo", SND_EVENT_TenAppearDemo, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "NusiTDeathDemo", SND_EVENT_NusiTDeathDemo, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "NusiDeathDemo", SND_EVENT_NusiDeathDemo, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F100[] = {
|
||||
{"F100IntroByFay", SND_EVENT_F100IntroByFay, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BC_wakidasi", SND_EVENT_BC_wakidasi, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "Kyui3Fall", SND_EVENT_Kyui3Fall, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_F401[] = {
|
||||
{"F401IntroByFay", SND_EVENT_F401IntroByFay, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BBossAppear", SND_EVENT_BBossAppear, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "BBFLYDEMO", SND_EVENT_BBFLYDEMO, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "BBossEvac", SND_EVENT_BBossEvac, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BBoss2Evac", SND_EVENT_BBoss2Evac, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BBoss3Evac", SND_EVENT_BBoss3Evac, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BBFuuin", SND_EVENT_BBFuuin, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{ "BBHDTH", SND_EVENT_BBHDTH, nullptr, nullptr, nullptr},
|
||||
{ "BBHDRC", SND_EVENT_BBHDRC, nullptr, nullptr, nullptr},
|
||||
{ "BBFCL", SND_EVENT_BBFCL, nullptr, nullptr, nullptr},
|
||||
{ "BBTUTO", SND_EVENT_BBTUTO, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_D101[] = {
|
||||
{ "SF4_Op", SND_EVENT_SF4_Op, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "SF4_End", SND_EVENT_SF4_End, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{"JMAPAllMove", SND_EVENT_JMAPAllMove, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_D200[] = {
|
||||
{"ELizarufos_c_opening", SND_EVENT_ELizarufos_c_opening, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "D200R04Rock", SND_EVENT_D200R04Rock, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "RollRockLspJump", SND_EVENT_RollRockLspJump, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "JMAP", SND_EVENT_JMAP, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_D201[] = {
|
||||
{ "MoleInitFear", SND_EVENT_MoleInitFear, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"MolePushSwitch", SND_EVENT_MolePushSwitch, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "MoleInitTalk", SND_EVENT_MoleInitTalk, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "CatchMole", SND_EVENT_CatchMole, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "D201IronFence", SND_EVENT_D201IronFence, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "MogMolShut", SND_EVENT_MogMolShut, nullptr, nullptr, todoFinalizeSndEvent},
|
||||
{ "MogMolOpen", SND_EVENT_MogMolOpen, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
{ "LavaPlate", SND_EVENT_LavaPlate, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{ "ResqueMole", SND_EVENT_ResqueMole, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_B301[] = {
|
||||
{ "BKR_start", SND_EVENT_BKR_start, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{ "BKR_end", SND_EVENT_BKR_end, todoInititalizeSndEvent, todoExecuteSndEvent, todoFinalizeSndEvent},
|
||||
{"BKR_armCaught", SND_EVENT_BKR_armCaught, nullptr, nullptr, nullptr},
|
||||
};
|
||||
|
||||
static const SndEventDef sSndEventDefs_D003_1[] = {
|
||||
{"NeedleUnderground", SND_EVENT_NeedleUnderground, todoInititalizeSndEvent, nullptr, todoFinalizeSndEvent},
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
#pragma pop
|
||||
|
||||
bool dSndStateMgr_c::handleStageEvent(const char *name) {
|
||||
if (field_0x08C != SND_EVENT_0x87) {
|
||||
const SndEventDef *def = nullptr;
|
||||
s32 defCount = 0;
|
||||
|
||||
switch (field_0x044) {
|
||||
case SND_STAGE_F000:
|
||||
def = sSndEventDefs_F000;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F000);
|
||||
break;
|
||||
case SND_STAGE_F001r:
|
||||
def = sSndEventDefs_F001r;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F001r);
|
||||
break;
|
||||
case SND_STAGE_F020:
|
||||
def = sSndEventDefs_F020;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F020);
|
||||
break;
|
||||
case SND_STAGE_F023:
|
||||
def = sSndEventDefs_F023;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F023);
|
||||
break;
|
||||
case SND_STAGE_F100:
|
||||
def = sSndEventDefs_F100;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F100);
|
||||
break;
|
||||
case SND_STAGE_F401:
|
||||
def = sSndEventDefs_F401;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_F401);
|
||||
break;
|
||||
case SND_STAGE_D101:
|
||||
def = sSndEventDefs_D101;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_D101);
|
||||
break;
|
||||
case SND_STAGE_D200:
|
||||
def = sSndEventDefs_D200;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_D200);
|
||||
break;
|
||||
case SND_STAGE_D201:
|
||||
def = sSndEventDefs_D201;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_D201);
|
||||
break;
|
||||
case SND_STAGE_B301:
|
||||
def = sSndEventDefs_B301;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_B301);
|
||||
break;
|
||||
case SND_STAGE_D003_1:
|
||||
def = sSndEventDefs_D003_1;
|
||||
defCount = ARRAY_LENGTH(sSndEventDefs_D003_1);
|
||||
break;
|
||||
}
|
||||
|
||||
if (def != nullptr && defCount > 0) {
|
||||
for (s32 i = 0; i < defCount; def++, i++) {
|
||||
if (streq(name, def->eventName)) {
|
||||
field_0x08C = def->eventId;
|
||||
field_0x234 = def;
|
||||
sEventExecuteCallback = def->executeCb;
|
||||
if (def->initializeCb != nullptr) {
|
||||
(def->initializeCb)();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndStateMgr_c::handleGlobalEvent(const char *name) {
|
||||
if (field_0x08C != SND_EVENT_0x87) {
|
||||
for (const SndEventDef *def = sSndEventDefs_GLOBAL;
|
||||
def < sSndEventDefs_GLOBAL + ARRAY_LENGTH(sSndEventDefs_GLOBAL); def++) {
|
||||
if (streq(name, def->eventName)) {
|
||||
field_0x08C = def->eventId;
|
||||
field_0x234 = def;
|
||||
sEventExecuteCallback = def->executeCb;
|
||||
if (def->initializeCb != nullptr) {
|
||||
(def->initializeCb)();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_event.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
|
||||
void todoInititalizeSndEvent();
|
||||
void todoExecuteSndEvent();
|
||||
void todoFinalizeSndEvent();
|
||||
|
||||
// clang-format off
|
||||
|
||||
static const SndEventDef sSndEventDefs_DEMO[] = {
|
||||
{"Demo03_03", SND_EVENT_Demo03_03, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo08_01", SND_EVENT_Demo08_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo15_04", SND_EVENT_Demo15_04, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo36_01", SND_EVENT_Demo36_01, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{"Demo41_01", SND_EVENT_Demo41_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo59_01", SND_EVENT_Demo59_01, nullptr, todoExecuteSndEvent, nullptr},
|
||||
{"Demo62_01", SND_EVENT_Demo62_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo64_06", SND_EVENT_Demo64_06, todoInititalizeSndEvent, nullptr, nullptr},
|
||||
{"Demo70_01", SND_EVENT_Demo70_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo70_02", SND_EVENT_Demo70_02, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo72_01", SND_EVENT_Demo72_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo77_01", SND_EVENT_Demo77_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
{"Demo79_01", SND_EVENT_Demo79_01, todoInititalizeSndEvent, todoExecuteSndEvent, nullptr},
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
|
||||
void dSndStateMgr_c::handleDemoEvent(const char *name) {
|
||||
for (const SndEventDef *def = sSndEventDefs_DEMO; def < sSndEventDefs_DEMO + ARRAY_LENGTH(sSndEventDefs_DEMO);
|
||||
def++) {
|
||||
if (streq(name, def->eventName)) {
|
||||
field_0x08C = def->eventId;
|
||||
field_0x234 = def;
|
||||
sEventExecuteCallback = def->executeCb;
|
||||
if (def->initializeCb != nullptr) {
|
||||
(def->initializeCb)();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (field_0x08C == SND_EVENT_0x98) {
|
||||
field_0x08C = SND_EVENT_0x78;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -39,7 +39,7 @@ void dSndSourceGroup_c::set(s32 sourceType, const char *name) {
|
||||
|
||||
if (!assignedParam) {
|
||||
switch (sourceType) {
|
||||
case SND_SOURCE_NPC_NRM: {
|
||||
case SND_SOURCE_NPC_51: {
|
||||
mParam.field_0x00 = 300.0f;
|
||||
mParam.field_0x04 = 800.0;
|
||||
mParam.field_0x10 = 2200.0;
|
||||
|
||||
@@ -198,7 +198,7 @@ dSoundSourceIf_c *dSndSourceMgr_c::createSource(s32 sourceType, dAcBase_c *actor
|
||||
isModified = true;
|
||||
}
|
||||
|
||||
if (sourceType == SND_SOURCE_NPC_NRM) {
|
||||
if (sourceType == SND_SOURCE_NPC_51) {
|
||||
const ActorBaseNamePair *pair = Actor_BaseActorName_Pairs;
|
||||
for (int i = 0; i < lbl_8057E394; i++) {
|
||||
if (streq(nameStr, Actor_BaseActorName_Pairs[i].variant)) {
|
||||
@@ -387,15 +387,15 @@ dSndSourceMgr_c::dSndSourceMgr_c()
|
||||
}
|
||||
|
||||
void dSndSourceMgr_c::calcEnemyObjVolume() {
|
||||
if (dSndStateMgr_c::GetInstance()->checkFlag0x94(0x100)) {
|
||||
if (dSndStateMgr_c::GetInstance()->checkFlag0x94(dSndStateMgr_c::EVENT_MUTE_ENEMY_FULL)) {
|
||||
dSndControlPlayerMgr_c::GetInstance()->setEnemyMuteVolume(0.0f);
|
||||
} else if (dSndStateMgr_c::GetInstance()->checkFlag0x94(0x80)) {
|
||||
} else if (dSndStateMgr_c::GetInstance()->checkFlag0x94(dSndStateMgr_c::EVENT_MUTE_ENEMY_PARTIAL)) {
|
||||
dSndControlPlayerMgr_c::GetInstance()->setEnemyMuteVolume(0.3f);
|
||||
}
|
||||
|
||||
if (dSndStateMgr_c::GetInstance()->checkFlag0x94(0x400)) {
|
||||
if (dSndStateMgr_c::GetInstance()->checkFlag0x94(dSndStateMgr_c::EVENT_MUTE_OBJ_FULL)) {
|
||||
dSndControlPlayerMgr_c::GetInstance()->setObjectMuteVolume(0.0f);
|
||||
} else if (dSndStateMgr_c::GetInstance()->checkFlag0x94(0x200)) {
|
||||
} else if (dSndStateMgr_c::GetInstance()->checkFlag0x94(dSndStateMgr_c::EVENT_MUTE_OBJ_PARTIAL)) {
|
||||
dSndControlPlayerMgr_c::GetInstance()->setObjectMuteVolume(0.3f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ dSndStateMgr_c::dSndStateMgr_c()
|
||||
field_0x128(-1),
|
||||
field_0x22C(0),
|
||||
field_0x230(0),
|
||||
field_0x234(0),
|
||||
field_0x234(nullptr),
|
||||
field_0x238(-1),
|
||||
field_0x23C(0),
|
||||
field_0x23D(0),
|
||||
|
||||
@@ -425,106 +425,106 @@ static const ActorInfo sInfos[] = {
|
||||
{ "MvElc", fProfile::OBJ_MOVE_ELEC, fProfile::OBJ_MOVE_ELEC, 0xFFFF, SND_SOURCE_OBJECT, 0},
|
||||
{"MvLiftV", fProfile::OBJ_MOVE_LIFT_VOL, fProfile::OBJ_MOVE_LIFT_VOL, 0xFFFF, SND_SOURCE_OBJECT, 0},
|
||||
{ "NpcAdr", fProfile::NPC_ADR, fProfile::NPC_ADR, 310, SND_SOURCE_NPC_DRAGON, 0},
|
||||
{"NpcAkuH", fProfile::NPC_AKU_HUMAN, fProfile::NPC_AKU_HUMAN, 346, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcAkum", fProfile::NPC_AKUMAKUN, fProfile::NPC_AKUMAKUN, 279, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcAzFa", fProfile::NPC_AZUKARIYA_FATHER, fProfile::NPC_AZUKARIYA_FATHER, 298, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcAzNi", fProfile::NPC_AZUKARIYA_NIGHT, fProfile::NPC_AZUKARIYA_NIGHT, 464, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcBRvl", fProfile::NPC_BBRVL, fProfile::NPC_BBRVL, 261, 50, 0},
|
||||
{"NpcBdsw", fProfile::NPC_BDSW, fProfile::NPC_BDSW, 0xFFFF, 50, 0},
|
||||
{"NpcAkuH", fProfile::NPC_AKU_HUMAN, fProfile::NPC_AKU_HUMAN, 346, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcAkum", fProfile::NPC_AKUMAKUN, fProfile::NPC_AKUMAKUN, 279, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcAzFa", fProfile::NPC_AZUKARIYA_FATHER, fProfile::NPC_AZUKARIYA_FATHER, 298, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcAzNi", fProfile::NPC_AZUKARIYA_NIGHT, fProfile::NPC_AZUKARIYA_NIGHT, 464, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcBRvl", fProfile::NPC_BBRVL, fProfile::NPC_BBRVL, 261, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcBdsw", fProfile::NPC_BDSW, fProfile::NPC_BDSW, 0xFFFF, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcBdz", fProfile::NPC_BDZ, fProfile::NPC_BDZ, 0xFFFF, 43, 0},
|
||||
{ "NpcBgr", fProfile::NPC_BGR, fProfile::NPC_BGR, 298, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcBgr", fProfile::NPC_BGR, fProfile::NPC_BGR, 298, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcBird", fProfile::NPC_BIRD, fProfile::NPC_BIRD, 0xFFFF, 43, 0},
|
||||
{"NpcCbFd", fProfile::NPC_CE_FRIEND, fProfile::NPC_CE_FRIEND, 278, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcCbLd", fProfile::NPC_CE_LADY, fProfile::NPC_CE_LADY, 285, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcChef", fProfile::NPC_CHEF, fProfile::NPC_CHEF, 299, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcDgJg", fProfile::NPC_DIVE_GAME_JUDGE, fProfile::NPC_DIVE_GAME_JUDGE, 272, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcDoML", fProfile::NPC_DOUGUYA_MOTHER_LOD, fProfile::NPC_DOUGUYA_MOTHER_LOD, 294, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcDoMo", fProfile::NPC_DOUGUYA_MOTHER, fProfile::NPC_DOUGUYA_MOTHER, 294, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcDoNi", fProfile::NPC_DOUGUYA_NIGHT, fProfile::NPC_DOUGUYA_NIGHT, 462, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcCbFd", fProfile::NPC_CE_FRIEND, fProfile::NPC_CE_FRIEND, 278, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcCbLd", fProfile::NPC_CE_LADY, fProfile::NPC_CE_LADY, 285, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcChef", fProfile::NPC_CHEF, fProfile::NPC_CHEF, 299, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcDgJg", fProfile::NPC_DIVE_GAME_JUDGE, fProfile::NPC_DIVE_GAME_JUDGE, 272, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcDoML", fProfile::NPC_DOUGUYA_MOTHER_LOD, fProfile::NPC_DOUGUYA_MOTHER_LOD, 294, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcDoMo", fProfile::NPC_DOUGUYA_MOTHER, fProfile::NPC_DOUGUYA_MOTHER, 294, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcDoNi", fProfile::NPC_DOUGUYA_NIGHT, fProfile::NPC_DOUGUYA_NIGHT, 462, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcDrb", fProfile::NPC_DRB, fProfile::NPC_DRB, 319, 43, 0},
|
||||
{"NpcDrbC", fProfile::NPC_DRBC, fProfile::NPC_DRBC, 320, 43, 0},
|
||||
{ "NpcDsk", fProfile::NPC_DSK, fProfile::NPC_DSK, 258, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcDskN", fProfile::NPC_DAISHINKAN_N, fProfile::NPC_DAISHINKAN_N, 340, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcDsk", fProfile::NPC_DSK, fProfile::NPC_DSK, 258, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcDskN", fProfile::NPC_DAISHINKAN_N, fProfile::NPC_DAISHINKAN_N, 340, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcFdr", fProfile::NPC_FDR, fProfile::NPC_FDR, 318, SND_SOURCE_NPC_DRAGON, 0},
|
||||
{ "NpcGhm", fProfile::NPC_GHM, fProfile::NPC_GHM, 323, 50, 0},
|
||||
{"NpcGost", fProfile::NPC_TOILET_GHOST, fProfile::NPC_TOILET_GHOST, 300, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcGra", fProfile::NPC_GRA, fProfile::NPC_GRA, 302, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcGrc", fProfile::NPC_GRC, fProfile::NPC_GRC, 330, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcGrd", fProfile::NPC_GRD, fProfile::NPC_GRD, 331, 50, 0},
|
||||
{ "NpcGzl", fProfile::NPC_GZL, fProfile::NPC_GZL, 257, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcIcgK", fProfile::NPC_ICGK, fProfile::NPC_ICGK, 460, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcGhm", fProfile::NPC_GHM, fProfile::NPC_GHM, 323, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcGost", fProfile::NPC_TOILET_GHOST, fProfile::NPC_TOILET_GHOST, 300, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcGra", fProfile::NPC_GRA, fProfile::NPC_GRA, 302, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcGrc", fProfile::NPC_GRC, fProfile::NPC_GRC, 330, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcGrd", fProfile::NPC_GRD, fProfile::NPC_GRD, 331, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcGzl", fProfile::NPC_GZL, fProfile::NPC_GZL, 257, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcIcgK", fProfile::NPC_ICGK, fProfile::NPC_ICGK, 460, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcInv", fProfile::NPC_INV, fProfile::NPC_INV, 0xFFFF, 0xFF, 0},
|
||||
{"NpcJkML", fProfile::NPC_JUNK_MOTHER_LOD, fProfile::NPC_JUNK_MOTHER_LOD, 295, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcJkMo", fProfile::NPC_JUNK_MOTHER, fProfile::NPC_JUNK_MOTHER, 295, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcJkNi", fProfile::NPC_JUNK_NIGHT, fProfile::NPC_JUNK_NIGHT, 463, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcKb2N", fProfile::NPC_KOBUN_B_NIGHT, fProfile::NPC_KOBUN_B_NIGHT, 459, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcKbn", fProfile::NPC_KBN, fProfile::NPC_KBN, 262, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcKbn2", fProfile::NPC_KBN2, fProfile::NPC_KBN2, 263, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcJkML", fProfile::NPC_JUNK_MOTHER_LOD, fProfile::NPC_JUNK_MOTHER_LOD, 295, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcJkMo", fProfile::NPC_JUNK_MOTHER, fProfile::NPC_JUNK_MOTHER, 295, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcJkNi", fProfile::NPC_JUNK_NIGHT, fProfile::NPC_JUNK_NIGHT, 463, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcKb2N", fProfile::NPC_KOBUN_B_NIGHT, fProfile::NPC_KOBUN_B_NIGHT, 459, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcKbn", fProfile::NPC_KBN, fProfile::NPC_KBN, 262, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcKbn2", fProfile::NPC_KBN2, fProfile::NPC_KBN2, 263, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcKen", fProfile::NPC_KENSEI, fProfile::NPC_KENSEI, 0xFFFF, SND_SOURCE_KENSEI, 0},
|
||||
{"NpcKenT", fProfile::NPC_TALK_KENSEI, fProfile::NPC_TALK_KENSEI, 0xFFFF, SND_SOURCE_KENSEI, 0},
|
||||
{"NpcKnld", fProfile::NPC_KNIGHT_LEADER, fProfile::NPC_KNIGHT_LEADER, 271, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcKyuE", fProfile::NPC_KYUI_ELDER, fProfile::NPC_KYUI_ELDER, 307, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcKyuW", fProfile::NPC_KYUI_WIZARD, fProfile::NPC_KYUI_WIZARD, 308, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcMHNi", fProfile::NPC_MED_HUS_NIGHT, fProfile::NPC_MED_HUS_NIGHT, 466, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcMWNi", fProfile::NPC_MED_WIFE_NIGHT, fProfile::NPC_MED_WIFE_NIGHT, 465, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcMlMg", fProfile::NPC_MOLE_MG, fProfile::NPC_MOLE_MG, 313, 50, 0},
|
||||
{"NpcMoEN", fProfile::NPC_MOLE_ES_NML, fProfile::NPC_MOLE_ES_NML, 345, 50, 0},
|
||||
{"NpcMoEl", fProfile::NPC_MOLE_ELDER, fProfile::NPC_MOLE_ELDER, 317, 50, 0},
|
||||
{ "NpcMoN", fProfile::NPC_MOLE_NORMAL, fProfile::NPC_MOLE_NORMAL, 312, 50, 0},
|
||||
{"NpcMoN2", fProfile::NPC_MOLE_NORMAL2, fProfile::NPC_MOLE_NORMAL2, 312, 50, 0},
|
||||
{ "NpcMoS", fProfile::NPC_MOLE_SAL, fProfile::NPC_MOLE_SAL, 474, 50, 0},
|
||||
{ "NpcMoT", fProfile::NPC_MOLE_TACKLE, fProfile::NPC_MOLE_TACKLE, 315, 50, 0},
|
||||
{"NpcMoT2", fProfile::NPC_MOLE_TACKLE2, fProfile::NPC_MOLE_TACKLE2, 316, 50, 0},
|
||||
{"NpcMole", fProfile::NPC_MOLE, fProfile::NPC_MOLE, 345, 50, 0},
|
||||
{ "NpcOim", fProfile::NPC_OIM, fProfile::NPC_OIM, 301, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcOkyu", fProfile::NPC_ORD_KYUI, fProfile::NPC_ORD_KYUI, 304, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcPcs", fProfile::NPC_PCS, fProfile::NPC_PCS, 469, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcPdu", fProfile::NPC_PDU, fProfile::NPC_PDU, 274, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcPma", fProfile::NPC_PMA, fProfile::NPC_PMA, 273, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcResc", fProfile::NPC_RESCUE, fProfile::NPC_RESCUE, 291, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcRvl", fProfile::NPC_RVL, fProfile::NPC_RVL, 261, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcRvlL", fProfile::NPC_RIVAL_LOD, fProfile::NPC_RIVAL_LOD, 261, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcRvlR", fProfile::NPC_REGRET_RIVAL, fProfile::NPC_REGRET_RIVAL, 261, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSAML", fProfile::NPC_SENPAIA_MOTHER_LOD, fProfile::NPC_SENPAIA_MOTHER_LOD, 296, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSAMo", fProfile::NPC_SENPAIA_MOTHER, fProfile::NPC_SENPAIA_MOTHER, 296, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSMnD", fProfile::NPC_SORAJIMA_MAN_D, fProfile::NPC_SORAJIMA_MAN_D, 297, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSMnE", fProfile::NPC_SORAJIMA_MAN_E, fProfile::NPC_SORAJIMA_MAN_E, 336, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSalS", fProfile::NPC_SALESMAN_S, fProfile::NPC_SALESMAN_S, 265, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSenb", fProfile::NPC_SENPAI_B, fProfile::NPC_SENPAI_B, 277, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSenp", fProfile::NPC_SENPAI, fProfile::NPC_SENPAI, 276, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcSha", fProfile::NPC_SHA, fProfile::NPC_SHA, 275, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcSkn", fProfile::NPC_SKN, fProfile::NPC_SKN, 259, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSkn2", fProfile::NPC_SKN2, fProfile::NPC_SKN2, 260, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcKnld", fProfile::NPC_KNIGHT_LEADER, fProfile::NPC_KNIGHT_LEADER, 271, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcKyuE", fProfile::NPC_KYUI_ELDER, fProfile::NPC_KYUI_ELDER, 307, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcKyuW", fProfile::NPC_KYUI_WIZARD, fProfile::NPC_KYUI_WIZARD, 308, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcMHNi", fProfile::NPC_MED_HUS_NIGHT, fProfile::NPC_MED_HUS_NIGHT, 466, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcMWNi", fProfile::NPC_MED_WIFE_NIGHT, fProfile::NPC_MED_WIFE_NIGHT, 465, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcMlMg", fProfile::NPC_MOLE_MG, fProfile::NPC_MOLE_MG, 313, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcMoEN", fProfile::NPC_MOLE_ES_NML, fProfile::NPC_MOLE_ES_NML, 345, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcMoEl", fProfile::NPC_MOLE_ELDER, fProfile::NPC_MOLE_ELDER, 317, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcMoN", fProfile::NPC_MOLE_NORMAL, fProfile::NPC_MOLE_NORMAL, 312, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcMoN2", fProfile::NPC_MOLE_NORMAL2, fProfile::NPC_MOLE_NORMAL2, 312, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcMoS", fProfile::NPC_MOLE_SAL, fProfile::NPC_MOLE_SAL, 474, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcMoT", fProfile::NPC_MOLE_TACKLE, fProfile::NPC_MOLE_TACKLE, 315, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcMoT2", fProfile::NPC_MOLE_TACKLE2, fProfile::NPC_MOLE_TACKLE2, 316, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcMole", fProfile::NPC_MOLE, fProfile::NPC_MOLE, 345, SND_SOURCE_NPC_50, 0},
|
||||
{ "NpcOim", fProfile::NPC_OIM, fProfile::NPC_OIM, 301, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcOkyu", fProfile::NPC_ORD_KYUI, fProfile::NPC_ORD_KYUI, 304, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcPcs", fProfile::NPC_PCS, fProfile::NPC_PCS, 469, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcPdu", fProfile::NPC_PDU, fProfile::NPC_PDU, 274, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcPma", fProfile::NPC_PMA, fProfile::NPC_PMA, 273, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcResc", fProfile::NPC_RESCUE, fProfile::NPC_RESCUE, 291, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcRvl", fProfile::NPC_RVL, fProfile::NPC_RVL, 261, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcRvlL", fProfile::NPC_RIVAL_LOD, fProfile::NPC_RIVAL_LOD, 261, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcRvlR", fProfile::NPC_REGRET_RIVAL, fProfile::NPC_REGRET_RIVAL, 261, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSAML", fProfile::NPC_SENPAIA_MOTHER_LOD, fProfile::NPC_SENPAIA_MOTHER_LOD, 296, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSAMo", fProfile::NPC_SENPAIA_MOTHER, fProfile::NPC_SENPAIA_MOTHER, 296, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSMnD", fProfile::NPC_SORAJIMA_MAN_D, fProfile::NPC_SORAJIMA_MAN_D, 297, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSMnE", fProfile::NPC_SORAJIMA_MAN_E, fProfile::NPC_SORAJIMA_MAN_E, 336, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSalS", fProfile::NPC_SALESMAN_S, fProfile::NPC_SALESMAN_S, 265, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSenb", fProfile::NPC_SENPAI_B, fProfile::NPC_SENPAI_B, 277, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSenp", fProfile::NPC_SENPAI, fProfile::NPC_SENPAI, 276, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcSha", fProfile::NPC_SHA, fProfile::NPC_SHA, 275, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcSkn", fProfile::NPC_SKN, fProfile::NPC_SKN, 259, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSkn2", fProfile::NPC_SKN2, fProfile::NPC_SKN2, 260, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSlFB", fProfile::NPC_SLFB, fProfile::NPC_SLFB, 0xFFFF, 43, 0},
|
||||
{"NpcSlFl", fProfile::NPC_SLFL, fProfile::NPC_SLFL, 0xFFFF, 43, 0},
|
||||
{"NpcSlKy", fProfile::NPC_SALBAGE_MORRY, fProfile::NPC_SALBAGE_MORRY, 304, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSlKy", fProfile::NPC_SALBAGE_MORRY, fProfile::NPC_SALBAGE_MORRY, 304, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSlRp", fProfile::NPC_SLRP, fProfile::NPC_SLRP, 477, 43, 0},
|
||||
{"NpcSlb2", fProfile::NPC_SLB2, fProfile::NPC_SLB2, 354, 43, 0},
|
||||
{"NpcSlrb", fProfile::NPC_SLB, fProfile::NPC_SLB, 0xFFFF, 43, 0},
|
||||
{"NpcSltk", fProfile::NPC_SLTK, fProfile::NPC_SLTK, 0xFFFF, 0xFF, 0},
|
||||
{"NpcSma2", fProfile::NPC_SMA2, fProfile::NPC_SMA2, 286, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSma3", fProfile::NPC_SMA3, fProfile::NPC_SMA3, 287, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSoBo", fProfile::NPC_SORAJIMA_BOY, fProfile::NPC_SORAJIMA_BOY, 284, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSoFa", fProfile::NPC_SORAJIMA_FATHER, fProfile::NPC_SORAJIMA_FATHER, 282, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcSoG", fProfile::NPC_SORAJIMA_GIRL, fProfile::NPC_SORAJIMA_GIRL, 288, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSoMo", fProfile::NPC_SORAJIMA_MOTHER, fProfile::NPC_SORAJIMA_MOTHER, 283, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSoma", fProfile::NPC_SORAJIMA_MALE, fProfile::NPC_SORAJIMA_MALE, 281, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSowo", fProfile::NPC_SORAJIMA_FEMALE, fProfile::NPC_SORAJIMA_FEMALE, 280, SND_SOURCE_NPC_NRM, 0},
|
||||
{"NpcSma2", fProfile::NPC_SMA2, fProfile::NPC_SMA2, 286, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSma3", fProfile::NPC_SMA3, fProfile::NPC_SMA3, 287, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSoBo", fProfile::NPC_SORAJIMA_BOY, fProfile::NPC_SORAJIMA_BOY, 284, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSoFa", fProfile::NPC_SORAJIMA_FATHER, fProfile::NPC_SORAJIMA_FATHER, 282, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcSoG", fProfile::NPC_SORAJIMA_GIRL, fProfile::NPC_SORAJIMA_GIRL, 288, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSoMo", fProfile::NPC_SORAJIMA_MOTHER, fProfile::NPC_SORAJIMA_MOTHER, 283, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSoma", fProfile::NPC_SORAJIMA_MALE, fProfile::NPC_SORAJIMA_MALE, 281, SND_SOURCE_NPC_51, 0},
|
||||
{"NpcSowo", fProfile::NPC_SORAJIMA_FEMALE, fProfile::NPC_SORAJIMA_FEMALE, 280, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcStr", fProfile::NPC_STR, fProfile::NPC_STR, 0xFFFF, 0xFF, 0},
|
||||
{ "NpcSui", fProfile::NPC_SUISEI, fProfile::NPC_SUISEI, 344, 43, 0},
|
||||
{"NpcSuiN", fProfile::NPC_SUISEI_NORMAL, fProfile::NPC_SUISEI_NORMAL, 309, 50, 0},
|
||||
{"NpcSuiN", fProfile::NPC_SUISEI_NORMAL, fProfile::NPC_SUISEI_NORMAL, 309, SND_SOURCE_NPC_50, 0},
|
||||
{"NpcSuiS", fProfile::NPC_SUISEI_SUB, fProfile::NPC_SUISEI_SUB, 309, 43, 0},
|
||||
{ "NpcTdr", fProfile::NPC_TDR, fProfile::NPC_TDR, 322, SND_SOURCE_NPC_DRAGON, 0},
|
||||
{"NpcTdrB", fProfile::NPC_TDRB, fProfile::NPC_TDRB, 322, SND_SOURCE_OBJECT, 0},
|
||||
{ "NpcTds", fProfile::NPC_TDS, fProfile::NPC_TDS, 478, 0xFF, 0},
|
||||
{ "NpcTer", fProfile::NPC_TERRY, fProfile::NPC_TERRY, 264, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcTer", fProfile::NPC_TERRY, fProfile::NPC_TERRY, 264, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcTke", fProfile::NPC_TKE, fProfile::NPC_TKE, 0xFFFF, 0xFF, 0},
|
||||
{ "NpcTmn", fProfile::NPC_TMN, fProfile::NPC_TMN, 0xFFFF, 0xFF, 0},
|
||||
{ "NpcYim", fProfile::NPC_YIM, fProfile::NPC_YIM, 311, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcZld", fProfile::NPC_ZLD, fProfile::NPC_ZLD, 256, SND_SOURCE_NPC_NRM, 0},
|
||||
{"Npckyu1", fProfile::NPC_KYUI_FIRST, fProfile::NPC_KYUI_FIRST, 303, SND_SOURCE_NPC_NRM, 0},
|
||||
{"Npckyu3", fProfile::NPC_KYUI_THIRD, fProfile::NPC_KYUI_THIRD, 305, SND_SOURCE_NPC_NRM, 0},
|
||||
{"Npckyu4", fProfile::NPC_KYUI4, fProfile::NPC_KYUI4, 306, SND_SOURCE_NPC_NRM, 0},
|
||||
{ "NpcYim", fProfile::NPC_YIM, fProfile::NPC_YIM, 311, SND_SOURCE_NPC_51, 0},
|
||||
{ "NpcZld", fProfile::NPC_ZLD, fProfile::NPC_ZLD, 256, SND_SOURCE_NPC_51, 0},
|
||||
{"Npckyu1", fProfile::NPC_KYUI_FIRST, fProfile::NPC_KYUI_FIRST, 303, SND_SOURCE_NPC_51, 0},
|
||||
{"Npckyu3", fProfile::NPC_KYUI_THIRD, fProfile::NPC_KYUI_THIRD, 305, SND_SOURCE_NPC_51, 0},
|
||||
{"Npckyu4", fProfile::NPC_KYUI4, fProfile::NPC_KYUI4, 306, SND_SOURCE_NPC_51, 0},
|
||||
{ "NusiB", fProfile::B_NUSI, fProfile::B_NUSI, 0xFFFF, SND_SOURCE_BOSS_NUSI, 0},
|
||||
{ "NusiBt", fProfile::B_NUSI_BULLET, fProfile::B_NUSI_BULLET, 0xFFFF, SND_SOURCE_BULLET, 0},
|
||||
{"NusiNpc", fProfile::NUSI_NPC, fProfile::NUSI_NPC, 0xFFFF, SND_SOURCE_NPC_NUSI, 0},
|
||||
|
||||
Reference in New Issue
Block a user