various Z2Audio / JAudio debug cleanup (#2876)

* some JAudio work

* audio cleanup checkpoint

* checkpoint more audio cleanup

* fix symbols

* more z2 cleanup

* fix regression

* fix build

* some fixes
This commit is contained in:
TakaRikka
2025-11-27 21:19:33 -08:00
committed by GitHub
parent 767caeecc3
commit 6f96e66518
113 changed files with 6425 additions and 5542 deletions
+15 -16
View File
@@ -21479,18 +21479,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x80450850; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x80450854; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x80450858; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8045085C; // type:object size:0x4 scope:global align:4 data:float
struct_80450860 = .sdata:0x80450860; // type:object size:0x1 scope:global align:1 data:byte
struct_80450861 = .sdata:0x80450861; // type:object size:0x1 scope:global align:1 data:byte
struct_80450862 = .sdata:0x80450862; // type:object size:0x1 scope:global align:1 data:byte
struct_80450863 = .sdata:0x80450863; // type:object size:0x1 scope:global align:1 data:byte
struct_80450864 = .sdata:0x80450864; // type:object size:0x1 scope:global align:1 data:byte
struct_80450865 = .sdata:0x80450865; // type:object size:0x1 scope:global align:1 data:byte
struct_80450866 = .sdata:0x80450866; // type:object size:0x1 scope:global align:1 data:byte
struct_80450867 = .sdata:0x80450867; // type:object size:0x1 scope:global align:1 data:byte
struct_80450868 = .sdata:0x80450868; // type:object size:0x1 scope:global align:1 data:byte
struct_80450869 = .sdata:0x80450869; // type:object size:0x1 scope:global align:1 data:byte
struct_8045086A = .sdata:0x8045086A; // type:object size:0x1 scope:global align:1 data:byte
struct_8045086B = .sdata:0x8045086B; // type:object size:0x1 scope:global align:1 data:byte
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x80450860; // type:object size:0x1 scope:global align:1 data:byte
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x80450861; // type:object size:0x1 scope:global align:1 data:byte
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x80450862; // type:object size:0x1 scope:global align:1 data:byte
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x80450863; // type:object size:0x1 scope:global align:1 data:byte
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x80450864; // type:object size:0x1 scope:global align:1 data:byte
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x80450865; // type:object size:0x1 scope:global align:1 data:byte
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x80450866; // type:object size:0x1 scope:global align:1 data:byte
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x80450867; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x80450868; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x80450869; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x8045086A; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x8045086B; // type:object size:0x1 scope:global align:1 data:byte
data_8045086C = .sdata:0x8045086C; // type:object size:0x1 scope:global align:1 data:byte
sDeathMtBottom = .sdata:0x80450870; // type:object size:0x4 scope:global align:4 data:float
sDeathMtTop = .sdata:0x80450874; // type:object size:0x4 scope:global align:4 data:float
@@ -22096,10 +22096,9 @@ init$80 = .sbss:0x80451330; // type:object size:0x1 scope:local align:1 data:byt
oRandom$401 = .sbss:0x80451334; // type:object size:0x4 scope:local align:4 data:4byte
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x80451338; // type:object size:0x4 scope:global align:4 data:float
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8045133C; // type:object size:0x4 scope:global align:4 data:float
struct_80451340 = .sbss:0x80451340; // type:object size:0x1 scope:global align:1 data:byte
struct_80451341 = .sbss:0x80451341; // type:object size:0x1 scope:global align:1 data:byte
struct_80451342 = .sbss:0x80451342; // type:object size:0x1 scope:global align:1 data:byte
pad_80451344 = .sbss:0x80451344; // type:object size:0x4 scope:global align:4
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x80451340; // type:object size:0x1 scope:global align:1 data:byte
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x80451341; // type:object size:0x1 scope:global align:1 data:byte
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x80451342; // type:object size:0x1 scope:global align:1 data:byte
init$localstatic4$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .sbss:0x80451348; // type:object size:0x1 scope:global align:1 data:byte
cNearFarRatio = .sbss:0x80451350; // type:object size:0x4 scope:local align:4 data:float
init$localstatic4$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .sbss:0x80451354; // type:object size:0x1 scope:global align:1 data:byte
+15 -16
View File
@@ -21495,18 +21495,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x8044A990; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x8044A994; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x8044A998; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8044A99C; // type:object size:0x4 scope:global align:4 data:float
struct_80450860 = .sdata:0x8044A9A0; // type:object size:0x1 scope:global align:1 data:byte
struct_80450861 = .sdata:0x8044A9A1; // type:object size:0x1 scope:global align:1 data:byte
struct_80450862 = .sdata:0x8044A9A2; // type:object size:0x1 scope:global align:1 data:byte
struct_80450863 = .sdata:0x8044A9A3; // type:object size:0x1 scope:global align:1 data:byte
struct_80450864 = .sdata:0x8044A9A4; // type:object size:0x1 scope:global align:1 data:byte
struct_80450865 = .sdata:0x8044A9A5; // type:object size:0x1 scope:global align:1 data:byte
struct_80450866 = .sdata:0x8044A9A6; // type:object size:0x1 scope:global align:1 data:byte
struct_80450867 = .sdata:0x8044A9A7; // type:object size:0x1 scope:global align:1 data:byte
struct_80450868 = .sdata:0x8044A9A8; // type:object size:0x1 scope:global align:1 data:byte
struct_80450869 = .sdata:0x8044A9A9; // type:object size:0x1 scope:global align:1 data:byte
struct_8045086A = .sdata:0x8044A9AA; // type:object size:0x1 scope:global align:1 data:byte
struct_8045086B = .sdata:0x8044A9AB; // type:object size:0x1 scope:global align:1 data:byte
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x8044A9A0; // type:object size:0x1 scope:global align:1 data:byte
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x8044A9A1; // type:object size:0x1 scope:global align:1 data:byte
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x8044A9A2; // type:object size:0x1 scope:global align:1 data:byte
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x8044A9A3; // type:object size:0x1 scope:global align:1 data:byte
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x8044A9A4; // type:object size:0x1 scope:global align:1 data:byte
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x8044A9A5; // type:object size:0x1 scope:global align:1 data:byte
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x8044A9A6; // type:object size:0x1 scope:global align:1 data:byte
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x8044A9A7; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x8044A9A8; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x8044A9A9; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x8044A9AA; // type:object size:0x1 scope:global align:1 data:byte
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x8044A9AB; // type:object size:0x1 scope:global align:1 data:byte
data_8045086C = .sdata:0x8044A9AC; // type:object size:0x1 scope:global align:1 data:byte
sDeathMtBottom = .sdata:0x8044A9B0; // type:object size:0x4 scope:global align:4 data:float
sDeathMtTop = .sdata:0x8044A9B4; // type:object size:0x4 scope:global align:4 data:float
@@ -22112,10 +22112,9 @@ init$80 = .sbss:0x8044B470; // type:object size:0x1 scope:local align:1 data:byt
oRandom$401 = .sbss:0x8044B474; // type:object size:0x4 scope:local align:4 data:4byte
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x8044B478; // type:object size:0x4 scope:global align:4 data:float
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8044B47C; // type:object size:0x4 scope:global align:4 data:float
struct_80451340 = .sbss:0x8044B480; // type:object size:0x1 scope:global align:1 data:byte
struct_80451341 = .sbss:0x8044B481; // type:object size:0x1 scope:global align:1 data:byte
struct_80451342 = .sbss:0x8044B482; // type:object size:0x1 scope:global align:1 data:byte
pad_8044B484 = .sbss:0x8044B484; // type:object size:0x4 scope:global align:4
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x8044B480; // type:object size:0x1 scope:global align:1 data:byte
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x8044B481; // type:object size:0x1 scope:global align:1 data:byte
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x8044B482; // type:object size:0x1 scope:global align:1 data:byte
init$localstatic4$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .sbss:0x8044B488; // type:object size:0x1 data:byte
cNearFarRatio = .sbss:0x8044B490; // type:object size:0x4 scope:global align:4 data:float
init$localstatic4$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .sbss:0x8044B494; // type:object size:0x1 data:byte
+15 -16
View File
@@ -21502,18 +21502,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x80452810; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x80452814; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x80452818; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8045281C; // type:object size:0x4 scope:global align:4 data:float
struct_80450860 = .sdata:0x80452820; // type:object size:0x1 data:byte
struct_80450861 = .sdata:0x80452821; // type:object size:0x1 data:byte
struct_80450862 = .sdata:0x80452822; // type:object size:0x1 data:byte
struct_80450863 = .sdata:0x80452823; // type:object size:0x1 data:byte
struct_80450864 = .sdata:0x80452824; // type:object size:0x1 data:byte
struct_80450865 = .sdata:0x80452825; // type:object size:0x1 data:byte
struct_80450866 = .sdata:0x80452826; // type:object size:0x1 data:byte
struct_80450867 = .sdata:0x80452827; // type:object size:0x1 data:byte
struct_80450868 = .sdata:0x80452828; // type:object size:0x1 data:byte
struct_80450869 = .sdata:0x80452829; // type:object size:0x1 data:byte
struct_8045086A = .sdata:0x8045282A; // type:object size:0x1 data:byte
struct_8045086B = .sdata:0x8045282B; // type:object size:0x1 data:byte
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x80452820; // type:object size:0x1 data:byte
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x80452821; // type:object size:0x1 data:byte
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x80452822; // type:object size:0x1 data:byte
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x80452823; // type:object size:0x1 data:byte
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x80452824; // type:object size:0x1 data:byte
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x80452825; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x80452826; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x80452827; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x80452828; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x80452829; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x8045282A; // type:object size:0x1 data:byte
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x8045282B; // type:object size:0x1 data:byte
data_8045086C = .sdata:0x8045282C; // type:object size:0x1 data:byte
sDeathMtBottom = .sdata:0x80452830; // type:object size:0x4 scope:global align:4 data:float
sDeathMtTop = .sdata:0x80452834; // type:object size:0x4 scope:global align:4 data:float
@@ -22120,10 +22120,9 @@ init$80 = .sbss:0x804532F8; // type:object size:0x1 data:byte
oRandom$401 = .sbss:0x804532FC; // type:object size:0x4 scope:local align:4 data:4byte
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x80453300; // type:object size:0x4 scope:global align:4 data:float
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x80453304; // type:object size:0x4 scope:global align:4 data:float
struct_80451340 = .sbss:0x80453308; // type:object size:0x1 data:byte
struct_80451341 = .sbss:0x80453309; // type:object size:0x1 data:byte
struct_80451342 = .sbss:0x8045330A; // type:object size:0x1 data:byte
pad_8045330C = .sbss:0x8045330C; // type:object size:0x4 scope:global align:4
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x80453308; // type:object size:0x1 data:byte
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x80453309; // type:object size:0x1 data:byte
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x8045330A; // type:object size:0x1 data:byte
init$localstatic4$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .sbss:0x80453310; // type:object size:0x1 scope:global align:1 data:byte
cNearFarRatio = .sbss:0x80453318; // type:object size:0x4 scope:global align:4 data:float
init$localstatic4$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .sbss:0x8045331C; // type:object size:0x1 scope:global data:byte
+15 -15
View File
@@ -27547,18 +27547,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x80539B98; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x80539B9C; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x80539BA0; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x80539BA4; // type:object size:0x4 scope:global align:4 data:float
lbl_80539BA8 = .sdata:0x80539BA8; // type:object size:0x1 data:byte
lbl_80539BA9 = .sdata:0x80539BA9; // type:object size:0x1 data:byte
lbl_80539BAA = .sdata:0x80539BAA; // type:object size:0x1 data:byte
lbl_80539BAB = .sdata:0x80539BAB; // type:object size:0x1 data:byte
lbl_80539BAC = .sdata:0x80539BAC; // type:object size:0x1 data:byte
lbl_80539BAD = .sdata:0x80539BAD; // type:object size:0x1 data:byte
lbl_80539BAE = .sdata:0x80539BAE; // type:object size:0x1 data:byte
lbl_80539BAF = .sdata:0x80539BAF; // type:object size:0x1 data:byte
lbl_80539BB0 = .sdata:0x80539BB0; // type:object size:0x1 data:byte
lbl_80539BB1 = .sdata:0x80539BB1; // type:object size:0x1 data:byte
lbl_80539BB2 = .sdata:0x80539BB2; // type:object size:0x1 data:byte
lbl_80539BB3 = .sdata:0x80539BB3; // type:object size:0x1 data:byte
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x80539BA8; // type:object size:0x1 data:byte
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x80539BA9; // type:object size:0x1 data:byte
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x80539BAA; // type:object size:0x1 data:byte
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x80539BAB; // type:object size:0x1 data:byte
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x80539BAC; // type:object size:0x1 data:byte
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x80539BAD; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x80539BAE; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x80539BAF; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x80539BB0; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x80539BB1; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x80539BB2; // type:object size:0x1 data:byte
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x80539BB3; // type:object size:0x1 data:byte
lbl_80539BB4 = .sdata:0x80539BB4; // type:object size:0x1 data:byte
__RTTI__16Z2AudioArcLoader = .sdata:0x80539BB8; // type:object size:0x8 scope:global align:4
__RTTI__17JAUAudioArcLoader = .sdata:0x80539BC0; // type:object size:0x8 scope:global align:4
@@ -28568,9 +28568,9 @@ lbl_8053B028 = .sbss:0x8053B028; // type:object size:0x1 data:byte
oRandom$5639 = .sbss:0x8053B02C; // type:object size:0x4 scope:local align:4 data:4byte
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x8053B030; // type:object size:0x4 scope:global align:4 data:float
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8053B034; // type:object size:0x4 scope:global align:4 data:float
lbl_8053B038 = .sbss:0x8053B038; // type:object size:0x1 data:byte
lbl_8053B039 = .sbss:0x8053B039; // type:object size:0x1 data:byte
lbl_8053B03A = .sbss:0x8053B03A; // type:object size:0x1 data:byte
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x8053B038; // type:object size:0x1 data:byte
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x8053B039; // type:object size:0x1 data:byte
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x8053B03A; // type:object size:0x1 data:byte
JASGlobalInstance<10Z2EnvSeMgr>::sInstance = .sbss:0x8053B040; // type:object size:0x4 scope:global align:4 data:4byte
lbl_8053B048 = .sbss:0x8053B048; // type:object size:0x1 data:byte
cNearFarRatio = .sbss:0x8053B050; // type:object size:0x4 scope:global align:4 data:float
+15 -15
View File
@@ -27085,18 +27085,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x8051FC40; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x8051FC44; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x8051FC48; // type:object size:0x4 scope:global align:4 data:float
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8051FC4C; // type:object size:0x4 scope:global align:4 data:float
lbl_8051FC50 = .sdata:0x8051FC50; // type:object size:0x1 data:byte
lbl_8051FC51 = .sdata:0x8051FC51; // type:object size:0x1 data:byte
lbl_8051FC52 = .sdata:0x8051FC52; // type:object size:0x1 data:byte
lbl_8051FC53 = .sdata:0x8051FC53; // type:object size:0x1 data:byte
lbl_8051FC54 = .sdata:0x8051FC54; // type:object size:0x1 data:byte
lbl_8051FC55 = .sdata:0x8051FC55; // type:object size:0x1 data:byte
lbl_8051FC56 = .sdata:0x8051FC56; // type:object size:0x1 data:byte
lbl_8051FC57 = .sdata:0x8051FC57; // type:object size:0x1 data:byte
lbl_8051FC58 = .sdata:0x8051FC58; // type:object size:0x1 data:byte
lbl_8051FC59 = .sdata:0x8051FC59; // type:object size:0x1 data:byte
lbl_8051FC5A = .sdata:0x8051FC5A; // type:object size:0x1 data:byte
lbl_8051FC5B = .sdata:0x8051FC5B; // type:object size:0x1 data:byte
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x8051FC50; // type:object size:0x1 data:byte
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x8051FC51; // type:object size:0x1 data:byte
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x8051FC52; // type:object size:0x1 data:byte
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x8051FC53; // type:object size:0x1 data:byte
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x8051FC54; // type:object size:0x1 data:byte
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x8051FC55; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x8051FC56; // type:object size:0x1 data:byte
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x8051FC57; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x8051FC58; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x8051FC59; // type:object size:0x1 data:byte
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x8051FC5A; // type:object size:0x1 data:byte
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x8051FC5B; // type:object size:0x1 data:byte
lbl_8051FC5C = .sdata:0x8051FC5C; // type:object size:0x1 data:byte
__RTTI__16Z2AudioArcLoader = .sdata:0x8051FC60; // type:object size:0x8 scope:global align:4
__RTTI__17JAUAudioArcLoader = .sdata:0x8051FC68; // type:object size:0x8 scope:global align:4
@@ -28088,9 +28088,9 @@ lbl_80521048 = .sbss:0x80521048; // type:object size:0x1 data:byte
oRandom$5639 = .sbss:0x8052104C; // type:object size:0x4 scope:global align:4 data:4byte
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x80521050; // type:object size:0x4 scope:global align:4 data:float
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x80521054; // type:object size:0x4 scope:global align:4 data:float
lbl_80521058 = .sbss:0x80521058; // type:object size:0x1 data:byte
lbl_80521059 = .sbss:0x80521059; // type:object size:0x1 data:byte
lbl_8052105A = .sbss:0x8052105A; // type:object size:0x1 data:byte
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x80521058; // type:object size:0x1 data:byte
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x80521059; // type:object size:0x1 data:byte
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x8052105A; // type:object size:0x1 data:byte
JASGlobalInstance<10Z2EnvSeMgr>::sInstance = .sbss:0x80521060; // type:object size:0x4 scope:global align:4 data:4byte
lbl_80521068 = .sbss:0x80521068; // type:object size:0x1 data:byte
cNearFarRatio = .sbss:0x80521070; // type:object size:0x4 scope:global align:4 data:float
+15 -15
View File
@@ -24520,18 +24520,18 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x805078D8; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x805078DC; // type:object size:0x4 scope:global align:4 data:float hash:0xCE286708 dhash:0xFB55995F
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x805078E0; // type:object size:0x4 scope:global align:4 data:float hash:0xCF6DE1AB dhash:0x54912ADC
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x805078E4; // type:object size:0x4 scope:global align:4 data:float hash:0xA94D3010 dhash:0x9D51AC27
lbl_805078E8 = .sdata:0x805078E8; // type:object size:0x1 data:byte hash:0x15052019 dhash:0x39915D0E
lbl_805078E9 = .sdata:0x805078E9; // type:object size:0x1 data:byte hash:0xC3676195 dhash:0xE05F1922
lbl_805078EA = .sdata:0x805078EA; // type:object size:0x1 data:byte hash:0x52632ADC dhash:0x723E2F0B
lbl_805078EB = .sdata:0x805078EB; // type:object size:0x1 data:byte hash:0x9748CE24 dhash:0xEC6F7E13
lbl_805078EC = .sdata:0x805078EC; // type:object size:0x1 data:byte hash:0xCA0B5D4A dhash:0xDB9EC61D
lbl_805078ED = .sdata:0x805078ED; // type:object size:0x1 data:byte hash:0x839FEB03 dhash:0xC8FA0E74
lbl_805078EE = .sdata:0x805078EE; // type:object size:0x1 data:byte hash:0x67F4C8C7 dhash:0x02C7E550
lbl_805078EF = .sdata:0x805078EF; // type:object size:0x1 data:byte hash:0x500E4A2E dhash:0x35299619
lbl_805078F0 = .sdata:0x805078F0; // type:object size:0x1 data:byte hash:0x3858E1B6 dhash:0x242E9F01
lbl_805078F1 = .sdata:0x805078F1; // type:object size:0x1 data:byte hash:0x6FEF2A97 dhash:0x7DD57280
lbl_805078F2 = .sdata:0x805078F2; // type:object size:0x1 data:byte hash:0x9BFEEDED dhash:0x048994DA
lbl_805078F3 = .sdata:0x805078F3; // type:object size:0x1 data:byte hash:0x60308D57 dhash:0x29003EA0
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x805078E8; // type:object size:0x1 data:byte hash:0x15052019 dhash:0x39915D0E
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x805078E9; // type:object size:0x1 data:byte hash:0xC3676195 dhash:0xE05F1922
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x805078EA; // type:object size:0x1 data:byte hash:0x52632ADC dhash:0x723E2F0B
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x805078EB; // type:object size:0x1 data:byte hash:0x9748CE24 dhash:0xEC6F7E13
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x805078EC; // type:object size:0x1 data:byte hash:0xCA0B5D4A dhash:0xDB9EC61D
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x805078ED; // type:object size:0x1 data:byte hash:0x839FEB03 dhash:0xC8FA0E74
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x805078EE; // type:object size:0x1 data:byte hash:0x67F4C8C7 dhash:0x02C7E550
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x805078EF; // type:object size:0x1 data:byte hash:0x500E4A2E dhash:0x35299619
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x805078F0; // type:object size:0x1 data:byte hash:0x3858E1B6 dhash:0x242E9F01
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x805078F1; // type:object size:0x1 data:byte hash:0x6FEF2A97 dhash:0x7DD57280
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x805078F2; // type:object size:0x1 data:byte hash:0x9BFEEDED dhash:0x048994DA
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x805078F3; // type:object size:0x1 data:byte hash:0x60308D57 dhash:0x29003EA0
lbl_805078F4 = .sdata:0x805078F4; // type:object size:0x1 data:byte hash:0x82BFE883 dhash:0xA278E154
__RTTI__16Z2AudioArcLoader = .sdata:0x805078F8; // type:object size:0x8 scope:global hash:0xB98066A6 dhash:0xEF406121
__RTTI__10Z2SoundMgr = .sdata:0x80507900; // type:object size:0x8 scope:global hash:0xE40A752C dhash:0xF66363ED
@@ -25622,9 +25622,9 @@ lbl_80509150 = .sbss:0x80509150; // type:object size:0x1 data:byte hash:0x806ED4
@LOCAL@getRandom_0_1__6Z2CalcFv@oRandom = .sbss:0x80509154; // type:object size:0x4 scope:local data:4byte hash:0x7DCD9373 dhash:0xE7A72298
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x80509158; // type:object size:0x4 scope:global align:4 data:float hash:0x5A1AF214 dhash:0xABFA8A63
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8050915C; // type:object size:0x4 scope:global align:4 data:float hash:0x1A64D26E dhash:0x273033D9
lbl_80509160 = .sbss:0x80509160; // type:object size:0x1 data:byte hash:0xE2277E38
lbl_80509161 = .sbss:0x80509161; // type:object size:0x1 data:byte hash:0x5B87B670
lbl_80509162 = .sbss:0x80509162; // type:object size:0x1 data:byte hash:0xEFFF5FD3
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x80509160; // type:object size:0x1 data:byte hash:0xE2277E38
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x80509161; // type:object size:0x1 data:byte hash:0x5B87B670
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x80509162; // type:object size:0x1 data:byte hash:0xEFFF5FD3
sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .sbss:0x80509168; // type:object size:0x4 scope:global data:4byte hash:0x8687139F dhash:0x08E6537C
lbl_80509170 = .sbss:0x80509170; // type:object size:0x1 data:byte hash:0x198E0249 dhash:0x5B608565
cNearFarRatio = .sbss:0x80509178; // type:object size:0x4 scope:global align:4 data:float hash:0x3FC3124A
+15 -15
View File
@@ -62473,21 +62473,21 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x80749300; // type:object size:0x4
VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x80749304; // type:object size:0x4 scope:global align:4 data:float hash:0xCE286708 dhash:0xFB55995F
VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x80749308; // type:object size:0x4 scope:global align:4 data:float hash:0xCF6DE1AB dhash:0x54912ADC
VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8074930C; // type:object size:0x4 scope:global align:4 data:float hash:0xA94D3010 dhash:0x9D51AC27
lbl_80749310 = .sdata:0x80749310; // type:object size:0x1 data:byte hash:0x15052019 dhash:0x39915D0E
lbl_80749311 = .sdata:0x80749311; // type:object size:0x1 data:byte hash:0xC3676195 dhash:0xE05F1922
lbl_80749312 = .sdata:0x80749312; // type:object size:0x1 data:byte hash:0x52632ADC dhash:0x723E2F0B
lbl_80749313 = .sdata:0x80749313; // type:object size:0x1 data:byte hash:0x9748CE24 dhash:0xEC6F7E13
SCENE_CHANGE_BGM_FADEOUT_TIME__7Z2Param = .sdata:0x80749310; // type:object size:0x1 data:byte hash:0x15052019 dhash:0x39915D0E
BGM_CROSS_FADEIN_TIME__7Z2Param = .sdata:0x80749311; // type:object size:0x1 data:byte hash:0xC3676195 dhash:0xE05F1922
BGM_CROSS_FADEOUT_TIME__7Z2Param = .sdata:0x80749312; // type:object size:0x1 data:byte hash:0x52632ADC dhash:0x723E2F0B
BATTLE_BGM_WAIT_TIME__7Z2Param = .sdata:0x80749313; // type:object size:0x1 data:byte hash:0x9748CE24 dhash:0xEC6F7E13
ENEMY_NEARBY_DIST__7Z2Param = .sdata:0x80749314; // type:object size:0x4 scope:global hash:0xD7C59146 dhash:0x5A4A0B71
BATTLE_FADEIN_DIST__7Z2Param = .sdata:0x80749318; // type:object size:0x4 scope:global hash:0x7EF81CD4 dhash:0xEC407643
BATTLE_FADEOUT_DIST__7Z2Param = .sdata:0x8074931C; // type:object size:0x4 scope:global hash:0x4CA2E3BD dhash:0xA8E2610A
lbl_80749320 = .sdata:0x80749320; // type:object size:0x1 data:byte hash:0xCA0B5D4A dhash:0xDB9EC61D
lbl_80749321 = .sdata:0x80749321; // type:object size:0x1 data:byte hash:0x839FEB03 dhash:0xC8FA0E74
lbl_80749322 = .sdata:0x80749322; // type:object size:0x1 data:byte hash:0x67F4C8C7 dhash:0x02C7E550
lbl_80749323 = .sdata:0x80749323; // type:object size:0x1 data:byte hash:0x500E4A2E dhash:0x35299619
lbl_80749324 = .sdata:0x80749324; // type:object size:0x1 data:byte hash:0x3858E1B6 dhash:0x242E9F01
lbl_80749325 = .sdata:0x80749325; // type:object size:0x1 data:byte hash:0x6FEF2A97 dhash:0x7DD57280
lbl_80749326 = .sdata:0x80749326; // type:object size:0x1 data:byte hash:0x9BFEEDED dhash:0x048994DA
lbl_80749327 = .sdata:0x80749327; // type:object size:0x1 data:byte hash:0x60308D57 dhash:0x29003EA0
FOUND_TRACK_FI_TIME__7Z2Param = .sdata:0x80749320; // type:object size:0x1 data:byte hash:0xCA0B5D4A dhash:0xDB9EC61D
FOUND_TRACK_FO_TIME__7Z2Param = .sdata:0x80749321; // type:object size:0x1 data:byte hash:0x839FEB03 dhash:0xC8FA0E74
CLOSE_BATTLE_TRACK_FI_TIME__7Z2Param = .sdata:0x80749322; // type:object size:0x1 data:byte hash:0x67F4C8C7 dhash:0x02C7E550
CLOSE_BATTLE_TRACK_FO_TIME__7Z2Param = .sdata:0x80749323; // type:object size:0x1 data:byte hash:0x500E4A2E dhash:0x35299619
ENDING_BLOW_VOL_DOWN_TIME__7Z2Param = .sdata:0x80749324; // type:object size:0x1 data:byte hash:0x3858E1B6 dhash:0x242E9F01
ENDING_BLOW_VOL_LOWER_TIME__7Z2Param = .sdata:0x80749325; // type:object size:0x1 data:byte hash:0x6FEF2A97 dhash:0x7DD57280
ENDING_BLOW_VOL_LOWER_RECOVER_TIME__7Z2Param = .sdata:0x80749326; // type:object size:0x1 data:byte hash:0x9BFEEDED dhash:0x048994DA
ENDING_BLOW_MIN_FINISH_TIME__7Z2Param = .sdata:0x80749327; // type:object size:0x1 data:byte hash:0x60308D57 dhash:0x29003EA0
lbl_80749328 = .sdata:0x80749328; // type:object size:0x1 data:byte hash:0x82BFE883 dhash:0xA278E154
AUDIBLE_DELTA_RANGE_VOLUME__7Z2Param = .sdata:0x8074932C; // type:object size:0x4 scope:global hash:0x3AC3D937 dhash:0x551FABA0
AUDIBLE_DELTA_RANGE_PAN__7Z2Param = .sdata:0x80749330; // type:object size:0x4 scope:global hash:0x9BFA8A00 dhash:0x3F2182F7
@@ -64782,9 +64782,9 @@ lbl_8074CDA8 = .sbss:0x8074CDA8; // type:object size:0x1 data:byte hash:0x806ED4
@LOCAL@getRandom_0_1__6Z2CalcFv@oRandom = .sbss:0x8074CDAC; // type:object size:0x4 scope:local hash:0x7DCD9373 dhash:0xE7A72298
MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x8074CDB0; // type:object size:0x4 scope:global align:4 data:float hash:0x5A1AF214 dhash:0xABFA8A63
ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8074CDB4; // type:object size:0x4 scope:global align:4 data:float hash:0x1A64D26E dhash:0x273033D9
lbl_8074CDB8 = .sbss:0x8074CDB8; // type:object size:0x1 data:byte hash:0xE2277E38
lbl_8074CDB9 = .sbss:0x8074CDB9; // type:object size:0x1 data:byte hash:0x5B87B670
lbl_8074CDBA = .sbss:0x8074CDBA; // type:object size:0x1 data:byte hash:0xEFFF5FD3
DARK_SE_FILTER_ON__7Z2Param = .sbss:0x8074CDB8; // type:object size:0x1 data:byte hash:0xE2277E38
DARK_SE_LOW_PASS_FILTER_SETTING__7Z2Param = .sbss:0x8074CDB9; // type:object size:0x1 data:byte hash:0x5B87B670
SYSTEM_SE_USE_DARK_SE_SETTING__7Z2Param = .sbss:0x8074CDBA; // type:object size:0x1 data:byte hash:0xEFFF5FD3
sInstance__31JASGlobalInstance<10Z2EnvSeMgr> = .sbss:0x8074CDC0; // type:object size:0x4 scope:global data:4byte hash:0x8687139F dhash:0x08E6537C
lbl_8074CDC8 = .sbss:0x8074CDC8; // type:object size:0x1 data:byte hash:0x198E0249 dhash:0x5B608565
cNearFarRatio = .sbss:0x8074CDD0; // type:object size:0x4 scope:global align:4 data:float hash:0x3FC3124A
+6 -6
View File
@@ -37,17 +37,17 @@ public:
/* 8029F868 */ virtual JAITempoMgr* getTempoMgr();
/* 8029F5C8 */ virtual bool JAISound_tryDie_();
/* 8029F03C */ JAISe(JAISeMgr*, JAISoundStrategyMgr<JAISe>*, u32);
/* 8029F0F8 */ void mixOut_(JASSoundParams const&);
/* 8029F03C */ JAISe(JAISeMgr* seMgr, JAISoundStrategyMgr<JAISe>* soundStrategyMgr, u32 priority);
/* 8029F0F8 */ void mixOut_(const JASSoundParams& params);
/* 8029F214 */ void stopTrack_();
/* 8029F250 */ void startTrack_(JASSoundParams const&);
/* 8029F304 */ void JAISeCategoryMgr_mixOut_(bool, JASSoundParams const&, JAISoundActivity);
/* 8029F250 */ void startTrack_(const JASSoundParams& params);
/* 8029F304 */ void JAISeCategoryMgr_mixOut_(bool, const JASSoundParams& params, JAISoundActivity activity);
/* 8029F4CC */ void JAISeCategoryMgr_calc_();
/* 8029F650 */ void JAISeMgr_startID_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*);
/* 8029F650 */ void JAISeMgr_startID_(JAISoundID id, const JGeometry::TVec3<f32>* posPtr, JAIAudience* audience);
/* 8029F6EC */ bool prepare_getSeqData_();
/* 8029F78C */ void prepare_();
JAISeqData* getSeqData() { return &inner_.mSeqData; }
const JAISeqData* getSeqData() const { return &inner_.mSeqData; }
u32 JAISeCategoryMgr_getProperPriority_() const { return inner_.mProperPriority; }
u32 JAISeCategoryMgr_getPriority_() const { return inner_.mPriority; }
bool isFarAway() const { return inner_.mPriority == -1; }
+38 -28
View File
@@ -12,6 +12,8 @@ struct JASSoundParams;
*
*/
struct JASNonCopyable {
JASNonCopyable() {}
/* 0x0 */ int field_0x0;
}; // Size: 0x4
@@ -38,40 +40,43 @@ class JAISeMgr;
* @ingroup jsystem-jaudio
*
*/
class JAISeCategoryMgr : public JAISeqDataUser {
class JAISeCategoryMgr : public JAISeqDataUser, public JASNonCopyable {
public:
/* 8029F9C4 */ void JAISeMgr_calc_();
/* 8029FB30 */ void JAISeMgr_freeDeadSe_();
/* 8029FC88 */ bool JAISeMgr_acceptsNewSe_(u32) const;
/* 8029FC88 */ bool JAISeMgr_acceptsNewSe_(u32 priority) const;
/* 8029FD40 */ void sortByPriority_();
/* 8029FDE0 */ void stop(u32);
/* 8029FDE0 */ void stop(u32 fadeTime);
/* 8029FE34 */ void stop();
/* 8029FE78 */ void stopSoundID(JAISoundID);
/* 8029FE78 */ void stopSoundID(JAISoundID id);
/* 8029FEEC */ void pause(bool);
/* 8029FF18 */ void JAISeMgr_mixOut_(JAISoundParamsMove const&, JAISoundActivity);
/* 8029FF18 */ void JAISeMgr_mixOut_(const JAISoundParamsMove& params, JAISoundActivity activity);
/* 802A0994 */ JAISeCategoryMgr() {
mParams.init();
mMaxActiveSe = 0;
mMaxInactiveSe = 0;
field_0x4.field_0x0 = 0;
field_0x0 = 0;
}
/* 8029F8B0 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
/* 8029F91C */ virtual int releaseSeqData(JAISeqDataRegion const&);
/* 8029F8B0 */ virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
/* 8029F91C */ virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
JAISoundParamsMove* getParams() { return &mParams; }
int getMaxSe() const {
return (mMaxActiveSe == 0) ? 0 : mMaxActiveSe + mMaxInactiveSe;
if (mMaxActiveSe == 0) {
return 0;
}
return mMaxActiveSe + mMaxInactiveSe;
}
int getMaxActiveSe() const { return mMaxActiveSe; }
void setMaxActiveSe(int se) { mMaxActiveSe = se; }
void setMaxInactiveSe(int se) { mMaxInactiveSe = se; }
JSUList<JAISe>* getSeList() { return &mSeList; }
void setMaxActiveSe(int num) { mMaxActiveSe = num; }
void setMaxInactiveSe(int num) { mMaxInactiveSe = num; }
const JSUList<JAISe>* getSeList() const { return &mSeList; }
int getNumSe() const { return mSeList.getNumLinks(); }
JAIAudience* getAudience() { return (JAIAudience*)field_0x4.field_0x0; }
JAIAudience* getAudience() { return (JAIAudience*)field_0x0; }
void JAISeMgr_appendSe_(JAISe* se) { mSeList.append(se); }
/* 0x04 */ JASNonCopyable field_0x4;
/* 0x08 */ JAISoundParamsMove mParams;
/* 0x58 */ JSUList<JAISe> mSeList;
/* 0x64 */ int mMaxInactiveSe;
@@ -86,27 +91,28 @@ class JAISeMgr : public JASGlobalInstance<JAISeMgr>,
public JAISeqDataUser,
public JAISoundActivity {
public:
/* 802A0074 */ JAISeMgr(bool);
/* 802A0268 */ void setCategoryArrangement(JAISeCategoryArrangement const&);
/* 802A0074 */ JAISeMgr(bool setInstance);
/* 802A0268 */ void setCategoryArrangement(const JAISeCategoryArrangement& arrangement);
/* 802A02A0 */ void stop();
/* 802A02F4 */ void stopSoundID(JAISoundID);
/* 802A02F4 */ void stopSoundID(JAISoundID id);
/* 802A0358 */ void initParams();
/* 802A03D8 */ void setAudience(JAIAudience*);
/* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr*);
/* 802A03D8 */ void setAudience(JAIAudience* audience);
/* 802A03E0 */ void setSeqDataMgr(JAISeqDataMgr* seqDataMgr);
/* 802A0434 */ void resetSeqDataMgr();
/* 802A0484 */ JAISe* newSe_(int, u32);
/* 802A0484 */ JAISe* newSe_(int category, u32 priority);
/* 802A0574 */ void calc();
/* 802A0704 */ void mixOut();
/* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A0768 */ bool startSound(JAISoundID id, JAISoundHandle* handle, const JGeometry::TVec3<f32>* posPtr);
/* 802A08D0 */ int getNumActiveSe() const;
/* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
/* 802A01D8 */ virtual int releaseSeqData(JAISeqDataRegion const&);
/* 802A0168 */ virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
/* 802A01D8 */ virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
JAISeCategoryMgr* getCategory(int categoryIndex) { return &mCategoryMgrs[categoryIndex]; }
JAIAudience* getAudience(int categoryIndex) {
if (categoryIndex >= 0 && categoryIndex < 16) {
JAIAudience* rv = mCategoryMgrs[categoryIndex].getAudience();
JAISeCategoryMgr* getCategory(int index) { return &mCategoryMgrs[index]; }
JAIAudience* getAudience() { return mAudience; }
JAIAudience* getAudience(int index) {
if (index >= 0 && index < NUM_CATEGORIES) {
JAIAudience* rv = mCategoryMgrs[index].getAudience();
if (rv) return rv;
}
return mAudience;
@@ -114,11 +120,15 @@ public:
JAISeqDataMgr* getSeqDataMgr() { return mSeqDataMgr; }
JAISoundParamsMove* getParams() { return &mParams; }
bool isActive() const { return getNumActiveSe() > 0; }
static const int NUM_CATEGORIES = 16;
private:
/* 0x008 */ JAIAudience* mAudience;
/* 0x00C */ JAISeqDataMgr* mSeqDataMgr;
/* 0x010 */ JAISoundStrategyMgr<JAISe>* mStrategyMgr;
/* 0x014 */ JAISeCategoryMgr mCategoryMgrs[16];
/* 0x014 */ JAISeCategoryMgr mCategoryMgrs[NUM_CATEGORIES];
/* 0x6D4 */ JAISoundParamsMove mParams;
}; // Size: 0x724
+13 -11
View File
@@ -14,12 +14,14 @@ class JAISoundChild;
*/
class JAISeq : public JASPoolAllocObject<JAISeq>, public JAISound, public JSULink<JAISeq> {
public:
static const int NUM_CHILDREN = 32;
class TInner {
public:
TInner() : mSeqData(NULL, 0) {}
/* 0x000 */ JASTrack outputTrack;
/* 0x248 */ JAISoundChild* mSoundChild[32];
/* 0x248 */ JAISoundChild* mSoundChild[NUM_CHILDREN];
/* 0x2C8 */ JAITempoMgr mTempoMgr;
/* 0x2D8 */ JASSoundParams mSoundParams;
/* 0x2EC */ JAISeqData mSeqData;
@@ -29,30 +31,30 @@ public:
};
/* 802A1570 */ virtual s32 getNumChild() const;
/* 802A1578 */ virtual JAISoundChild* getChild(int);
/* 802A165C */ virtual void releaseChild(int);
/* 802A1578 */ virtual JAISoundChild* getChild(int index);
/* 802A165C */ virtual void releaseChild(int index);
/* 802A1768 */ virtual JAISeq* asSeq();
/* 802A1728 */ virtual JASTrack* getTrack();
/* 802A1730 */ virtual JASTrack* getChildTrack(int);
/* 802A176C */ virtual JAITempoMgr* getTempoMgr();
/* 802A12BC */ virtual bool JAISound_tryDie_();
/* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr<JAISeq>*);
/* 802A0B64 */ void JAISeqMgr_startID_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*,
int, int);
/* 802A0C04 */ void playSeqData_(JASSoundParams const&, JAISoundActivity);
/* 802A0A8C */ JAISeq(JAISeqMgr* seqMgr, JAISoundStrategyMgr<JAISeq>* soundStrategyMgr);
/* 802A0B64 */ void JAISeqMgr_startID_(JAISoundID id, const JGeometry::TVec3<f32>* posPtr, JAIAudience* audience,
int category, int);
/* 802A0C04 */ void playSeqData_(const JASSoundParams& params, JAISoundActivity activity);
/* 802A0CA4 */ void reserveChildTracks_(int);
/* 802A0E48 */ void releaseChildTracks_();
/* 802A0EDC */ bool prepare_getSeqData_();
/* 802A0F90 */ bool prepare_(JASSoundParams const&, JAISoundActivity);
/* 802A0F90 */ bool prepare_(const JASSoundParams& params, JAISoundActivity activity);
/* 802A108C */ void JAISeqMgr_calc_();
/* 802A1180 */ void die_();
/* 802A1348 */ void mixOut_(JASSoundParams const&, JAISoundActivity);
/* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
/* 802A1348 */ void mixOut_(const JASSoundParams& params, JAISoundActivity activity);
/* 802A14FC */ void JAISeqMgr_mixOut_(const JASSoundParams& params, JAISoundActivity activity);
JAISeqData& getSeqData() { return inner_.mSeqData; }
/* 0x0a8 */ TInner inner_;
/* 0x0A8 */ TInner inner_;
/* 0x3A8 */ JAISoundStrategyMgr__unknown<JAISeq>* field_0x3a8;
};
+3 -3
View File
@@ -9,8 +9,8 @@
*
*/
struct JAISeqData {
JAISeqData(void* param_0, u32 param_1) {
field_0x0 = param_0;
JAISeqData(const void* param_0, u32 param_1) {
field_0x0 = (void*)param_0;
field_0x4 = param_1;
}
@@ -28,7 +28,7 @@ struct JAISeqData {
*
*/
struct JAISeqDataRegion {
bool intersects(JAISeqData& seqData) const {
bool intersects(const JAISeqData& seqData) const {
if ((uintptr_t)addr + size < (uintptr_t)seqData.field_0x0) {
return false;
}
+17 -12
View File
@@ -18,29 +18,33 @@ public:
RELEASE_SEQ_1 = 1,
RELEASE_SEQ_2 = 2,
};
/* 802A1914 */ JAISeqMgr(bool);
/* 802A1914 */ JAISeqMgr(bool setInstance);
/* 802A1A08 */ void freeDeadSeq_();
/* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A1B48 */ bool startSound(JAISoundID id, JAISoundHandle* handle, const JGeometry::TVec3<f32>* posPtr);
/* 802A1C90 */ void calc();
/* 802A1DFC */ void stop();
/* 802A1E3C */ void stop(u32);
/* 802A1E8C */ void stopSoundID(JAISoundID);
/* 802A1E3C */ void stop(u32 fadeTime);
/* 802A1E8C */ void stopSoundID(JAISoundID id);
/* 802A1EFC */ void mixOut();
/* 802A1F58 */ JAISeq* beginStartSeq_();
/* 802A1FE8 */ bool endStartSeq_(JAISeq*, JAISoundHandle*);
/* 802A1FE8 */ bool endStartSeq_(JAISeq* seq, JAISoundHandle* handle);
/* 802A20F0 */ virtual ~JAISeqMgr() {}
/* 802A1804 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
/* 802A1870 */ virtual int releaseSeqData(JAISeqDataRegion const&);
/* 802A1804 */ virtual bool isUsingSeqData(const JAISeqDataRegion& seqDataRegion);
/* 802A1870 */ virtual int releaseSeqData(const JAISeqDataRegion& seqDataRegion);
void setAudience(JAIAudience* audience) { mAudience = audience; }
JAIAudience* getAudience() { return mAudience; }
void setAudience(JAIAudience* param_0) { mAudience = param_0; }
JAISeqDataMgr* getSeqDataMgr() { return seqDataMgr_; }
void setSeqDataMgr(JAISeqDataMgr* param_0) {
void setSeqDataMgr(JAISeqDataMgr* seqDataMgr) {
JUT_ASSERT(124, !isActive());
resetSeqDataMgr();
seqDataMgr_ = param_0;
seqDataMgr_ = seqDataMgr;
seqDataMgr_->setSeqDataUser(this);
}
void resetSeqDataMgr() {
JUT_ASSERT(131, !isActive());
if (seqDataMgr_) {
@@ -48,10 +52,11 @@ public:
seqDataMgr_ = NULL;
}
}
JAISoundParamsMove* getParams() { return &mMove; }
bool isActive() { return mSeqList.getNumLinks() != 0; }
bool isActive() const { return mSeqList.getNumLinks() != 0; }
int getNumActiveSeqs() const { return mSeqList.getNumLinks(); }
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
void pause(bool paused) { mActivity.field_0x0.flags.flag2 = paused; }
private:
/* 0x04 */ JAISoundActivity mActivity;
+100 -97
View File
@@ -3,6 +3,7 @@
#include "JSystem/JAudio2/JAISoundParams.h"
#include "JSystem/JAudio2/JAIAudible.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "global.h"
/**
@@ -11,31 +12,30 @@
*/
class JAISoundID {
public:
operator u32() const { return this->mId.mFullId; }
operator u32() const { return id_.composite_; }
JAISoundID(u32 pId) { mId.mFullId = pId; };
JAISoundID(u32 id) { id_.composite_ = id; };
JAISoundID(JAISoundID const& other) { mId.mFullId = other.mId.mFullId; };
JAISoundID(const JAISoundID& other) { id_.composite_ = other.id_.composite_; };
JAISoundID() {}
bool isAnonymous() const { return mId.mFullId == 0xffffffff; }
void setAnonymous() { mId.mFullId = -1; }
bool isAnonymous() const { return id_.composite_ == 0xFFFFFFFF; }
void setAnonymous() { id_.composite_ = 0xFFFFFFFF; }
union {
u32 mFullId;
u32 composite_;
struct {
u8 b0;
u8 b1;
u8 b2;
u8 b3;
} mBytes;
struct {
u16 mSoundType;
u16 mShortId;
} mAdvancedId; // Debug doesn't have an inline for referencing the short ID so I assume
// it's similar to this
} mId;
union {
u16 value;
struct {
u8 sectionID;
u8 groupID;
} parts;
} type;
u16 waveID;
} info;
} id_;
};
class JASTrack;
@@ -52,16 +52,16 @@ struct JAISoundStatus_ {
field_0x0.value = 0;
field_0x1.value = 0;
*((u16*)&state) = 0;
user_data = 0;
userdata_ = 0;
}
bool isAlive() { return state.unk != 6; }
bool isDead() { return state.unk == 6;}
bool isAlive() const { return state.unk != 6; }
bool isDead() const { return state.unk == 6;}
inline bool isPlaying() { return state.unk == 5; }
bool isPrepared() { return state.unk >= 3; }
inline bool isMute() { return field_0x0.flags.mute; }
inline bool isPaused() { return field_0x0.flags.paused; }
bool isPlaying() const { return state.unk == 5; }
bool isPrepared() const { return state.unk >= 3; }
bool isMute() const { return field_0x0.flags.mute; }
bool isPaused() const { return field_0x0.flags.paused; }
void pauseWhenOut() {
field_0x1.flags.flag6 = 1;
}
@@ -96,7 +96,7 @@ struct JAISoundStatus_ {
u8 unk;
struct {
u8 flag1 : 1;
u8 flag2 : 1;
u8 calcedOnce : 1;
u8 animationState : 2;
u8 flag5 : 1;
u8 flag6 : 1;
@@ -104,7 +104,7 @@ struct JAISoundStatus_ {
u8 flag8 : 1;
} flags;
} state;
/* 0x4 */ u32 user_data;
/* 0x4 */ u32 userdata_;
}; // Size: 0x8
/**
@@ -113,38 +113,44 @@ struct JAISoundStatus_ {
*/
struct JAISoundFader {
void forceIn() {
mIntensity = 1.0f;
value_ = 1.0f;
mTransition.zero();
}
void forceOut() {
mIntensity = 0.0f;
value_ = 0.0f;
mTransition.zero();
}
void fadeOut(u32 fadeCount) {
if (fadeCount != 0) {
mTransition.set(0.0f, mIntensity, fadeCount);
void fadeOut(u32 maxSteps) {
if (maxSteps != 0) {
mTransition.set(0.0f, value_, maxSteps);
} else {
forceOut();
}
}
void fadeIn(u32 param_1) {
if (param_1 != 0) {
mTransition.set(1.0f, mIntensity, param_1);
void fadeIn(u32 maxSteps) {
if (maxSteps != 0) {
mTransition.set(1.0f, value_, maxSteps);
} else {
forceIn();
}
}
void fadeInFromOut(u32 param_1) {
mIntensity = 0.0f;
fadeIn(param_1);
}
bool isOut() {
return (mTransition.mCount == 0 && mIntensity < 0.01f);
}
inline void calc() { mIntensity = mTransition.apply(mIntensity); }
f32 getIntensity() { return mIntensity; }
/* 0x00 */ f32 mIntensity;
void fadeInFromOut(u32 maxSteps) {
value_ = 0.0f;
fadeIn(maxSteps);
}
bool isOut() const {
return (mTransition.remainingSteps_ == 0 && value_ < 0.01f);
}
void calc() { value_ = mTransition.apply(value_); }
f32 getIntensity() const { return value_; }
/* 0x00 */ f32 value_;
/* 0x04 */ JAISoundParamsTransition::TTransition mTransition;
}; // Size: 0x10
@@ -169,12 +175,6 @@ struct JAISoundStrategyMgr {
virtual JAISoundStrategyMgr__unknown<A0>* calc(JAISoundID);
virtual void virtual4(JAISoundStrategyMgr__unknown<A0>*);
};
/* JAISoundStrategyMgr<JAISe> */
struct JAISoundStrategyMgr__template0 {};
/* JAISoundStrategyMgr<JAISeq> */
struct JAISoundStrategyMgr__template1 {};
/* JAISoundStrategyMgr<JAIStream> */
struct JAISoundStrategyMgr__template2 {};
/**
* @ingroup jsystem-jaudio
@@ -205,17 +205,17 @@ public:
*/
class JAITempoMgr {
public:
/* 0x00 */ f32 mTempo;
/* 0x04 */ JAISoundParamsTransition::TTransition field_0x4;
/* 0x00 */ f32 tempo_;
/* 0x04 */ JAISoundParamsTransition::TTransition transition_;
JAITempoMgr() { init(); }
void init() { setTempo(1.0f); }
void setTempo(f32 param_0) {
mTempo = param_0;
field_0x4.zero();
void setTempo(f32 tempo) {
tempo_ = tempo;
transition_.zero();
}
f32 getTempo() { return mTempo; }
void calc() { mTempo = field_0x4.apply(mTempo); }
f32 getTempo() const { return tempo_; }
void calc() { tempo_ = transition_.apply(tempo_); }
};
class JAISoundHandle;
@@ -234,18 +234,18 @@ class JAITempoMgr;
class JAISound {
public:
/* 802A21A0 */ void releaseHandle();
/* 802A21BC */ void attachHandle(JAISoundHandle*);
/* 802A21BC */ void attachHandle(JAISoundHandle* handle);
/* 802A22F8 */ JAISound();
/* 802A2328 */ void start_JAISound_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*);
/* 802A2328 */ void start_JAISound_(JAISoundID id, const JGeometry::TVec3<f32>* posPtr, JAIAudience* audience);
/* 802A244C */ bool acceptsNewAudible() const;
/* 802A2474 */ void newAudible(JGeometry::TVec3<f32> const&, JGeometry::TVec3<f32> const*, u32,
/* 802A2474 */ void newAudible(const JGeometry::TVec3<f32>&, JGeometry::TVec3<f32> const*, u32,
JAIAudience*);
/* 802A2598 */ void stop();
/* 802A24DC */ void stop(u32 fadeout);
/* 802A24DC */ void stop(u32 fadeTime);
/* 802A25F0 */ void die_JAISound_();
/* 802A266C */ void increasePrepareCount_JAISound_();
/* 802A26B8 */ bool calc_JAISound_();
/* 802A29DC */ void initTrack_JAISound_(JASTrack*);
/* 802A29DC */ void initTrack_JAISound_(JASTrack* track);
virtual s32 getNumChild() const = 0;
virtual JAISoundChild* getChild(int) = 0;
@@ -258,19 +258,24 @@ public:
virtual JAITempoMgr* getTempoMgr() = 0;
virtual bool JAISound_tryDie_() = 0;
JAISoundID getID() const { return soundID; }
u8 getAnimationState() const { return status_.state.flags.animationState; }
JAISoundID getID() const { return soundID_; }
u32 getAnimationState() const { return status_.state.flags.animationState; }
bool isAnimated() const { return getAnimationState() != 0; }
void setAnimationState(u8 pState) {
status_.state.flags.animationState = pState;
void setAnimationState(u32 state) {
status_.state.flags.animationState = state;
}
u32 getUserData() const { return status_.user_data; }
void setUserData(u32 pUserData) { status_.user_data = pUserData; }
JAIAudible* getAudible() const { return audible_; }
u32 getUserData() const { return status_.userdata_; }
void setUserData(u32 userData) { status_.userdata_ = userData; }
JAIAudible* getAudible() { return audible_; }
bool isHandleAttached() const { return handle_ != NULL; }
bool hasLifeTime() const { return status_.field_0x1.flags.flag2; }
void removeLifeTime_() { status_.field_0x1.flags.flag1 = false; }
bool isPrepared() { return status_.isPrepared(); }
void removeLifeTime_() {
status_.field_0x1.flags.flag1 = false;
status_.field_0x1.flags.flag2 = 0;
}
bool isPrepared() const { return status_.isPrepared(); }
void unlockIfLocked() { status_.unlockIfLocked(); }
void lockWhenPrepared() { status_.lockWhenPrepared(); }
void stop_JAISound_() {
@@ -278,65 +283,63 @@ public:
status_.state.flags.flag1 = 1;
}
bool isStopping() {
bool isStopping = false;
if (status_.state.flags.flag1) {
isStopping = !status_.state.flags.flag5 || fader.isOut();
}
return isStopping;
bool isStopping() const {
return status_.state.flags.flag1 && (!status_.state.flags.flag5 || fader_.isOut());
}
void pause(bool param_0) {
status_.field_0x0.flags.paused = param_0;
}
void updateLifeTime(u32 param_0) {
if (param_0 > lifeTime) {
lifeTime = param_0;
void updateLifeTime(u32 lifeTime) {
if (lifeTime > lifeTime_) {
lifeTime_ = lifeTime;
}
}
void setLifeTime(u32 param_0, bool param_1) {
lifeTime = param_0;
void setLifeTime(u32 lifeTime, bool param_1) {
JUT_ASSERT(333, status_.state.flags.calcedOnce == 0);
lifeTime_ = lifeTime;
setComesBack(param_1);
status_.field_0x1.flags.flag2 = 1;
}
void setComesBack(bool param_0) {
JUT_ASSERT(354, status_.state.flags.calcedOnce == 0);
status_.field_0x1.flags.flag1 = 1;
if (param_0) {
status_.pauseWhenOut();
}
}
bool setPos(const JGeometry::TVec3<f32>& param_1) {
bool setPos(const JGeometry::TVec3<f32>& pos) {
if (audible_ != NULL) {
audible_->setPos(param_1);
audible_->setPos(pos);
}
return audible_ != NULL;
}
JAISoundFader& getFader() { return fader; }
void fadeIn(u32 i_count) { fader.fadeInFromOut(i_count); }
void fadeOut(u32 i_count) { fader.fadeOut(i_count); }
JAISoundFader& getFader() { return fader_; }
void fadeIn(u32 maxSteps) { fader_.fadeInFromOut(maxSteps); }
void fadeOut(u32 maxSteps) { fader_.fadeOut(maxSteps); }
JAISoundParamsProperty& getProperty() { return params.mProperty; }
JAISoundParamsProperty& getProperty() { return params_.property_; }
s32 getCount() const { return mCount; }
s32 getCount() const { return count_; }
JAISoundParamsMove& getAuxiliary() { return params.mMove; }
JAISoundParamsMove& getAuxiliary() { return params_.move_; }
/* 0x04 */ JAISoundHandle* handle_;
/* 0x08 */ JAIAudible* audible_;
/* 0x0C */ JAIAudience* audience_;
/* 0x10 */ u32 lifeTime;
/* 0x14 */ s32 prepareCount;
/* 0x18 */ JAISoundID soundID;
/* 0x10 */ u32 lifeTime_;
/* 0x14 */ s32 prepareCount_;
/* 0x18 */ JAISoundID soundID_;
/* 0x1C */ JAISoundStatus_ status_;
/* 0x24 */ JAISoundFader fader;
/* 0x34 */ u32 mPriority;
/* 0x38 */ s32 mCount;
/* 0x3C */ JAISoundParams params;
/* 0x24 */ JAISoundFader fader_;
/* 0x34 */ u32 priority_;
/* 0x38 */ s32 count_;
/* 0x3C */ JAISoundParams params_;
}; // Size: 0x98
STATIC_ASSERT(sizeof(JAISound) == 0x98);
+12 -9
View File
@@ -18,6 +18,11 @@ public:
bool isSoundAttached() const { return sound_ != NULL; }
JAISound* getSound() {
JUT_ASSERT(41, sound_ != NULL);
return sound_;
}
JAISound* operator->() const {
JUT_ASSERT(58, sound_ != NULL);
return sound_;
@@ -27,9 +32,7 @@ public:
void releaseSound();
JAISound* getSound() { return sound_; }
JAISound* sound_; // member from assert in operator->()
JAISound* sound_;
};
/**
@@ -38,18 +41,18 @@ public:
*/
class JAISoundHandles {
public:
JAISoundHandles(JAISoundHandle* pHandle, int param_1) {
mSoundHandle = pHandle;
numHandles_ = param_1;
JAISoundHandles(JAISoundHandle* handle, int handleNum) {
handle_ = handle;
numHandles_ = handleNum;
};
JAISoundHandle& operator[](int n) { return mSoundHandle[n]; }
JAISoundHandle& operator[](int n) { return handle_[n]; }
JAISoundHandle* getHandleSoundID(JAISoundID);
JAISoundHandle* getHandleSoundID(JAISoundID id);
JAISoundHandle* getFreeHandle();
private:
JAISoundHandle* mSoundHandle;
JAISoundHandle* handle_;
int numHandles_;
};
+51 -52
View File
@@ -26,56 +26,56 @@ struct JAISoundParamsProperty {
struct JAISoundParamsTransition {
struct TTransition {
void zero() {
mStep = 0.0f;
mCount = 0;
mDest = 0.0f;
step_ = 0.0f;
remainingSteps_ = 0;
targetValue_ = 0.0f;
}
void set(f32 newValue, f32 intensity, u32 fadeCount) {
mCount = fadeCount;
mStep = (newValue - intensity) / mCount;
mDest = newValue;
void set(f32 newValue, f32 currentValue, u32 maxSteps) {
remainingSteps_ = maxSteps;
step_ = (newValue - currentValue) / remainingSteps_;
targetValue_ = newValue;
}
f32 apply(f32 param_0) {
if (mCount > 1) {
mCount--;
param_0 += mStep;
f32 apply(f32 value) {
if (remainingSteps_ > 1) {
remainingSteps_--;
value += step_;
} else {
if (mCount == 1) {
mCount = 0;
param_0 = mDest;
if (remainingSteps_ == 1) {
remainingSteps_ = 0;
value = targetValue_;
}
}
return param_0;
return value;
}
/* 0x0 */ f32 mStep;
/* 0x4 */ f32 mDest;
/* 0x8 */ u32 mCount;
/* 0x0 */ f32 step_;
/* 0x4 */ f32 targetValue_;
/* 0x8 */ u32 remainingSteps_;
}; // Size: 0xC
void init() {
mVolume.zero();
mPitch.zero();
mFxMix.zero();
mPan.zero();
mDolby.zero();
volume_.zero();
pitch_.zero();
fxMix_.zero();
pan_.zero();
dolby_.zero();
}
void apply(JASSoundParams* pParams) {
pParams->mVolume = mVolume.apply(pParams->mVolume);
pParams->mPitch = mPitch.apply(pParams->mPitch);
pParams->mFxMix = mFxMix.apply(pParams->mFxMix);
pParams->mDolby = mDolby.apply(pParams->mDolby);
pParams->mPan = mPan.apply(pParams->mPan);
void apply(JASSoundParams* params) {
params->mVolume = volume_.apply(params->mVolume);
params->mPitch = pitch_.apply(params->mPitch);
params->mFxMix = fxMix_.apply(params->mFxMix);
params->mDolby = dolby_.apply(params->mDolby);
params->mPan = pan_.apply(params->mPan);
}
/* 0x00 */ TTransition mVolume;
/* 0x0C */ TTransition mPitch;
/* 0x18 */ TTransition mFxMix;
/* 0x24 */ TTransition mPan;
/* 0x30 */ TTransition mDolby;
/* 0x00 */ TTransition volume_;
/* 0x0C */ TTransition pitch_;
/* 0x18 */ TTransition fxMix_;
/* 0x24 */ TTransition pan_;
/* 0x30 */ TTransition dolby_;
}; // Size: 0x3C
/**
@@ -83,23 +83,23 @@ struct JAISoundParamsTransition {
*
*/
struct JAISoundParamsMove {
JAISoundParamsMove() : mParams() {}
JAISoundParamsMove() : params_() {}
void init() {
mParams.init();
mTransition.init();
params_.init();
transition_.init();
}
void calc() { mTransition.apply(&mParams); }
void calc() { transition_.apply(&params_); }
/* 802A2DB4 */ void moveVolume(f32, u32);
/* 802A2E0C */ void movePitch(f32, u32);
/* 802A2E64 */ void moveFxMix(f32, u32);
/* 802A2EBC */ void movePan(f32, u32);
/* 802A2F14 */ void moveDolby(f32, u32);
/* 802A2DB4 */ void moveVolume(f32 newValue, u32 maxSteps);
/* 802A2E0C */ void movePitch(f32 newValue, u32 maxSteps);
/* 802A2E64 */ void moveFxMix(f32 newValue, u32 maxSteps);
/* 802A2EBC */ void movePan(f32 newValue, u32 maxSteps);
/* 802A2F14 */ void moveDolby(f32 newValue, u32 maxSteps);
/* 0x00 */ JASSoundParams mParams;
/* 0x14 */ JAISoundParamsTransition mTransition;
/* 0x00 */ JASSoundParams params_;
/* 0x14 */ JAISoundParamsTransition transition_;
}; // Size: 0x50
/**
@@ -107,17 +107,16 @@ struct JAISoundParamsMove {
*
*/
struct JAISoundParams {
JAISoundParams() : mMove() {}
void mixOutAll(JASSoundParams const&, JASSoundParams*, f32);
JAISoundParams() : move_() {}
void mixOutAll(const JASSoundParams& inParams, JASSoundParams* outParams, f32);
void init() {
mMove.init();
mProperty.init();
move_.init();
property_.init();
}
/* 0x0 */ JAISoundParamsProperty mProperty;
/* 0xC */ JAISoundParamsMove mMove;
/* 0x0 */ JAISoundParamsProperty property_;
/* 0xC */ JAISoundParamsMove move_;
}; // Size: 0x5C
// OG Size: 0x20
#endif /* JAISOUNDPARAMS_H */
+3 -3
View File
@@ -9,11 +9,11 @@
*
*/
struct JAISoundStarter : public JASGlobalInstance<JAISoundStarter> {
/* 802A2F6C */ JAISoundStarter(bool);
/* 802A2F6C */ JAISoundStarter(bool setInstance);
virtual ~JAISoundStarter();
virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*) = 0;
/* 802A2FEC */ bool startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
virtual bool startSound(JAISoundID id, JAISoundHandle* handlePtr, const JGeometry::TVec3<f32>* posPtr) = 0;
/* 802A2FEC */ bool startLevelSound(JAISoundID id, JAISoundHandle* handlePtr, const JGeometry::TVec3<f32>* posPtr);
};
#endif /* JAISOUNDSTARTER_H */
+16 -13
View File
@@ -14,39 +14,42 @@ class JAIStreamMgr;
class JAIStream : public JASPoolAllocObject<JAIStream>, public JAISound, public JSULink<JAIStream> {
public:
struct TInner {
JASAramStream field_0x0;
JASAramStream aramStream_;
};
/* 802A3104 */ JAIStream(JAIStreamMgr*, JAISoundStrategyMgr<JAIStream>*);
/* 802A319C */ void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3<f32> const*,
JAIAudience*, int);
/* 802A3104 */ JAIStream(JAIStreamMgr* streamMgr, JAISoundStrategyMgr<JAIStream>* soundStrategyMgr);
/* 802A319C */ void JAIStreamMgr_startID_(JAISoundID id, s32 streamFileEntry,
const JGeometry::TVec3<f32>* posPtr, JAIAudience* audience,
int category);
/* 802A3230 */ bool prepare_prepareStream_();
/* 802A33F4 */ void prepare_();
/* 802A3498 */ void prepare_startStream_();
/* 802A34E4 */ void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity);
/* 802A34E4 */ void JAIStreamMgr_mixOut_(const JASSoundParams& inParams, JAISoundActivity activity);
/* 802A3720 */ void die_JAIStream_();
/* 802A37FC */ bool JAISound_tryDie_();
/* 802A388C */ void JAIStreamMgr_calc_();
/* 802A3948 */ s32 getNumChild() const;
/* 802A3950 */ JAISoundChild* getChild(int);
/* 802A3A24 */ void releaseChild(int);
/* 802A3950 */ JAISoundChild* getChild(int index);
/* 802A3A24 */ void releaseChild(int index);
/* 802A3ABC */ JASTrack* getTrack();
/* 802A3AC4 */ JASTrack* getChildTrack(int);
/* 802A3ACC */ JAIStream* asStream();
/* 802A3AD0 */ JAITempoMgr* getTempoMgr();
void* JAIStreamMgr_getAramAddr_() { return field_0x29c; }
void* JAIStreamMgr_getAramAddr_() const { return streamAramAddr_; }
/* 0x0A8 */ TInner field_0x0a8;
static const int NUM_CHILDREN = 6;
/* 0x0A8 */ TInner inner_;
/* 0x290 */ int field_0x290;
/* 0x294 */ s32 field_0x294;
/* 0x298 */ int field_0x298;
/* 0x29C */ void* field_0x29c;
/* 0x2A0 */ JAISoundChild* field_0x2a0[6];
/* 0x2B8 */ JAIStreamMgr* field_0x2b8;
/* 0x29C */ void* streamAramAddr_;
/* 0x2A0 */ JAISoundChild* children_[NUM_CHILDREN];
/* 0x2B8 */ JAIStreamMgr* streamMgr_;
/* 0x2BC */ JAISoundStrategyMgr__unknown<JAIStream>* field_0x2bc;
/* 0x2C0 */ JAISoundStrategyMgr<JAIStream>* field_0x2c0;
/* 0x2C4 */ u8 field_0x2c4;
/* 0x2C4 */ bool field_0x2c4;
/* 0x2C5 */ u8 field_0x2c5;
/* 0x2C6 */ u8 field_0x2c6;
};
+14 -10
View File
@@ -14,34 +14,38 @@ class JAIStreamDataMgr;
*/
class JAIStreamMgr : public JASGlobalInstance<JAIStreamMgr> {
public:
/* 802A3B68 */ JAIStreamMgr(bool);
/* 802A3C3C */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A3B68 */ JAIStreamMgr(bool setInstance);
/* 802A3C3C */ bool startSound(JAISoundID id, JAISoundHandle* handle, const JGeometry::TVec3<f32>* posPtr);
/* 802A3D70 */ void freeDeadStream_();
/* 802A3EBC */ void calc();
/* 802A4028 */ void stop();
/* 802A4068 */ void stop(u32);
/* 802A40B8 */ void stopSoundID(JAISoundID);
/* 802A4068 */ void stop(u32 fadeTime);
/* 802A40B8 */ void stopSoundID(JAISoundID id);
/* 802A4118 */ void mixOut();
/* 802A4174 */ JAIStream* newStream_();
/* 802B9978 */ bool isActive() const { return mStreamList.getNumLinks() != 0; }
JAIAudience* getAudience() { return mAudience; }
JAISoundParamsMove* getParams() { return &mParams; }
JAIStreamAramMgr* getStreamAramMgr() { return mStreamAramMgr; }
JSUList<JAIStream>* getStreamList() { return &mStreamList; }
void setStreamDataMgr(JAIStreamDataMgr* param_0) {
void setStreamDataMgr(JAIStreamDataMgr* streamDataMgr) {
JUT_ASSERT(139, !isActive());
streamDataMgr_ = param_0;
streamDataMgr_ = streamDataMgr;
}
void setStreamAramMgr(JAIStreamAramMgr* param_0) {
void setStreamAramMgr(JAIStreamAramMgr* streamDataMgr) {
JUT_ASSERT(157, !isActive());
mStreamAramMgr = param_0;
mStreamAramMgr = streamDataMgr;
}
void pause(bool i_pause) { mActivity.field_0x0.flags.flag2 = i_pause; }
void pause(bool paused) { mActivity.field_0x0.flags.flag2 = paused; }
private:
/* 0x00 */ JAISoundActivity mActivity;
/* 0x04 */ JAISoundParamsMove mParams;
/* 0x54 */ JAIAudience* field_0x54;
/* 0x54 */ JAIAudience* mAudience;
/* 0x58 */ JSUList<JAIStream> mStreamList;
/* 0x64 */ JAIStreamDataMgr* streamDataMgr_;
/* 0x68 */ JAIStreamAramMgr* mStreamAramMgr;
+6 -6
View File
@@ -8,11 +8,11 @@
*
*/
struct JASCalc {
/* 8028F2E8 */ static void imixcopy(s16 const*, s16 const*, s16*, u32);
/* 8028F318 */ static void bcopyfast(void const*, void*, u32);
/* 8028F354 */ static void bcopy(void const*, void*, u32);
/* 8028F454 */ static void bzerofast(void*, u32);
/* 8028F480 */ static void bzero(void*, u32);
/* 8028F2E8 */ static void imixcopy(const s16*, const s16*, s16*, u32);
/* 8028F318 */ static void bcopyfast(const void* src, void* dest, u32 size);
/* 8028F354 */ static void bcopy(const void* src, void* dest, u32 size);
/* 8028F454 */ static void bzerofast(void* dest, u32 size);
/* 8028F480 */ static void bzero(void* dest, u32 size);
/* 8028F578 */ static f32 pow2(f32);
// Could not make it work as inline - specialization is in JASCalc.cpp
@@ -39,7 +39,7 @@ struct JASCalc {
f32 fake2(long x);
f32 fake3();
static s16 const CUTOFF_TO_IIR_TABLE[128][4];
static const s16 CUTOFF_TO_IIR_TABLE[128][4];
};
#endif /* JASCALC_H */
+9 -16
View File
@@ -12,28 +12,21 @@ typedef long JASCallback(void*);
struct JASCallbackMgr {
struct TCallback {
TCallback()
: mFunction(NULL)
, mArgument(NULL) {
: callback_(NULL)
, arg_(NULL) {
}
/** @fabricated */
bool isMatch(JASCallback* function, void* argument) { return (mFunction == function && mArgument == argument); }
/** @fabricated */
void clear() {
mFunction = NULL;
mArgument = NULL;
}
/* 0x00 */ JASCallback* mFunction;
/* 0x04 */ void* mArgument;
/* 0x00 */ JASCallback* callback_;
/* 0x04 */ void* arg_;
};
bool regist(JASCallback*, void*);
int reject(JASCallback*, void*);
bool regist(JASCallback* callback, void* argument);
int reject(JASCallback* callback, void* argument);
void callback();
/* 0x00 */ TCallback mCallbacks[0x20];
static const int NUM_CALLBACKS = 32;
/* 0x00 */ TCallback callbacks_[NUM_CALLBACKS];
};
#endif /* JASCALLBACK_H */

Some files were not shown because too many files have changed in this diff Show More