Merge remote-tracking branch 'decomp/main'

This commit is contained in:
Max Roncace
2026-03-27 02:01:45 -04:00
65 changed files with 2510 additions and 768 deletions
+108 -2
View File
@@ -14,14 +14,15 @@
#include "JSystem/JKernel/JKRExpHeap.h"
#include "Z2AudioLib/Z2F1TestWindow.h"
#include "Z2AudioLib/Z2FxLineMgr.h"
#include "Z2AudioLib/Z2Param.h"
#include "Z2AudioLib/Z2SeView.h"
#include "Z2AudioLib/Z2SoundPlayer.h"
#include "Z2AudioLib/Z2TrackView.h"
#include "Z2AudioLib/Z2WaveArcLoader.h"
#include "m_Do/m_Do_hostIO.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_hostIO.h"
Z2DebugSys::Z2DebugSys() : JASGlobalInstance<Z2DebugSys>(true) { }
Z2DebugSys::Z2DebugSys() : JASGlobalInstance<Z2DebugSys>(true) {}
void Z2DebugSys::initJAW() {
JKRHeap* oldHeap = JKRHeap::getCurrentHeap();
@@ -117,3 +118,108 @@ JAISeqDataMgr* Z2DebugSys::initSeSeqDataMgr(const void* param_1) {
JKRSetCurrentHeap(oldHeap);
return seqDataMgr;
}
u8 gMicOn = true;
u8 gMicOffWhenOutOfSight = true;
extern u8 gMuffleOutOfRangeMic;
void Z2ParamNode::message(JAHControl& ctrl) {
ctrl.makeComment("**** 各種パラメータ編集用ノード ****", 0, 5, 0);
ctrl.returnY(1);
ctrl.indent(1);
ctrl.makeCheckBox("BGM強制ボリュームON", &Z2GetSeqMgr()->field_0x04_debug, 1, false, 0);
ctrl.makeSlider("BGM強制ボリューム", &Z2GetSeqMgr()->field_0x00_debug, 0.0f, 1.0f, 0);
ctrl.returnY(1);
ctrl.makeComment("-- ミドナボイス --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeSlider("発話スタイル", (s16*)Z2GetSpeechMgr2()->getStylePtr(), 0, 0x10, 0);
ctrl.makeSlider("語尾(1=UP)", Z2GetSpeechMgr2()->getTalkerPtr(), 0, 1, 0);
ctrl.indent(-1);
ctrl.makeComment("-- BGM汎用パラメータ --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeSlider("シーンチェンジ時のBGMフェードアウトタイム",
&Z2Param::SCENE_CHANGE_BGM_FADEOUT_TIME, 0, 0xff, 0);
ctrl.makeSlider("BGMクロスフェードインタイム", &Z2Param::BGM_CROSS_FADEIN_TIME, 0, 0xff, 0);
ctrl.makeSlider("BGMクロスフェードアウトタイム", &Z2Param::BGM_CROSS_FADEOUT_TIME, 0, 0xff,
0);
ctrl.indent(-1);
ctrl.makeComment("-- 戦闘BGMパラメータ --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeSlider("戦闘BGMスタート禁止時間", &Z2Param::BATTLE_BGM_WAIT_TIME, 0, 0xff, 0);
ctrl.makeSlider("戦闘BGMスタート距離", &Z2Param::BATTLE_FADEIN_DIST, 0.0f, 5000.0f, 0);
ctrl.makeSlider("戦闘BGMフェードアウト距離", &Z2Param::BATTLE_FADEOUT_DIST, 0.0f, 5000.0f,
0);
ctrl.makeSlider("接近戦状態距離", &Z2Param::ENEMY_NEARBY_DIST, 0.0f, 5000.0f, 0);
ctrl.makeSlider("接近戦トラックFIタイム", &Z2Param::CLOSE_BATTLE_TRACK_FI_TIME, 0, 0xff, 0);
ctrl.makeSlider("接近戦トラックFOタイム", &Z2Param::CLOSE_BATTLE_TRACK_FO_TIME, 0, 0xff, 0);
ctrl.makeSlider("見つかりトラックFIタイム", &Z2Param::FOUND_TRACK_FI_TIME, 0, 0xff, 0);
ctrl.makeSlider("見つかりトラックFOタイム", &Z2Param::FOUND_TRACK_FO_TIME, 0, 0xff, 0);
ctrl.makeSlider("最後の一撃音量下げ範囲", &Z2Param::ENEMY_LASTHIT_MUTE_VOLUME, 0.0f, 1.0f, 0);
ctrl.makeSlider("最後の一撃音量下げ時間", &Z2Param::ENDING_BLOW_VOL_DOWN_TIME, 0, 0xff, 0);
ctrl.makeSlider("最後の一撃音量下げ持続時間", &Z2Param::ENDING_BLOW_VOL_LOWER_TIME, 0, 0xff, 0);
ctrl.makeSlider("最後の一撃音量下げ復帰時間", &Z2Param::ENDING_BLOW_VOL_LOWER_RECOVER_TIME, 0,
0xff, 0);
ctrl.makeSlider("最後の一撃〜フィニッシュ最低時間", &Z2Param::ENDING_BLOW_MIN_FINISH_TIME, 0,
0xff, 0);
ctrl.indent(-1);
ctrl.returnY(1);
ctrl.makeComment("-- オーディブル演算パラメータ --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeSlider("ボリューム変化許容範囲(+-)", &Z2Param::AUDIBLE_DELTA_RANGE_VOLUME, 0.0f, 1.0f,
0);
ctrl.makeSlider("パン変化許容範囲(+-)", &Z2Param::AUDIBLE_DELTA_RANGE_PAN, 0.0f, 1.0f, 0);
ctrl.makeSlider("ドルビー変化許容範囲(+-)", &Z2Param::AUDIBLE_DELTA_RANGE_DOLBY, 0.0f, 1.0f, 0);
ctrl.makeSlider("ドップラーピッチ変化許容範囲(*/)", &Z2GetAudience()->getSetting()->field_0x60,
1.0f, 2.0f, 0);
ctrl.indent(-1);
ctrl.returnY(1);
Z2SpotMic* pfVar2 = Z2GetAudience()->getLinkMic();
if (pfVar2 != NULL) {
ctrl.makeComment("-- リンクスポットマイク設定 --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeCheckBox("マイクON?", &gMicOn, 1, false, 0);
ctrl.makeCheckBox("視野外でマイクオフ?", &gMicOffWhenOutOfSight, 1, false, 0);
ctrl.makeSlider("マイク音量最大距離", &pfVar2->field_0x0, 0.0f, 1000.0f, 0);
ctrl.makeSlider("マイク音量最小距離", &pfVar2->field_0x4, 0.0f, 1000.0f, 0);
ctrl.makeSlider("最小音量", &pfVar2->field_0x8, 0.0f, 1.0f, 0);
ctrl.makeSlider("最大音量の最小値", &pfVar2->field_0xc, 0.0f, 1.0f, 0);
ctrl.makeButton("マイク設定更新", 3, 3, 0);
ctrl.returnY(1);
ctrl.makeCheckBox("マイク圏外をボリュームダウン", &gMuffleOutOfRangeMic, 1, false, 0);
ctrl.indent(1);
ctrl.makeSlider("マイク圏外の音量比", &Z2GetAudience()->field_0x4, 0.0f, 1.0f, 0);
ctrl.indent(-1);
ctrl.indent(-1);
}
ctrl.makeComment("-- 闇のSEフィルタ実験 --", 0, 5, 0);
ctrl.indent(1);
ctrl.makeButton("フィルタリセット", 2, 3, 0);
ctrl.makeCheckBox("フィルタON", &Z2Param::DARK_SE_FILTER_ON, 1, false, 0);
ctrl.makeCheckBox("システムSEにも適用", &Z2Param::SYSTEM_SE_USE_DARK_SE_SETTING, 1, false, 0);
ctrl.makeSlider("ローパスフィルタ設定(強→弱)", &Z2Param::DARK_SE_LOW_PASS_FILTER_SETTING, 0,
0x7f, 0);
}
void Z2ParamNode::propertyEvent(JAH_P_Event param_1, u32 param_2) {
if (param_1 == JAH_P_EVENT0)
return;
switch (param_2) {
case 2:
Z2GetSoundMgr()->resetFilterAll();
break;
case 3:
Z2GetAudience()->getLinkMic()->calcPriorityFactor();
break;
}
}
void Z2ParamNode::onFrame() {
Z2SpotMic* mic = Z2GetAudience()->getLinkMic();
if (!mic)
return;
mic->setMicOn(gMicOn != 0);
mic->setIgnoreIfOut(gMicOffWhenOutOfSight != 0);
Z2GetAudience()->setUsingOffMicVol(gMuffleOutOfRangeMic != 0);
}