mirror of
https://github.com/zeldaret/ss
synced 2026-05-23 15:01:38 -04:00
More d/snd
This commit is contained in:
@@ -2617,9 +2617,17 @@ d/snd/d_snd_3d_manager.cpp:
|
||||
.sbss start:0x80575D58 end:0x80575D60
|
||||
.sdata2 start:0x8057D3B8 end:0x8057D3F8
|
||||
|
||||
d/snd/d_snd_stage_mgr.cpp:
|
||||
d/snd/d_snd_state_mgr.cpp:
|
||||
.text start:0x80361460 end:0x8036642C align:16
|
||||
.ctors start:0x804DB918 end:0x804DB91C
|
||||
.data start:0x805487E0 end:0x80548A28
|
||||
.sdata start:0x80574098 end:0x80574198
|
||||
.sbss start:0x80575D60 end:0x80575D78
|
||||
.sdata2 start:0x8057D3F8 end:0x8057D450
|
||||
|
||||
d/snd/d_snd_stage_data.cpp:
|
||||
.rodata start:0x804F0D80 end:0x804F2308
|
||||
.sdata2 start:0x8057D478 end:0x8057D7C0
|
||||
|
||||
d/snd/d_snd_unk_component_2.cpp:
|
||||
.text start:0x80366430 end:0x8036A3A4 align:16
|
||||
@@ -2654,7 +2662,7 @@ d/snd/d_snd_bgm_sound_callbacks.cpp:
|
||||
.text start:0x803739D0 end:0x80378ECC align:16
|
||||
.sdata2 start:0x8057D970 end:0x8057DA50
|
||||
|
||||
d/snd/d_snd_bgm_sound_boss_callbacks.cpp:
|
||||
d/snd/d_snd_bgm_sound_battle_callbacks.cpp:
|
||||
.text start:0x80378ED0 end:0x80379D20 align:16
|
||||
.sdata2 start:0x8057DA50 end:0x8057DA58
|
||||
|
||||
|
||||
+240
-240
@@ -19982,7 +19982,7 @@ loadDemoArchive__15dSndPlayerMgr_cFPCc = .text:0x8035EDF0; // type:function size
|
||||
shutdown__15dSndPlayerMgr_cFv = .text:0x8035EF90; // type:function size:0x38
|
||||
calc__15dSndPlayerMgr_cFv = .text:0x8035EFD0; // type:function size:0x40
|
||||
fn_8035F010 = .text:0x8035F010; // type:function size:0x20
|
||||
fn_8035F030 = .text:0x8035F030; // type:function size:0x1C
|
||||
isBgmPlayerId__15dSndPlayerMgr_cFUl = .text:0x8035F030; // type:function size:0x1C
|
||||
fn_8035F050 = .text:0x8035F050; // type:function size:0x50
|
||||
__dt__40SndMgrDisposer<22dSndControlPlayerMgr_c>Fv = .text:0x8035F0A0; // type:function size:0x78
|
||||
create__40SndMgrDisposer<22dSndControlPlayerMgr_c>Fv = .text:0x8035F120; // type:function size:0x48
|
||||
@@ -20046,16 +20046,16 @@ calc__15dSnd3DManager_cFv = .text:0x80360FB0; // type:function size:0xC
|
||||
clearState__15dSnd3DManager_cFv = .text:0x80360FC0; // type:function size:0x18
|
||||
updateFromCamera__15dSnd3DManager_cFRQ23EGG12LookAtCamera = .text:0x80360FE0; // type:function size:0x390
|
||||
updateListenerPos__15dSnd3DManager_cFf = .text:0x80361370; // type:function size:0xEC
|
||||
EnemySoundMgr__dtor = .text:0x80361460; // type:function size:0x78
|
||||
initEnemySoundMgr = .text:0x803614E0; // type:function size:0x48
|
||||
EnemySoundMgr__deref = .text:0x80361530; // type:function size:0x10
|
||||
EnemySoundMgr__ctor = .text:0x80361540; // type:function size:0x15C
|
||||
__dt__32SndMgrDisposer<14dSndStateMgr_c>Fv = .text:0x80361460; // type:function size:0x78
|
||||
create__32SndMgrDisposer<14dSndStateMgr_c>Fv = .text:0x803614E0; // type:function size:0x48
|
||||
remove__32SndMgrDisposer<14dSndStateMgr_c>Fv = .text:0x80361530; // type:function size:0x10
|
||||
__ct__14dSndStateMgr_cFv = .text:0x80361540; // type:function size:0x15C
|
||||
__dt__Q34nw4r3snd15FxReverbStdDpl2Fv = .text:0x803616A0; // type:function size:0x7C
|
||||
fn_80361720 = .text:0x80361720; // type:function size:0x1CC
|
||||
fn_803618F0 = .text:0x803618F0; // type:function size:0x3DC
|
||||
GetStageTypeFlags = .text:0x80361CD0; // type:function size:0x2FC
|
||||
fn_80361FD0 = .text:0x80361FD0; // type:function size:0x44
|
||||
fn_80362020 = .text:0x80362020; // type:function size:0x84
|
||||
setup__14dSndStateMgr_cFPQ23EGG4Heap = .text:0x80361720; // type:function size:0x1CC
|
||||
onStageOrLayerUpdate__14dSndStateMgr_cFv = .text:0x803618F0; // type:function size:0x3DC
|
||||
getStageTypeFlags__14dSndStateMgr_cCFPCc = .text:0x80361CD0; // type:function size:0x2FC
|
||||
isVolcanicDungeon__14dSndStateMgr_cFUl = .text:0x80361FD0; // type:function size:0x44
|
||||
isSeekerStoneStage__14dSndStateMgr_cFPCcl = .text:0x80362020; // type:function size:0x84
|
||||
fn_803620B0 = .text:0x803620B0; // type:function size:0x5C
|
||||
fn_80362110 = .text:0x80362110; // type:function size:0x34
|
||||
fn_80362150 = .text:0x80362150; // type:function size:0xB0
|
||||
@@ -20065,7 +20065,7 @@ fn_80362390 = .text:0x80362390; // type:function size:0x6C
|
||||
fn_80362400 = .text:0x80362400; // type:function size:0x10
|
||||
fn_80362410 = .text:0x80362410; // type:function size:0xC
|
||||
fn_80362420 = .text:0x80362420; // type:function size:0x18
|
||||
isInStage = .text:0x80362440; // type:function size:0x34
|
||||
isInStage__FPCc = .text:0x80362440; // type:function size:0x34
|
||||
fn_80362480 = .text:0x80362480; // type:function size:0x6C
|
||||
fn_803624F0 = .text:0x803624F0; // type:function size:0xF4
|
||||
fn_803625F0 = .text:0x803625F0; // type:function size:0x140
|
||||
@@ -20117,7 +20117,7 @@ fn_80364DE0 = .text:0x80364DE0; // type:function size:0x7C
|
||||
fn_80364E60 = .text:0x80364E60; // type:function size:0x54
|
||||
fn_80364EC0 = .text:0x80364EC0; // type:function size:0x90
|
||||
fn_80364F50 = .text:0x80364F50; // type:function size:0x7C
|
||||
fn_80364FD0 = .text:0x80364FD0; // type:function size:0x50
|
||||
setFlowEvent__14dSndStateMgr_cFUl = .text:0x80364FD0; // type:function size:0x50
|
||||
fn_80365020 = .text:0x80365020; // type:function size:0x84
|
||||
fn_803650B0 = .text:0x803650B0; // type:function size:0x6C
|
||||
getStageMusicDemoName = .text:0x80365120; // type:function size:0x28
|
||||
@@ -20149,7 +20149,7 @@ fn_80365DE0 = .text:0x80365DE0; // type:function size:0x1C
|
||||
findMusicInMusicStruct = .text:0x80365E00; // type:function size:0xC0
|
||||
fn_80365EC0 = .text:0x80365EC0; // type:function size:0xA8
|
||||
fn_80365F70 = .text:0x80365F70; // type:function size:0xA8
|
||||
fn_80366020 = .text:0x80366020; // type:function size:0x28
|
||||
getStageUnk2__14dSndStateMgr_cFUl = .text:0x80366020; // type:function size:0x28
|
||||
fn_80366050 = .text:0x80366050; // type:function size:0x28
|
||||
fn_80366080 = .text:0x80366080; // type:function size:0x10
|
||||
fn_80366090 = .text:0x80366090; // type:function size:0x88
|
||||
@@ -20406,13 +20406,13 @@ apply__25dSndControlPlayerFxSend_cFv = .text:0x8036C610; // type:function size:0
|
||||
getAppliedValue__25dSndControlPlayerFxSend_cFv = .text:0x8036C650; // type:function size:0x58
|
||||
fn_8036C6B0 = .text:0x8036C6B0; // type:function size:0x64
|
||||
isInvalidSoundId = .text:0x8036C720; // type:function size:0x10
|
||||
FanfareSoundMgr__dtor = .text:0x8036C730; // type:function size:0x78
|
||||
initFanfareSoundMgr = .text:0x8036C7B0; // type:function size:0x48
|
||||
FanfareSoundMgr__deref = .text:0x8036C800; // type:function size:0x10
|
||||
FanfareSoundMgr__ctor = .text:0x8036C810; // type:function size:0x204
|
||||
__dt__30SndMgrDisposer<12dSndBgmMgr_c>Fv = .text:0x8036C730; // type:function size:0x78
|
||||
create__30SndMgrDisposer<12dSndBgmMgr_c>Fv = .text:0x8036C7B0; // type:function size:0x48
|
||||
remove__30SndMgrDisposer<12dSndBgmMgr_c>Fv = .text:0x8036C800; // type:function size:0x10
|
||||
__ct__12dSndBgmMgr_cFv = .text:0x8036C810; // type:function size:0x204
|
||||
fn_8036CA20 = .text:0x8036CA20; // type:function size:0xF0
|
||||
fn_8036CB10 = .text:0x8036CB10; // type:function size:0x54
|
||||
fn_8036CB70 = .text:0x8036CB70; // type:function size:0x19C
|
||||
calcLists__12dSndBgmMgr_cFv = .text:0x8036CB70; // type:function size:0x19C
|
||||
fn_8036CD10 = .text:0x8036CD10; // type:function size:0x34
|
||||
fn_8036CD50 = .text:0x8036CD50; // type:function size:0x88
|
||||
fn_8036CDE0 = .text:0x8036CDE0; // type:function size:0xFC
|
||||
@@ -20420,20 +20420,20 @@ fn_8036CEE0 = .text:0x8036CEE0; // type:function size:0x12C
|
||||
fn_8036D010 = .text:0x8036D010; // type:function size:0x98
|
||||
fn_8036D0B0 = .text:0x8036D0B0; // type:function size:0x11C
|
||||
fn_8036D1D0 = .text:0x8036D1D0; // type:function size:0x208
|
||||
fn_8036D3E0 = .text:0x8036D3E0; // type:function size:0x170
|
||||
playBgm__12dSndBgmMgr_cFUllb = .text:0x8036D3E0; // type:function size:0x170
|
||||
fn_8036D550 = .text:0x8036D550; // type:function size:0x174
|
||||
fn_8036D6D0 = .text:0x8036D6D0; // type:function size:0x60
|
||||
fn_8036D730 = .text:0x8036D730; // type:function size:0x138
|
||||
prepareBgmSound__12dSndBgmMgr_cFUlP14dSndBgmSound_cUl = .text:0x8036D730; // type:function size:0x138
|
||||
fn_8036D870 = .text:0x8036D870; // type:function size:0x1D0
|
||||
fn_8036DA40 = .text:0x8036DA40; // type:function size:0xA0
|
||||
fn_8036DAE0 = .text:0x8036DAE0; // type:function size:0x74
|
||||
fn_8036DB60 = .text:0x8036DB60; // type:function size:0x84
|
||||
prepareBgm__12dSndBgmMgr_cFUlUl = .text:0x8036DA40; // type:function size:0xA0
|
||||
stopAllBgm__12dSndBgmMgr_cFl = .text:0x8036DAE0; // type:function size:0x74
|
||||
stopBgmSound__12dSndBgmMgr_cFP14dSndBgmSound_cl = .text:0x8036DB60; // type:function size:0x84
|
||||
fn_8036DBF0 = .text:0x8036DBF0; // type:function size:0x2E4
|
||||
fn_8036DEE0 = .text:0x8036DEE0; // type:function size:0x80
|
||||
fn_8036DF60 = .text:0x8036DF60; // type:function size:0xBC
|
||||
fn_8036E020 = .text:0x8036E020; // type:function size:0xC4
|
||||
fn_8036E0F0 = .text:0x8036E0F0; // type:function size:0x80
|
||||
fn_8036E170 = .text:0x8036E170; // type:function size:0x1C
|
||||
stopBgmHandleIdx__12dSndBgmMgr_cFUll = .text:0x8036E170; // type:function size:0x1C
|
||||
fn_8036E190 = .text:0x8036E190; // type:function size:0x60
|
||||
fn_8036E1F0 = .text:0x8036E1F0; // type:function size:0x18
|
||||
fn_8036E210 = .text:0x8036E210; // type:function size:0x78
|
||||
@@ -20451,10 +20451,10 @@ fn_8036E820 = .text:0x8036E820; // type:function size:0x154
|
||||
fn_8036E980 = .text:0x8036E980; // type:function size:0xD4
|
||||
fn_8036EA60 = .text:0x8036EA60; // type:function size:0xC4
|
||||
fn_8036EB30 = .text:0x8036EB30; // type:function size:0xC4
|
||||
fn_8036EC00 = .text:0x8036EC00; // type:function size:0x28
|
||||
checkForPrepareStoppedBgmSound__12dSndBgmMgr_cFUl = .text:0x8036EC00; // type:function size:0x28
|
||||
fn_8036EC30 = .text:0x8036EC30; // type:function size:0x98
|
||||
fn_8036ECD0 = .text:0x8036ECD0; // type:function size:0x64
|
||||
fn_8036ED40 = .text:0x8036ED40; // type:function size:0x58
|
||||
startAdditionalBgm__12dSndBgmMgr_cFUl = .text:0x8036ED40; // type:function size:0x58
|
||||
fn_8036EDA0 = .text:0x8036EDA0; // type:function size:0x3F8
|
||||
fn_8036F1A0 = .text:0x8036F1A0; // type:function size:0x58
|
||||
fn_8036F200 = .text:0x8036F200; // type:function size:0x100
|
||||
@@ -20471,12 +20471,12 @@ fn_80370310 = .text:0x80370310; // type:function size:0x8
|
||||
fn_80370320 = .text:0x80370320; // type:function size:0xF4
|
||||
fn_80370420 = .text:0x80370420; // type:function size:0xCC
|
||||
fn_803704F0 = .text:0x803704F0; // type:function size:0xC
|
||||
fn_80370500 = .text:0x80370500; // type:function size:0x120
|
||||
playBattleBgm__12dSndBgmMgr_cFUlb = .text:0x80370500; // type:function size:0x120
|
||||
fn_80370620 = .text:0x80370620; // type:function size:0xC0
|
||||
fn_803706E0 = .text:0x803706E0; // type:function size:0x24
|
||||
fn_80370710 = .text:0x80370710; // type:function size:0x64
|
||||
fn_80370780 = .text:0x80370780; // type:function size:0x54
|
||||
fn_803707E0 = .text:0x803707E0; // type:function size:0x60
|
||||
beginBgmBattleRoom__12dSndBgmMgr_cFv = .text:0x80370780; // type:function size:0x54
|
||||
endBgmBattleRoom__12dSndBgmMgr_cFv = .text:0x803707E0; // type:function size:0x60
|
||||
fn_80370840 = .text:0x80370840; // type:function size:0x78
|
||||
fn_803708C0 = .text:0x803708C0; // type:function size:0x34
|
||||
fn_80370900 = .text:0x80370900; // type:function size:0xA0
|
||||
@@ -20484,14 +20484,14 @@ fn_803709A0 = .text:0x803709A0; // type:function size:0xA8
|
||||
fn_80370A50 = .text:0x80370A50; // type:function size:0x74
|
||||
fn_80370AD0 = .text:0x80370AD0; // type:function size:0x64
|
||||
fn_80370B40 = .text:0x80370B40; // type:function size:0x44
|
||||
fn_80370B90 = .text:0x80370B90; // type:function size:0xEC
|
||||
playDelayedSound__12dSndBgmMgr_cFUll = .text:0x80370B90; // type:function size:0xEC
|
||||
fn_80370C80 = .text:0x80370C80; // type:function size:0x4C
|
||||
fn_80370CD0 = .text:0x80370CD0; // type:function size:0x14
|
||||
fn_80370CF0 = .text:0x80370CF0; // type:function size:0x70
|
||||
fn_80370D60 = .text:0x80370D60; // type:function size:0xBC
|
||||
fn_80370E20 = .text:0x80370E20; // type:function size:0x28
|
||||
cancelDelayedSound__12dSndBgmMgr_cFv = .text:0x80370CD0; // type:function size:0x14
|
||||
cancelDelayedBgm__12dSndBgmMgr_cFv = .text:0x80370CF0; // type:function size:0x70
|
||||
startDelayedSound__12dSndBgmMgr_cFv = .text:0x80370D60; // type:function size:0xBC
|
||||
calcDelayedSound__12dSndBgmMgr_cFv = .text:0x80370E20; // type:function size:0x28
|
||||
fn_80370E50 = .text:0x80370E50; // type:function size:0x6C
|
||||
fn_80370EC0 = .text:0x80370EC0; // type:function size:0x70
|
||||
setBgmHandleIdxVolume__12dSndBgmMgr_cFUlfl = .text:0x80370EC0; // type:function size:0x70
|
||||
fn_80370F30 = .text:0x80370F30; // type:function size:0x6C
|
||||
fn_80370FA0 = .text:0x80370FA0; // type:function size:0xA0
|
||||
fn_80371040 = .text:0x80371040; // type:function size:0x138
|
||||
@@ -20513,35 +20513,35 @@ fn_80371AF0 = .text:0x80371AF0; // type:function size:0x58
|
||||
fn_80371B50 = .text:0x80371B50; // type:function size:0x58
|
||||
fn_80371BB0 = .text:0x80371BB0; // type:function size:0x58
|
||||
fn_80371C10 = .text:0x80371C10; // type:function size:0x58
|
||||
fn_80371C70 = .text:0x80371C70; // type:function size:0x70
|
||||
isPlayingBgmSoundId__12dSndBgmMgr_cCFUl = .text:0x80371C70; // type:function size:0x70
|
||||
fn_80371CE0 = .text:0x80371CE0; // type:function size:0x64
|
||||
fn_80371D50 = .text:0x80371D50; // type:function size:0x84
|
||||
isBgmHandleIdxPlayingSoundId__12dSndBgmMgr_cFUlUl = .text:0x80371D50; // type:function size:0x84
|
||||
fn_80371DE0 = .text:0x80371DE0; // type:function size:0x10C
|
||||
fn_80371EF0 = .text:0x80371EF0; // type:function size:0xA0
|
||||
fn_80371F90 = .text:0x80371F90; // type:function size:0xDC
|
||||
fn_80372070 = .text:0x80372070; // type:function size:0x68
|
||||
fn_803720E0 = .text:0x803720E0; // type:function size:0x70
|
||||
fn_80372150 = .text:0x80372150; // type:function size:0x94
|
||||
fn_803721F0 = .text:0x803721F0; // type:function size:0xD8
|
||||
fn_803722D0 = .text:0x803722D0; // type:function size:0x20
|
||||
fn_803722F0 = .text:0x803722F0; // type:function size:0x70
|
||||
isFadingOutBgmSoundId__12dSndBgmMgr_cCFUl = .text:0x80372070; // type:function size:0x68
|
||||
isPreparingBgmSoundId__12dSndBgmMgr_cCFUl = .text:0x803720E0; // type:function size:0x70
|
||||
isPreparingBgmSoundIdWithStartOffset__12dSndBgmMgr_cCFUlUl = .text:0x80372150; // type:function size:0x94
|
||||
isPreparedBgmSoundId__12dSndBgmMgr_cCFUl = .text:0x803721F0; // type:function size:0xD8
|
||||
getBgmSoundByIndex__12dSndBgmMgr_cFUl = .text:0x803722D0; // type:function size:0x20
|
||||
getBgmSoundHandleForId__12dSndBgmMgr_cCFUl = .text:0x803722F0; // type:function size:0x70
|
||||
fn_80372360 = .text:0x80372360; // type:function size:0xC4
|
||||
fn_80372430 = .text:0x80372430; // type:function size:0xD0
|
||||
getSoundHandleForBgm__12dSndBgmMgr_cFUlUl = .text:0x80372430; // type:function size:0xD0
|
||||
fn_80372500 = .text:0x80372500; // type:function size:0xD8
|
||||
fn_803725E0 = .text:0x803725E0; // type:function size:0xB4
|
||||
fn_803726A0 = .text:0x803726A0; // type:function size:0xE4
|
||||
fn_80372790 = .text:0x80372790; // type:function size:0x10C
|
||||
findIdleBgmSoundHandle__12dSndBgmMgr_cFv = .text:0x80372790; // type:function size:0x10C
|
||||
fn_803728A0 = .text:0x803728A0; // type:function size:0x74
|
||||
fn_80372920 = .text:0x80372920; // type:function size:0x3C
|
||||
fn_80372960 = .text:0x80372960; // type:function size:0x8
|
||||
fn_80372970 = .text:0x80372970; // type:function size:0x6C
|
||||
fn_803729E0 = .text:0x803729E0; // type:function size:0x6C
|
||||
fn_80372A50 = .text:0x80372A50; // type:function size:0x70
|
||||
fn_80372AC0 = .text:0x80372AC0; // type:function size:0x5C
|
||||
fn_80372B20 = .text:0x80372B20; // type:function size:0x98
|
||||
fn_80372BC0 = .text:0x80372BC0; // type:function size:0x28
|
||||
fn_80372BF0 = .text:0x80372BF0; // type:function size:0x28
|
||||
fn_80372C20 = .text:0x80372C20; // type:function size:0x28
|
||||
addToBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_eP14dSndBgmSound_c = .text:0x80372970; // type:function size:0x6C
|
||||
appendToBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_eP14dSndBgmSound_c = .text:0x803729E0; // type:function size:0x6C
|
||||
removeFromBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_eP14dSndBgmSound_c = .text:0x80372A50; // type:function size:0x70
|
||||
removeFromAllBgmSoundLists__12dSndBgmMgr_cFP14dSndBgmSound_c = .text:0x80372AC0; // type:function size:0x5C
|
||||
isInBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_eP14dSndBgmSound_c = .text:0x80372B20; // type:function size:0x98
|
||||
getFirstInBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_e = .text:0x80372BC0; // type:function size:0x28
|
||||
getNextInBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_eP14dSndBgmSound_c = .text:0x80372BF0; // type:function size:0x28
|
||||
getLastInBgmSoundList__12dSndBgmMgr_cFQ212dSndBgmMgr_c14BgmSoundList_e = .text:0x80372C20; // type:function size:0x28
|
||||
fn_80372C50 = .text:0x80372C50; // type:function size:0x8C
|
||||
fn_80372CE0 = .text:0x80372CE0; // type:function size:0x8C
|
||||
fn_80372D70 = .text:0x80372D70; // type:function size:0x74
|
||||
@@ -20549,20 +20549,20 @@ fn_80372DF0 = .text:0x80372DF0; // type:function size:0x40
|
||||
fn_80372E30 = .text:0x80372E30; // type:function size:0x40
|
||||
fn_80372E70 = .text:0x80372E70; // type:function size:0xB0
|
||||
fn_80372F20 = .text:0x80372F20; // type:function size:0x6C
|
||||
AnotherSoundMgr__playSound = .text:0x80372F90; // type:function size:0x264
|
||||
playFanSound__12dSndBgmMgr_cFUl = .text:0x80372F90; // type:function size:0x264
|
||||
vt_0xF4__14dSoundSource_cFv = .text:0x80373200; // type:function size:0x8
|
||||
fn_80373210 = .text:0x80373210; // type:function size:0xB4
|
||||
fn_803732D0 = .text:0x803732D0; // type:function size:0x44
|
||||
fn_80373320 = .text:0x80373320; // type:function size:0x8C
|
||||
fn_803733B0 = .text:0x803733B0; // type:function size:0x110
|
||||
fn_803734C0 = .text:0x803734C0; // type:function size:0x8C
|
||||
fn_80373550 = .text:0x80373550; // type:function size:0x110
|
||||
fn_80373660 = .text:0x80373660; // type:function size:0xC8
|
||||
fn_80373730 = .text:0x80373730; // type:function size:0x68
|
||||
prepareFanSound__12dSndBgmMgr_cFUl = .text:0x80373210; // type:function size:0xB4
|
||||
getFreeFanSoundHandle__12dSndBgmMgr_cFv = .text:0x803732D0; // type:function size:0x44
|
||||
getFanSoundHandleForFan__12dSndBgmMgr_cFUl = .text:0x80373320; // type:function size:0x8C
|
||||
getSoundHandleCurrentlyPlayingFanSound__12dSndBgmMgr_cFUl = .text:0x803733B0; // type:function size:0x110
|
||||
getFanSoundHandleForFan2__12dSndBgmMgr_cFUl = .text:0x803734C0; // type:function size:0x8C
|
||||
isCurrentlyPlayingFanSound__12dSndBgmMgr_cCFUl = .text:0x80373550; // type:function size:0x110
|
||||
hasPlayingFanSounds__12dSndBgmMgr_cCFv = .text:0x80373660; // type:function size:0xC8
|
||||
stopFanSounds__12dSndBgmMgr_cFl = .text:0x80373730; // type:function size:0x68
|
||||
fn_803737A0 = .text:0x803737A0; // type:function size:0x108
|
||||
fn_803738B0 = .text:0x803738B0; // type:function size:0x4C
|
||||
fn_80373900 = .text:0x80373900; // type:function size:0x4C
|
||||
fn_80373950 = .text:0x80373950; // type:function size:0x7C
|
||||
registSound__12dSndBgmMgr_cFP11dSndSound_c = .text:0x803738B0; // type:function size:0x4C
|
||||
unregistSound__12dSndBgmMgr_cFP11dSndSound_c = .text:0x80373900; // type:function size:0x4C
|
||||
isSoundRegist__12dSndBgmMgr_cFP11dSndSound_c = .text:0x80373950; // type:function size:0x7C
|
||||
fn_803739D0 = .text:0x803739D0; // type:function size:0x58
|
||||
fn_80373A30 = .text:0x80373A30; // type:function size:0x8
|
||||
fn_80373A40 = .text:0x80373A40; // type:function size:0x64
|
||||
@@ -20713,7 +20713,7 @@ fn_80379860 = .text:0x80379860; // type:function size:0x120
|
||||
fn_80379980 = .text:0x80379980; // type:function size:0x158
|
||||
fn_80379AE0 = .text:0x80379AE0; // type:function size:0x40
|
||||
fn_80379B20 = .text:0x80379B20; // type:function size:0x200
|
||||
fn_80379D20 = .text:0x80379D20; // type:function size:0xF8
|
||||
__ct__14dSndBgmSound_cFv = .text:0x80379D20; // type:function size:0xF8
|
||||
fn_80379E20 = .text:0x80379E20; // type:function size:0x58
|
||||
fn_80379E80 = .text:0x80379E80; // type:function size:0xC
|
||||
fn_80379E90 = .text:0x80379E90; // type:function size:0xC8
|
||||
@@ -20751,7 +20751,7 @@ fn_8037B470 = .text:0x8037B470; // type:function size:0x18
|
||||
fn_8037B490 = .text:0x8037B490; // type:function size:0x18
|
||||
fn_8037B4B0 = .text:0x8037B4B0; // type:function size:0x18
|
||||
fn_8037B4D0 = .text:0x8037B4D0; // type:function size:0x8
|
||||
fn_8037B4E0 = .text:0x8037B4E0; // type:function size:0x58
|
||||
__ct__20dSndBgmBattleSound_cFv = .text:0x8037B4E0; // type:function size:0x58
|
||||
fn_8037B540 = .text:0x8037B540; // type:function size:0x44
|
||||
fn_8037B590 = .text:0x8037B590; // type:function size:0x7C
|
||||
fn_8037B610 = .text:0x8037B610; // type:function size:0xAC
|
||||
@@ -21010,7 +21010,7 @@ fn_80385610 = .text:0x80385610; // type:function size:0x4
|
||||
fn_80385620 = .text:0x80385620; // type:function size:0x4
|
||||
fn_80385630 = .text:0x80385630; // type:function size:0x8
|
||||
fn_80385640 = .text:0x80385640; // type:function size:0x134
|
||||
fn_80385780 = .text:0x80385780; // type:function size:0x34
|
||||
getPlayerSourceRoomId__15dSndSourceMgr_cCFv = .text:0x80385780; // type:function size:0x34
|
||||
fn_803857C0 = .text:0x803857C0; // type:function size:0x5C
|
||||
fn_80385820 = .text:0x80385820; // type:function size:0x8
|
||||
fn_80385830 = .text:0x80385830; // type:function size:0x44
|
||||
@@ -21174,7 +21174,7 @@ fn_80389F50 = .text:0x80389F50; // type:function size:0x208
|
||||
d_s_vt_0x19C__14dSoundSource_cFv = .text:0x8038A160; // type:function size:0x6C
|
||||
fn_8038A1D0 = .text:0x8038A1D0; // type:function size:0xD8
|
||||
vt_0xD8__14dSoundSource_cFv = .text:0x8038A2B0; // type:function size:0x48
|
||||
fn_8038A300 = .text:0x8038A300; // type:function size:0x10
|
||||
getRoomId__14dSoundSource_cCFv = .text:0x8038A300; // type:function size:0x10
|
||||
vt_0xA4__14dSoundSource_cFv = .text:0x8038A310; // type:function size:0xB8
|
||||
vt_0xA8__14dSoundSource_cFv = .text:0x8038A3D0; // type:function size:0x58
|
||||
vt_0xAC__14dSoundSource_cFv = .text:0x8038A430; // type:function size:0x30
|
||||
@@ -28855,65 +28855,65 @@ lbl_804F0CC8 = .rodata:0x804F0CC8; // type:object size:0x10
|
||||
lbl_804F0CD8 = .rodata:0x804F0CD8; // type:object size:0x18
|
||||
lbl_804F0CF0 = .rodata:0x804F0CF0; // type:object size:0x10 data:string
|
||||
lbl_804F0D00 = .rodata:0x804F0D00; // type:object size:0x80 data:4byte
|
||||
lbl_804F0D80 = .rodata:0x804F0D80; // type:object size:0xC
|
||||
lbl_804F0D8C = .rodata:0x804F0D8C; // type:object size:0xC
|
||||
lbl_804F0D98 = .rodata:0x804F0D98; // type:object size:0xC
|
||||
lbl_804F0DA4 = .rodata:0x804F0DA4; // type:object size:0xC
|
||||
lbl_804F0DB0 = .rodata:0x804F0DB0; // type:object size:0xC
|
||||
lbl_804F0DBC = .rodata:0x804F0DBC; // type:object size:0xC
|
||||
lbl_804F0DC8 = .rodata:0x804F0DC8; // type:object size:0xC
|
||||
lbl_804F0DD4 = .rodata:0x804F0DD4; // type:object size:0xC
|
||||
lbl_804F0DE0 = .rodata:0x804F0DE0; // type:object size:0xC
|
||||
lbl_804F0DEC = .rodata:0x804F0DEC; // type:object size:0xC
|
||||
lbl_804F0DF8 = .rodata:0x804F0DF8; // type:object size:0xC
|
||||
lbl_804F0E04 = .rodata:0x804F0E04; // type:object size:0xC
|
||||
lbl_804F0E10 = .rodata:0x804F0E10; // type:object size:0xC
|
||||
lbl_804F0E1C = .rodata:0x804F0E1C; // type:object size:0xC
|
||||
lbl_804F0E28 = .rodata:0x804F0E28; // type:object size:0xC
|
||||
lbl_804F0E34 = .rodata:0x804F0E34; // type:object size:0xC
|
||||
lbl_804F0E40 = .rodata:0x804F0E40; // type:object size:0xC
|
||||
lbl_804F0E4C = .rodata:0x804F0E4C; // type:object size:0xC
|
||||
lbl_804F0E58 = .rodata:0x804F0E58; // type:object size:0xC
|
||||
lbl_804F0E64 = .rodata:0x804F0E64; // type:object size:0xC
|
||||
lbl_804F0E70 = .rodata:0x804F0E70; // type:object size:0xC
|
||||
lbl_804F0E7C = .rodata:0x804F0E7C; // type:object size:0xC
|
||||
lbl_804F0E88 = .rodata:0x804F0E88; // type:object size:0xC
|
||||
lbl_804F0E94 = .rodata:0x804F0E94; // type:object size:0xC
|
||||
lbl_804F0EA0 = .rodata:0x804F0EA0; // type:object size:0xC
|
||||
lbl_804F0EAC = .rodata:0x804F0EAC; // type:object size:0xC
|
||||
lbl_804F0EB8 = .rodata:0x804F0EB8; // type:object size:0xC
|
||||
lbl_804F0EC4 = .rodata:0x804F0EC4; // type:object size:0xC
|
||||
lbl_804F0ED0 = .rodata:0x804F0ED0; // type:object size:0xC
|
||||
lbl_804F0EDC = .rodata:0x804F0EDC; // type:object size:0xC
|
||||
lbl_804F0EE8 = .rodata:0x804F0EE8; // type:object size:0xC
|
||||
lbl_804F0EF4 = .rodata:0x804F0EF4; // type:object size:0xC
|
||||
lbl_804F0F00 = .rodata:0x804F0F00; // type:object size:0xC
|
||||
lbl_804F0F0C = .rodata:0x804F0F0C; // type:object size:0xC
|
||||
lbl_804F0F18 = .rodata:0x804F0F18; // type:object size:0xC
|
||||
lbl_804F0F24 = .rodata:0x804F0F24; // type:object size:0xC
|
||||
lbl_804F0F30 = .rodata:0x804F0F30; // type:object size:0xC
|
||||
lbl_804F0F3C = .rodata:0x804F0F3C; // type:object size:0xC
|
||||
lbl_804F0F48 = .rodata:0x804F0F48; // type:object size:0xC
|
||||
lbl_804F0F54 = .rodata:0x804F0F54; // type:object size:0xC
|
||||
lbl_804F0F60 = .rodata:0x804F0F60; // type:object size:0xC
|
||||
lbl_804F0F6C = .rodata:0x804F0F6C; // type:object size:0xC
|
||||
lbl_804F0F78 = .rodata:0x804F0F78; // type:object size:0xC
|
||||
lbl_804F0F84 = .rodata:0x804F0F84; // type:object size:0xC
|
||||
lbl_804F0F90 = .rodata:0x804F0F90; // type:object size:0xC
|
||||
lbl_804F0F9C = .rodata:0x804F0F9C; // type:object size:0xC
|
||||
lbl_804F0FA8 = .rodata:0x804F0FA8; // type:object size:0xC
|
||||
lbl_804F0FB4 = .rodata:0x804F0FB4; // type:object size:0xC
|
||||
lbl_804F0FC0 = .rodata:0x804F0FC0; // type:object size:0xC
|
||||
lbl_804F0FCC = .rodata:0x804F0FCC; // type:object size:0xC
|
||||
lbl_804F0FD8 = .rodata:0x804F0FD8; // type:object size:0xC
|
||||
lbl_804F0FE4 = .rodata:0x804F0FE4; // type:object size:0xC
|
||||
lbl_804F0FF0 = .rodata:0x804F0FF0; // type:object size:0xC
|
||||
lbl_804F0FFC = .rodata:0x804F0FFC; // type:object size:0xC
|
||||
lbl_804F1008 = .rodata:0x804F1008; // type:object size:0xC
|
||||
lbl_804F1014 = .rodata:0x804F1014; // type:object size:0xC
|
||||
lbl_804F1020 = .rodata:0x804F1020; // type:object size:0xC
|
||||
lbl_804F102C = .rodata:0x804F102C; // type:object size:0xC
|
||||
STAGE_MUSIC_RELATED = .rodata:0x804F1038; // type:object size:0x12D0 data:4byte
|
||||
@16 = .rodata:0x804F0D80; // type:object size:0xA scope:local data:string
|
||||
@26 = .rodata:0x804F0D8C; // type:object size:0xA scope:local data:string
|
||||
@35 = .rodata:0x804F0D98; // type:object size:0xA scope:local data:string
|
||||
@37 = .rodata:0x804F0DA4; // type:object size:0xA scope:local data:string
|
||||
@39 = .rodata:0x804F0DB0; // type:object size:0xA scope:local data:string
|
||||
@40 = .rodata:0x804F0DBC; // type:object size:0xA scope:local data:string
|
||||
@41 = .rodata:0x804F0DC8; // type:object size:0xA scope:local data:string
|
||||
@43 = .rodata:0x804F0DD4; // type:object size:0xA scope:local data:string
|
||||
@44 = .rodata:0x804F0DE0; // type:object size:0xA scope:local data:string
|
||||
@45 = .rodata:0x804F0DEC; // type:object size:0xA scope:local data:string
|
||||
@46 = .rodata:0x804F0DF8; // type:object size:0xA scope:local data:string
|
||||
@48 = .rodata:0x804F0E04; // type:object size:0xA scope:local data:string
|
||||
@50 = .rodata:0x804F0E10; // type:object size:0xA scope:local data:string
|
||||
@51 = .rodata:0x804F0E1C; // type:object size:0xA scope:local data:string
|
||||
@72 = .rodata:0x804F0E28; // type:object size:0xA scope:local data:string
|
||||
@74 = .rodata:0x804F0E34; // type:object size:0xA scope:local data:string
|
||||
@77 = .rodata:0x804F0E40; // type:object size:0xA scope:local data:string
|
||||
@80 = .rodata:0x804F0E4C; // type:object size:0xA scope:local data:string
|
||||
@81 = .rodata:0x804F0E58; // type:object size:0xA scope:local data:string
|
||||
@83 = .rodata:0x804F0E64; // type:object size:0xA scope:local data:string
|
||||
@85 = .rodata:0x804F0E70; // type:object size:0xA scope:local data:string
|
||||
@88 = .rodata:0x804F0E7C; // type:object size:0xA scope:local data:string
|
||||
@91 = .rodata:0x804F0E88; // type:object size:0xA scope:local data:string
|
||||
@92 = .rodata:0x804F0E94; // type:object size:0xA scope:local data:string
|
||||
@97 = .rodata:0x804F0EA0; // type:object size:0xA scope:local data:string
|
||||
@98 = .rodata:0x804F0EAC; // type:object size:0xA scope:local data:string
|
||||
@102 = .rodata:0x804F0EB8; // type:object size:0xA scope:local data:string
|
||||
@117 = .rodata:0x804F0EC4; // type:object size:0xA scope:local data:string
|
||||
@119 = .rodata:0x804F0ED0; // type:object size:0xA scope:local data:string
|
||||
@121 = .rodata:0x804F0EDC; // type:object size:0xA scope:local data:string
|
||||
@122 = .rodata:0x804F0EE8; // type:object size:0xA scope:local data:string
|
||||
@123 = .rodata:0x804F0EF4; // type:object size:0xA scope:local data:string
|
||||
@124 = .rodata:0x804F0F00; // type:object size:0xA scope:local data:string
|
||||
@125 = .rodata:0x804F0F0C; // type:object size:0xA scope:local data:string
|
||||
@126 = .rodata:0x804F0F18; // type:object size:0xA scope:local data:string
|
||||
@127 = .rodata:0x804F0F24; // type:object size:0xA scope:local data:string
|
||||
@128 = .rodata:0x804F0F30; // type:object size:0xA scope:local data:string
|
||||
@129 = .rodata:0x804F0F3C; // type:object size:0xA scope:local data:string
|
||||
@130 = .rodata:0x804F0F48; // type:object size:0xA scope:local data:string
|
||||
@131 = .rodata:0x804F0F54; // type:object size:0xA scope:local data:string
|
||||
@134 = .rodata:0x804F0F60; // type:object size:0xA scope:local data:string
|
||||
@135 = .rodata:0x804F0F6C; // type:object size:0xA scope:local data:string
|
||||
@136 = .rodata:0x804F0F78; // type:object size:0xA scope:local data:string
|
||||
@153 = .rodata:0x804F0F84; // type:object size:0xA scope:local data:string
|
||||
@154 = .rodata:0x804F0F90; // type:object size:0xA scope:local data:string
|
||||
@155 = .rodata:0x804F0F9C; // type:object size:0xA scope:local data:string
|
||||
@157 = .rodata:0x804F0FA8; // type:object size:0xA scope:local data:string
|
||||
@158 = .rodata:0x804F0FB4; // type:object size:0xA scope:local data:string
|
||||
@160 = .rodata:0x804F0FC0; // type:object size:0xA scope:local data:string
|
||||
@161 = .rodata:0x804F0FCC; // type:object size:0xA scope:local data:string
|
||||
@162 = .rodata:0x804F0FD8; // type:object size:0xA scope:local data:string
|
||||
@164 = .rodata:0x804F0FE4; // type:object size:0xA scope:local data:string
|
||||
@165 = .rodata:0x804F0FF0; // type:object size:0xA scope:local data:string
|
||||
@166 = .rodata:0x804F0FFC; // type:object size:0xA scope:local data:string
|
||||
@168 = .rodata:0x804F1008; // type:object size:0xA scope:local data:string
|
||||
@169 = .rodata:0x804F1014; // type:object size:0xA scope:local data:string
|
||||
@170 = .rodata:0x804F1020; // type:object size:0xA scope:local data:string
|
||||
@172 = .rodata:0x804F102C; // type:object size:0xA scope:local data:string
|
||||
sInfos__13dSndStageInfo = .rodata:0x804F1038; // type:object size:0x12D0 data:4byte
|
||||
lbl_804F2308 = .rodata:0x804F2308; // type:object size:0x10
|
||||
lbl_804F2318 = .rodata:0x804F2318; // type:object size:0x10
|
||||
lbl_804F2328 = .rodata:0x804F2328; // type:object size:0x10
|
||||
@@ -37975,8 +37975,8 @@ lbl_805489C0 = .data:0x805489C0; // type:object size:0x10 data:string
|
||||
lbl_805489D0 = .data:0x805489D0; // type:object size:0xC
|
||||
lbl_805489DC = .data:0x805489DC; // type:object size:0xC
|
||||
lbl_805489E8 = .data:0x805489E8; // type:object size:0xC
|
||||
vtable3 = .data:0x805489F4; // type:object size:0xC
|
||||
lbl_80548A00 = .data:0x80548A00; // type:object size:0xC
|
||||
__vt__32SndMgrDisposer<14dSndStateMgr_c> = .data:0x805489F4; // type:object size:0xC
|
||||
@STRING@resetStageName__14dSndStateMgr_cFv = .data:0x80548A00; // type:object size:0xB data:string
|
||||
lbl_80548A0C = .data:0x80548A0C; // type:object size:0xC
|
||||
lbl_80548A18 = .data:0x80548A18; // type:object size:0x10
|
||||
lbl_80548A28 = .data:0x80548A28; // type:object size:0x10
|
||||
@@ -38014,7 +38014,7 @@ __vt__29dSndControlPlayerVolumeBase_c = .data:0x80548CA4; // type:object size:0x
|
||||
jumptable_80548CC8 = .data:0x80548CC8; // type:object size:0x34 scope:local
|
||||
jumptable_80548CFC = .data:0x80548CFC; // type:object size:0x284 scope:local
|
||||
lbl_80548F80 = .data:0x80548F80; // type:object size:0xC
|
||||
vtable4 = .data:0x80548F8C; // type:object size:0xC
|
||||
__vt__30SndMgrDisposer<12dSndBgmMgr_c> = .data:0x80548F8C; // type:object size:0xC
|
||||
lbl_80548F98 = .data:0x80548F98; // type:object size:0xC
|
||||
lbl_80548FA4 = .data:0x80548FA4; // type:object size:0x10
|
||||
lbl_80548FB4 = .data:0x80548FB4; // type:object size:0xC
|
||||
@@ -42276,12 +42276,12 @@ sDisposer__15dSnd3DManager_c = .sbss:0x80575D5C; // type:object size:0x4 data:4b
|
||||
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
|
||||
ENEMY_SOUND_MGR = .sbss:0x80575D6C; // type:object size:0x4 data:4byte
|
||||
ENEMY_SOUND_MGR_source = .sbss:0x80575D70; // type:object size:0x8 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
|
||||
sDisposer__24dSndAreaSoundEffectMgr_c = .sbss:0x80575D7C; // type:object size:0x4 data:4byte
|
||||
FANFARE_SOUND_MGR = .sbss:0x80575D80; // type:object size:0x4 data:4byte
|
||||
FANFARE_SOUND_MGR_source = .sbss:0x80575D84; // type:object size:0x4 data:4byte
|
||||
sInstance__12dSndBgmMgr_c = .sbss:0x80575D80; // type:object size:0x4 data:4byte
|
||||
sDisposer__12dSndBgmMgr_c = .sbss:0x80575D84; // type:object size:0x4 data:4byte
|
||||
lbl_80575D88 = .sbss:0x80575D88; // type:object size:0x8 data:4byte
|
||||
SOME_UNUSED_SOUND_MGR = .sbss:0x80575D90; // type:object size:0x4 data:4byte
|
||||
SOME_UNUSED_SOUND_MGR_source = .sbss:0x80575D94; // type:object size:0x4 data:4byte
|
||||
@@ -48804,111 +48804,111 @@ lbl_8057D468 = .sdata2:0x8057D468; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D46C = .sdata2:0x8057D46C; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D470 = .sdata2:0x8057D470; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D474 = .sdata2:0x8057D474; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D478 = .sdata2:0x8057D478; // type:object size:0x8
|
||||
lbl_8057D480 = .sdata2:0x8057D480; // type:object size:0x8
|
||||
lbl_8057D488 = .sdata2:0x8057D488; // type:object size:0x8
|
||||
lbl_8057D490 = .sdata2:0x8057D490; // type:object size:0x8
|
||||
lbl_8057D498 = .sdata2:0x8057D498; // type:object size:0x8
|
||||
lbl_8057D4A0 = .sdata2:0x8057D4A0; // type:object size:0x8
|
||||
lbl_8057D4A8 = .sdata2:0x8057D4A8; // type:object size:0x8
|
||||
lbl_8057D4B0 = .sdata2:0x8057D4B0; // type:object size:0x8
|
||||
lbl_8057D4B8 = .sdata2:0x8057D4B8; // type:object size:0x8
|
||||
lbl_8057D4C0 = .sdata2:0x8057D4C0; // type:object size:0x8
|
||||
lbl_8057D4C8 = .sdata2:0x8057D4C8; // type:object size:0x8
|
||||
lbl_8057D4D0 = .sdata2:0x8057D4D0; // type:object size:0x8
|
||||
lbl_8057D4D8 = .sdata2:0x8057D4D8; // type:object size:0x8
|
||||
lbl_8057D4E0 = .sdata2:0x8057D4E0; // type:object size:0x8
|
||||
lbl_8057D4E8 = .sdata2:0x8057D4E8; // type:object size:0x8
|
||||
lbl_8057D4F0 = .sdata2:0x8057D4F0; // type:object size:0x8
|
||||
lbl_8057D4F8 = .sdata2:0x8057D4F8; // type:object size:0x8
|
||||
lbl_8057D500 = .sdata2:0x8057D500; // type:object size:0x8
|
||||
lbl_8057D508 = .sdata2:0x8057D508; // type:object size:0x8
|
||||
lbl_8057D510 = .sdata2:0x8057D510; // type:object size:0x8
|
||||
lbl_8057D518 = .sdata2:0x8057D518; // type:object size:0x8
|
||||
lbl_8057D520 = .sdata2:0x8057D520; // type:object size:0x8
|
||||
lbl_8057D528 = .sdata2:0x8057D528; // type:object size:0x8
|
||||
lbl_8057D530 = .sdata2:0x8057D530; // type:object size:0x8
|
||||
lbl_8057D538 = .sdata2:0x8057D538; // type:object size:0x8
|
||||
lbl_8057D540 = .sdata2:0x8057D540; // type:object size:0x8
|
||||
lbl_8057D548 = .sdata2:0x8057D548; // type:object size:0x8
|
||||
lbl_8057D550 = .sdata2:0x8057D550; // type:object size:0x8
|
||||
lbl_8057D558 = .sdata2:0x8057D558; // type:object size:0x8
|
||||
lbl_8057D560 = .sdata2:0x8057D560; // type:object size:0x8
|
||||
lbl_8057D568 = .sdata2:0x8057D568; // type:object size:0x8
|
||||
lbl_8057D570 = .sdata2:0x8057D570; // type:object size:0x8
|
||||
lbl_8057D578 = .sdata2:0x8057D578; // type:object size:0x8
|
||||
lbl_8057D580 = .sdata2:0x8057D580; // type:object size:0x8
|
||||
lbl_8057D588 = .sdata2:0x8057D588; // type:object size:0x8
|
||||
lbl_8057D590 = .sdata2:0x8057D590; // type:object size:0x8
|
||||
lbl_8057D598 = .sdata2:0x8057D598; // type:object size:0x8
|
||||
lbl_8057D5A0 = .sdata2:0x8057D5A0; // type:object size:0x8
|
||||
lbl_8057D5A8 = .sdata2:0x8057D5A8; // type:object size:0x8
|
||||
lbl_8057D5B0 = .sdata2:0x8057D5B0; // type:object size:0x8
|
||||
lbl_8057D5B8 = .sdata2:0x8057D5B8; // type:object size:0x8
|
||||
lbl_8057D5C0 = .sdata2:0x8057D5C0; // type:object size:0x8
|
||||
lbl_8057D5C8 = .sdata2:0x8057D5C8; // type:object size:0x8
|
||||
lbl_8057D5D0 = .sdata2:0x8057D5D0; // type:object size:0x8
|
||||
lbl_8057D5D8 = .sdata2:0x8057D5D8; // type:object size:0x8
|
||||
lbl_8057D5E0 = .sdata2:0x8057D5E0; // type:object size:0x8
|
||||
lbl_8057D5E8 = .sdata2:0x8057D5E8; // type:object size:0x8
|
||||
lbl_8057D5F0 = .sdata2:0x8057D5F0; // type:object size:0x8
|
||||
lbl_8057D5F8 = .sdata2:0x8057D5F8; // type:object size:0x8
|
||||
lbl_8057D600 = .sdata2:0x8057D600; // type:object size:0x8
|
||||
lbl_8057D608 = .sdata2:0x8057D608; // type:object size:0x8
|
||||
lbl_8057D610 = .sdata2:0x8057D610; // type:object size:0x8
|
||||
lbl_8057D618 = .sdata2:0x8057D618; // type:object size:0x8
|
||||
lbl_8057D620 = .sdata2:0x8057D620; // type:object size:0x8
|
||||
lbl_8057D628 = .sdata2:0x8057D628; // type:object size:0x8
|
||||
lbl_8057D630 = .sdata2:0x8057D630; // type:object size:0x8
|
||||
lbl_8057D638 = .sdata2:0x8057D638; // type:object size:0x8
|
||||
lbl_8057D640 = .sdata2:0x8057D640; // type:object size:0x8
|
||||
lbl_8057D648 = .sdata2:0x8057D648; // type:object size:0x8
|
||||
lbl_8057D650 = .sdata2:0x8057D650; // type:object size:0x8
|
||||
lbl_8057D658 = .sdata2:0x8057D658; // type:object size:0x8
|
||||
lbl_8057D660 = .sdata2:0x8057D660; // type:object size:0x8
|
||||
lbl_8057D668 = .sdata2:0x8057D668; // type:object size:0x8
|
||||
lbl_8057D670 = .sdata2:0x8057D670; // type:object size:0x8
|
||||
lbl_8057D678 = .sdata2:0x8057D678; // type:object size:0x8
|
||||
lbl_8057D680 = .sdata2:0x8057D680; // type:object size:0x8
|
||||
lbl_8057D688 = .sdata2:0x8057D688; // type:object size:0x8
|
||||
lbl_8057D690 = .sdata2:0x8057D690; // type:object size:0x8
|
||||
lbl_8057D698 = .sdata2:0x8057D698; // type:object size:0x8
|
||||
lbl_8057D6A0 = .sdata2:0x8057D6A0; // type:object size:0x8
|
||||
lbl_8057D6A8 = .sdata2:0x8057D6A8; // type:object size:0x8
|
||||
lbl_8057D6B0 = .sdata2:0x8057D6B0; // type:object size:0x8
|
||||
lbl_8057D6B8 = .sdata2:0x8057D6B8; // type:object size:0x8
|
||||
lbl_8057D6C0 = .sdata2:0x8057D6C0; // type:object size:0x8
|
||||
lbl_8057D6C8 = .sdata2:0x8057D6C8; // type:object size:0x8
|
||||
lbl_8057D6D0 = .sdata2:0x8057D6D0; // type:object size:0x8
|
||||
lbl_8057D6D8 = .sdata2:0x8057D6D8; // type:object size:0x8
|
||||
lbl_8057D6E0 = .sdata2:0x8057D6E0; // type:object size:0x8
|
||||
lbl_8057D6E8 = .sdata2:0x8057D6E8; // type:object size:0x8
|
||||
lbl_8057D6F0 = .sdata2:0x8057D6F0; // type:object size:0x8
|
||||
lbl_8057D6F8 = .sdata2:0x8057D6F8; // type:object size:0x8
|
||||
lbl_8057D700 = .sdata2:0x8057D700; // type:object size:0x8
|
||||
lbl_8057D708 = .sdata2:0x8057D708; // type:object size:0x8
|
||||
lbl_8057D710 = .sdata2:0x8057D710; // type:object size:0x8
|
||||
lbl_8057D718 = .sdata2:0x8057D718; // type:object size:0x8
|
||||
lbl_8057D720 = .sdata2:0x8057D720; // type:object size:0x8
|
||||
lbl_8057D728 = .sdata2:0x8057D728; // type:object size:0x8
|
||||
lbl_8057D730 = .sdata2:0x8057D730; // type:object size:0x8
|
||||
lbl_8057D738 = .sdata2:0x8057D738; // type:object size:0x8
|
||||
lbl_8057D740 = .sdata2:0x8057D740; // type:object size:0x8
|
||||
lbl_8057D748 = .sdata2:0x8057D748; // type:object size:0x8
|
||||
lbl_8057D750 = .sdata2:0x8057D750; // type:object size:0x8
|
||||
lbl_8057D758 = .sdata2:0x8057D758; // type:object size:0x8
|
||||
lbl_8057D760 = .sdata2:0x8057D760; // type:object size:0x8
|
||||
lbl_8057D768 = .sdata2:0x8057D768; // type:object size:0x8
|
||||
lbl_8057D770 = .sdata2:0x8057D770; // type:object size:0x8
|
||||
lbl_8057D778 = .sdata2:0x8057D778; // type:object size:0x8
|
||||
lbl_8057D780 = .sdata2:0x8057D780; // type:object size:0x8
|
||||
lbl_8057D788 = .sdata2:0x8057D788; // type:object size:0x8
|
||||
lbl_8057D790 = .sdata2:0x8057D790; // type:object size:0x8
|
||||
lbl_8057D798 = .sdata2:0x8057D798; // type:object size:0x8
|
||||
lbl_8057D7A0 = .sdata2:0x8057D7A0; // type:object size:0x8
|
||||
lbl_8057D7A8 = .sdata2:0x8057D7A8; // type:object size:0x8
|
||||
lbl_8057D7B0 = .sdata2:0x8057D7B0; // type:object size:0x8
|
||||
lbl_8057D7B8 = .sdata2:0x8057D7B8; // type:object size:0x8 data:4byte
|
||||
@11 = .sdata2:0x8057D478; // type:object size:0x5 scope:local data:string
|
||||
@12 = .sdata2:0x8057D480; // type:object size:0x5 scope:local data:string
|
||||
@13 = .sdata2:0x8057D488; // type:object size:0x5 scope:local data:string
|
||||
@14 = .sdata2:0x8057D490; // type:object size:0x7 scope:local data:string
|
||||
@15 = .sdata2:0x8057D498; // type:object size:0x5 scope:local data:string
|
||||
@17 = .sdata2:0x8057D4A0; // type:object size:0x5 scope:local data:string
|
||||
@18 = .sdata2:0x8057D4A8; // type:object size:0x7 scope:local data:string
|
||||
@19 = .sdata2:0x8057D4B0; // type:object size:0x7 scope:local data:string
|
||||
@20 = .sdata2:0x8057D4B8; // type:object size:0x7 scope:local data:string
|
||||
@21 = .sdata2:0x8057D4C0; // type:object size:0x7 scope:local data:string
|
||||
@22 = .sdata2:0x8057D4C8; // type:object size:0x5 scope:local data:string
|
||||
@23 = .sdata2:0x8057D4D0; // type:object size:0x5 scope:local data:string
|
||||
@24 = .sdata2:0x8057D4D8; // type:object size:0x7 scope:local data:string
|
||||
@25 = .sdata2:0x8057D4E0; // type:object size:0x7 scope:local data:string
|
||||
@27 = .sdata2:0x8057D4E8; // type:object size:0x5 scope:local data:string
|
||||
@28 = .sdata2:0x8057D4F0; // type:object size:0x7 scope:local data:string
|
||||
@29 = .sdata2:0x8057D4F8; // type:object size:0x7 scope:local data:string
|
||||
@30 = .sdata2:0x8057D500; // type:object size:0x7 scope:local data:string
|
||||
@31 = .sdata2:0x8057D508; // type:object size:0x7 scope:local data:string
|
||||
@32 = .sdata2:0x8057D510; // type:object size:0x7 scope:local data:string
|
||||
@33 = .sdata2:0x8057D518; // type:object size:0x7 scope:local data:string
|
||||
@34 = .sdata2:0x8057D520; // type:object size:0x5 scope:local data:string
|
||||
@36 = .sdata2:0x8057D528; // type:object size:0x5 scope:local data:string
|
||||
@38 = .sdata2:0x8057D530; // type:object size:0x5 scope:local data:string
|
||||
@42 = .sdata2:0x8057D538; // type:object size:0x5 scope:local data:string
|
||||
@47 = .sdata2:0x8057D540; // type:object size:0x5 scope:local data:string
|
||||
@49 = .sdata2:0x8057D548; // type:object size:0x5 scope:local data:string
|
||||
@52 = .sdata2:0x8057D550; // type:object size:0x5 scope:local data:string
|
||||
@53 = .sdata2:0x8057D558; // type:object size:0x7 scope:local data:string
|
||||
@54 = .sdata2:0x8057D560; // type:object size:0x5 scope:local data:string
|
||||
@55 = .sdata2:0x8057D568; // type:object size:0x5 scope:local data:string
|
||||
@56 = .sdata2:0x8057D570; // type:object size:0x5 scope:local data:string
|
||||
@57 = .sdata2:0x8057D578; // type:object size:0x5 scope:local data:string
|
||||
@58 = .sdata2:0x8057D580; // type:object size:0x5 scope:local data:string
|
||||
@59 = .sdata2:0x8057D588; // type:object size:0x7 scope:local data:string
|
||||
@60 = .sdata2:0x8057D590; // type:object size:0x5 scope:local data:string
|
||||
@61 = .sdata2:0x8057D598; // type:object size:0x7 scope:local data:string
|
||||
@62 = .sdata2:0x8057D5A0; // type:object size:0x7 scope:local data:string
|
||||
@63 = .sdata2:0x8057D5A8; // type:object size:0x7 scope:local data:string
|
||||
@64 = .sdata2:0x8057D5B0; // type:object size:0x7 scope:local data:string
|
||||
@65 = .sdata2:0x8057D5B8; // type:object size:0x7 scope:local data:string
|
||||
@66 = .sdata2:0x8057D5C0; // type:object size:0x7 scope:local data:string
|
||||
@67 = .sdata2:0x8057D5C8; // type:object size:0x7 scope:local data:string
|
||||
@68 = .sdata2:0x8057D5D0; // type:object size:0x7 scope:local data:string
|
||||
@69 = .sdata2:0x8057D5D8; // type:object size:0x7 scope:local data:string
|
||||
@70 = .sdata2:0x8057D5E0; // type:object size:0x7 scope:local data:string
|
||||
@71 = .sdata2:0x8057D5E8; // type:object size:0x5 scope:local data:string
|
||||
@73 = .sdata2:0x8057D5F0; // type:object size:0x7 scope:local data:string
|
||||
@75 = .sdata2:0x8057D5F8; // type:object size:0x5 scope:local data:string
|
||||
@76 = .sdata2:0x8057D600; // type:object size:0x7 scope:local data:string
|
||||
@78 = .sdata2:0x8057D608; // type:object size:0x5 scope:local data:string
|
||||
@79 = .sdata2:0x8057D610; // type:object size:0x5 scope:local data:string
|
||||
@82 = .sdata2:0x8057D618; // type:object size:0x5 scope:local data:string
|
||||
@84 = .sdata2:0x8057D620; // type:object size:0x7 scope:local data:string
|
||||
@86 = .sdata2:0x8057D628; // type:object size:0x5 scope:local data:string
|
||||
@87 = .sdata2:0x8057D630; // type:object size:0x5 scope:local data:string
|
||||
@89 = .sdata2:0x8057D638; // type:object size:0x5 scope:local data:string
|
||||
@90 = .sdata2:0x8057D640; // type:object size:0x5 scope:local data:string
|
||||
@93 = .sdata2:0x8057D648; // type:object size:0x7 scope:local data:string
|
||||
@94 = .sdata2:0x8057D650; // type:object size:0x7 scope:local data:string
|
||||
@95 = .sdata2:0x8057D658; // type:object size:0x7 scope:local data:string
|
||||
@96 = .sdata2:0x8057D660; // type:object size:0x7 scope:local data:string
|
||||
@99 = .sdata2:0x8057D668; // type:object size:0x5 scope:local data:string
|
||||
@100 = .sdata2:0x8057D670; // type:object size:0x5 scope:local data:string
|
||||
@101 = .sdata2:0x8057D678; // type:object size:0x5 scope:local data:string
|
||||
@103 = .sdata2:0x8057D680; // type:object size:0x7 scope:local data:string
|
||||
@104 = .sdata2:0x8057D688; // type:object size:0x7 scope:local data:string
|
||||
@105 = .sdata2:0x8057D690; // type:object size:0x7 scope:local data:string
|
||||
@106 = .sdata2:0x8057D698; // type:object size:0x7 scope:local data:string
|
||||
@107 = .sdata2:0x8057D6A0; // type:object size:0x7 scope:local data:string
|
||||
@108 = .sdata2:0x8057D6A8; // type:object size:0x7 scope:local data:string
|
||||
@109 = .sdata2:0x8057D6B0; // type:object size:0x7 scope:local data:string
|
||||
@110 = .sdata2:0x8057D6B8; // type:object size:0x5 scope:local data:string
|
||||
@111 = .sdata2:0x8057D6C0; // type:object size:0x5 scope:local data:string
|
||||
@112 = .sdata2:0x8057D6C8; // type:object size:0x5 scope:local data:string
|
||||
@113 = .sdata2:0x8057D6D0; // type:object size:0x5 scope:local data:string
|
||||
@114 = .sdata2:0x8057D6D8; // type:object size:0x5 scope:local data:string
|
||||
@115 = .sdata2:0x8057D6E0; // type:object size:0x5 scope:local data:string
|
||||
@116 = .sdata2:0x8057D6E8; // type:object size:0x5 scope:local data:string
|
||||
@118 = .sdata2:0x8057D6F0; // type:object size:0x5 scope:local data:string
|
||||
@120 = .sdata2:0x8057D6F8; // type:object size:0x5 scope:local data:string
|
||||
@132 = .sdata2:0x8057D700; // type:object size:0x7 scope:local data:string
|
||||
@133 = .sdata2:0x8057D708; // type:object size:0x6 scope:local data:string
|
||||
@137 = .sdata2:0x8057D710; // type:object size:0x6 scope:local data:string
|
||||
@138 = .sdata2:0x8057D718; // type:object size:0x6 scope:local data:string
|
||||
@139 = .sdata2:0x8057D720; // type:object size:0x6 scope:local data:string
|
||||
@140 = .sdata2:0x8057D728; // type:object size:0x6 scope:local data:string
|
||||
@141 = .sdata2:0x8057D730; // type:object size:0x6 scope:local data:string
|
||||
@142 = .sdata2:0x8057D738; // type:object size:0x6 scope:local data:string
|
||||
@143 = .sdata2:0x8057D740; // type:object size:0x6 scope:local data:string
|
||||
@144 = .sdata2:0x8057D748; // type:object size:0x6 scope:local data:string
|
||||
@145 = .sdata2:0x8057D750; // type:object size:0x6 scope:local data:string
|
||||
@146 = .sdata2:0x8057D758; // type:object size:0x6 scope:local data:string
|
||||
@147 = .sdata2:0x8057D760; // type:object size:0x6 scope:local data:string
|
||||
@148 = .sdata2:0x8057D768; // type:object size:0x6 scope:local data:string
|
||||
@149 = .sdata2:0x8057D770; // type:object size:0x6 scope:local data:string
|
||||
@150 = .sdata2:0x8057D778; // type:object size:0x6 scope:local data:string
|
||||
@151 = .sdata2:0x8057D780; // type:object size:0x6 scope:local data:string
|
||||
@152 = .sdata2:0x8057D788; // type:object size:0x5 scope:local data:string
|
||||
@156 = .sdata2:0x8057D790; // type:object size:0x5 scope:local data:string
|
||||
@159 = .sdata2:0x8057D798; // type:object size:0x5 scope:local data:string
|
||||
@163 = .sdata2:0x8057D7A0; // type:object size:0x6 scope:local data:string
|
||||
@167 = .sdata2:0x8057D7A8; // type:object size:0x6 scope:local data:string
|
||||
@171 = .sdata2:0x8057D7B0; // type:object size:0x5 scope:local data:string
|
||||
sNumStageInfos__13dSndStageInfo = .sdata2:0x8057D7B8; // type:object size:0x4 data:4byte
|
||||
lbl_8057D7C0 = .sdata2:0x8057D7C0; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D7C4 = .sdata2:0x8057D7C4; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057D7C8 = .sdata2:0x8057D7C8; // type:object size:0x4 align:4 data:float
|
||||
|
||||
+3
-4
@@ -743,9 +743,8 @@ config.libs = [
|
||||
Object(NonMatching, "d/snd/d_snd_player_mgr.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_control_player_mgr.cpp"),
|
||||
Object(Matching, "d/snd/d_snd_3d_manager.cpp"),
|
||||
# this one is a bit weird. it deals with all the stage definitions,
|
||||
# but it's not actually the bgm manager?
|
||||
Object(NonMatching, "d/snd/d_snd_stage_mgr.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_state_mgr.cpp"),
|
||||
Object(Matching, "d/snd/d_snd_stage_data.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_unk_component_2.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_area_sound_effect_mgr.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_area_sound.cpp"),
|
||||
@@ -753,7 +752,7 @@ config.libs = [
|
||||
Object(Matching, "d/snd/d_snd_control_player.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_bgm_mgr.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_bgm_sound_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_bgm_sound_boss_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_bgm_sound_battle_callbacks.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_bgm_sound.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_unk_15.cpp"),
|
||||
Object(NonMatching, "d/snd/d_snd_small_effect_mgr.cpp"),
|
||||
|
||||
@@ -88,6 +88,10 @@ struct SpawnInfo {
|
||||
return (Trial)trial;
|
||||
}
|
||||
|
||||
const char *getStageName() const {
|
||||
return stageName;
|
||||
}
|
||||
|
||||
bool isNight() {
|
||||
return getTimeOfDay() == NIGHT;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
#ifndef D_SND_BGM_MGR_H
|
||||
#define D_SND_BGM_MGR_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_actor.h"
|
||||
#include "d/snd/d_snd_sound.h"
|
||||
#include "d/snd/d_snd_util.h"
|
||||
#include "nw4r/snd/snd_FxReverbStdDpl2.h"
|
||||
#include "nw4r/ut/ut_list.h"
|
||||
|
||||
SND_DISPOSER_FORWARD_DECL(dSndBgmMgr_c);
|
||||
|
||||
class dSndBgmSound_c;
|
||||
class dSndBgmBattleSound_c;
|
||||
|
||||
// Previous Ghidra name: FanfareSoundMgr
|
||||
class dSndBgmMgr_c {
|
||||
public:
|
||||
SND_DISPOSER_MEMBERS(dSndBgmMgr_c);
|
||||
|
||||
public:
|
||||
enum BgmSoundList_e {
|
||||
BGM_LIST_PREPARING = 0,
|
||||
BGM_LIST_PLAYING = 1,
|
||||
BGM_LIST_STOPPED = 2,
|
||||
|
||||
BGM_LIST_MAX = 3,
|
||||
};
|
||||
|
||||
dSndBgmMgr_c();
|
||||
|
||||
bool playBgm(u32 soundId, s32 fadeFrames, bool paused);
|
||||
bool prepareBgm(u32 soundId, u32 startOffset);
|
||||
void stopAllBgm(s32 fadeFrames);
|
||||
|
||||
dSndBgmSound_c *getSoundHandleForBgm(u32 soundId, u32 startOffset);
|
||||
bool isPlayingBgmSoundId(u32 soundId) const;
|
||||
|
||||
bool isPreparingBgmSoundId(u32 soundId) const;
|
||||
bool isFadingOutBgmSoundId(u32 soundId) const;
|
||||
bool isPreparingBgmSoundIdWithStartOffset(u32 soundId, u32 startOffset) const;
|
||||
bool isPreparedBgmSoundId(u32 soundId) const;
|
||||
|
||||
void registSound(dSndSound_c *sound);
|
||||
void unregistSound(dSndSound_c *sound);
|
||||
|
||||
dSndSound_c *getFanSoundHandleForFan2(u32 soundId);
|
||||
dSndSound_c *getSoundHandleCurrentlyPlayingFanSound(u32 soundId);
|
||||
bool isCurrentlyPlayingFanSound(u32 soundId) const;
|
||||
bool hasPlayingFanSounds() const;
|
||||
|
||||
bool playFanSound(u32 soundId);
|
||||
bool prepareFanSound(u32 soundId);
|
||||
|
||||
void playDelayedSound(u32 soundId, s32 delay);
|
||||
void cancelDelayedSound();
|
||||
void cancelDelayedBgm();
|
||||
|
||||
dSndBgmSound_c *getBgmSoundByIndex(u32 idx);
|
||||
|
||||
/**
|
||||
* E.g. Lizalfos fight in ET. Note that in the ET case, this is only called when triggering
|
||||
* the fight without a cutscene, the cutscene code runs through "ELizarufos_c_opening"
|
||||
*/
|
||||
bool beginBgmBattleRoom();
|
||||
/** Runs when the fight is over, no matter how you started it */
|
||||
bool endBgmBattleRoom();
|
||||
|
||||
private:
|
||||
bool stopBgmSound(dSndBgmSound_c *sound, s32 fadeFrames);
|
||||
void checkForPrepareStoppedBgmSound(u32 stoppedSoundId);
|
||||
dSndBgmSound_c *findNewBgmSoundHandle();
|
||||
dSndBgmSound_c *findIdleBgmSoundHandle();
|
||||
bool prepareBgmSound(u32 soundId, dSndBgmSound_c *handle, u32 startOffset);
|
||||
bool startAdditionalBgm(u32 soundId);
|
||||
|
||||
bool playBattleBgm(u32 soundId, bool immediately);
|
||||
|
||||
/** Used to mute other BGM when battle music is playing */
|
||||
void setBgmHandleIdxVolume(u32 handleIdx, f32 volume, s32 fadeFrames);
|
||||
|
||||
bool isBgmHandleIdxPlayingSoundId(u32 handleIdx, u32 soundId);
|
||||
bool stopBgmHandleIdx(u32 handleIdx, s32 fadeFrames);
|
||||
|
||||
void calcLists();
|
||||
|
||||
void addToBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound);
|
||||
void appendToBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound);
|
||||
void removeFromBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound);
|
||||
void removeFromAllBgmSoundLists(dSndBgmSound_c *sound);
|
||||
bool isInBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound);
|
||||
dSndBgmSound_c *getFirstInBgmSoundList(BgmSoundList_e list);
|
||||
dSndBgmSound_c *getNextInBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound);
|
||||
dSndBgmSound_c *getLastInBgmSoundList(BgmSoundList_e list);
|
||||
|
||||
bool startDelayedSound();
|
||||
void calcDelayedSound();
|
||||
|
||||
dSndBgmSound_c *getBgmSoundHandleForId(u32 soundId) const;
|
||||
|
||||
dSndSound_c *getFreeFanSoundHandle();
|
||||
dSndSound_c *getFanSoundHandleForFan(u32 soundId);
|
||||
void stopFanSounds(s32 fadeFrames);
|
||||
|
||||
|
||||
bool isSoundRegist(dSndSound_c *sound);
|
||||
|
||||
/* 0x010 */ nw4r::snd::FxReverbStdDpl2 mFx;
|
||||
/* 0x240 */ UNKWORD field_0x240;
|
||||
/* 0x244 */ UNKWORD field_0x244;
|
||||
/* 0x248 */ UNKWORD field_0x248;
|
||||
/* 0x24C */ u32 mScheduledSoundId;
|
||||
/* 0x250 */ s32 mScheduledSoundDelay;
|
||||
/* 0x254 */ dSndBgmSound_c *mBgmSounds[7];
|
||||
/* 0x270 */ dSndBgmSound_c *field_0x270;
|
||||
/* 0x274 */ UNKWORD field_0x274;
|
||||
/* 0x278 */ nw4r::ut::List mBgmSoundLists[BGM_LIST_MAX]; // node offset 0xF0 -> dSndBgmSound_c
|
||||
/* 0x29C */ UNKWORD field_0x29C;
|
||||
/* 0x2A0 */ dSndActor_c mSoundActor;
|
||||
/* 0x2F4 */ f32 field_0x2F4;
|
||||
/* 0x2F8 */ s32 field_0x2F8;
|
||||
/* 0x2FC */ u8 field_0x2FC;
|
||||
/* 0x300 */ s32 field_0x300;
|
||||
/* 0x304 */ u8 field_0x304;
|
||||
/* 0x305 */ u8 field_0x305;
|
||||
/* 0x306 */ u8 field_0x306;
|
||||
/* 0x307 */ u8 field_0x307;
|
||||
/* 0x308 */ u8 field_0x308;
|
||||
/* 0x30C */ u32 field_0x30C[3];
|
||||
/* 0x318 */ u32 field_0x318[3];
|
||||
/* 0x324 */ u32 field_0x324[3];
|
||||
/* 0x330 */ u8 field_0x330[3];
|
||||
/* 0x333 */ u8 field_0x333;
|
||||
/* 0x334 */ dSndSound_c *mFanSounds[3];
|
||||
/* 0x340 */ u8 field_0x340;
|
||||
/* 0x344 */ nw4r::ut::List mAllSounds; // node offset 0x8 -> dSndSound_c
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef D_SND_BGM_SOUND_H
|
||||
#define D_SND_BGM_SOUND_H
|
||||
|
||||
#include "d/snd/d_snd_sound.h"
|
||||
#include "nw4r/snd/snd_SoundStartable.h"
|
||||
#include "nw4r/ut/ut_list.h"
|
||||
|
||||
class dSndBgmSound_c : public dSndSound_c {
|
||||
public:
|
||||
dSndBgmSound_c();
|
||||
|
||||
virtual void init(nw4r::snd::SoundStartable &startable, s32 idx); // vt 0x28
|
||||
|
||||
bool isPreparedSoundId(u32 soundId) const {
|
||||
return IsPrepared() && !mIsRunning && GetId() == soundId;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x0F0 */ nw4r::ut::Node mBgmMgrNode;
|
||||
};
|
||||
|
||||
class dSndBgmBattleSound_c : public dSndBgmSound_c {
|
||||
public:
|
||||
dSndBgmBattleSound_c();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,8 +1,9 @@
|
||||
#ifndef D_SND_CHECKERS_H
|
||||
#define D_SND_CHECKERS_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "nw4r/snd/snd_SoundHandle.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
|
||||
class SoundPropertiesChecker {
|
||||
public:
|
||||
@@ -26,7 +27,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_803721F0(FANFARE_SOUND_MGR, pHandle.GetId())) {
|
||||
if (dSndBgmMgr_c::GetInstance()->isPreparedBgmSoundId(pHandle.GetId())) {
|
||||
if (mpCounter3 != nullptr) {
|
||||
(*mpCounter3)++;
|
||||
} else {
|
||||
@@ -35,7 +36,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_803720E0(FANFARE_SOUND_MGR, pHandle.GetId())) {
|
||||
if (dSndBgmMgr_c::GetInstance()->isPreparingBgmSoundId(pHandle.GetId())) {
|
||||
if (mpCounter3 != nullptr) {
|
||||
(*mpCounter3)++;
|
||||
} else {
|
||||
@@ -44,7 +45,7 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_80372070(FANFARE_SOUND_MGR, pHandle.GetId())) {
|
||||
if (dSndBgmMgr_c::GetInstance()->isFadingOutBgmSoundId(pHandle.GetId())) {
|
||||
if (mpCounter4 != nullptr) {
|
||||
(*mpCounter4)++;
|
||||
} else {
|
||||
@@ -53,7 +54,9 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
if (fn_803734C0(FANFARE_SOUND_MGR, pHandle.GetId()) && !fn_80373550(FANFARE_SOUND_MGR, pHandle.GetId())) {
|
||||
if (dSndBgmMgr_c::GetInstance()->getFanSoundHandleForFan2(pHandle.GetId()) != nullptr &&
|
||||
!dSndBgmMgr_c::GetInstance()->isCurrentlyPlayingFanSound(pHandle.GetId())) {
|
||||
// Why not mpCounter3???
|
||||
mCounter3++;
|
||||
}
|
||||
}
|
||||
@@ -70,7 +73,6 @@ private:
|
||||
/* 0x24 */ u32 *mpCounter4;
|
||||
};
|
||||
|
||||
|
||||
// used at the very least when trying to finish Demise
|
||||
class IsCurrentSoundIdChecker {
|
||||
public:
|
||||
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
};
|
||||
|
||||
enum VolumeControlGroup {
|
||||
/** PLAYER_BGM, PLAYER_BGM_BOSS */
|
||||
/** PLAYER_BGM, PLAYER_BGM_BATTLE */
|
||||
CTRL_GROUP_BGM = 0,
|
||||
/** PLAYER_TG_SOUND - PLAYER_AREA_IN_WATER_LV */
|
||||
CTRL_GROUP_STAGE_EFFECTS = 1,
|
||||
|
||||
@@ -19,8 +19,8 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
static nw4r::snd::SoundArchivePlayer* getPlayer() {
|
||||
return sInstance->ArcPlayer::getPlayer();
|
||||
static nw4r::snd::SoundArchivePlayer& getPlayer() {
|
||||
return *sInstance->ArcPlayer::getPlayer();
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -51,16 +51,21 @@ public:
|
||||
bool loadDemoArchive(const char *demoArchiveName);
|
||||
const char *getSoundArchivePath();
|
||||
u32 convertLabelStringToSoundId(const char *label) const;
|
||||
static bool isBgmPlayerId(u32 id);
|
||||
|
||||
nw4r::snd::SoundArchivePlayer &getSoundArchivePlayerForType(u8 sourceType);
|
||||
bool canUseThisPlayer(u8 sourceType) const;
|
||||
|
||||
void stopAllSound();
|
||||
|
||||
enum PlayerMgrFlag_e {
|
||||
MGR_HBM = 0x1,
|
||||
MGR_UNK_0x2 = 0x2,
|
||||
MGR_PAUSE = 0x4,
|
||||
MGR_MAP = 0x8,
|
||||
MGR_HELP = 0x10,
|
||||
|
||||
MGR_UNK_0x80 = 0x80,
|
||||
};
|
||||
|
||||
bool checkFlag(u32 mask) const {
|
||||
@@ -111,8 +116,8 @@ public:
|
||||
enum PlayerIndex_e {
|
||||
/** Background music */
|
||||
PLAYER_BGM = 0,
|
||||
/** Background music, boss battle */
|
||||
PLAYER_BGM_BOSS = 1,
|
||||
/** Background music, battles */
|
||||
PLAYER_BGM_BATTLE = 1,
|
||||
/** "fanfare?" */
|
||||
PLAYER_FAN = 2,
|
||||
/** small sound effects, only a few (UI navigation related) */
|
||||
|
||||
+23
-19
@@ -173,11 +173,31 @@ public:
|
||||
void linkCtrl(dSndControlSound_c *);
|
||||
void unlinkCtrl(dSndControlSound_c *);
|
||||
|
||||
protected:
|
||||
bool cannotStart() const {
|
||||
bool isPlaying() const {
|
||||
return mIsRunning && !mIsFadingOut && IsAttachedSound();
|
||||
}
|
||||
|
||||
bool isPlayingSoundId(u32 soundId) const {
|
||||
return mIsRunning && !mIsFadingOut && GetId() == soundId;
|
||||
}
|
||||
|
||||
bool isPreparingSoundId(u32 soundId) const {
|
||||
return mIsPreparing && !mIsRunning && GetId() == soundId;
|
||||
}
|
||||
|
||||
bool isFadingOutSoundId(u32 soundId) const {
|
||||
return mIsFadingOut && IsAttachedSound();
|
||||
}
|
||||
|
||||
bool isPreparingSoundIdWithStartOffset(u32 soundId, u32 offset) const {
|
||||
return isPreparingSoundId(soundId) && (offset == 0 || mPrevStartOffset == offset);
|
||||
}
|
||||
|
||||
bool hasState() const {
|
||||
return mIsRunning || mIsPreparing || IsAttachedSound();
|
||||
}
|
||||
|
||||
protected:
|
||||
bool isRunning() const {
|
||||
return mIsRunning && IsAttachedSound();
|
||||
}
|
||||
@@ -186,28 +206,12 @@ protected:
|
||||
return mIsPreparing && !mIsRunning;
|
||||
}
|
||||
|
||||
bool canCancel() const {
|
||||
return mIsRunning || mIsPreparing || IsAttachedSound();
|
||||
}
|
||||
|
||||
bool isPreparingSoundId(u32 soundId) const {
|
||||
bool ret = mIsPreparing;
|
||||
if (ret) {
|
||||
ret = !mIsRunning;
|
||||
}
|
||||
if (ret) {
|
||||
ret = GetId() == soundId;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void resetControls();
|
||||
void resetTrackVolumes();
|
||||
|
||||
void setControlValue(dSndControlSound_c *ctrl, f32 value, s32 frames);
|
||||
|
||||
/* 0x08 */ u8 _0x08[0x10 - 0x08];
|
||||
|
||||
/* 0x08 */ nw4r::ut::Node mBgmMgrNode;
|
||||
/* 0x10 */ u32 mPrevStartOffset;
|
||||
/* 0x14 */ bool mIsPreparing;
|
||||
/* 0x15 */ bool mPauseFlag;
|
||||
|
||||
@@ -19,6 +19,7 @@ public:
|
||||
|
||||
static u32 getCharacterTalkSoundId(u32 baseSoundId, dSoundSource_c *source);
|
||||
u32 getRemoConSoundVariant(u32 soundId) const;
|
||||
s32 getRoomId() const;
|
||||
|
||||
// This is where it gets a bit wild and this class starts mixing in overrides between
|
||||
// new virtual functions, which causes the vtable to list these functions in exactly this
|
||||
@@ -86,10 +87,10 @@ private:
|
||||
// at 0x04: dSnd3DActor_c sub-object
|
||||
// at 0x58: thunk-vtable
|
||||
|
||||
/* 0xE8 */ nw4r::ut::Node mMgrLink;
|
||||
/* 0x0E8 */ nw4r::ut::Node mMgrLink;
|
||||
/* 0x0F0 */ const char *mpName;
|
||||
/* 0x0F4 */ UNKWORD field_0x0F4;
|
||||
/* 0x0F8 */ dAcBase_c *mpPlayer;
|
||||
/* 0x0F8 */ dAcBase_c *mpActor;
|
||||
/* 0x0FC */ u8 mSourceCategory;
|
||||
/* 0x0FD */ u8 mSourceType;
|
||||
/* 0x0FE */ u8 field_0x0FE;
|
||||
|
||||
@@ -19,6 +19,7 @@ enum SoundSourceType_e {
|
||||
|
||||
// 10-31: Enemy? (2)
|
||||
SND_SOURCE_ENEMY_10 = 10,
|
||||
SND_SOURCE_SPARK = 17,
|
||||
SND_SOURCE_BIGBOSS = 20,
|
||||
SND_SOURCE_GIRAHUMU_3 = 24,
|
||||
SND_SOURCE_BULLET = 29,
|
||||
|
||||
@@ -22,11 +22,16 @@ public:
|
||||
void playFlowSound(u32 id);
|
||||
static s32 getSourceCategoryForSourceType(s32 sourceType, const char *name);
|
||||
|
||||
static dSoundSource_c *getBoomerangSource() {
|
||||
return GetInstance()->mpBoomerangSource;
|
||||
}
|
||||
|
||||
private:
|
||||
static bool isCertainEnemyType(dSoundSource_c *source);
|
||||
void removeSourceFromList(dSoundSource_c *source, nw4r::ut::List *list);
|
||||
void clearSourceLists();
|
||||
void clearSourceList(nw4r::ut::List *list);
|
||||
s32 getPlayerSourceRoomId() const;
|
||||
|
||||
/* 0x0010 */ u8 field_0x0010;
|
||||
/* 0x0011 */ u8 field_0x0011;
|
||||
|
||||
@@ -0,0 +1,197 @@
|
||||
#ifndef D_SND_STATE_DEF_H
|
||||
#define D_SND_STATE_DEF_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
struct dSndStageInfo {
|
||||
/* 0x00 */ const char *stageName;
|
||||
/* 0x04 */ s32 layer;
|
||||
/* 0x08 */ u32 unk1;
|
||||
/* 0x0C */ u32 unk2;
|
||||
/* 0x10 */ u32 unk3;
|
||||
/* 0x14 */ u32 unk4;
|
||||
/* 0x18 */ const char *demoName;
|
||||
|
||||
|
||||
static const s32 sNumStageInfos;
|
||||
static const dSndStageInfo sInfos[];
|
||||
};
|
||||
|
||||
enum SndStage_e {
|
||||
/* 0x00 */ SND_STAGE_F100,
|
||||
/* 0x01 */ SND_STAGE_F101,
|
||||
/* 0x02 */ SND_STAGE_F102,
|
||||
/* 0x03 */ SND_STAGE_F102_1,
|
||||
/* 0x04 */ SND_STAGE_F103_L13,
|
||||
/* 0x05 */ SND_STAGE_F103,
|
||||
/* 0x06 */ SND_STAGE_F200,
|
||||
/* 0x07 */ SND_STAGE_F201_1,
|
||||
/* 0x08 */ SND_STAGE_F201_2,
|
||||
/* 0x09 */ SND_STAGE_F201_3,
|
||||
/* 0x0A */ SND_STAGE_F201_4,
|
||||
/* 0x0B */ SND_STAGE_F202,
|
||||
/* 0x0C */ SND_STAGE_F300,
|
||||
/* 0x0D */ SND_STAGE_F300_1,
|
||||
/* 0x0E */ SND_STAGE_F300_4_L13,
|
||||
/* 0x0F */ SND_STAGE_F300_4,
|
||||
/* 0x10 */ SND_STAGE_F301,
|
||||
/* 0x11 */ SND_STAGE_F301_1,
|
||||
/* 0x12 */ SND_STAGE_F301_2,
|
||||
/* 0x13 */ SND_STAGE_F301_3,
|
||||
/* 0x14 */ SND_STAGE_F301_4_L2,
|
||||
/* 0x15 */ SND_STAGE_F301_4,
|
||||
/* 0x16 */ SND_STAGE_F301_6,
|
||||
/* 0x17 */ SND_STAGE_F301_7,
|
||||
/* 0x18 */ SND_STAGE_F302_L13,
|
||||
/* 0x19 */ SND_STAGE_F302,
|
||||
/* 0x1A */ SND_STAGE_F400_L13,
|
||||
/* 0x1B */ SND_STAGE_F400,
|
||||
/* 0x1C */ SND_STAGE_F401_L2,
|
||||
/* 0x1D */ SND_STAGE_F401_L3,
|
||||
/* 0x1E */ SND_STAGE_F401_L4,
|
||||
/* 0x1F */ SND_STAGE_F401_L13,
|
||||
/* 0x20 */ SND_STAGE_F401_L14,
|
||||
/* 0x21 */ SND_STAGE_F401_L15,
|
||||
/* 0x22 */ SND_STAGE_F401,
|
||||
/* 0x23 */ SND_STAGE_F403_L13,
|
||||
/* 0x24 */ SND_STAGE_F403_L14,
|
||||
/* 0x25 */ SND_STAGE_F403_L15,
|
||||
/* 0x26 */ SND_STAGE_F403_L16,
|
||||
/* 0x27 */ SND_STAGE_F403,
|
||||
/* 0x28 */ SND_STAGE_F405,
|
||||
/* 0x29 */ SND_STAGE_F406_L13,
|
||||
/* 0x2A */ SND_STAGE_F406_L14,
|
||||
/* 0x2B */ SND_STAGE_F406,
|
||||
/* 0x2C */ SND_STAGE_D301,
|
||||
/* 0x2D */ SND_STAGE_D301_1,
|
||||
/* 0x2E */ SND_STAGE_D000,
|
||||
/* 0x2F */ SND_STAGE_D100,
|
||||
/* 0x30 */ SND_STAGE_D101,
|
||||
/* 0x31 */ SND_STAGE_D200,
|
||||
/* 0x32 */ SND_STAGE_D201,
|
||||
/* 0x33 */ SND_STAGE_D201_1,
|
||||
/* 0x34 */ SND_STAGE_D300,
|
||||
/* 0x35 */ SND_STAGE_D300_1,
|
||||
/* 0x36 */ SND_STAGE_D003_0,
|
||||
/* 0x37 */ SND_STAGE_D003_1,
|
||||
/* 0x38 */ SND_STAGE_D003_2,
|
||||
/* 0x39 */ SND_STAGE_D003_3,
|
||||
/* 0x3A */ SND_STAGE_D003_4,
|
||||
/* 0x3B */ SND_STAGE_D003_5,
|
||||
/* 0x3C */ SND_STAGE_D003_6,
|
||||
/* 0x3D */ SND_STAGE_D003_7,
|
||||
/* 0x3E */ SND_STAGE_D003_8,
|
||||
/* 0x3F */ SND_STAGE_B100_L13,
|
||||
/* 0x40 */ SND_STAGE_B100,
|
||||
/* 0x41 */ SND_STAGE_B100_1_L13,
|
||||
/* 0x42 */ SND_STAGE_B100_1,
|
||||
/* 0x43 */ SND_STAGE_B101,
|
||||
/* 0x44 */ SND_STAGE_B101_1_L13,
|
||||
/* 0x45 */ SND_STAGE_B101_1,
|
||||
/* 0x46 */ SND_STAGE_B200_L1,
|
||||
/* 0x47 */ SND_STAGE_B200_L2,
|
||||
/* 0x48 */ SND_STAGE_B200_L3,
|
||||
/* 0x49 */ SND_STAGE_B200,
|
||||
/* 0x4A */ SND_STAGE_B210_L13,
|
||||
/* 0x4B */ SND_STAGE_B210_L14,
|
||||
/* 0x4C */ SND_STAGE_B210,
|
||||
/* 0x4D */ SND_STAGE_B201_L13,
|
||||
/* 0x4E */ SND_STAGE_B201,
|
||||
/* 0x4F */ SND_STAGE_B201_1_L13,
|
||||
/* 0x50 */ SND_STAGE_B201_1,
|
||||
/* 0x51 */ SND_STAGE_B300,
|
||||
/* 0x52 */ SND_STAGE_B301_L13,
|
||||
/* 0x53 */ SND_STAGE_B301,
|
||||
/* 0x54 */ SND_STAGE_B003,
|
||||
/* 0x55 */ SND_STAGE_B400_L13,
|
||||
/* 0x56 */ SND_STAGE_B400_L14,
|
||||
/* 0x57 */ SND_STAGE_B400,
|
||||
/* 0x58 */ SND_STAGE_F100_1,
|
||||
/* 0x59 */ SND_STAGE_F100_2,
|
||||
/* 0x5A */ SND_STAGE_F102_2,
|
||||
/* 0x5B */ SND_STAGE_F103_1_L13,
|
||||
/* 0x5C */ SND_STAGE_F103_1_L14,
|
||||
/* 0x5D */ SND_STAGE_F103_1,
|
||||
/* 0x5E */ SND_STAGE_F210,
|
||||
/* 0x5F */ SND_STAGE_F211,
|
||||
/* 0x60 */ SND_STAGE_F221_L13,
|
||||
/* 0x61 */ SND_STAGE_F221,
|
||||
/* 0x62 */ SND_STAGE_F202_1,
|
||||
/* 0x63 */ SND_STAGE_F202_2,
|
||||
/* 0x64 */ SND_STAGE_F202_3,
|
||||
/* 0x65 */ SND_STAGE_F202_4,
|
||||
/* 0x66 */ SND_STAGE_F300_2,
|
||||
/* 0x67 */ SND_STAGE_F300_3,
|
||||
/* 0x68 */ SND_STAGE_F300_5,
|
||||
/* 0x69 */ SND_STAGE_F303,
|
||||
/* 0x6A */ SND_STAGE_S000,
|
||||
/* 0x6B */ SND_STAGE_S100,
|
||||
/* 0x6C */ SND_STAGE_S200,
|
||||
/* 0x6D */ SND_STAGE_S300,
|
||||
/* 0x6E */ SND_STAGE_F020_L3,
|
||||
/* 0x6F */ SND_STAGE_F020,
|
||||
/* 0x70 */ SND_STAGE_F021_L13,
|
||||
/* 0x71 */ SND_STAGE_F021,
|
||||
/* 0x72 */ SND_STAGE_F023_L14,
|
||||
/* 0x73 */ SND_STAGE_F023,
|
||||
/* 0x74 */ SND_STAGE_F000_L13,
|
||||
/* 0x75 */ SND_STAGE_F000_L14,
|
||||
/* 0x76 */ SND_STAGE_F000_L15,
|
||||
/* 0x77 */ SND_STAGE_F000_L16,
|
||||
/* 0x78 */ SND_STAGE_F000_L17,
|
||||
/* 0x79 */ SND_STAGE_F000_L18,
|
||||
/* 0x7A */ SND_STAGE_F000_L19,
|
||||
/* 0x7B */ SND_STAGE_F000_L20,
|
||||
/* 0x7C */ SND_STAGE_F000_L21,
|
||||
/* 0x7D */ SND_STAGE_F000_L26,
|
||||
/* 0x7E */ SND_STAGE_F000_L27,
|
||||
/* 0x7F */ SND_STAGE_F000,
|
||||
/* 0x80 */ SND_STAGE_F301_5,
|
||||
/* 0x81 */ SND_STAGE_F001r_L13,
|
||||
/* 0x82 */ SND_STAGE_F001r_L14,
|
||||
/* 0x83 */ SND_STAGE_F001r_L15,
|
||||
/* 0x84 */ SND_STAGE_F001r,
|
||||
/* 0x85 */ SND_STAGE_F002r,
|
||||
/* 0x86 */ SND_STAGE_F004r,
|
||||
/* 0x87 */ SND_STAGE_F009r,
|
||||
/* 0x88 */ SND_STAGE_F011r,
|
||||
/* 0x89 */ SND_STAGE_F012r,
|
||||
/* 0x8A */ SND_STAGE_F019r,
|
||||
/* 0x8B */ SND_STAGE_F005r,
|
||||
/* 0x8C */ SND_STAGE_F006r,
|
||||
/* 0x8D */ SND_STAGE_F007r,
|
||||
/* 0x8E */ SND_STAGE_F013r,
|
||||
/* 0x8F */ SND_STAGE_F014r,
|
||||
/* 0x90 */ SND_STAGE_F015r,
|
||||
/* 0x91 */ SND_STAGE_F016r,
|
||||
/* 0x92 */ SND_STAGE_F017r,
|
||||
/* 0x93 */ SND_STAGE_F018r,
|
||||
/* 0x94 */ SND_STAGE_F402_L2,
|
||||
/* 0x95 */ SND_STAGE_F402_L3,
|
||||
/* 0x96 */ SND_STAGE_F402_L5,
|
||||
/* 0x97 */ SND_STAGE_F402_L13,
|
||||
/* 0x98 */ SND_STAGE_F402_L18,
|
||||
/* 0x99 */ SND_STAGE_F402_L19,
|
||||
/* 0x9A */ SND_STAGE_F402,
|
||||
/* 0x9B */ SND_STAGE_F404_L13,
|
||||
/* 0x9C */ SND_STAGE_F404_L14,
|
||||
/* 0x9D */ SND_STAGE_F404,
|
||||
/* 0x9E */ SND_STAGE_F407_L13,
|
||||
/* 0x9F */ SND_STAGE_F407_L14,
|
||||
/* 0xA0 */ SND_STAGE_F407_L15,
|
||||
/* 0xA1 */ SND_STAGE_F407,
|
||||
/* 0xA2 */ SND_STAGE_F008r_L13,
|
||||
/* 0xA3 */ SND_STAGE_F008r_L14,
|
||||
/* 0xA4 */ SND_STAGE_F008r_L15,
|
||||
/* 0xA5 */ SND_STAGE_F008r,
|
||||
/* 0xA6 */ SND_STAGE_F010r_L13,
|
||||
/* 0xA7 */ SND_STAGE_F010r_L14,
|
||||
/* 0xA8 */ SND_STAGE_F010r_L15,
|
||||
/* 0xA9 */ SND_STAGE_F010r,
|
||||
/* 0xAA */ SND_STAGE_Demo_L13,
|
||||
/* 0xAB */ SND_STAGE_Demo,
|
||||
|
||||
/* 0xAC */ SND_STAGE_MAX,
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,139 @@
|
||||
#ifndef D_SND_STATE_MGR_H
|
||||
#define D_SND_STATE_MGR_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_util.h"
|
||||
#include "nw4r/snd/snd_FxReverbStdDpl2.h"
|
||||
#include "sized_string.h"
|
||||
|
||||
SND_DISPOSER_FORWARD_DECL(dSndStateMgr_c);
|
||||
|
||||
// Previous Ghidra name: EnemySoundMgr
|
||||
class dSndStateMgr_c {
|
||||
public:
|
||||
SND_DISPOSER_MEMBERS(dSndStateMgr_c);
|
||||
|
||||
public:
|
||||
enum StageFlags_e {
|
||||
STAGE_FIELD = 0x1,
|
||||
STAGE_DUNGEON = 0x2,
|
||||
STAGE_BOSS = 0x4,
|
||||
STAGE_SILENT_REALM = 0x8,
|
||||
|
||||
STAGE_ROOM = 0x10, // only for sky
|
||||
|
||||
STAGE_SKY = 0x20,
|
||||
STAGE_FOREST = 0x40,
|
||||
STAGE_MOUNTAIN = 0x80,
|
||||
STAGE_DESERT = 0x100,
|
||||
STAGE_SILENT_GROUNDS = 0x200,
|
||||
};
|
||||
|
||||
dSndStateMgr_c();
|
||||
|
||||
void setup(EGG::Heap *pHeap);
|
||||
void onStageOrLayerUpdate();
|
||||
|
||||
static bool isInStage(const char *stageName);
|
||||
|
||||
u32 getField_0x11C() const {
|
||||
return field_0x11C;
|
||||
}
|
||||
|
||||
void resetStageName() {
|
||||
field_0x098 = "EVENT_NONE";
|
||||
}
|
||||
|
||||
bool checkFlag0x10(u32 mask) const {
|
||||
return field_0x010 & mask;
|
||||
}
|
||||
|
||||
void onFlag0x10(u32 mask) {
|
||||
field_0x010 |= mask;
|
||||
}
|
||||
|
||||
void offFlag0x10(u32 mask) {
|
||||
field_0x010 &= ~mask;
|
||||
}
|
||||
|
||||
void setFlowEvent(u32 eventId);
|
||||
|
||||
private:
|
||||
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);
|
||||
|
||||
/* 0x010 */ u32 field_0x010;
|
||||
/* 0x014 */ UNKWORD field_0x014;
|
||||
/* 0x018 */ UNKWORD field_0x018;
|
||||
/* 0x01C */ SizedString<32> field_0x01C;
|
||||
/* 0x03C */ UNKWORD field_0x03C;
|
||||
/* 0x040 */ s32 mStageId;
|
||||
/* 0x044 */ UNKWORD field_0x044;
|
||||
/* 0x048 */ u8 _0x048[0x050 - 0x048];
|
||||
/* 0x050 */ s32 mPreviousStageId;
|
||||
/* 0x054 */ UNKWORD field_0x054;
|
||||
/* 0x058 */ UNKWORD field_0x058;
|
||||
/* 0x05C */ s32 mLayer;
|
||||
/* 0x060 */ UNKWORD field_0x060;
|
||||
/* 0x064 */ u8 field_0x064;
|
||||
/* 0x065 */ bool field_0x065;
|
||||
/* 0x066 */ u8 field_0x066;
|
||||
/* 0x067 */ u8 field_0x067;
|
||||
/* 0x068 */ UNKWORD field_0x068;
|
||||
/* 0x06C */ UNKWORD field_0x06C;
|
||||
/* 0x070 */ UNKWORD field_0x070;
|
||||
/* 0x074 */ UNKWORD field_0x074;
|
||||
/* 0x078 */ UNKWORD field_0x078;
|
||||
/* 0x07C */ UNKWORD field_0x07C;
|
||||
/* 0x080 */ UNKWORD field_0x080;
|
||||
/* 0x084 */ UNKWORD field_0x084;
|
||||
/* 0x088 */ UNKWORD field_0x088;
|
||||
/* 0x08C */ UNKWORD field_0x08C;
|
||||
/* 0x090 */ UNKWORD field_0x090;
|
||||
/* 0x094 */ u32 field_0x094;
|
||||
/* 0x098 */ SizedString<64> field_0x098;
|
||||
/* 0x0D8 */ SizedString<64> field_0x0D8;
|
||||
/* 0x118 */ const char *field_0x118;
|
||||
/* 0x11C */ u32 field_0x11C;
|
||||
/* 0x120 */ UNKWORD field_0x120;
|
||||
/* 0x124 */ UNKWORD field_0x124;
|
||||
/* 0x128 */ UNKWORD field_0x128;
|
||||
/* 0x12C */ SizedString<64> field_0x12C;
|
||||
/* 0x16C */ SizedString<64> field_0x16C;
|
||||
/* 0x1AC */ SizedString<64> field_0x1AC;
|
||||
/* 0x1EC */ SizedString<64> field_0x1EC;
|
||||
/* 0x22C */ UNKWORD field_0x22C;
|
||||
/* 0x230 */ UNKWORD field_0x230;
|
||||
/* 0x234 */ UNKWORD field_0x234;
|
||||
/* 0x238 */ UNKWORD field_0x238;
|
||||
/* 0x23C */ u8 field_0x23C;
|
||||
/* 0x23D */ u8 field_0x23D;
|
||||
/* 0x240 */ UNKWORD field_0x240;
|
||||
/* 0x244 */ UNKWORD field_0x244;
|
||||
/* 0x248 */ UNKWORD field_0x248;
|
||||
/* 0x24C */ UNKWORD field_0x24C;
|
||||
/* 0x250 */ UNKWORD field_0x250;
|
||||
/* 0x254 */ u8 field_0x254;
|
||||
/* 0x258 */ UNKWORD field_0x258;
|
||||
/* 0x25C */ nw4r::snd::FxReverbStdDpl2 mFx;
|
||||
/* 0x48C */ UNKWORD field_0x48C;
|
||||
/* 0x490 */ f32 field_0x490;
|
||||
/* 0x494 */ f32 field_0x494;
|
||||
/* 0x498 */ f32 field_0x498;
|
||||
/* 0x49C */ f32 field_0x49C;
|
||||
/* 0x4A0 */ f32 field_0x4A0;
|
||||
/* 0x4A4 */ UNKWORD field_0x4A4;
|
||||
/* 0x4A8 */ u8 field_0x4A8;
|
||||
/* 0x4A9 */ bool needsGroupsReload;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -6468,4 +6468,710 @@ enum WZSound {
|
||||
/* 0x193D */ LABEL_SOUND_END
|
||||
};
|
||||
|
||||
enum WZSound_Group {
|
||||
/* 0x000 */ GRP_BGM_BOSS_A,
|
||||
/* 0x001 */ GRP_BGM_STATIC,
|
||||
/* 0x002 */ GRP_FAN_TIMECHANGE,
|
||||
/* 0x003 */ GRP_BGM_HARP_GODDESS,
|
||||
/* 0x004 */ GRP_BGM_HARP_BREEZE,
|
||||
/* 0x005 */ GRP_BGM_HARP_AQUA,
|
||||
/* 0x006 */ GRP_BGM_HARP_FLAME,
|
||||
/* 0x007 */ GRP_BGM_HARP_BRAVE,
|
||||
/* 0x008 */ GRP_BGM_HARP_PUMPKIN,
|
||||
/* 0x009 */ GRP_BGM_PLAY_DATA_STATIC,
|
||||
/* 0x00A */ GRP_SE_SYSTEM_MINIGAME,
|
||||
/* 0x00B */ GRP_SE_LINK,
|
||||
/* 0x00C */ GRP_SE_LINK_VOICE,
|
||||
/* 0x00D */ GRP_SE_HARP,
|
||||
/* 0x00E */ GRP_SE_NPC_COMMON,
|
||||
/* 0x00F */ GRP_SE_NpcKen,
|
||||
/* 0x010 */ GRP_SE_NpcKen_VOCUL,
|
||||
/* 0x011 */ GRP_SE_A_IN_WATER,
|
||||
/* 0x012 */ GRP_SE_IN_WATER,
|
||||
/* 0x013 */ GRP_SE_IN_WATER_MINI,
|
||||
/* 0x014 */ GRP_SE_STATIC,
|
||||
/* 0x015 */ GRP_DEFAULT,
|
||||
/* 0x016 */ GRP_FIELD,
|
||||
/* 0x017 */ GRP_BOSS,
|
||||
/* 0x018 */ GRP_DUNGEON,
|
||||
/* 0x019 */ GRP_DUNGEON_BATTLE_ROOM,
|
||||
/* 0x01A */ GRP_SIREN,
|
||||
/* 0x01B */ GRP_SKY,
|
||||
/* 0x01C */ GRP_INDOOR,
|
||||
/* 0x01D */ GRP_Demo,
|
||||
/* 0x01E */ GRP_FOREST,
|
||||
/* 0x01F */ GRP_MOUNTAIN,
|
||||
/* 0x020 */ GRP_DESERT,
|
||||
/* 0x021 */ GRP_STATIC,
|
||||
/* 0x022 */ GRP_Warp,
|
||||
/* 0x023 */ GRP_Sw,
|
||||
/* 0x024 */ GRP_Pumpkin,
|
||||
/* 0x025 */ GRP_Kanban,
|
||||
/* 0x026 */ GRP_Item_A43,
|
||||
/* 0x027 */ GRP_NpcRvl,
|
||||
/* 0x028 */ GRP_NpcKbn,
|
||||
/* 0x029 */ GRP_NpcKbn2,
|
||||
/* 0x02A */ GRP_NpcSkn,
|
||||
/* 0x02B */ GRP_NpcSkn2,
|
||||
/* 0x02C */ GRP_NpcZld,
|
||||
/* 0x02D */ GRP_NpcDsk,
|
||||
/* 0x02E */ GRP_NpcDrb,
|
||||
/* 0x02F */ GRP_NpcDrbC,
|
||||
/* 0x030 */ GRP_NpcSoFa,
|
||||
/* 0x031 */ GRP_NpcSoMo,
|
||||
/* 0x032 */ GRP_NpcSoG,
|
||||
/* 0x033 */ GRP_NpcTer,
|
||||
/* 0x034 */ GRP_NpcResc,
|
||||
/* 0x035 */ GRP_NpcResc_A1,
|
||||
/* 0x036 */ GRP_NpcResc_A2,
|
||||
/* 0x037 */ GRP_TstShtr,
|
||||
/* 0x038 */ GRP_Kibako,
|
||||
/* 0x039 */ GRP_PyBird,
|
||||
/* 0x03A */ GRP_BirdCommon,
|
||||
/* 0x03B */ GRP_BirdR,
|
||||
/* 0x03C */ GRP_BirdZT,
|
||||
/* 0x03D */ GRP_BirdB,
|
||||
/* 0x03E */ GRP_Nusi,
|
||||
/* 0x03F */ GRP_NusiT,
|
||||
/* 0x040 */ GRP_BMg,
|
||||
/* 0x041 */ GRP_BKr,
|
||||
/* 0x042 */ GRP_BKrA,
|
||||
/* 0x043 */ GRP_BLasBos,
|
||||
/* 0x044 */ GRP_Bvd,
|
||||
/* 0x045 */ GRP_Vdb,
|
||||
/* 0x046 */ GRP_ECptn,
|
||||
/* 0x047 */ GRP_EAm,
|
||||
/* 0x048 */ GRP_Swhit,
|
||||
/* 0x049 */ GRP_ESf,
|
||||
/* 0x04A */ GRP_ESf4,
|
||||
/* 0x04B */ GRP_Est,
|
||||
/* 0x04C */ GRP_ERemly,
|
||||
/* 0x04D */ GRP_ELizaru,
|
||||
/* 0x04E */ GRP_EHidoK,
|
||||
/* 0x04F */ GRP_EHydra,
|
||||
/* 0x050 */ GRP_EGunho,
|
||||
/* 0x051 */ GRP_EGunhob,
|
||||
/* 0x052 */ GRP_EBfish,
|
||||
/* 0x053 */ GRP_ECactus,
|
||||
/* 0x054 */ GRP_ESm,
|
||||
/* 0x055 */ GRP_EBeamos,
|
||||
/* 0x056 */ GRP_EGeko,
|
||||
/* 0x057 */ GRP_EPo,
|
||||
/* 0x058 */ GRP_EPh,
|
||||
/* 0x059 */ GRP_EOr,
|
||||
/* 0x05A */ GRP_EEye,
|
||||
/* 0x05B */ GRP_ESpark,
|
||||
/* 0x05C */ GRP_EMagma,
|
||||
/* 0x05D */ GRP_EMagupp,
|
||||
/* 0x05E */ GRP_EKs,
|
||||
/* 0x05F */ GRP_Ehb,
|
||||
/* 0x060 */ GRP_EWs,
|
||||
/* 0x061 */ GRP_BGh,
|
||||
/* 0x062 */ GRP_BGh3,
|
||||
/* 0x063 */ GRP_OGhSwL,
|
||||
/* 0x064 */ GRP_OGhKf,
|
||||
/* 0x065 */ GRP_BAsura,
|
||||
/* 0x066 */ GRP_AsuraB,
|
||||
/* 0x067 */ GRP_AsuraS,
|
||||
/* 0x068 */ GRP_AsuraP,
|
||||
/* 0x069 */ GRP_EMr,
|
||||
/* 0x06A */ GRP_EMr_A1,
|
||||
/* 0x06B */ GRP_EGumarm,
|
||||
/* 0x06C */ GRP_NpcBird,
|
||||
/* 0x06D */ GRP_Himo,
|
||||
/* 0x06E */ GRP_SpiderL,
|
||||
/* 0x06F */ GRP_Wind,
|
||||
/* 0x070 */ GRP_Wind02,
|
||||
/* 0x071 */ GRP_Wind03,
|
||||
/* 0x072 */ GRP_Wind04,
|
||||
/* 0x073 */ GRP_Tornado,
|
||||
/* 0x074 */ GRP_SkEnmyT,
|
||||
/* 0x075 */ GRP_EBc,
|
||||
/* 0x076 */ GRP_EKGira,
|
||||
/* 0x077 */ GRP_BcArrow,
|
||||
/* 0x078 */ GRP_EBcZ,
|
||||
/* 0x079 */ GRP_ESktl,
|
||||
/* 0x07A */ GRP_Bamboo,
|
||||
/* 0x07B */ GRP_TgTrap,
|
||||
/* 0x07C */ GRP_NpcSalS,
|
||||
/* 0x07D */ GRP_NpcSalS_A1,
|
||||
/* 0x07E */ GRP_NpcSalS_A2,
|
||||
/* 0x07F */ GRP_NpcSalS_A4,
|
||||
/* 0x080 */ GRP_NpcSalS_A5,
|
||||
/* 0x081 */ GRP_NpcSalS_A8,
|
||||
/* 0x082 */ GRP_NpcDoMo,
|
||||
/* 0x083 */ GRP_NpcJkMo,
|
||||
/* 0x084 */ GRP_NpcSAMo,
|
||||
/* 0x085 */ GRP_NpcSMnE,
|
||||
/* 0x086 */ GRP_NpcSMnD,
|
||||
/* 0x087 */ GRP_NpcAzFa,
|
||||
/* 0x088 */ GRP_NpcDskN,
|
||||
/* 0x089 */ GRP_EChb,
|
||||
/* 0x08A */ GRP_EGue,
|
||||
/* 0x08B */ GRP_EGerock,
|
||||
/* 0x08C */ GRP_PushBlk,
|
||||
/* 0x08D */ GRP_CyStone,
|
||||
/* 0x08E */ GRP_HnComb,
|
||||
/* 0x08F */ GRP_Bee,
|
||||
/* 0x090 */ GRP_Bubble,
|
||||
/* 0x091 */ GRP_EChaser,
|
||||
/* 0x092 */ GRP_EHidory,
|
||||
/* 0x093 */ GRP_NpcOim,
|
||||
/* 0x094 */ GRP_NpcYim,
|
||||
/* 0x095 */ GRP_NpcBgr,
|
||||
/* 0x096 */ GRP_NpcSlrb,
|
||||
/* 0x097 */ GRP_NpcSma3,
|
||||
/* 0x098 */ GRP_NpcSma2,
|
||||
/* 0x099 */ GRP_NpcPma,
|
||||
/* 0x09A */ GRP_NpcPdu,
|
||||
/* 0x09B */ GRP_NpcCbFd,
|
||||
/* 0x09C */ GRP_NpcFdr,
|
||||
/* 0x09D */ GRP_NpcTdr,
|
||||
/* 0x09E */ GRP_NpcAdr,
|
||||
/* 0x09F */ GRP_NpcGhm,
|
||||
/* 0x0A0 */ GRP_NpcSha,
|
||||
/* 0x0A1 */ GRP_NpcGra,
|
||||
/* 0x0A2 */ GRP_NpcSoBo,
|
||||
/* 0x0A3 */ GRP_NpcAkum,
|
||||
/* 0x0A4 */ GRP_NpcSui,
|
||||
/* 0x0A5 */ GRP_NpcMole,
|
||||
/* 0x0A6 */ GRP_NpcMole_A1,
|
||||
/* 0x0A7 */ GRP_NpcMole_A2,
|
||||
/* 0x0A8 */ GRP_NpcMoN,
|
||||
/* 0x0A9 */ GRP_NpcMoT,
|
||||
/* 0x0AA */ GRP_NpcMoEl,
|
||||
/* 0x0AB */ GRP_NpcChef,
|
||||
/* 0x0AC */ GRP_Door,
|
||||
/* 0x0AD */ GRP_Door_A4,
|
||||
/* 0x0AE */ GRP_SwWall,
|
||||
/* 0x0AF */ GRP_LeafSwg,
|
||||
/* 0x0B0 */ GRP_IvyRope,
|
||||
/* 0x0B1 */ GRP_RopeIga,
|
||||
/* 0x0B2 */ GRP_RolRock,
|
||||
/* 0x0B3 */ GRP_RidRock,
|
||||
/* 0x0B4 */ GRP_MvLiftV,
|
||||
/* 0x0B5 */ GRP_Truck,
|
||||
/* 0x0B6 */ GRP_TrapRc1,
|
||||
/* 0x0B7 */ GRP_StprRc,
|
||||
/* 0x0B8 */ GRP_Log,
|
||||
/* 0x0B9 */ GRP_LogWtr,
|
||||
/* 0x0BA */ GRP_LightLi,
|
||||
/* 0x0BB */ GRP_TimeStn,
|
||||
/* 0x0BC */ GRP_BlsRock,
|
||||
/* 0x0BD */ GRP_BlsRock_A18,
|
||||
/* 0x0BE */ GRP_BlsRock_A5,
|
||||
/* 0x0BF */ GRP_BlsRock_A6,
|
||||
/* 0x0C0 */ GRP_BlsRock_A10,
|
||||
/* 0x0C1 */ GRP_BlsRock_A8,
|
||||
/* 0x0C2 */ GRP_FenceIr,
|
||||
/* 0x0C3 */ GRP_SwDir,
|
||||
/* 0x0C4 */ GRP_SwDir2,
|
||||
/* 0x0C5 */ GRP_SwBnk,
|
||||
/* 0x0C6 */ GRP_SwBnkS,
|
||||
/* 0x0C7 */ GRP_Fairy,
|
||||
/* 0x0C8 */ GRP_SnkFlrF,
|
||||
/* 0x0C9 */ GRP_StpGm,
|
||||
/* 0x0CA */ GRP_BrgFall,
|
||||
/* 0x0CB */ GRP_BrgStp,
|
||||
/* 0x0CC */ GRP_Gear,
|
||||
/* 0x0CD */ GRP_DNight,
|
||||
/* 0x0CE */ GRP_Fire,
|
||||
/* 0x0CF */ GRP_Tshop,
|
||||
/* 0x0D0 */ GRP_Obstacl,
|
||||
/* 0x0D1 */ GRP_BeltCvr,
|
||||
/* 0x0D2 */ GRP_Gcoil,
|
||||
/* 0x0D3 */ GRP_Lotus,
|
||||
/* 0x0D4 */ GRP_OcGrs,
|
||||
/* 0x0D5 */ GRP_StepTS,
|
||||
/* 0x0D6 */ GRP_WarpObj,
|
||||
/* 0x0D7 */ GRP_WarpObj_A5,
|
||||
/* 0x0D8 */ GRP_WarpObj_A4,
|
||||
/* 0x0D9 */ GRP_WarpObj_A2,
|
||||
/* 0x0DA */ GRP_WarpObj_A6,
|
||||
/* 0x0DB */ GRP_WarpObj_A7,
|
||||
/* 0x0DC */ GRP_Barrel,
|
||||
/* 0x0DD */ GRP_Boat,
|
||||
/* 0x0DE */ GRP_Blst,
|
||||
/* 0x0DF */ GRP_BlstF3,
|
||||
/* 0x0E0 */ GRP_TrpBrdW,
|
||||
/* 0x0E1 */ GRP_Tckl,
|
||||
/* 0x0E2 */ GRP_LvPlt,
|
||||
/* 0x0E3 */ GRP_TWeed,
|
||||
/* 0x0E4 */ GRP_TBoat,
|
||||
/* 0x0E5 */ GRP_TBoatB,
|
||||
/* 0x0E6 */ GRP_Vortex,
|
||||
/* 0x0E7 */ GRP_TowerB,
|
||||
/* 0x0E8 */ GRP_D300Obj,
|
||||
/* 0x0E9 */ GRP_BrgBn,
|
||||
/* 0x0EA */ GRP_SwSB,
|
||||
/* 0x0EB */ GRP_SndStn,
|
||||
/* 0x0EC */ GRP_SwHrp,
|
||||
/* 0x0ED */ GRP_SwHrp_A1,
|
||||
/* 0x0EE */ GRP_SwHrp_A2,
|
||||
/* 0x0EF */ GRP_SwHrp_A4,
|
||||
/* 0x0F0 */ GRP_Tubo,
|
||||
/* 0x0F1 */ GRP_BigTubo,
|
||||
/* 0x0F2 */ GRP_DoorBs,
|
||||
/* 0x0F3 */ GRP_TBox,
|
||||
/* 0x0F4 */ GRP_EffGnT_A2,
|
||||
/* 0x0F5 */ GRP_PoleStn,
|
||||
/* 0x0F6 */ GRP_EKg,
|
||||
/* 0x0F7 */ GRP_BBigBos,
|
||||
/* 0x0F8 */ GRP_NpcBRvl,
|
||||
/* 0x0F9 */ GRP_OBBLBom,
|
||||
/* 0x0FA */ GRP_NpcSoma,
|
||||
/* 0x0FB */ GRP_NpcSowo,
|
||||
/* 0x0FC */ GRP_vmSand,
|
||||
/* 0x0FD */ GRP_wnleaf,
|
||||
/* 0x0FE */ GRP_tware,
|
||||
/* 0x0FF */ GRP_swsht,
|
||||
/* 0x100 */ GRP_rpillar,
|
||||
/* 0x101 */ GRP_wfall,
|
||||
/* 0x102 */ GRP_ftower,
|
||||
/* 0x103 */ GRP_NpcKen,
|
||||
/* 0x104 */ GRP_sw_whip,
|
||||
/* 0x105 */ GRP_ShtCS,
|
||||
/* 0x106 */ GRP_fruit,
|
||||
/* 0x107 */ GRP_Kinoko,
|
||||
/* 0x108 */ GRP_chest,
|
||||
/* 0x109 */ GRP_LBird,
|
||||
/* 0x10A */ GRP_Fish,
|
||||
/* 0x10B */ GRP_Eel,
|
||||
/* 0x10C */ GRP_TerrGmk,
|
||||
/* 0x10D */ GRP_TgSound_A1,
|
||||
/* 0x10E */ GRP_TgSound_A2,
|
||||
/* 0x10F */ GRP_TgSound_A3,
|
||||
/* 0x110 */ GRP_TgSound_A4,
|
||||
/* 0x111 */ GRP_TgSound_A5,
|
||||
/* 0x112 */ GRP_TgSound_A6,
|
||||
/* 0x113 */ GRP_TgSound_A7,
|
||||
/* 0x114 */ GRP_TgSound_A8,
|
||||
/* 0x115 */ GRP_TgSound_A9,
|
||||
/* 0x116 */ GRP_TgSound_A10,
|
||||
/* 0x117 */ GRP_TgSound_A11,
|
||||
/* 0x118 */ GRP_TgSound_A12,
|
||||
/* 0x119 */ GRP_TgSound_A13,
|
||||
/* 0x11A */ GRP_TgSound_A14,
|
||||
/* 0x11B */ GRP_TgSound_A15,
|
||||
/* 0x11C */ GRP_TgSound_A16,
|
||||
/* 0x11D */ GRP_TgSound_A17,
|
||||
/* 0x11E */ GRP_TgSound_A18,
|
||||
/* 0x11F */ GRP_TgSound_A19,
|
||||
/* 0x120 */ GRP_TgSound_A20,
|
||||
/* 0x121 */ GRP_TgSound_A21,
|
||||
/* 0x122 */ GRP_TgSound_A22,
|
||||
/* 0x123 */ GRP_TgSound_A23,
|
||||
/* 0x124 */ GRP_TgSound_A24,
|
||||
/* 0x125 */ GRP_TgSound_A25,
|
||||
/* 0x126 */ GRP_TgSound_A26,
|
||||
/* 0x127 */ GRP_TgSound_A27,
|
||||
/* 0x128 */ GRP_TgSound_A28,
|
||||
/* 0x129 */ GRP_TgSound_A29,
|
||||
/* 0x12A */ GRP_TgSound_A30,
|
||||
/* 0x12B */ GRP_TgSound_A31,
|
||||
/* 0x12C */ GRP_TgSound_A32,
|
||||
/* 0x12D */ GRP_TgSound_A33,
|
||||
/* 0x12E */ GRP_TgSound_A34,
|
||||
/* 0x12F */ GRP_TgSound_A35,
|
||||
/* 0x130 */ GRP_TgSound_A36,
|
||||
/* 0x131 */ GRP_TgSound_A37,
|
||||
/* 0x132 */ GRP_TgSound_A38,
|
||||
/* 0x133 */ GRP_TgSound_A39,
|
||||
/* 0x134 */ GRP_TgSound_A40,
|
||||
/* 0x135 */ GRP_ArrowSW,
|
||||
/* 0x136 */ GRP_VentFan,
|
||||
/* 0x137 */ GRP_WdBoard,
|
||||
/* 0x138 */ GRP_ElLight,
|
||||
/* 0x139 */ GRP_WaterSW,
|
||||
/* 0x13A */ GRP_WaterSW_A1,
|
||||
/* 0x13B */ GRP_BulbSW,
|
||||
/* 0x13C */ GRP_SideST,
|
||||
/* 0x13D */ GRP_STKraPt,
|
||||
/* 0x13E */ GRP_HitLVSW,
|
||||
/* 0x13F */ GRP_UDLava,
|
||||
/* 0x140 */ GRP_BridgeB,
|
||||
/* 0x141 */ GRP_Cannon,
|
||||
/* 0x142 */ GRP_BridgeS,
|
||||
/* 0x143 */ GRP_BlwCoal,
|
||||
/* 0x144 */ GRP_UtaStop,
|
||||
/* 0x145 */ GRP_Windmil,
|
||||
/* 0x146 */ GRP_Pinwhel,
|
||||
/* 0x147 */ GRP_WatrIga,
|
||||
/* 0x148 */ GRP_STSink,
|
||||
/* 0x149 */ GRP_ShipWin,
|
||||
/* 0x14A */ GRP_FireObs,
|
||||
/* 0x14B */ GRP_FireObs_A1,
|
||||
/* 0x14C */ GRP_SldDoor,
|
||||
/* 0x14D */ GRP_SliceLg,
|
||||
/* 0x14E */ GRP_Debris,
|
||||
/* 0x14F */ GRP_DwnLava,
|
||||
/* 0x150 */ GRP_ApBridg,
|
||||
/* 0x151 */ GRP_GrCover,
|
||||
/* 0x152 */ GRP_TrukStp,
|
||||
/* 0x153 */ GRP_WFF102,
|
||||
/* 0x154 */ GRP_RockSkB,
|
||||
/* 0x155 */ GRP_Bell,
|
||||
/* 0x156 */ GRP_WndMilD,
|
||||
/* 0x157 */ GRP_RkDrgn,
|
||||
/* 0x158 */ GRP_Insect,
|
||||
/* 0x159 */ GRP_Uground,
|
||||
/* 0x15A */ GRP_BlockUg,
|
||||
/* 0x15B */ GRP_MagBoat,
|
||||
/* 0x15C */ GRP_skull,
|
||||
/* 0x15D */ GRP_ESyako,
|
||||
/* 0x15E */ GRP_LtsFlwr,
|
||||
/* 0x15F */ GRP_LtsSeed,
|
||||
/* 0x160 */ GRP_Npckyu,
|
||||
/* 0x161 */ GRP_NpcKyuE,
|
||||
/* 0x162 */ GRP_lock,
|
||||
/* 0x163 */ GRP_trolley,
|
||||
/* 0x164 */ GRP_trolley_A2,
|
||||
/* 0x165 */ GRP_trlshut,
|
||||
/* 0x166 */ GRP_swsyako,
|
||||
/* 0x167 */ GRP_syashtr,
|
||||
/* 0x168 */ GRP_d2ship,
|
||||
/* 0x169 */ GRP_Chandel,
|
||||
/* 0x16A */ GRP_needleU,
|
||||
/* 0x16B */ GRP_SStatue,
|
||||
/* 0x16C */ GRP_NpcKyuW,
|
||||
/* 0x16D */ GRP_BDrD101,
|
||||
/* 0x16E */ GRP_NpcCbLd,
|
||||
/* 0x16F */ GRP_TGrD101,
|
||||
/* 0x170 */ GRP_ShtrWtr,
|
||||
/* 0x171 */ GRP_NpcKnld,
|
||||
/* 0x172 */ GRP_TowerHa,
|
||||
/* 0x173 */ GRP_NpcDgJg,
|
||||
/* 0x174 */ GRP_NpcMlMg,
|
||||
/* 0x175 */ GRP_BoxCage,
|
||||
/* 0x176 */ GRP_FWall,
|
||||
/* 0x177 */ GRP_SwrdPrj,
|
||||
/* 0x178 */ GRP_SdCdl,
|
||||
/* 0x179 */ GRP_NpcSenp,
|
||||
/* 0x17A */ GRP_NpcSenb,
|
||||
/* 0x17B */ GRP_Piston,
|
||||
/* 0x17C */ GRP_GodCube,
|
||||
/* 0x17D */ GRP_HeartCo,
|
||||
/* 0x17E */ GRP_Clef,
|
||||
/* 0x17F */ GRP_TDoor,
|
||||
/* 0x180 */ GRP_Fence,
|
||||
/* 0x181 */ GRP_Flag,
|
||||
/* 0x182 */ GRP_DoorDun,
|
||||
/* 0x183 */ GRP_DoorDun_A1,
|
||||
/* 0x184 */ GRP_DoorDun_A2,
|
||||
/* 0x185 */ GRP_TSBlk,
|
||||
/* 0x186 */ GRP_Propera,
|
||||
/* 0x187 */ GRP_Roulete,
|
||||
/* 0x188 */ GRP_LvD201,
|
||||
/* 0x189 */ GRP_Grave,
|
||||
/* 0x18A */ GRP_FruitB,
|
||||
/* 0x18B */ GRP_RoAtTar,
|
||||
/* 0x18C */ GRP_PrpLift,
|
||||
/* 0x18D */ GRP_TAgo,
|
||||
/* 0x18E */ GRP_DivCrst,
|
||||
/* 0x18F */ GRP_DNdl,
|
||||
/* 0x190 */ GRP_CtrlPnl,
|
||||
/* 0x191 */ GRP_NpcGost,
|
||||
/* 0x192 */ GRP_D2Mtr,
|
||||
/* 0x193 */ GRP_HrpHint,
|
||||
/* 0x194 */ GRP_Paint,
|
||||
/* 0x195 */ GRP_BrgTs,
|
||||
/* 0x196 */ GRP_WarpH,
|
||||
/* 0x197 */ GRP_UgSwitc,
|
||||
/* 0x198 */ GRP_F000,
|
||||
/* 0x199 */ GRP_F000_L1,
|
||||
/* 0x19A */ GRP_F000_L2,
|
||||
/* 0x19B */ GRP_F000_L3,
|
||||
/* 0x19C */ GRP_F000_L4,
|
||||
/* 0x19D */ GRP_F000_L5,
|
||||
/* 0x19E */ GRP_F000_L6,
|
||||
/* 0x19F */ GRP_F000_L7,
|
||||
/* 0x1A0 */ GRP_F000_L8,
|
||||
/* 0x1A1 */ GRP_F000_L9,
|
||||
/* 0x1A2 */ GRP_F000_L10,
|
||||
/* 0x1A3 */ GRP_F000_L12,
|
||||
/* 0x1A4 */ GRP_F000_L13,
|
||||
/* 0x1A5 */ GRP_F000_L14,
|
||||
/* 0x1A6 */ GRP_F000_L15,
|
||||
/* 0x1A7 */ GRP_F000_L16,
|
||||
/* 0x1A8 */ GRP_F000_L17,
|
||||
/* 0x1A9 */ GRP_F000_L18,
|
||||
/* 0x1AA */ GRP_F000_L19,
|
||||
/* 0x1AB */ GRP_F000_L20,
|
||||
/* 0x1AC */ GRP_F000_L21,
|
||||
/* 0x1AD */ GRP_F000_L26,
|
||||
/* 0x1AE */ GRP_F000_L27,
|
||||
/* 0x1AF */ GRP_F000_L28,
|
||||
/* 0x1B0 */ GRP_F001r,
|
||||
/* 0x1B1 */ GRP_F001r_L2,
|
||||
/* 0x1B2 */ GRP_F001r_L3,
|
||||
/* 0x1B3 */ GRP_F001r_L13,
|
||||
/* 0x1B4 */ GRP_F001r_L14,
|
||||
/* 0x1B5 */ GRP_F001r_L15,
|
||||
/* 0x1B6 */ GRP_F002r,
|
||||
/* 0x1B7 */ GRP_F004r,
|
||||
/* 0x1B8 */ GRP_F005r,
|
||||
/* 0x1B9 */ GRP_F006r,
|
||||
/* 0x1BA */ GRP_F007r,
|
||||
/* 0x1BB */ GRP_F008r,
|
||||
/* 0x1BC */ GRP_F008r_L1,
|
||||
/* 0x1BD */ GRP_F008r_L2,
|
||||
/* 0x1BE */ GRP_F008r_L13,
|
||||
/* 0x1BF */ GRP_F008r_L14,
|
||||
/* 0x1C0 */ GRP_F008r_L15,
|
||||
/* 0x1C1 */ GRP_F009r,
|
||||
/* 0x1C2 */ GRP_F010r,
|
||||
/* 0x1C3 */ GRP_F010r_L13,
|
||||
/* 0x1C4 */ GRP_F010r_L14,
|
||||
/* 0x1C5 */ GRP_F010r_L15,
|
||||
/* 0x1C6 */ GRP_F011r,
|
||||
/* 0x1C7 */ GRP_F011r_L12,
|
||||
/* 0x1C8 */ GRP_F012r,
|
||||
/* 0x1C9 */ GRP_F013r,
|
||||
/* 0x1CA */ GRP_F014r,
|
||||
/* 0x1CB */ GRP_F015r,
|
||||
/* 0x1CC */ GRP_F016r,
|
||||
/* 0x1CD */ GRP_F017r,
|
||||
/* 0x1CE */ GRP_F018r,
|
||||
/* 0x1CF */ GRP_F019r,
|
||||
/* 0x1D0 */ GRP_F019r_L2,
|
||||
/* 0x1D1 */ GRP_F020,
|
||||
/* 0x1D2 */ GRP_F020_L1,
|
||||
/* 0x1D3 */ GRP_F020_L2,
|
||||
/* 0x1D4 */ GRP_F020_L3,
|
||||
/* 0x1D5 */ GRP_F020_L4,
|
||||
/* 0x1D6 */ GRP_F020_L5,
|
||||
/* 0x1D7 */ GRP_F020_L6,
|
||||
/* 0x1D8 */ GRP_F021_L13,
|
||||
/* 0x1D9 */ GRP_D000,
|
||||
/* 0x1DA */ GRP_D003_1,
|
||||
/* 0x1DB */ GRP_D003_2,
|
||||
/* 0x1DC */ GRP_D003_3,
|
||||
/* 0x1DD */ GRP_S000,
|
||||
/* 0x1DE */ GRP_D003_4,
|
||||
/* 0x1DF */ GRP_D003_5,
|
||||
/* 0x1E0 */ GRP_F023,
|
||||
/* 0x1E1 */ GRP_F023_L2,
|
||||
/* 0x1E2 */ GRP_F023_L13,
|
||||
/* 0x1E3 */ GRP_F023_L14,
|
||||
/* 0x1E4 */ GRP_D003_6,
|
||||
/* 0x1E5 */ GRP_D003_7,
|
||||
/* 0x1E6 */ GRP_D003_0,
|
||||
/* 0x1E7 */ GRP_D003_8,
|
||||
/* 0x1E8 */ GRP_F100,
|
||||
/* 0x1E9 */ GRP_F100_L1,
|
||||
/* 0x1EA */ GRP_F100_L2,
|
||||
/* 0x1EB */ GRP_F100_L3,
|
||||
/* 0x1EC */ GRP_F100_L4,
|
||||
/* 0x1ED */ GRP_F100_1,
|
||||
/* 0x1EE */ GRP_F101,
|
||||
/* 0x1EF */ GRP_F102,
|
||||
/* 0x1F0 */ GRP_F102_1,
|
||||
/* 0x1F1 */ GRP_F102_2,
|
||||
/* 0x1F2 */ GRP_F103,
|
||||
/* 0x1F3 */ GRP_F103_L13,
|
||||
/* 0x1F4 */ GRP_D100,
|
||||
/* 0x1F5 */ GRP_D100_L1,
|
||||
/* 0x1F6 */ GRP_D101,
|
||||
/* 0x1F7 */ GRP_B100,
|
||||
/* 0x1F8 */ GRP_B100_L1,
|
||||
/* 0x1F9 */ GRP_B100_L2,
|
||||
/* 0x1FA */ GRP_B100_L5,
|
||||
/* 0x1FB */ GRP_B100_L13,
|
||||
/* 0x1FC */ GRP_B100_1,
|
||||
/* 0x1FD */ GRP_B100_1_L13,
|
||||
/* 0x1FE */ GRP_B101,
|
||||
/* 0x1FF */ GRP_B101_L2,
|
||||
/* 0x200 */ GRP_B101_1,
|
||||
/* 0x201 */ GRP_B101_1_L13,
|
||||
/* 0x202 */ GRP_S100,
|
||||
/* 0x203 */ GRP_F103_1,
|
||||
/* 0x204 */ GRP_F103_1_L13,
|
||||
/* 0x205 */ GRP_F103_1_L14,
|
||||
/* 0x206 */ GRP_F200,
|
||||
/* 0x207 */ GRP_F200_L1,
|
||||
/* 0x208 */ GRP_F200_L2,
|
||||
/* 0x209 */ GRP_F200_L3,
|
||||
/* 0x20A */ GRP_F200_L4,
|
||||
/* 0x20B */ GRP_F210,
|
||||
/* 0x20C */ GRP_F211,
|
||||
/* 0x20D */ GRP_F211_L2,
|
||||
/* 0x20E */ GRP_F211_L3,
|
||||
/* 0x20F */ GRP_F211_L4,
|
||||
/* 0x210 */ GRP_F221,
|
||||
/* 0x211 */ GRP_F221_L13,
|
||||
/* 0x212 */ GRP_F202,
|
||||
/* 0x213 */ GRP_D200,
|
||||
/* 0x214 */ GRP_D201,
|
||||
/* 0x215 */ GRP_B200,
|
||||
/* 0x216 */ GRP_B200_L1,
|
||||
/* 0x217 */ GRP_B200_L2,
|
||||
/* 0x218 */ GRP_B200_L3,
|
||||
/* 0x219 */ GRP_B201_L1,
|
||||
/* 0x21A */ GRP_B201_L2,
|
||||
/* 0x21B */ GRP_B201_L3,
|
||||
/* 0x21C */ GRP_B201_L13,
|
||||
/* 0x21D */ GRP_B201_1,
|
||||
/* 0x21E */ GRP_B201_1_L13,
|
||||
/* 0x21F */ GRP_B210,
|
||||
/* 0x220 */ GRP_B210_L13,
|
||||
/* 0x221 */ GRP_B210_L14,
|
||||
/* 0x222 */ GRP_S200,
|
||||
/* 0x223 */ GRP_F201_1,
|
||||
/* 0x224 */ GRP_F201_2,
|
||||
/* 0x225 */ GRP_F202_1,
|
||||
/* 0x226 */ GRP_F202_2,
|
||||
/* 0x227 */ GRP_D201_1,
|
||||
/* 0x228 */ GRP_F201_3,
|
||||
/* 0x229 */ GRP_F201_4,
|
||||
/* 0x22A */ GRP_F202_3,
|
||||
/* 0x22B */ GRP_F202_4,
|
||||
/* 0x22C */ GRP_F300,
|
||||
/* 0x22D */ GRP_F300_L2,
|
||||
/* 0x22E */ GRP_F300_1,
|
||||
/* 0x22F */ GRP_F300_2,
|
||||
/* 0x230 */ GRP_F300_3,
|
||||
/* 0x231 */ GRP_F300_4,
|
||||
/* 0x232 */ GRP_F300_4_L13,
|
||||
/* 0x233 */ GRP_F301,
|
||||
/* 0x234 */ GRP_F301_1,
|
||||
/* 0x235 */ GRP_F301_2,
|
||||
/* 0x236 */ GRP_F301_3,
|
||||
/* 0x237 */ GRP_F301_4,
|
||||
/* 0x238 */ GRP_F301_4_L2,
|
||||
/* 0x239 */ GRP_F301_5,
|
||||
/* 0x23A */ GRP_F302,
|
||||
/* 0x23B */ GRP_F302_L1,
|
||||
/* 0x23C */ GRP_F302_L2,
|
||||
/* 0x23D */ GRP_F302_L13,
|
||||
/* 0x23E */ GRP_D300,
|
||||
/* 0x23F */ GRP_D301,
|
||||
/* 0x240 */ GRP_D301_L1,
|
||||
/* 0x241 */ GRP_D301_L2,
|
||||
/* 0x242 */ GRP_D301_L3,
|
||||
/* 0x243 */ GRP_D301_L4,
|
||||
/* 0x244 */ GRP_D301_L9,
|
||||
/* 0x245 */ GRP_D301_L10,
|
||||
/* 0x246 */ GRP_D301_L11,
|
||||
/* 0x247 */ GRP_D301_L12,
|
||||
/* 0x248 */ GRP_D301_1,
|
||||
/* 0x249 */ GRP_B300,
|
||||
/* 0x24A */ GRP_B300_L2,
|
||||
/* 0x24B */ GRP_B301,
|
||||
/* 0x24C */ GRP_B301_L2,
|
||||
/* 0x24D */ GRP_B301_L13,
|
||||
/* 0x24E */ GRP_S300,
|
||||
/* 0x24F */ GRP_F301_6,
|
||||
/* 0x250 */ GRP_F301_7,
|
||||
/* 0x251 */ GRP_F303,
|
||||
/* 0x252 */ GRP_F300_5,
|
||||
/* 0x253 */ GRP_D300_1,
|
||||
/* 0x254 */ GRP_F400,
|
||||
/* 0x255 */ GRP_F400_L1,
|
||||
/* 0x256 */ GRP_F400_L2,
|
||||
/* 0x257 */ GRP_F400_L3,
|
||||
/* 0x258 */ GRP_F400_L13,
|
||||
/* 0x259 */ GRP_F401,
|
||||
/* 0x25A */ GRP_F401_L1,
|
||||
/* 0x25B */ GRP_F401_L2,
|
||||
/* 0x25C */ GRP_F401_L3,
|
||||
/* 0x25D */ GRP_F401_L4,
|
||||
/* 0x25E */ GRP_F401_L5,
|
||||
/* 0x25F */ GRP_F401_L6,
|
||||
/* 0x260 */ GRP_F401_L13,
|
||||
/* 0x261 */ GRP_F401_L14,
|
||||
/* 0x262 */ GRP_F401_L15,
|
||||
/* 0x263 */ GRP_F402,
|
||||
/* 0x264 */ GRP_F402_L13,
|
||||
/* 0x265 */ GRP_F402_L18,
|
||||
/* 0x266 */ GRP_F402_L19,
|
||||
/* 0x267 */ GRP_F402_L20,
|
||||
/* 0x268 */ GRP_F403,
|
||||
/* 0x269 */ GRP_F403_L1,
|
||||
/* 0x26A */ GRP_F403_L2,
|
||||
/* 0x26B */ GRP_F403_L3,
|
||||
/* 0x26C */ GRP_F403_L4,
|
||||
/* 0x26D */ GRP_F403_L7,
|
||||
/* 0x26E */ GRP_F403_L13,
|
||||
/* 0x26F */ GRP_F403_L14,
|
||||
/* 0x270 */ GRP_F403_L15,
|
||||
/* 0x271 */ GRP_F403_L16,
|
||||
/* 0x272 */ GRP_F404,
|
||||
/* 0x273 */ GRP_F404_L13,
|
||||
/* 0x274 */ GRP_F404_L14,
|
||||
/* 0x275 */ GRP_F405,
|
||||
/* 0x276 */ GRP_F406,
|
||||
/* 0x277 */ GRP_F406_L14,
|
||||
/* 0x278 */ GRP_B400,
|
||||
/* 0x279 */ GRP_B400_L13,
|
||||
/* 0x27A */ GRP_B400_L14,
|
||||
/* 0x27B */ GRP_F407_L13,
|
||||
/* 0x27C */ GRP_F407_L14,
|
||||
/* 0x27D */ GRP_F407_L15,
|
||||
/* 0x27E */ GRP_A_IN_WATER,
|
||||
/* 0x27F */ GRP_A_QUAKE,
|
||||
/* 0x280 */ GRP_A_F000,
|
||||
/* 0x281 */ GRP_A_F000_L2,
|
||||
/* 0x282 */ GRP_A_F000_L5,
|
||||
/* 0x283 */ GRP_A_F000_L7,
|
||||
/* 0x284 */ GRP_A_F000_L9,
|
||||
/* 0x285 */ GRP_A_F001r,
|
||||
/* 0x286 */ GRP_A_F002r,
|
||||
/* 0x287 */ GRP_A_F008r,
|
||||
/* 0x288 */ GRP_A_F010r,
|
||||
/* 0x289 */ GRP_A_F012r,
|
||||
/* 0x28A */ GRP_A_F019r,
|
||||
/* 0x28B */ GRP_A_F020,
|
||||
/* 0x28C */ GRP_A_F023,
|
||||
/* 0x28D */ GRP_A_F023_L2,
|
||||
/* 0x28E */ GRP_A_D000,
|
||||
/* 0x28F */ GRP_A_D003_0,
|
||||
/* 0x290 */ GRP_A_D003_1,
|
||||
/* 0x291 */ GRP_A_D003_2,
|
||||
/* 0x292 */ GRP_A_D003_3,
|
||||
/* 0x293 */ GRP_A_D003_4,
|
||||
/* 0x294 */ GRP_A_D003_5,
|
||||
/* 0x295 */ GRP_A_D003_6,
|
||||
/* 0x296 */ GRP_A_D003_7,
|
||||
/* 0x297 */ GRP_A_F100,
|
||||
/* 0x298 */ GRP_A_F100_1,
|
||||
/* 0x299 */ GRP_A_F102,
|
||||
/* 0x29A */ GRP_A_F103,
|
||||
/* 0x29B */ GRP_A_D100,
|
||||
/* 0x29C */ GRP_A_D101,
|
||||
/* 0x29D */ GRP_A_B100,
|
||||
/* 0x29E */ GRP_A_B100_1,
|
||||
/* 0x29F */ GRP_A_B101,
|
||||
/* 0x2A0 */ GRP_A_B101_1,
|
||||
/* 0x2A1 */ GRP_A_F200,
|
||||
/* 0x2A2 */ GRP_A_F210,
|
||||
/* 0x2A3 */ GRP_A_F211,
|
||||
/* 0x2A4 */ GRP_A_F201_1,
|
||||
/* 0x2A5 */ GRP_A_F201_2,
|
||||
/* 0x2A6 */ GRP_A_F201_3,
|
||||
/* 0x2A7 */ GRP_A_F201_4,
|
||||
/* 0x2A8 */ GRP_A_F221,
|
||||
/* 0x2A9 */ GRP_A_F202,
|
||||
/* 0x2AA */ GRP_A_D200,
|
||||
/* 0x2AB */ GRP_A_D201,
|
||||
/* 0x2AC */ GRP_A_B210,
|
||||
/* 0x2AD */ GRP_A_B201,
|
||||
/* 0x2AE */ GRP_A_B201_1,
|
||||
/* 0x2AF */ GRP_A_F300,
|
||||
/* 0x2B0 */ GRP_A_F301,
|
||||
/* 0x2B1 */ GRP_A_F301_1,
|
||||
/* 0x2B2 */ GRP_A_F302,
|
||||
/* 0x2B3 */ GRP_A_F303,
|
||||
/* 0x2B4 */ GRP_A_D300,
|
||||
/* 0x2B5 */ GRP_A_D301,
|
||||
/* 0x2B6 */ GRP_A_B300,
|
||||
/* 0x2B7 */ GRP_A_B301,
|
||||
/* 0x2B8 */ GRP_A_F400,
|
||||
/* 0x2B9 */ GRP_A_F401,
|
||||
/* 0x2BA */ GRP_A_F402,
|
||||
/* 0x2BB */ GRP_A_F403,
|
||||
/* 0x2BC */ GRP_A_F404,
|
||||
/* 0x2BD */ GRP_A_F406,
|
||||
/* 0x2BE */ GRP_A_B400,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -69,6 +69,10 @@ namespace nw4r { namespace snd
|
||||
return IsAttachedSound() && mSound->IsPause();
|
||||
}
|
||||
|
||||
bool IsPrepared() const {
|
||||
return IsAttachedSound() && mSound->IsPrepared();
|
||||
}
|
||||
|
||||
int GetRemainingFadeFrames() const {
|
||||
if (IsAttachedSound())
|
||||
return mSound->GetRemainingFadeFrames();
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
#define MUSIC_MGRS_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "d/snd/d_snd_source_mgr.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
|
||||
class dSndPlayerMgr_c;
|
||||
class dSndSound_c;
|
||||
|
||||
// A lot of these names are and were guesses that are probably wrong in a lot of ways.
|
||||
@@ -17,33 +18,24 @@ extern "C" void fn_8035E820(dSndPlayerMgr_c *);
|
||||
extern "C" void fn_8035E880(dSndPlayerMgr_c *);
|
||||
extern "C" void fn_8035E790(dSndPlayerMgr_c *, UNKWORD, void *);
|
||||
|
||||
extern "C" void *ENEMY_SOUND_MGR;
|
||||
extern "C" void fn_80362150(void *, u16);
|
||||
extern "C" void fn_803625F0(void *, u16);
|
||||
extern "C" void fn_803618F0(void *);
|
||||
extern "C" void fn_80362730(void *);
|
||||
extern "C" void fn_80365D20(void *);
|
||||
extern "C" void fn_803624F0(void *);
|
||||
extern "C" void fn_80364FD0(void *, s32);
|
||||
extern "C" bool fn_80364DA0(void *);
|
||||
extern "C" void fn_80365020(void *);
|
||||
extern "C" void fn_80364D00(void *, s32);
|
||||
#define ENEMY_SOUND_MGR (dSndStateMgr_c::GetInstance())
|
||||
extern "C" void fn_80362150(dSndStateMgr_c *, u16);
|
||||
extern "C" void fn_803625F0(dSndStateMgr_c *, u16);
|
||||
extern "C" void fn_803618F0(dSndStateMgr_c *);
|
||||
extern "C" void fn_80362730(dSndStateMgr_c *);
|
||||
extern "C" void fn_80365D20(dSndStateMgr_c *);
|
||||
extern "C" void fn_803624F0(dSndStateMgr_c *);
|
||||
extern "C" void fn_80364FD0(dSndStateMgr_c *, s32);
|
||||
extern "C" bool fn_80364DA0(dSndStateMgr_c *);
|
||||
extern "C" void fn_80365020(dSndStateMgr_c *);
|
||||
extern "C" void fn_80364D00(dSndStateMgr_c *, s32);
|
||||
|
||||
#define ENEMY_BGM_RELATED_MGR (dSndSourceMgr_c::GetInstance())
|
||||
extern "C" void fn_80384570(dSndSourceMgr_c *, bool);
|
||||
|
||||
// This one has a SoundActor that actually plays the BGM_ music tracks,
|
||||
// including the battle BGM track.
|
||||
extern "C" void *FANFARE_SOUND_MGR;
|
||||
extern "C" void AnotherSoundMgr__playSound(void *, s32);
|
||||
extern "C" bool fn_803721F0(void *, u32);
|
||||
extern "C" bool fn_803720E0(void *, u32);
|
||||
extern "C" bool fn_80372070(void *, u32);
|
||||
extern "C" bool fn_803734C0(void *, u32);
|
||||
extern "C" bool fn_80373550(void *, u32);
|
||||
extern "C" void fn_80372920(void *);
|
||||
extern "C" void fn_803738B0(void *, dSndSound_c *sound);
|
||||
extern "C" void fn_80373900(void *, dSndSound_c *sound);
|
||||
extern "C" bool fn_803733B0(void *, u32);
|
||||
#define FANFARE_SOUND_MGR (dSndBgmMgr_c::GetInstance())
|
||||
extern "C" void fn_80372920(dSndBgmMgr_c *);
|
||||
|
||||
#endif
|
||||
|
||||
+4
-4
@@ -23,8 +23,10 @@
|
||||
#include "d/lyt/d_lyt_mini_game.h"
|
||||
#include "d/lyt/meter/d_lyt_meter.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "d/snd/d_snd_small_effect_mgr.h"
|
||||
#include "d/snd/d_snd_source_mgr.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
#include "egg/core/eggHeap.h"
|
||||
#include "f/f_base.h"
|
||||
#include "f/f_profile.h"
|
||||
@@ -39,7 +41,6 @@
|
||||
#include "toBeSorted/fi_context.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/minigame_mgr.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/unk_save_time.h"
|
||||
|
||||
#include "rvl/OS.h"
|
||||
@@ -47,7 +48,6 @@
|
||||
#include <cstring>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
s32 dFlow_c::sExitId = -1;
|
||||
|
||||
dFlow_c::dFlow_c() {
|
||||
@@ -196,7 +196,7 @@ static const FlowSoundDef sSoundDefs[] = {
|
||||
|
||||
void dFlow_c::playSound(u32 params) {
|
||||
if (params >= 1000) {
|
||||
fn_80364FD0(ENEMY_SOUND_MGR, params);
|
||||
dSndStateMgr_c::GetInstance()->setFlowEvent(params);
|
||||
return;
|
||||
}
|
||||
if (params >= 100) {
|
||||
@@ -217,7 +217,7 @@ void dFlow_c::playSound(u32 params) {
|
||||
}
|
||||
|
||||
switch (sSoundDefs[idx].mSoundMgr) {
|
||||
case 0: AnotherSoundMgr__playSound(FANFARE_SOUND_MGR, sSoundDefs[idx].mSoundId); break;
|
||||
case 0: dSndBgmMgr_c::GetInstance()->playFanSound(sSoundDefs[idx].mSoundId); break;
|
||||
case 1: dSndSmallEffectMgr_c::GetInstance()->playSound(sSoundDefs[idx].mSoundId); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/d_window.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "d/snd/d_snd_wzsound.h"
|
||||
#include "f/f_base.h"
|
||||
#include "nw4r/lyt/lyt_group.h"
|
||||
@@ -407,7 +408,7 @@ void dLytGameOverMgr_c::executeState_FadeOut() {
|
||||
if (mMain.requestIn("SYS_GAMEOVER_01", 0, 0)) {
|
||||
mMain.setField_0x1338(true);
|
||||
mStateMgr.changeState(StateID_Select);
|
||||
AnotherSoundMgr__playSound(FANFARE_SOUND_MGR, FAN_GAMEOVER);
|
||||
dSndBgmMgr_c::GetInstance()->playFanSound(FAN_GAMEOVER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "d/snd/d_snd_3d_engine.h"
|
||||
#include "d/snd/d_snd_mgr.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
#include "egg/math/eggMatrix.h"
|
||||
#include "egg/math/eggVector.h"
|
||||
#include "nw4r/math/math_arithmetic.h"
|
||||
@@ -80,7 +81,7 @@ void dSnd3DManager_c::updateFromCamera(EGG::LookAtCamera &camera) {
|
||||
f32 prevCameraPosSqVelocity = mCameraPosSqVelocity;
|
||||
mCameraAtSqVelocity = VECSquareDistance(camera.mAt, mCamera.mAt);
|
||||
mCameraPosSqVelocity = VECSquareDistance(camera.mPos, mCamera.mPos);
|
||||
if (((u32 *)ENEMY_SOUND_MGR)[71] > 30) {
|
||||
if (dSndStateMgr_c::GetInstance()->getField_0x11C() > 30) {
|
||||
bool bigMovement = false;
|
||||
bool hugeMovement = false;
|
||||
if (mTimer > 0) {
|
||||
|
||||
@@ -13,7 +13,7 @@ dSndAreaSoundEffectMgr_c::dSndAreaSoundEffectMgr_c()
|
||||
: field_0x328(0),
|
||||
field_0x32C(1.0f),
|
||||
field_0x330(1.0f),
|
||||
mActor(*dSndMgr_c::GetInstance()->getPlayer()),
|
||||
mActor(dSndMgr_c::GetInstance()->getPlayer()),
|
||||
field_0x388(1.0f) {}
|
||||
|
||||
void dSndAreaSoundEffectMgr_c::calc() {
|
||||
|
||||
@@ -0,0 +1,482 @@
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_bgm_sound.h"
|
||||
#include "d/snd/d_snd_mgr.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "d/snd/d_snd_sound.h"
|
||||
#include "d/snd/d_snd_util.h"
|
||||
#include "d/snd/d_snd_wzsound.h"
|
||||
#include "nw4r/snd/snd_SoundArchive.h"
|
||||
#include "nw4r/ut/ut_list.h"
|
||||
|
||||
SND_DISPOSER_DEFINE(dSndBgmMgr_c);
|
||||
|
||||
dSndBgmMgr_c::dSndBgmMgr_c()
|
||||
: field_0x240(2),
|
||||
field_0x244(0),
|
||||
field_0x248(0),
|
||||
mScheduledSoundId(-1),
|
||||
mScheduledSoundDelay(0),
|
||||
field_0x274(0),
|
||||
field_0x29C(0),
|
||||
mSoundActor(dSndMgr_c::GetInstance()->getPlayer()),
|
||||
field_0x2F4(1.0f),
|
||||
field_0x2F8(-1),
|
||||
field_0x2FC(0),
|
||||
field_0x300(-1),
|
||||
field_0x304(0),
|
||||
field_0x305(0),
|
||||
field_0x306(0),
|
||||
field_0x307(0),
|
||||
field_0x308(0),
|
||||
field_0x333(0),
|
||||
field_0x340(0) {
|
||||
for (int i = 0; i < BGM_LIST_MAX; i++) {
|
||||
// TODO offsetof
|
||||
nw4r::ut::List_Init(&mBgmSoundLists[i], 0xF0);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (i == 4) {
|
||||
mBgmSounds[i] = new dSndBgmBattleSound_c();
|
||||
} else {
|
||||
mBgmSounds[i] = new dSndBgmSound_c();
|
||||
}
|
||||
mBgmSounds[i]->init(mSoundActor, i);
|
||||
}
|
||||
|
||||
field_0x270 = new dSndBgmSound_c();
|
||||
field_0x270->init(dSndMgr_c::GetInstance()->getPlayer(), 8);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mFanSounds[i] = new dSndSound_c();
|
||||
}
|
||||
|
||||
nw4r::ut::List_Init(&mAllSounds, 8);
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
field_0x30C[i] = 0;
|
||||
field_0x318[i] = 0;
|
||||
field_0x324[i] = 0;
|
||||
field_0x330[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::calcLists() {
|
||||
// TODO ...
|
||||
|
||||
|
||||
dSndBgmSound_c *next, *it;
|
||||
for (it = getFirstInBgmSoundList(BGM_LIST_PLAYING); it != nullptr; it = next) {
|
||||
next = getNextInBgmSoundList(BGM_LIST_PLAYING, it);
|
||||
it->calc();
|
||||
}
|
||||
|
||||
for (it = getFirstInBgmSoundList(BGM_LIST_STOPPED); it != nullptr; it = next) {
|
||||
next = getNextInBgmSoundList(BGM_LIST_STOPPED, it);
|
||||
it->calc();
|
||||
}
|
||||
|
||||
for (it = getFirstInBgmSoundList(BGM_LIST_PREPARING); it != nullptr; it = next) {
|
||||
next = getNextInBgmSoundList(BGM_LIST_PREPARING, it);
|
||||
if (!it->IsAttachedSound()) {
|
||||
it->cancel();
|
||||
removeFromAllBgmSoundLists(it);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
dSndSound_c *it, *next;
|
||||
for (it = static_cast<dSndSound_c *>(nw4r::ut::List_GetFirst(&mAllSounds)); it != nullptr; it = next) {
|
||||
next = static_cast<dSndSound_c *>(nw4r::ut::List_GetNext(&mAllSounds, it));
|
||||
if (!it->IsAttachedSound()) {
|
||||
unregistSound(it);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::prepareBgm(u32 soundId, u32 startOffset) {
|
||||
if (isPlayingBgmSoundId(soundId)) {
|
||||
return false;
|
||||
}
|
||||
dSndBgmSound_c *handle = getSoundHandleForBgm(soundId, startOffset);
|
||||
bool ret = false;
|
||||
if (handle != nullptr) {
|
||||
ret = prepareBgmSound(soundId, handle, startOffset);
|
||||
}
|
||||
startAdditionalBgm(soundId);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::stopAllBgm(s32 fadeFrames) {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
stopBgmSound(mBgmSounds[i], fadeFrames);
|
||||
}
|
||||
cancelDelayedBgm();
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::stopBgmSound(dSndBgmSound_c *sound, s32 fadeFrames) {
|
||||
u32 oldId = sound->GetId();
|
||||
if (oldId != -1) {
|
||||
sound->stop(fadeFrames);
|
||||
checkForPrepareStoppedBgmSound(oldId);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::checkForPrepareStoppedBgmSound(u32 stoppedSoundId) {
|
||||
// TODO ???
|
||||
u32 id = stoppedSoundId == BGM_SKYFIELD ? BGM_SKYFIELD : -1;
|
||||
if (id != -1) {
|
||||
prepareBgm(id, 0);
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::beginBgmBattleRoom() {
|
||||
if (isBgmHandleIdxPlayingSoundId(4, BGM_BATTLE_ROOM_MAIN)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return playBattleBgm(BGM_BATTLE_ROOM_MAIN, 5);
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::endBgmBattleRoom() {
|
||||
if (!isBgmHandleIdxPlayingSoundId(4, BGM_BATTLE_ROOM_MAIN)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
stopBgmHandleIdx(4, 5);
|
||||
return playFanSound(BGM_BATTLE_ROOM_OUTRO);
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::playDelayedSound(u32 soundId, s32 delay) {
|
||||
if (soundId == -1) {
|
||||
return;
|
||||
}
|
||||
nw4r::snd::SoundArchive::SoundInfo info;
|
||||
u32 playerId;
|
||||
if (!dSndMgr_c::GetInstance()->getArchive()->ReadSoundInfo(soundId, &info)) {
|
||||
playerId = -1;
|
||||
} else {
|
||||
playerId = info.playerId;
|
||||
}
|
||||
|
||||
switch (playerId) {
|
||||
case dSndPlayerMgr_c::PLAYER_BGM:
|
||||
case dSndPlayerMgr_c::PLAYER_BGM_BATTLE:
|
||||
if (delay == 0) {
|
||||
playBgm(soundId, 0, false);
|
||||
return;
|
||||
}
|
||||
prepareBgm(soundId, 0);
|
||||
break;
|
||||
case dSndPlayerMgr_c::PLAYER_FAN:
|
||||
if (delay == 0) {
|
||||
playFanSound(soundId);
|
||||
return;
|
||||
}
|
||||
prepareFanSound(soundId);
|
||||
break;
|
||||
default: return;
|
||||
}
|
||||
mScheduledSoundId = soundId;
|
||||
mScheduledSoundDelay = delay;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::cancelDelayedSound() {
|
||||
mScheduledSoundId = -1;
|
||||
mScheduledSoundDelay = 0;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::cancelDelayedBgm() {
|
||||
if (mScheduledSoundId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
nw4r::snd::SoundArchive::SoundInfo info;
|
||||
u32 playerId;
|
||||
if (!dSndMgr_c::GetInstance()->getArchive()->ReadSoundInfo(mScheduledSoundId, &info)) {
|
||||
playerId = -1;
|
||||
} else {
|
||||
playerId = info.playerId;
|
||||
}
|
||||
|
||||
if (dSndPlayerMgr_c::isBgmPlayerId(playerId)) {
|
||||
cancelDelayedSound();
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::startDelayedSound() {
|
||||
if (mScheduledSoundId == -1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ok = false;
|
||||
|
||||
nw4r::snd::SoundArchive::SoundInfo info;
|
||||
u32 playerId;
|
||||
if (!dSndMgr_c::GetInstance()->getArchive()->ReadSoundInfo(mScheduledSoundId, &info)) {
|
||||
playerId = -1;
|
||||
} else {
|
||||
playerId = info.playerId;
|
||||
}
|
||||
switch (playerId) {
|
||||
case dSndPlayerMgr_c::PLAYER_BGM:
|
||||
case dSndPlayerMgr_c::PLAYER_BGM_BATTLE: ok = playBgm(mScheduledSoundId, 0, false); break;
|
||||
case dSndPlayerMgr_c::PLAYER_FAN: ok = playFanSound(mScheduledSoundId); break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
cancelDelayedSound();
|
||||
return ok;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::calcDelayedSound() {
|
||||
if (mScheduledSoundId == -1) {
|
||||
return;
|
||||
}
|
||||
|
||||
mScheduledSoundDelay--;
|
||||
if (mScheduledSoundDelay == 0) {
|
||||
startDelayedSound();
|
||||
}
|
||||
}
|
||||
|
||||
// 8036e980 - plays additional music for some reason.
|
||||
// e.g. Sandship (BGM_D301 / 0x1607) also prepares BGM_D301_INSIDE / 0x1608
|
||||
|
||||
void dSndBgmMgr_c::setBgmHandleIdxVolume(u32 handleIdx, f32 volume, s32 fadeFrames) {
|
||||
// Using the getter to check validity but then not using the result is a bit weird
|
||||
if (getBgmSoundByIndex(handleIdx) != nullptr) {
|
||||
mBgmSounds[handleIdx]->setVolume(volume, fadeFrames);
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isPlayingBgmSoundId(u32 soundId) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mBgmSounds[i]->isPlayingSoundId(soundId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isFadingOutBgmSoundId(u32 soundId) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mBgmSounds[i]->GetId() == soundId && mBgmSounds[i]->isFadingOutSoundId(soundId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isPreparingBgmSoundId(u32 soundId) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mBgmSounds[i]->isPreparingSoundId(soundId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isPreparingBgmSoundIdWithStartOffset(u32 soundId, u32 startOffset) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mBgmSounds[i]->isPreparingSoundIdWithStartOffset(soundId, startOffset)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isPreparedBgmSoundId(u32 soundId) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
if (mBgmSounds[i]->isPreparedSoundId(soundId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::getBgmSoundByIndex(u32 idx) {
|
||||
if (idx >= 7) {
|
||||
return nullptr;
|
||||
}
|
||||
return mBgmSounds[idx];
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::getBgmSoundHandleForId(u32 soundId) const {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
dSndBgmSound_c *snd = mBgmSounds[i];
|
||||
if (snd->isPlayingSoundId(soundId)) {
|
||||
return snd;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::findIdleBgmSoundHandle() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
dSndBgmSound_c *snd = mBgmSounds[i];
|
||||
if (!snd->hasState()) {
|
||||
return snd;
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::addToBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound) {
|
||||
if (list < BGM_LIST_MAX && sound != nullptr) {
|
||||
removeFromAllBgmSoundLists(sound);
|
||||
nw4r::ut::List_Prepend(&mBgmSoundLists[list], sound);
|
||||
}
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::appendToBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound) {
|
||||
if (list < BGM_LIST_MAX && sound != nullptr) {
|
||||
removeFromAllBgmSoundLists(sound);
|
||||
nw4r::ut::List_Append(&mBgmSoundLists[list], sound);
|
||||
}
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::removeFromBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound) {
|
||||
if (list < BGM_LIST_MAX && sound != nullptr) {
|
||||
if (isInBgmSoundList(list, sound)) {
|
||||
nw4r::ut::List_Remove(&mBgmSoundLists[list], sound);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::removeFromAllBgmSoundLists(dSndBgmSound_c *sound) {
|
||||
for (int i = 0; i < BGM_LIST_MAX; i++) {
|
||||
removeFromBgmSoundList(static_cast<BgmSoundList_e>(i), sound);
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isInBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound) {
|
||||
if (list >= BGM_LIST_MAX) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (sound == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (dSndBgmSound_c *it = getFirstInBgmSoundList(list); it != nullptr; it = getNextInBgmSoundList(list, it)) {
|
||||
if (it == sound) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::getFirstInBgmSoundList(BgmSoundList_e list) {
|
||||
if (list >= BGM_LIST_MAX) {
|
||||
return nullptr;
|
||||
}
|
||||
return static_cast<dSndBgmSound_c *>(nw4r::ut::List_GetFirst(&mBgmSoundLists[list]));
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::getNextInBgmSoundList(BgmSoundList_e list, dSndBgmSound_c *sound) {
|
||||
if (list >= BGM_LIST_MAX) {
|
||||
return nullptr;
|
||||
}
|
||||
return static_cast<dSndBgmSound_c *>(nw4r::ut::List_GetNext(&mBgmSoundLists[list], sound));
|
||||
}
|
||||
|
||||
dSndBgmSound_c *dSndBgmMgr_c::getLastInBgmSoundList(BgmSoundList_e list) {
|
||||
if (list >= BGM_LIST_MAX) {
|
||||
return nullptr;
|
||||
}
|
||||
return static_cast<dSndBgmSound_c *>(nw4r::ut::List_GetLast(&mBgmSoundLists[list]));
|
||||
}
|
||||
|
||||
dSndSound_c *dSndBgmMgr_c::getFreeFanSoundHandle() {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (!mFanSounds[i]->IsAttachedSound()) {
|
||||
return mFanSounds[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dSndSound_c *dSndBgmMgr_c::getFanSoundHandleForFan(u32 soundId) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mFanSounds[i]->GetId() == soundId) {
|
||||
return mFanSounds[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dSndSound_c *dSndBgmMgr_c::getSoundHandleCurrentlyPlayingFanSound(u32 soundId) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mFanSounds[i]->isPlayingSoundId(soundId)) {
|
||||
return mFanSounds[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
dSndSound_c *dSndBgmMgr_c::getFanSoundHandleForFan2(u32 soundId) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mFanSounds[i]->GetId() == soundId) {
|
||||
return mFanSounds[i];
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isCurrentlyPlayingFanSound(u32 soundId) const {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mFanSounds[i]->isPlayingSoundId(soundId)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::hasPlayingFanSounds() const {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (mFanSounds[i]->isPlaying()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::stopFanSounds(s32 fadeFrames) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
mFanSounds[i]->stop(fadeFrames);
|
||||
}
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::registSound(dSndSound_c *sound) {
|
||||
if (sound == nullptr) {
|
||||
return;
|
||||
}
|
||||
unregistSound(sound);
|
||||
nw4r::ut::List_Append(&mAllSounds, sound);
|
||||
}
|
||||
|
||||
void dSndBgmMgr_c::unregistSound(dSndSound_c *sound) {
|
||||
if (isSoundRegist(sound)) {
|
||||
nw4r::ut::List_Remove(&mAllSounds, sound);
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndBgmMgr_c::isSoundRegist(dSndSound_c *sound) {
|
||||
if (sound == nullptr) {
|
||||
return false;
|
||||
}
|
||||
for (dSndSound_c *it = static_cast<dSndSound_c *>(nw4r::ut::List_GetFirst(&mAllSounds)); it != nullptr;
|
||||
it = static_cast<dSndSound_c *>(nw4r::ut::List_GetNext(&mAllSounds, it))) {
|
||||
if (it == sound) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_control_player_mgr.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "d/snd/d_snd_sound.h"
|
||||
#include "nw4r/snd/snd_SoundPlayer.h"
|
||||
#include "nw4r/snd/snd_global.h"
|
||||
@@ -57,11 +58,9 @@ void dSndControlPlayerFxSend_c::apply() {
|
||||
mpPlayer->SetFxSend(nw4r::snd::AUX_B, mCurrValue);
|
||||
}
|
||||
|
||||
extern "C" bool fn_8035F030(s32);
|
||||
|
||||
f32 dSndControlPlayerFxSend_c::getAppliedValue() {
|
||||
int auxBus = nw4r::snd::AUX_A;
|
||||
if (fn_8035F030(mIndex)) {
|
||||
if (dSndPlayerMgr_c::isBgmPlayerId(mIndex)) {
|
||||
auxBus = nw4r::snd::AUX_B;
|
||||
}
|
||||
return mpPlayer->GetFxSend(auxBus);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/snd/d_snd_control_player_mgr.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "d/snd/d_snd_control_player.h"
|
||||
#include "d/snd/d_snd_mgr.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
@@ -14,7 +15,7 @@ struct FanfareMuteFlagsApplier {
|
||||
// The logic here is inverted compared to the others - Fanfares seem to
|
||||
// mute things by default unless otherwise speciefied
|
||||
u32 id = handle.GetId();
|
||||
if (fn_803733B0(FANFARE_SOUND_MGR, id)) {
|
||||
if (dSndBgmMgr_c::GetInstance()->getSoundHandleCurrentlyPlayingFanSound(handle.GetId())) {
|
||||
u32 userParam = dSndMgr_c::GetInstance()->getArchive()->GetSoundUserParam(id);
|
||||
if (!(userParam & dSndPlayerMgr_c::FANFARE_UNMUTE_BGM)) {
|
||||
dSndControlPlayerMgr_c::GetInstance()->setGroupVolumeFlag(
|
||||
@@ -369,7 +370,7 @@ void dSndControlPlayerMgr_c::setPlayerVolumeInternal(u32 playerIdx, f32 volume)
|
||||
}
|
||||
|
||||
void dSndControlPlayerMgr_c::setBgmMuteVolume(f32 volume) {
|
||||
for (u32 i = dSndPlayerMgr_c::PLAYER_BGM; i < dSndPlayerMgr_c::PLAYER_BGM_BOSS + 1; i++) {
|
||||
for (u32 i = dSndPlayerMgr_c::PLAYER_BGM; i < dSndPlayerMgr_c::PLAYER_BGM_BATTLE + 1; i++) {
|
||||
setPlayerVolumeInternal(i, volume);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,9 +94,9 @@ nw4r::snd::SoundStartable::StartResult dSndPlayerMgr_c::startSound(
|
||||
}
|
||||
nw4r::snd::SoundStartable::StartResult res;
|
||||
if (pStartInfo != nullptr) {
|
||||
res = dSndMgr_c::getPlayer()->detail_StartSound(pHandle, soundId, pStartInfo);
|
||||
res = dSndMgr_c::getPlayer().detail_StartSound(pHandle, soundId, pStartInfo);
|
||||
} else {
|
||||
res = dSndMgr_c::getPlayer()->detail_StartSound(pHandle, soundId, nullptr);
|
||||
res = dSndMgr_c::getPlayer().detail_StartSound(pHandle, soundId, nullptr);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
@@ -116,7 +116,7 @@ nw4r::snd::SoundArchivePlayer &dSndPlayerMgr_c::getSoundArchivePlayerForType(u8
|
||||
if (canUseThisPlayer(sourceType)) {
|
||||
return mSoundArchivePlayer;
|
||||
}
|
||||
return *dSndMgr_c::getPlayer();
|
||||
return dSndMgr_c::getPlayer();
|
||||
}
|
||||
|
||||
bool dSndPlayerMgr_c::canUseThisPlayer(u8 sourceType) const {
|
||||
@@ -175,3 +175,11 @@ void dSndPlayerMgr_c::calc() {
|
||||
mSoundArchivePlayer.Update();
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndPlayerMgr_c::isBgmPlayerId(u32 id) {
|
||||
switch (id) {
|
||||
case PLAYER_BGM:
|
||||
case PLAYER_BGM_BATTLE: return true;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/snd/d_snd_sound.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_bgm_mgr.h"
|
||||
#include "d/snd/d_snd_mgr.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "nw4r/snd/snd_SeqSoundHandle.h"
|
||||
@@ -38,13 +39,13 @@ dSndSound_c::~dSndSound_c() {
|
||||
}
|
||||
|
||||
void dSndSound_c::cancel() {
|
||||
if (canCancel()) {
|
||||
if (hasState()) {
|
||||
resetControls();
|
||||
mIsRunning = false;
|
||||
mIsFadingOut = false;
|
||||
mIsPreparing = false;
|
||||
mPrevStartOffset = 0;
|
||||
fn_80373900(FANFARE_SOUND_MGR, this);
|
||||
dSndBgmMgr_c::GetInstance()->unregistSound(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,7 +329,7 @@ nw4r::snd::SoundStartable::StartResult dSndSound_c::prepareSound(u32 soundId, u3
|
||||
return nw4r::snd::SoundStartable::START_ERR_USER;
|
||||
}
|
||||
|
||||
if (cannotStart()) {
|
||||
if (isPlaying()) {
|
||||
return nw4r::snd::SoundStartable::START_ERR_USER;
|
||||
}
|
||||
|
||||
@@ -347,13 +348,13 @@ nw4r::snd::SoundStartable::StartResult dSndSound_c::prepareSound(u32 soundId, u3
|
||||
|
||||
nw4r::snd::SoundStartable::StartResult res;
|
||||
if (startOffset == 0) {
|
||||
res = dSndMgr_c::GetInstance()->getPlayer()->detail_PrepareSound(this, soundId, nullptr);
|
||||
res = dSndMgr_c::GetInstance()->getPlayer().detail_PrepareSound(this, soundId, nullptr);
|
||||
} else {
|
||||
nw4r::snd::SoundStartable::StartInfo info;
|
||||
info.enableFlag |= nw4r::snd::SoundStartable::StartInfo::ENABLE_START_OFFSET;
|
||||
info.startOffsetType = nw4r::snd::SoundStartable::StartInfo::START_OFFSET_TYPE_MILLISEC;
|
||||
info.startOffset = startOffset;
|
||||
res = dSndMgr_c::GetInstance()->getPlayer()->detail_PrepareSound(this, soundId, &info);
|
||||
res = dSndMgr_c::GetInstance()->getPlayer().detail_PrepareSound(this, soundId, &info);
|
||||
}
|
||||
|
||||
if (res == nw4r::snd::SoundStartable::START_SUCCESS) {
|
||||
@@ -375,7 +376,7 @@ void dSndSound_c::onPreparing(u32 soundId, u32 startOffset) {
|
||||
cancel();
|
||||
mPrevStartOffset = startOffset;
|
||||
mIsPreparing = true;
|
||||
fn_803738B0(FANFARE_SOUND_MGR, this);
|
||||
dSndBgmMgr_c::GetInstance()->registSound(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/snd/d_snd_source.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/snd/d_snd_3d_actor.h"
|
||||
#include "d/snd/d_snd_3d_manager.h"
|
||||
#include "d/snd/d_snd_mgr.h"
|
||||
@@ -24,11 +25,11 @@ const char *help_i_need_data() {
|
||||
return "%s_%s_%d";
|
||||
}
|
||||
|
||||
dSoundSource_c::dSoundSource_c(u8 sourceType, dAcBase_c *player, const char *name, dSndSourceGroup_c *pOwnerGroup)
|
||||
dSoundSource_c::dSoundSource_c(u8 sourceType, dAcBase_c *actor, const char *name, dSndSourceGroup_c *pOwnerGroup)
|
||||
: dSnd3DActor_c(pOwnerGroup->getAmbientParam(), sourceType),
|
||||
mpName(name),
|
||||
field_0x0F4(0),
|
||||
mpPlayer(player),
|
||||
mpActor(actor),
|
||||
mSourceType(sourceType),
|
||||
field_0x0FE(0),
|
||||
field_0x0FF(0),
|
||||
@@ -87,6 +88,10 @@ void dSoundSource_c::d_vt_0x38(bool flag, int fadeFrames) {
|
||||
}
|
||||
}
|
||||
|
||||
s32 dSoundSource_c::getRoomId() const {
|
||||
return mpActor->roomid;
|
||||
}
|
||||
|
||||
nw4r::snd::SoundStartable::StartResult
|
||||
dSoundSource_c::SetupSound(nw4r::snd::SoundHandle *pHandle, u32 soundId, const StartInfo *pStartInfo, void *) {
|
||||
// TODO
|
||||
|
||||
@@ -4,12 +4,11 @@
|
||||
#include "common.h"
|
||||
#include "d/snd/d_snd_source.h"
|
||||
#include "d/snd/d_snd_source_enums.h"
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
#include "nw4r/ut/ut_list.h"
|
||||
|
||||
#include <cmath>
|
||||
|
||||
extern "C" bool isInStage(const char *stageName);
|
||||
|
||||
void dSndSourceGroup_c::set(s32 sourceType, const char *name) {
|
||||
resetSoundSourceParam();
|
||||
bool assignedParam = false;
|
||||
@@ -47,10 +46,10 @@ void dSndSourceGroup_c::set(s32 sourceType, const char *name) {
|
||||
break;
|
||||
}
|
||||
case SND_SOURCE_NPC_48: {
|
||||
if (isInStage("F401")) {
|
||||
if (dSndStateMgr_c::isInStage("F401")) {
|
||||
mParam.field_0x00 = 500.0f;
|
||||
mParam.field_0x04 = 4000.0;
|
||||
} else if (isInStage("F402")) {
|
||||
} else if (dSndStateMgr_c::isInStage("F402")) {
|
||||
mParam.field_0x00 = 400.0f;
|
||||
mParam.field_0x04 = 3500.0;
|
||||
} else {
|
||||
@@ -164,7 +163,7 @@ dSoundSource_c *dSndSourceGroup_c::getSourceClosestToPlayer() {
|
||||
return mpCachedClosestSourceToPlayer;
|
||||
}
|
||||
|
||||
bool dSndSourceGroup_c::setParamFromName(const char*) {
|
||||
bool dSndSourceGroup_c::setParamFromName(const char *) {
|
||||
// TODO
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -180,3 +180,13 @@ void dSndSourceMgr_c::clearSourceList(nw4r::ut::List *list) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 dSndSourceMgr_c::getPlayerSourceRoomId() const {
|
||||
if (mpPlayerSource == nullptr) {
|
||||
return -1;
|
||||
}
|
||||
if (getBoomerangSource() != nullptr) {
|
||||
return getBoomerangSource()->getRoomId();
|
||||
}
|
||||
return mpPlayerSource->getRoomId();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,358 @@
|
||||
#include "d/snd/d_snd_stage_data.h"
|
||||
|
||||
#include "common.h"
|
||||
|
||||
|
||||
#pragma push
|
||||
#pragma readonly_strings on
|
||||
|
||||
const dSndStageInfo dSndStageInfo::sInfos[] = {
|
||||
/* SND_STAGE_F100 */
|
||||
{ "F100", -1, SND_STAGE_F100, SND_STAGE_F100, SND_STAGE_F100, SND_STAGE_F100, nullptr},
|
||||
/* SND_STAGE_F101 */
|
||||
{ "F101", -1, SND_STAGE_F101, SND_STAGE_F101, SND_STAGE_F100, SND_STAGE_F100, nullptr},
|
||||
/* SND_STAGE_F102 */
|
||||
{ "F102", -1, SND_STAGE_F102, SND_STAGE_F102, SND_STAGE_F102, SND_STAGE_F102, nullptr},
|
||||
/* SND_STAGE_F102_1 */
|
||||
{"F102_1", -1, SND_STAGE_F102_1, SND_STAGE_F102_1, SND_STAGE_F102, SND_STAGE_F102, nullptr},
|
||||
/* SND_STAGE_F103_L13 */
|
||||
{ "F103", 13, SND_STAGE_F103_L13, SND_STAGE_F103, SND_STAGE_F103_L13, SND_STAGE_F103_L13, "Demo64_03"},
|
||||
/* SND_STAGE_F103 */
|
||||
{ "F103", -1, SND_STAGE_F103, SND_STAGE_F103, SND_STAGE_F103, SND_STAGE_F103, nullptr},
|
||||
/* SND_STAGE_F200 */
|
||||
{ "F200", -1, SND_STAGE_F200, SND_STAGE_F200, SND_STAGE_F200, SND_STAGE_F200, nullptr},
|
||||
/* SND_STAGE_F201_1 */
|
||||
{"F201_1", -1, SND_STAGE_F201_1, SND_STAGE_F201_1, SND_STAGE_F201_1, SND_STAGE_F201_1, nullptr},
|
||||
/* SND_STAGE_F201_2 */
|
||||
{"F201_2", -1, SND_STAGE_F201_2, SND_STAGE_F201_2, SND_STAGE_F201_2, SND_STAGE_F201_2, nullptr},
|
||||
/* SND_STAGE_F201_3 */
|
||||
{"F201_3", -1, SND_STAGE_F201_3, SND_STAGE_F201_3, SND_STAGE_F201_1, SND_STAGE_F201_3, nullptr},
|
||||
/* SND_STAGE_F201_4 */
|
||||
{"F201_4", -1, SND_STAGE_F201_4, SND_STAGE_F201_4, SND_STAGE_F201_4, SND_STAGE_F201_4, nullptr},
|
||||
/* SND_STAGE_F202 */
|
||||
{ "F202", -1, SND_STAGE_F202, SND_STAGE_F202, SND_STAGE_F202, SND_STAGE_F202, nullptr},
|
||||
/* SND_STAGE_F300 */
|
||||
{ "F300", -1, SND_STAGE_F300, SND_STAGE_F300, SND_STAGE_F300, SND_STAGE_F300, nullptr},
|
||||
/* SND_STAGE_F300_1 */
|
||||
{"F300_1", -1, SND_STAGE_F300_1, SND_STAGE_F300_1, SND_STAGE_F300, SND_STAGE_F300, nullptr},
|
||||
/* SND_STAGE_F300_4_L13 */
|
||||
{"F300_4", 13, SND_STAGE_F300_4_L13, SND_STAGE_F300_4, SND_STAGE_F300_4_L13, SND_STAGE_F300_4_L13, "Demo36_01"},
|
||||
/* SND_STAGE_F300_4 */
|
||||
{"F300_4", -1, SND_STAGE_F300_4, SND_STAGE_F300_4, SND_STAGE_F300, SND_STAGE_F300, nullptr},
|
||||
/* SND_STAGE_F301 */
|
||||
{ "F301", -1, SND_STAGE_F301, SND_STAGE_F301, SND_STAGE_F301, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_1 */
|
||||
{"F301_1", -1, SND_STAGE_F301_1, SND_STAGE_F301_1, SND_STAGE_F301_1, SND_STAGE_F301_1, nullptr},
|
||||
/* SND_STAGE_F301_2 */
|
||||
{"F301_2", -1, SND_STAGE_F301_2, SND_STAGE_F301_2, SND_STAGE_F301_2, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_3 */
|
||||
{"F301_3", -1, SND_STAGE_F301_3, SND_STAGE_F301_3, SND_STAGE_F301_3, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_4_L2 */
|
||||
{"F301_4", 2, SND_STAGE_F301_4_L2, SND_STAGE_F301_4, SND_STAGE_F301_4_L2, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_4 */
|
||||
{"F301_4", -1, SND_STAGE_F301_4, SND_STAGE_F301_4, SND_STAGE_F301_4, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_6 */
|
||||
{"F301_6", -1, SND_STAGE_F301_6, SND_STAGE_F301_6, SND_STAGE_F301, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F301_7 */
|
||||
{"F301_7", -1, SND_STAGE_F301_7, SND_STAGE_F301_7, SND_STAGE_F301_7, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F302_L13 */
|
||||
{ "F302", 13, SND_STAGE_F302_L13, SND_STAGE_F302, SND_STAGE_F302_L13, SND_STAGE_F302_L13, "Demo64_05"},
|
||||
/* SND_STAGE_F302 */
|
||||
{ "F302", -1, SND_STAGE_F302, SND_STAGE_F302, SND_STAGE_F302, SND_STAGE_F302, nullptr},
|
||||
/* SND_STAGE_F400_L13 */
|
||||
{ "F400", 13, SND_STAGE_F400_L13, SND_STAGE_F400, SND_STAGE_F400_L13, SND_STAGE_F400_L13, "Demo38_01"},
|
||||
/* SND_STAGE_F400 */
|
||||
{ "F400", -1, SND_STAGE_F400, SND_STAGE_F400, SND_STAGE_F400, SND_STAGE_F400, nullptr},
|
||||
/* SND_STAGE_F401_L2 */
|
||||
{ "F401", 2, SND_STAGE_F401_L2, SND_STAGE_F401, SND_STAGE_F401_L2, SND_STAGE_F401_L2, nullptr},
|
||||
/* SND_STAGE_F401_L3 */
|
||||
{ "F401", 3, SND_STAGE_F401_L3, SND_STAGE_F401, SND_STAGE_F401_L3, SND_STAGE_F401_L3, nullptr},
|
||||
/* SND_STAGE_F401_L4 */
|
||||
{ "F401", 4, SND_STAGE_F401_L4, SND_STAGE_F401, SND_STAGE_F401_L4, SND_STAGE_F401_L4, nullptr},
|
||||
/* SND_STAGE_F401_L13 */
|
||||
{ "F401", 13, SND_STAGE_F401_L13, SND_STAGE_F401, SND_STAGE_F401_L13, SND_STAGE_F401_L13, "Demo17_01"},
|
||||
/* SND_STAGE_F401_L14 */
|
||||
{ "F401", 14, SND_STAGE_F401_L14, SND_STAGE_F401, SND_STAGE_F401_L14, SND_STAGE_F401_L14, "Demo43_01"},
|
||||
/* SND_STAGE_F401_L15 */
|
||||
{ "F401", 15, SND_STAGE_F401_L15, SND_STAGE_F401, SND_STAGE_F401_L15, SND_STAGE_F401_L15, "Demo69_02"},
|
||||
/* SND_STAGE_F401 */
|
||||
{ "F401", -1, SND_STAGE_F401, SND_STAGE_F401, SND_STAGE_F401, SND_STAGE_F401, nullptr},
|
||||
/* SND_STAGE_F403_L13 */
|
||||
{ "F403", 13, SND_STAGE_F403_L13, SND_STAGE_F403, SND_STAGE_F403_L13, SND_STAGE_F403_L13, "Demo72_01"},
|
||||
/* SND_STAGE_F403_L14 */
|
||||
{ "F403", 14, SND_STAGE_F403_L14, SND_STAGE_F403, SND_STAGE_F403_L14, SND_STAGE_F403_L14, "Demo73_01"},
|
||||
/* SND_STAGE_F403_L15 */
|
||||
{ "F403", 15, SND_STAGE_F403_L15, SND_STAGE_F403, SND_STAGE_F403_L15, SND_STAGE_F403_L15, "Demo75_01"},
|
||||
/* SND_STAGE_F403_L16 */
|
||||
{ "F403", 16, SND_STAGE_F403_L16, SND_STAGE_F403, SND_STAGE_F403_L16, SND_STAGE_F403_L16, "Demo75_02"},
|
||||
/* SND_STAGE_F403 */
|
||||
{ "F403", -1, SND_STAGE_F403, SND_STAGE_F403, SND_STAGE_F403, SND_STAGE_F403, nullptr},
|
||||
/* SND_STAGE_F405 */
|
||||
{ "F405", -1, SND_STAGE_F405, SND_STAGE_F405, SND_STAGE_F405, SND_STAGE_F405, "Demo02_01"},
|
||||
/* SND_STAGE_F406_L13 */
|
||||
{ "F406", 13, SND_STAGE_F406_L13, SND_STAGE_F406, SND_STAGE_F406_L13, SND_STAGE_F406_L13, "Demo79_02"},
|
||||
/* SND_STAGE_F406_L14 */
|
||||
{ "F406", 14, SND_STAGE_F406_L14, SND_STAGE_F406, SND_STAGE_F406_L14, SND_STAGE_F406_L14, "Demo69_03"},
|
||||
/* SND_STAGE_F406 */
|
||||
{ "F406", -1, SND_STAGE_F406, SND_STAGE_F406, SND_STAGE_F406, SND_STAGE_F406, nullptr},
|
||||
/* SND_STAGE_D301 */
|
||||
{ "D301", -1, SND_STAGE_D301, SND_STAGE_D301, SND_STAGE_D301, SND_STAGE_D301, nullptr},
|
||||
/* SND_STAGE_D301_1 */
|
||||
{"D301_1", -1, SND_STAGE_D301_1, SND_STAGE_D301_1, SND_STAGE_D301_1, SND_STAGE_D301, nullptr},
|
||||
/* SND_STAGE_D000 */
|
||||
{ "D000", -1, SND_STAGE_D000, SND_STAGE_D000, SND_STAGE_D000, SND_STAGE_D000, nullptr},
|
||||
/* SND_STAGE_D100 */
|
||||
{ "D100", -1, SND_STAGE_D100, SND_STAGE_D100, SND_STAGE_D100, SND_STAGE_D100, nullptr},
|
||||
/* SND_STAGE_D101 */
|
||||
{ "D101", -1, SND_STAGE_D101, SND_STAGE_D101, SND_STAGE_D101, SND_STAGE_D101, nullptr},
|
||||
/* SND_STAGE_D200 */
|
||||
{ "D200", -1, SND_STAGE_D200, SND_STAGE_D200, SND_STAGE_D200, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_D201 */
|
||||
{ "D201", -1, SND_STAGE_D201, SND_STAGE_D201, SND_STAGE_D201, SND_STAGE_D201, nullptr},
|
||||
/* SND_STAGE_D201_1 */
|
||||
{"D201_1", -1, SND_STAGE_D201_1, SND_STAGE_D201_1, SND_STAGE_D201, SND_STAGE_D201, nullptr},
|
||||
/* SND_STAGE_D300 */
|
||||
{ "D300", -1, SND_STAGE_D300, SND_STAGE_D300, SND_STAGE_D300, SND_STAGE_D300, nullptr},
|
||||
/* SND_STAGE_D300_1 */
|
||||
{"D300_1", -1, SND_STAGE_D300_1, SND_STAGE_D300_1, SND_STAGE_D300, SND_STAGE_D300, nullptr},
|
||||
/* SND_STAGE_D003_0 */
|
||||
{"D003_0", -1, SND_STAGE_D003_0, SND_STAGE_D003_0, SND_STAGE_D003_0, SND_STAGE_D003_0, nullptr},
|
||||
/* SND_STAGE_D003_1 */
|
||||
{"D003_1", -1, SND_STAGE_D003_1, SND_STAGE_D003_1, SND_STAGE_D003_1, SND_STAGE_D003_1, nullptr},
|
||||
/* SND_STAGE_D003_2 */
|
||||
{"D003_2", -1, SND_STAGE_D003_2, SND_STAGE_D003_2, SND_STAGE_D003_2, SND_STAGE_D003_2, nullptr},
|
||||
/* SND_STAGE_D003_3 */
|
||||
{"D003_3", -1, SND_STAGE_D003_3, SND_STAGE_D003_3, SND_STAGE_D003_3, SND_STAGE_D003_3, nullptr},
|
||||
/* SND_STAGE_D003_4 */
|
||||
{"D003_4", -1, SND_STAGE_D003_4, SND_STAGE_D003_4, SND_STAGE_D003_4, SND_STAGE_D003_4, nullptr},
|
||||
/* SND_STAGE_D003_5 */
|
||||
{"D003_5", -1, SND_STAGE_D003_5, SND_STAGE_D003_5, SND_STAGE_D003_5, SND_STAGE_D003_5, nullptr},
|
||||
/* SND_STAGE_D003_6 */
|
||||
{"D003_6", -1, SND_STAGE_D003_6, SND_STAGE_D003_6, SND_STAGE_D003_6, SND_STAGE_D003_6, nullptr},
|
||||
/* SND_STAGE_D003_7 */
|
||||
{"D003_7", -1, SND_STAGE_D003_7, SND_STAGE_D003_7, SND_STAGE_D003_7, SND_STAGE_D003_7, nullptr},
|
||||
/* SND_STAGE_D003_8 */
|
||||
{"D003_8", -1, SND_STAGE_D003_8, SND_STAGE_D003_8, SND_STAGE_D003_8, SND_STAGE_D003_8, nullptr},
|
||||
/* SND_STAGE_B100_L13 */
|
||||
{ "B100", 13, SND_STAGE_B100_L13, SND_STAGE_B100, SND_STAGE_B100_L13, SND_STAGE_B100_L13, "Demo21_01"},
|
||||
/* SND_STAGE_B100 */
|
||||
{ "B100", -1, SND_STAGE_B100, SND_STAGE_B100, SND_STAGE_B100, SND_STAGE_B100, nullptr},
|
||||
/* SND_STAGE_B100_1_L13 */
|
||||
{"B100_1", 13, SND_STAGE_B100_1_L13, SND_STAGE_B100_1, SND_STAGE_B100_1_L13, SND_STAGE_B100_1_L13, "Demo23_01"},
|
||||
/* SND_STAGE_B100_1 */
|
||||
{"B100_1", -1, SND_STAGE_B100_1, SND_STAGE_B100_1, SND_STAGE_B100_1, SND_STAGE_B100_1, nullptr},
|
||||
/* SND_STAGE_B101 */
|
||||
{ "B101", -1, SND_STAGE_B101, SND_STAGE_B101, SND_STAGE_B101, SND_STAGE_B101, nullptr},
|
||||
/* SND_STAGE_B101_1_L13 */
|
||||
{"B101_1", 13, SND_STAGE_B101_1_L13, SND_STAGE_B101_1, SND_STAGE_B101_1_L13, SND_STAGE_B101_1_L13, "Demo47_01"},
|
||||
/* SND_STAGE_B101_1 */
|
||||
{"B101_1", -1, SND_STAGE_B101_1, SND_STAGE_B101_1, SND_STAGE_B101_1, SND_STAGE_B101_1, nullptr},
|
||||
/* SND_STAGE_B200_L1 */
|
||||
{ "B200", 1, SND_STAGE_B200_L1, SND_STAGE_B200, SND_STAGE_B200_L1, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_B200_L2 */
|
||||
{ "B200", 2, SND_STAGE_B200_L2, SND_STAGE_B200, SND_STAGE_B200_L2, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_B200_L3 */
|
||||
{ "B200", 3, SND_STAGE_B200_L3, SND_STAGE_B200, SND_STAGE_B200_L3, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_B200 */
|
||||
{ "B200", -1, SND_STAGE_B200, SND_STAGE_B200, SND_STAGE_B200, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_B210_L13 */
|
||||
{ "B210", 13, SND_STAGE_B210_L13, SND_STAGE_B210, SND_STAGE_B210_L13, SND_STAGE_B210_L13, "Demo29_01"},
|
||||
/* SND_STAGE_B210_L14 */
|
||||
{ "B210", 14, SND_STAGE_B210_L14, SND_STAGE_B210, SND_STAGE_B210_L14, SND_STAGE_B210_L14, "Demo31_01"},
|
||||
/* SND_STAGE_B210 */
|
||||
{ "B210", -1, SND_STAGE_B210, SND_STAGE_B210, SND_STAGE_B210, SND_STAGE_B210, nullptr},
|
||||
/* SND_STAGE_B201_L13 */
|
||||
{ "B201", 13, SND_STAGE_B201_L13, SND_STAGE_B201, SND_STAGE_B201_L13, SND_STAGE_B201_L13, "Demo51_01"},
|
||||
/* SND_STAGE_B201 */
|
||||
{ "B201", -1, SND_STAGE_B201, SND_STAGE_B201, SND_STAGE_B201, SND_STAGE_B201, nullptr},
|
||||
/* SND_STAGE_B201_1_L13 */
|
||||
{"B201_1", 13, SND_STAGE_B201_1_L13, SND_STAGE_B201_1, SND_STAGE_B201_1_L13, SND_STAGE_B201_1_L13, "Demo52_01"},
|
||||
/* SND_STAGE_B201_1 */
|
||||
{"B201_1", -1, SND_STAGE_B201_1, SND_STAGE_B201_1, SND_STAGE_B201_1, SND_STAGE_B201_1, nullptr},
|
||||
/* SND_STAGE_B300 */
|
||||
{ "B300", -1, SND_STAGE_B300, SND_STAGE_B300, SND_STAGE_B300, SND_STAGE_B300, nullptr},
|
||||
/* SND_STAGE_B301_L13 */
|
||||
{ "B301", 13, SND_STAGE_B301_L13, SND_STAGE_B301, SND_STAGE_B301_L13, SND_STAGE_B301_L13, "Demo49_01"},
|
||||
/* SND_STAGE_B301 */
|
||||
{ "B301", -1, SND_STAGE_B301, SND_STAGE_B301, SND_STAGE_B301, SND_STAGE_B301, nullptr},
|
||||
/* SND_STAGE_B003 */
|
||||
{ "B003", -1, SND_STAGE_B003, SND_STAGE_B003, SND_STAGE_B003, SND_STAGE_B003, nullptr},
|
||||
/* SND_STAGE_B400_L13 */
|
||||
{ "B400", 13, SND_STAGE_B400_L13, SND_STAGE_B400, SND_STAGE_B400_L13, SND_STAGE_B400_L13, "Demo75_04"},
|
||||
/* SND_STAGE_B400_L14 */
|
||||
{ "B400", 14, SND_STAGE_B400_L14, SND_STAGE_B400, SND_STAGE_B400_L14, SND_STAGE_B400_L14, "Demo76_01"},
|
||||
/* SND_STAGE_B400 */
|
||||
{ "B400", -1, SND_STAGE_B400, SND_STAGE_B400, SND_STAGE_B400, SND_STAGE_B400, nullptr},
|
||||
/* SND_STAGE_F100_1 */
|
||||
{"F100_1", -1, SND_STAGE_F100_1, SND_STAGE_F100_1, SND_STAGE_F100_1, SND_STAGE_F100_1, nullptr},
|
||||
/* SND_STAGE_F100_2 */
|
||||
{"F100_2", -1, SND_STAGE_F100_2, SND_STAGE_F100_2, SND_STAGE_F100_2, SND_STAGE_F100_2, nullptr},
|
||||
/* SND_STAGE_F102_2 */
|
||||
{"F102_2", -1, SND_STAGE_F102_2, SND_STAGE_F102_2, SND_STAGE_F102, SND_STAGE_F102, nullptr},
|
||||
/* SND_STAGE_F103_1_L13 */
|
||||
{"F103_1", 13, SND_STAGE_F103_1_L13, SND_STAGE_F103_1, SND_STAGE_F103_1_L13, SND_STAGE_F103_1_L13, "Demo64_02"},
|
||||
/* SND_STAGE_F103_1_L14 */
|
||||
{"F103_1", 14, SND_STAGE_F103_1_L14, SND_STAGE_F103_1, SND_STAGE_F103_1_L14, SND_STAGE_F103_1_L14, "Demo64_04"},
|
||||
/* SND_STAGE_F103_1 */
|
||||
{"F103_1", -1, SND_STAGE_F103_1, SND_STAGE_F103_1, SND_STAGE_F103_1, SND_STAGE_F103, nullptr},
|
||||
/* SND_STAGE_F210 */
|
||||
{ "F210", -1, SND_STAGE_F210, SND_STAGE_F210, SND_STAGE_F210, SND_STAGE_F210, nullptr},
|
||||
/* SND_STAGE_F211 */
|
||||
{ "F211", -1, SND_STAGE_F211, SND_STAGE_F211, SND_STAGE_F211, SND_STAGE_F211, nullptr},
|
||||
/* SND_STAGE_F221_L13 */
|
||||
{ "F221", 13, SND_STAGE_F221_L13, SND_STAGE_F221, SND_STAGE_F221_L13, SND_STAGE_F221_L13, "Demo64_01"},
|
||||
/* SND_STAGE_F221 */
|
||||
{ "F221", -1, SND_STAGE_F221, SND_STAGE_F221, SND_STAGE_F221, SND_STAGE_F221, nullptr},
|
||||
/* SND_STAGE_F202_1 */
|
||||
{"F202_1", -1, SND_STAGE_F202_1, SND_STAGE_F202_1, SND_STAGE_F202_1, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_F202_2 */
|
||||
{"F202_2", -1, SND_STAGE_F202_2, SND_STAGE_F202_2, SND_STAGE_F202_2, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_F202_3 */
|
||||
{"F202_3", -1, SND_STAGE_F202_3, SND_STAGE_F202_3, SND_STAGE_F202_3, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_F202_4 */
|
||||
{"F202_4", -1, SND_STAGE_F202_4, SND_STAGE_F202_4, SND_STAGE_F202_4, SND_STAGE_D200, nullptr},
|
||||
/* SND_STAGE_F300_2 */
|
||||
{"F300_2", -1, SND_STAGE_F300_2, SND_STAGE_F300_2, SND_STAGE_F300, SND_STAGE_F300, nullptr},
|
||||
/* SND_STAGE_F300_3 */
|
||||
{"F300_3", -1, SND_STAGE_F300_3, SND_STAGE_F300_3, SND_STAGE_F300, SND_STAGE_F300, nullptr},
|
||||
/* SND_STAGE_F300_5 */
|
||||
{"F300_5", -1, SND_STAGE_F300_5, SND_STAGE_F300_5, SND_STAGE_F300_5, SND_STAGE_F300_5, nullptr},
|
||||
/* SND_STAGE_F303 */
|
||||
{ "F303", -1, SND_STAGE_F303, SND_STAGE_F303, SND_STAGE_F303, SND_STAGE_F303, nullptr},
|
||||
/* SND_STAGE_S000 */
|
||||
{ "S000", -1, SND_STAGE_S000, SND_STAGE_S000, SND_STAGE_S000, SND_STAGE_S000, nullptr},
|
||||
/* SND_STAGE_S100 */
|
||||
{ "S100", -1, SND_STAGE_S100, SND_STAGE_S100, SND_STAGE_S100, SND_STAGE_S100, nullptr},
|
||||
/* SND_STAGE_S200 */
|
||||
{ "S200", -1, SND_STAGE_S200, SND_STAGE_S200, SND_STAGE_S200, SND_STAGE_S200, nullptr},
|
||||
/* SND_STAGE_S300 */
|
||||
{ "S300", -1, SND_STAGE_S300, SND_STAGE_S300, SND_STAGE_S300, SND_STAGE_S300, nullptr},
|
||||
/* SND_STAGE_F020_L3 */
|
||||
{ "F020", 3, SND_STAGE_F020_L3, SND_STAGE_F020, SND_STAGE_F020_L3, SND_STAGE_F000, nullptr},
|
||||
/* SND_STAGE_F020 */
|
||||
{ "F020", -1, SND_STAGE_F020, SND_STAGE_F020, SND_STAGE_F020, SND_STAGE_F000, nullptr},
|
||||
/* SND_STAGE_F021_L13 */
|
||||
{ "F021", 13, SND_STAGE_F021_L13, SND_STAGE_F021, SND_STAGE_F021_L13, SND_STAGE_F021_L13, "Demo12_02"},
|
||||
/* SND_STAGE_F021 */
|
||||
{ "F021", -1, SND_STAGE_F021, SND_STAGE_F021, SND_STAGE_F021, SND_STAGE_F021, nullptr},
|
||||
/* SND_STAGE_F023_L14 */
|
||||
{ "F023", 14, SND_STAGE_F023_L14, SND_STAGE_F023, SND_STAGE_F023_L14, SND_STAGE_F023_L14, "Demo64_06"},
|
||||
/* SND_STAGE_F023 */
|
||||
{ "F023", -1, SND_STAGE_F023, SND_STAGE_F023, SND_STAGE_F023, SND_STAGE_F023, nullptr},
|
||||
/* SND_STAGE_F000_L13 */
|
||||
{ "F000", 13, SND_STAGE_F000_L13, SND_STAGE_F000, SND_STAGE_F000_L13, SND_STAGE_F000_L13, "Demo04_01"},
|
||||
/* SND_STAGE_F000_L14 */
|
||||
{ "F000", 14, SND_STAGE_F000_L14, SND_STAGE_F000, SND_STAGE_F000_L14, SND_STAGE_F000_L14, "Demo12_01"},
|
||||
/* SND_STAGE_F000_L15 */
|
||||
{ "F000", 15, SND_STAGE_F000_L15, SND_STAGE_F000, SND_STAGE_F000_L15, SND_STAGE_F000_L15, "Demo05_01"},
|
||||
/* SND_STAGE_F000_L16 */
|
||||
{ "F000", 16, SND_STAGE_F000_L16, SND_STAGE_F000, SND_STAGE_F000_L16, SND_STAGE_F000_L16, "Demo08_01"},
|
||||
/* SND_STAGE_F000_L17 */
|
||||
{ "F000", 17, SND_STAGE_F000_L17, SND_STAGE_F000, SND_STAGE_F000_L17, SND_STAGE_F000_L17, "Demo11_01"},
|
||||
/* SND_STAGE_F000_L18 */
|
||||
{ "F000", 18, SND_STAGE_F000_L18, SND_STAGE_F000, SND_STAGE_F000_L18, SND_STAGE_F000_L18, "Demo68_01"},
|
||||
/* SND_STAGE_F000_L19 */
|
||||
{ "F000", 19, SND_STAGE_F000_L19, SND_STAGE_F000, SND_STAGE_F000_L19, SND_STAGE_F000_L19, "Demo69_01"},
|
||||
/* SND_STAGE_F000_L20 */
|
||||
{ "F000", 20, SND_STAGE_F000_L20, SND_STAGE_F000, SND_STAGE_F000_L20, SND_STAGE_F000_L20, "Demo03_01"},
|
||||
/* SND_STAGE_F000_L21 */
|
||||
{ "F000", 21, SND_STAGE_F000_L21, SND_STAGE_F000, SND_STAGE_F000_L21, SND_STAGE_F000_L21, "Demo03_02"},
|
||||
/* SND_STAGE_F000_L26 */
|
||||
{ "F000", 26, SND_STAGE_F000_L26, SND_STAGE_F000, SND_STAGE_F000_L26, SND_STAGE_F000_L26, "Demo01_01"},
|
||||
/* SND_STAGE_F000_L27 */
|
||||
{ "F000", 27, SND_STAGE_F000_L27, SND_STAGE_F000, SND_STAGE_F000_L27, SND_STAGE_F000_L27, "Demo01_02"},
|
||||
/* SND_STAGE_F000 */
|
||||
{ "F000", -1, SND_STAGE_F000, SND_STAGE_F000, SND_STAGE_F000, SND_STAGE_F000, nullptr},
|
||||
/* SND_STAGE_F301_5 */
|
||||
{"F301_5", -1, SND_STAGE_F301_5, SND_STAGE_F301_5, SND_STAGE_F301_3, SND_STAGE_F301, nullptr},
|
||||
/* SND_STAGE_F001r_L13 */
|
||||
{ "F001r", 13, SND_STAGE_F001r_L13, SND_STAGE_F001r, SND_STAGE_F001r_L13, SND_STAGE_F001r_L13, "Demo13_01"},
|
||||
/* SND_STAGE_F001r_L14 */
|
||||
{ "F001r", 14, SND_STAGE_F001r_L14, SND_STAGE_F001r, SND_STAGE_F001r_L14, SND_STAGE_F001r_L14, "Demo15_04"},
|
||||
/* SND_STAGE_F001r_L15 */
|
||||
{ "F001r", 15, SND_STAGE_F001r_L15, SND_STAGE_F001r, SND_STAGE_F001r_L15, SND_STAGE_F001r_L15, "Demo03_03"},
|
||||
/* SND_STAGE_F001r */
|
||||
{ "F001r", -1, SND_STAGE_F001r, SND_STAGE_F001r, SND_STAGE_F001r, SND_STAGE_F001r, nullptr},
|
||||
/* SND_STAGE_F002r */
|
||||
{ "F002r", -1, SND_STAGE_F002r, SND_STAGE_F002r, SND_STAGE_F002r, SND_STAGE_F002r, nullptr},
|
||||
/* SND_STAGE_F004r */
|
||||
{ "F004r", -1, SND_STAGE_F004r, SND_STAGE_F004r, SND_STAGE_F004r, SND_STAGE_F004r, nullptr},
|
||||
/* SND_STAGE_F009r */
|
||||
{ "F009r", -1, SND_STAGE_F009r, SND_STAGE_F009r, SND_STAGE_F009r, SND_STAGE_F009r, nullptr},
|
||||
/* SND_STAGE_F011r */
|
||||
{ "F011r", -1, SND_STAGE_F011r, SND_STAGE_F011r, SND_STAGE_F011r, SND_STAGE_F011r, nullptr},
|
||||
/* SND_STAGE_F012r */
|
||||
{ "F012r", -1, SND_STAGE_F012r, SND_STAGE_F012r, SND_STAGE_F012r, SND_STAGE_F012r, nullptr},
|
||||
/* SND_STAGE_F019r */
|
||||
{ "F019r", -1, SND_STAGE_F019r, SND_STAGE_F019r, SND_STAGE_F019r, SND_STAGE_F019r, nullptr},
|
||||
/* SND_STAGE_F005r */
|
||||
{ "F005r", -1, SND_STAGE_F005r, SND_STAGE_F005r, SND_STAGE_F005r, SND_STAGE_F005r, nullptr},
|
||||
/* SND_STAGE_F006r */
|
||||
{ "F006r", -1, SND_STAGE_F006r, SND_STAGE_F006r, SND_STAGE_F006r, SND_STAGE_F006r, nullptr},
|
||||
/* SND_STAGE_F007r */
|
||||
{ "F007r", -1, SND_STAGE_F007r, SND_STAGE_F007r, SND_STAGE_F007r, SND_STAGE_F007r, nullptr},
|
||||
/* SND_STAGE_F013r */
|
||||
{ "F013r", -1, SND_STAGE_F013r, SND_STAGE_F013r, SND_STAGE_F013r, SND_STAGE_F013r, nullptr},
|
||||
/* SND_STAGE_F014r */
|
||||
{ "F014r", -1, SND_STAGE_F014r, SND_STAGE_F014r, SND_STAGE_F014r, SND_STAGE_F014r, nullptr},
|
||||
/* SND_STAGE_F015r */
|
||||
{ "F015r", -1, SND_STAGE_F015r, SND_STAGE_F015r, SND_STAGE_F015r, SND_STAGE_F015r, nullptr},
|
||||
/* SND_STAGE_F016r */
|
||||
{ "F016r", -1, SND_STAGE_F016r, SND_STAGE_F016r, SND_STAGE_F016r, SND_STAGE_F016r, nullptr},
|
||||
/* SND_STAGE_F017r */
|
||||
{ "F017r", -1, SND_STAGE_F017r, SND_STAGE_F017r, SND_STAGE_F017r, SND_STAGE_F017r, nullptr},
|
||||
/* SND_STAGE_F018r */
|
||||
{ "F018r", -1, SND_STAGE_F018r, SND_STAGE_F018r, SND_STAGE_F018r, SND_STAGE_F018r, nullptr},
|
||||
/* SND_STAGE_F402_L2 */
|
||||
{ "F402", 2, SND_STAGE_F402_L2, SND_STAGE_F402, SND_STAGE_F402_L2, SND_STAGE_F402_L2, nullptr},
|
||||
/* SND_STAGE_F402_L3 */
|
||||
{ "F402", 3, SND_STAGE_F402_L3, SND_STAGE_F402, SND_STAGE_F402_L3, SND_STAGE_F402_L3, nullptr},
|
||||
/* SND_STAGE_F402_L5 */
|
||||
{ "F402", 5, SND_STAGE_F402_L5, SND_STAGE_F402, SND_STAGE_F402_L5, SND_STAGE_F402_L5, nullptr},
|
||||
/* SND_STAGE_F402_L13 */
|
||||
{ "F402", 13, SND_STAGE_F402_L13, SND_STAGE_F402, SND_STAGE_F402_L13, SND_STAGE_F402_L13, "Demo41_01"},
|
||||
/* SND_STAGE_F402_L18 */
|
||||
{ "F402", 18, SND_STAGE_F402_L18, SND_STAGE_F402, SND_STAGE_F402_L18, SND_STAGE_F402_L18, "Demo43_02"},
|
||||
/* SND_STAGE_F402_L19 */
|
||||
{ "F402", 19, SND_STAGE_F402_L19, SND_STAGE_F402, SND_STAGE_F402_L19, SND_STAGE_F402_L19, "Demo79_01"},
|
||||
/* SND_STAGE_F402 */
|
||||
{ "F402", -1, SND_STAGE_F402, SND_STAGE_F402, SND_STAGE_F402, SND_STAGE_F402, nullptr},
|
||||
/* SND_STAGE_F404_L13 */
|
||||
{ "F404", 13, SND_STAGE_F404_L13, SND_STAGE_F404, SND_STAGE_F404_L13, SND_STAGE_F404_L13, "Demo62_01"},
|
||||
/* SND_STAGE_F404_L14 */
|
||||
{ "F404", 14, SND_STAGE_F404_L14, SND_STAGE_F404, SND_STAGE_F404_L14, SND_STAGE_F404_L14, "Demo77_01"},
|
||||
/* SND_STAGE_F404 */
|
||||
{ "F404", -1, SND_STAGE_F404, SND_STAGE_F404, SND_STAGE_F404, SND_STAGE_F404, nullptr},
|
||||
/* SND_STAGE_F407_L13 */
|
||||
{ "F407", 13, SND_STAGE_F407_L13, SND_STAGE_F407, SND_STAGE_F407_L13, SND_STAGE_F407_L13, "Demo59_01"},
|
||||
/* SND_STAGE_F407_L14 */
|
||||
{ "F407", 14, SND_STAGE_F407_L14, SND_STAGE_F407, SND_STAGE_F407_L14, SND_STAGE_F407_L14, "Demo70_01"},
|
||||
/* SND_STAGE_F407_L15 */
|
||||
{ "F407", 15, SND_STAGE_F407_L15, SND_STAGE_F407, SND_STAGE_F407_L15, SND_STAGE_F407_L15, "Demo70_02"},
|
||||
/* SND_STAGE_F407 */
|
||||
{ "F407", -1, SND_STAGE_F407, SND_STAGE_F407, SND_STAGE_F407, SND_STAGE_F407, nullptr},
|
||||
/* SND_STAGE_F008r_L13 */
|
||||
{ "F008r", 13, SND_STAGE_F008r_L13, SND_STAGE_F008r, SND_STAGE_F008r_L13, SND_STAGE_F008r_L13, "Demo15_01"},
|
||||
/* SND_STAGE_F008r_L14 */
|
||||
{ "F008r", 14, SND_STAGE_F008r_L14, SND_STAGE_F008r, SND_STAGE_F008r_L14, SND_STAGE_F008r_L14, "Demo15_02"},
|
||||
/* SND_STAGE_F008r_L15 */
|
||||
{ "F008r", 15, SND_STAGE_F008r_L15, SND_STAGE_F008r, SND_STAGE_F008r_L15, SND_STAGE_F008r_L15, "Demo15_03"},
|
||||
/* SND_STAGE_F008r */
|
||||
{ "F008r", -1, SND_STAGE_F008r, SND_STAGE_F008r, SND_STAGE_F008r, SND_STAGE_F008r, nullptr},
|
||||
/* SND_STAGE_F010r_L13 */
|
||||
{ "F010r", 13, SND_STAGE_F010r_L13, SND_STAGE_F010r, SND_STAGE_F010r_L13, SND_STAGE_F010r_L13, "Demo44_01"},
|
||||
/* SND_STAGE_F010r_L14 */
|
||||
{ "F010r", 14, SND_STAGE_F010r_L14, SND_STAGE_F010r, SND_STAGE_F010r_L14, SND_STAGE_F010r_L14, "Demo48_01"},
|
||||
/* SND_STAGE_F010r_L15 */
|
||||
{ "F010r", 15, SND_STAGE_F010r_L15, SND_STAGE_F010r, SND_STAGE_F010r_L15, SND_STAGE_F010r_L15, "Demo50_01"},
|
||||
/* SND_STAGE_F010r */
|
||||
{ "F010r", -1, SND_STAGE_F010r, SND_STAGE_F010r, SND_STAGE_F010r, SND_STAGE_F010r, nullptr},
|
||||
/* SND_STAGE_Demo_L13 */
|
||||
{ "Demo", 13, SND_STAGE_Demo_L13, SND_STAGE_Demo, SND_STAGE_Demo_L13, SND_STAGE_Demo_L13, "Demo78_01"},
|
||||
/* SND_STAGE_Demo */
|
||||
{ "Demo", -1, SND_STAGE_Demo, SND_STAGE_Demo, SND_STAGE_Demo, SND_STAGE_Demo, nullptr},
|
||||
};
|
||||
|
||||
#pragma pop
|
||||
|
||||
const s32 dSndStageInfo::sNumStageInfos = ARRAY_LENGTH(dSndStageInfo::sInfos);
|
||||
@@ -0,0 +1,204 @@
|
||||
#include "d/snd/d_snd_state_mgr.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/snd/d_snd_player_mgr.h"
|
||||
#include "d/snd/d_snd_stage_data.h"
|
||||
#include "egg/core/eggHeap.h"
|
||||
#include "nw4r/snd/snd_FxReverbStdDpl2.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
SND_DISPOSER_DEFINE(dSndStateMgr_c);
|
||||
|
||||
dSndStateMgr_c::dSndStateMgr_c()
|
||||
: field_0x010(0),
|
||||
field_0x014(0),
|
||||
field_0x018(0),
|
||||
field_0x03C(0),
|
||||
mStageId(0xAC),
|
||||
mPreviousStageId(0xAC),
|
||||
field_0x054(0),
|
||||
field_0x058(0),
|
||||
mLayer(-1),
|
||||
field_0x060(0),
|
||||
field_0x064(0),
|
||||
field_0x065(false),
|
||||
field_0x066(0),
|
||||
field_0x067(0),
|
||||
field_0x068(-1),
|
||||
field_0x06C(-1),
|
||||
field_0x070(0),
|
||||
field_0x074(0),
|
||||
field_0x078(0),
|
||||
field_0x07C(0),
|
||||
field_0x080(0),
|
||||
field_0x084(0),
|
||||
field_0x088(0),
|
||||
field_0x08C(0x89),
|
||||
field_0x090(0),
|
||||
field_0x094(0),
|
||||
field_0x118(nullptr),
|
||||
field_0x11C(0),
|
||||
field_0x120(0),
|
||||
field_0x124(0),
|
||||
field_0x128(-1),
|
||||
field_0x22C(0),
|
||||
field_0x230(0),
|
||||
field_0x234(0),
|
||||
field_0x238(-1),
|
||||
field_0x23C(0),
|
||||
field_0x23D(0),
|
||||
field_0x240(0),
|
||||
field_0x244(0),
|
||||
field_0x248(0),
|
||||
field_0x24C(-1),
|
||||
field_0x250(0),
|
||||
field_0x254(0),
|
||||
field_0x258(0),
|
||||
field_0x48C(0),
|
||||
field_0x490(0.02f),
|
||||
field_0x494(-1.0f),
|
||||
field_0x498(-1.0f),
|
||||
field_0x49C(0.02f),
|
||||
field_0x4A0(0.02f),
|
||||
field_0x4A4(-1),
|
||||
field_0x4A8(0),
|
||||
needsGroupsReload(false) {}
|
||||
|
||||
extern "C" void fn_803665B0(nw4r::snd::detail::FxReverbStdParam &, int);
|
||||
|
||||
void dSndStateMgr_c::setup(EGG::Heap *pHeap) {
|
||||
u32 max = 0;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
nw4r::snd::detail::FxReverbStdParam param;
|
||||
fn_803665B0(param, i);
|
||||
mFx.SetParam(param);
|
||||
u32 thisSize = mFx.GetRequiredMemSize();
|
||||
if (max < thisSize) {
|
||||
max = thisSize;
|
||||
}
|
||||
}
|
||||
void *mem = pHeap->alloc(max, 4);
|
||||
mFx.AssignWorkBuffer(mem, max);
|
||||
resetStageName();
|
||||
}
|
||||
|
||||
inline bool streq(const char *stageName, const char *name) {
|
||||
return !std::strcmp(stageName, name);
|
||||
}
|
||||
|
||||
void dSndStateMgr_c::onStageOrLayerUpdate() {
|
||||
if (dSndPlayerMgr_c::GetInstance()->checkFlag(dSndPlayerMgr_c::MGR_UNK_0x80)) {
|
||||
dSndPlayerMgr_c::GetInstance()->stopAllSound();
|
||||
}
|
||||
|
||||
bool unk_0x065 = field_0x065;
|
||||
|
||||
onFlag0x10(0x2);
|
||||
field_0x064 = 0;
|
||||
|
||||
if (!streq(field_0x098, dScGame_c::currentSpawnInfo.getStageName())) {
|
||||
needsGroupsReload = true;
|
||||
field_0x01C = dScGame_c::currentSpawnInfo.getStageName();
|
||||
}
|
||||
|
||||
if (!needsGroupsReload && dScGame_c::currentSpawnInfo.layer != mLayer) {
|
||||
needsGroupsReload = true;
|
||||
}
|
||||
|
||||
mLayer = dScGame_c::currentSpawnInfo.layer;
|
||||
u32 newStageId = getStageId(dScGame_c::currentSpawnInfo.getStageName(), dScGame_c::currentSpawnInfo.layer);
|
||||
mPreviousStageId = mStageId;
|
||||
field_0x044 = getStageUnk2(newStageId);
|
||||
mStageId = newStageId;
|
||||
|
||||
if (unk_0x065) {
|
||||
setCallbacksForStage();
|
||||
}
|
||||
}
|
||||
|
||||
inline bool checkStagePrefix(const char *stageName, const char *prefix) {
|
||||
return !std::strncmp(prefix, stageName, 2);
|
||||
}
|
||||
|
||||
u32 dSndStateMgr_c::getStageTypeFlags(const char *stageName) const {
|
||||
u32 flags = 0;
|
||||
if (checkStagePrefix(stageName, "F0")) {
|
||||
flags |= STAGE_SKY | STAGE_FIELD;
|
||||
} else if (checkStagePrefix(stageName, "D0")) {
|
||||
flags |= STAGE_SKY | STAGE_DUNGEON;
|
||||
} else if (checkStagePrefix(stageName, "B0")) {
|
||||
flags |= STAGE_SKY | STAGE_BOSS;
|
||||
} else if (checkStagePrefix(stageName, "S0")) {
|
||||
flags |= STAGE_SKY | STAGE_SILENT_REALM;
|
||||
} else if (checkStagePrefix(stageName, "F1")) {
|
||||
flags |= STAGE_FOREST | STAGE_FIELD;
|
||||
} else if (checkStagePrefix(stageName, "D1")) {
|
||||
flags |= STAGE_FOREST | STAGE_DUNGEON;
|
||||
} else if (checkStagePrefix(stageName, "B1")) {
|
||||
flags |= STAGE_FOREST | STAGE_BOSS;
|
||||
} else if (checkStagePrefix(stageName, "S1")) {
|
||||
flags |= STAGE_FOREST | STAGE_SILENT_REALM;
|
||||
} else if (checkStagePrefix(stageName, "F2")) {
|
||||
flags |= STAGE_MOUNTAIN | STAGE_FIELD;
|
||||
} else if (checkStagePrefix(stageName, "D2")) {
|
||||
flags |= STAGE_MOUNTAIN | STAGE_DUNGEON;
|
||||
} else if (checkStagePrefix(stageName, "B2")) {
|
||||
flags |= STAGE_MOUNTAIN | STAGE_BOSS;
|
||||
} else if (checkStagePrefix(stageName, "S2")) {
|
||||
flags |= STAGE_MOUNTAIN | STAGE_SILENT_REALM;
|
||||
} else if (checkStagePrefix(stageName, "F3")) {
|
||||
flags |= STAGE_DESERT | STAGE_FIELD;
|
||||
} else if (checkStagePrefix(stageName, "D3")) {
|
||||
flags |= STAGE_DESERT | STAGE_DUNGEON;
|
||||
} else if (checkStagePrefix(stageName, "B3")) {
|
||||
flags |= STAGE_DESERT | STAGE_BOSS;
|
||||
} else if (checkStagePrefix(stageName, "S3")) {
|
||||
flags |= STAGE_DESERT | STAGE_SILENT_REALM;
|
||||
} else if (checkStagePrefix(stageName, "F4")) {
|
||||
flags |= STAGE_SILENT_GROUNDS | STAGE_FIELD;
|
||||
} else if (checkStagePrefix(stageName, "D4")) {
|
||||
flags |= STAGE_SILENT_GROUNDS | STAGE_DUNGEON;
|
||||
} else if (checkStagePrefix(stageName, "B4")) {
|
||||
flags |= STAGE_SILENT_GROUNDS | STAGE_BOSS;
|
||||
}
|
||||
|
||||
if ((flags & STAGE_SKY) != 0 && std::strstr(stageName, "r") != nullptr) {
|
||||
flags |= STAGE_ROOM;
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
bool dSndStateMgr_c::isVolcanicDungeon(u32 stageId) {
|
||||
u32 base = getStageUnk2(stageId);
|
||||
switch (base) {
|
||||
case SND_STAGE_D200:
|
||||
case SND_STAGE_D201:
|
||||
case SND_STAGE_D201_1:
|
||||
case SND_STAGE_D003_0:
|
||||
case SND_STAGE_D003_1:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool dSndStateMgr_c::isSeekerStoneStage(const char *stageName, s32 layer) {
|
||||
if (streq(stageName, "F000") && layer == 22) {
|
||||
// Skyloft hint stone
|
||||
return true;
|
||||
}
|
||||
|
||||
if (streq(stageName, "F202") && layer == 10) {
|
||||
// Boko base hint stone
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isInStage(const char *stageName) {
|
||||
return !std::strcmp(dScGame_c::currentSpawnInfo.getStageName(), stageName);
|
||||
}
|
||||
@@ -271,7 +271,7 @@ static const ActorInfo sInfos[] = {
|
||||
{ "ESiren", fProfile::E_SIREN, fProfile::E_SIREN, 0xFFFF, 18, 0},
|
||||
{ "ESktl", fProfile::E_SKYTAIL, fProfile::E_SKYTAIL, 2, 10, 0},
|
||||
{ "ESm", fProfile::E_SM, fProfile::E_SM, 59, 11, 0},
|
||||
{ "ESpark", fProfile::E_SPARK, fProfile::E_SPARK, 67, 17, 0},
|
||||
{ "ESpark", fProfile::E_SPARK, fProfile::E_SPARK, 67, SND_SOURCE_SPARK, 0},
|
||||
{ "ESyako", fProfile::E_SYAKOMAITO, fProfile::E_SYAKOMAITO, 68, 10, 0},
|
||||
{ "EWs", fProfile::E_WS, fProfile::E_WS, 6, 15, 0},
|
||||
{ "Eel", fProfile::EEL, fProfile::EEL, 0xFFFF, 0xFF, 0},
|
||||
|
||||
Reference in New Issue
Block a user