mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-03 20:20:14 -04:00
1598 lines
51 KiB
C++
1598 lines
51 KiB
C++
//
|
|
// Generated by dtk
|
|
// Translation Unit: JAIZelBasic.cpp
|
|
//
|
|
|
|
#include "JAZelAudio/JAIZelBasic.h"
|
|
#include "JAZelAudio/JAIZelParam.h"
|
|
#include "JAZelAudio/JAIZelSound.h"
|
|
#include "JSystem/JAudio/JAIConst.h"
|
|
#include "JSystem/JAudio/JAIGlobalParameter.h"
|
|
#include "JSystem/JAudio/JAISeMgr.h"
|
|
#include "JSystem/JAudio/JAISequenceMgr.h"
|
|
#include "JSystem/JAudio/JAISound.h"
|
|
#include "JSystem/JAudio/JAIStreamMgr.h"
|
|
#include "JSystem/JAudio/JAIBankWave.h"
|
|
#include "JSystem/JAudio/JASSystemHeap.h"
|
|
#include "JSystem/JKernel/JKRSolidHeap.h"
|
|
#include "d/d_com_inf_game.h"
|
|
|
|
JAIZelBasic* JAIZelBasic::zel_basic;
|
|
u32 jai_rng_seed = 0x12345678;
|
|
|
|
/* 802A1C78-802A1EB4 .text __ct__11JAIZelBasicFv */
|
|
JAIZelBasic::JAIZelBasic() {
|
|
zel_basic = this;
|
|
field_0x0021 = 0;
|
|
field_0x0024 = 0;
|
|
mpStreamBgmSound = NULL;
|
|
field_0x0020 = 0;
|
|
field_0x0074 = -1;
|
|
field_0x0078 = -1;
|
|
field_0x007c = -1;
|
|
field_0x0080 = 1.0f;
|
|
field_0x0084 = 1.0f;
|
|
field_0x0088 = 1.0f;
|
|
field_0x008c = 1.0f;
|
|
field_0x0090 = 1.0f;
|
|
field_0x0094 = 1.0f;
|
|
field_0x0098 = 1.0f;
|
|
field_0x009c = 1.0f;
|
|
field_0x00a0 = 1.0f;
|
|
field_0x00a4 = 1.0f;
|
|
field_0x00ac = 1.0f;
|
|
field_0x00a8 = 1.0f;
|
|
mHour = 0;
|
|
mMinute = 0;
|
|
mWeekday = 0;
|
|
field_0x002f = 0;
|
|
field_0x0030 = 0xc00;
|
|
field_0x0032 = 0;
|
|
field_0x0034 = 0;
|
|
field_0x0038 = 0;
|
|
field_0x003c = 1.0f;
|
|
field_0x0041 = 0;
|
|
field_0x0042 = 0;
|
|
field_0x0043 = 0;
|
|
field_0x0044 = 0;
|
|
field_0x0045 = 0;
|
|
field_0x0046 = 0;
|
|
field_0x0047 = 0;
|
|
field_0x0048.x = 1e+07;
|
|
field_0x0048.y = 1e+07;
|
|
field_0x0048.z = 1e+07;
|
|
field_0x0054.x = 1e+07;
|
|
field_0x0054.y = 1e+07;
|
|
field_0x0054.z = 1e+07;
|
|
field_0x00d0 = 0;
|
|
field_0x0063 = 0;
|
|
field_0x00b0 = -1;
|
|
mSomeSpecialBGMFlag = 0;
|
|
mLastMinibossSubBGMType = 0;
|
|
field_0x1f3c = 0;
|
|
field_0x01f8 = 0;
|
|
field_0x0201 = 0;
|
|
field_0x0204 = 0;
|
|
field_0x0064 = 0;
|
|
field_0x0065 = 0;
|
|
field_0x00b8 = 0;
|
|
field_0x00ba = 0;
|
|
field_0x00bb = 0;
|
|
field_0x0206 = 0;
|
|
field_0x01f9 = 0;
|
|
field_0x01fa = 0;
|
|
field_0x0202[0] = 0;
|
|
field_0x0202[1] = 0;
|
|
field_0x01fb = 0;
|
|
field_0x01fc = 0;
|
|
field_0x023a = 0;
|
|
field_0x0220 = -1;
|
|
field_0x0224 = -1;
|
|
mNextSceneBgmId = 0;
|
|
field_0x022e = 0;
|
|
field_0x022f = 0;
|
|
field_0x0230 = 0;
|
|
field_0x0231 = 0;
|
|
mFirstDynamicSceneWaveIndex = 0;
|
|
field_0x0233 = 0;
|
|
mSetNum = 0;
|
|
mSecondDynamicSceneWaveIndex = 0;
|
|
field_0x0236 = 0;
|
|
field_0x0237 = 0;
|
|
field_0x022c = 0;
|
|
field_0x022d = 0;
|
|
field_0x00b4 = 0;
|
|
field_0x00bc = 0;
|
|
field_0x00c0 = 0;
|
|
field_0x00c1 = 0;
|
|
field_0x00c4 = 0;
|
|
field_0x00c8 = 0;
|
|
field_0x00c9 = 0;
|
|
field_0x00ca = 0;
|
|
mCameraSeaFloorGroupInfo = 0;
|
|
mIslandRoomNo = 0;
|
|
mLinkSeaFloorGroupInfo = 0;
|
|
field_0x021e = 0;
|
|
field_0x00cb = -1;
|
|
field_0x00cc = 0;
|
|
field_0x1dd4 = 0;
|
|
field_0x00b9 = 0;
|
|
field_0x00cd = 0;
|
|
field_0x0033 = 0;
|
|
mIsSailing = 0;
|
|
field_0x1f40 = 0.0;
|
|
field_0x00b7 = 0;
|
|
field_0x0040 = 0;
|
|
field_0x0207 = 0;
|
|
mbLandingDemoStarted = 0;
|
|
field_0x0239 = 0;
|
|
field_0x0208 = 0;
|
|
field_0x1ec0 = 0;
|
|
field_0x00ce = 0;
|
|
field_0x00bd = 0;
|
|
field_0x00be = 0;
|
|
field_0x0061 = 0;
|
|
field_0x01fd = 0;
|
|
field_0x01fe = 0;
|
|
field_0x01ff = 0;
|
|
field_0x0200 = 0;
|
|
field_0x0205 = 0;
|
|
field_0x0066 = 0;
|
|
field_0x00bf = 0;
|
|
field_0x0028 = 0;
|
|
field_0x0062 = 0;
|
|
}
|
|
|
|
/* 802A1EB4-802A2F48 .text zeldaGFrameWork__11JAIZelBasicFv */
|
|
void JAIZelBasic::zeldaGFrameWork() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A2F48-802A2F54 .text heartGaugeOn__11JAIZelBasicFv */
|
|
void JAIZelBasic::heartGaugeOn() {
|
|
field_0x0040 = 2;
|
|
}
|
|
|
|
/* 802A2F54-802A3058 .text processHeartGaugeSound__11JAIZelBasicFv */
|
|
void JAIZelBasic::processHeartGaugeSound() {
|
|
/* Nonmatching */
|
|
if (dComIfGp_event_getMode() == 0 && field_0x0040) {
|
|
if (field_0x0034 && field_0x0206 == 0) {
|
|
if (field_0x0034 <= 2) {
|
|
seStart(JA_SE_ALMOST_DIE_ALERM_3, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
|
} else if (field_0x0034 <= 4) {
|
|
seStart(JA_SE_ALMOST_DIE_ALERM_2, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
|
} else if (field_0x0034 <= 6) {
|
|
seStart(JA_SE_ALMOST_DIE_ALERM_1, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
|
}
|
|
}
|
|
field_0x0040--;
|
|
}
|
|
}
|
|
|
|
/* 802A3058-802A30A4 .text gframeProcess__11JAIZelBasicFv */
|
|
void JAIZelBasic::gframeProcess() {
|
|
if (!JAInter::SeMgr::seHandle) {
|
|
return;
|
|
}
|
|
if (JAInter::SeMgr::seHandle->field_0x5 >= 4) {
|
|
zeldaGFrameWork();
|
|
}
|
|
processFrameWork();
|
|
}
|
|
|
|
/* 802A30A4-802A31C0 .text resetProcess__11JAIZelBasicFv */
|
|
void JAIZelBasic::resetProcess() {
|
|
/* Nonmatching */
|
|
OSReport("[JAIZelBasic::resetProcess]\n");
|
|
for (int i = 0; i < 24; i++) {
|
|
if (field_0x00d4[i]) {
|
|
field_0x00d4[i]->stop(1);
|
|
field_0x00d4[i] = NULL;
|
|
field_0x0134[i] = 0;
|
|
field_0x0194[i] = 0;
|
|
}
|
|
}
|
|
menuOut();
|
|
for (int i = 0; i < JAIGlobalParameter::getParamSeqPlayTrackMax(); i++) {
|
|
JAInter::SeqUpdateData* data = JAInter::SequenceMgr::getPlayTrackInfo(i);
|
|
if (data && data->field_0x48) {
|
|
data->field_0x48->setSeqInterVolume(6, 0.0f, 1);
|
|
}
|
|
}
|
|
/*
|
|
if (JAInter::StreamMgr::streamUpdate->field_0x14) {
|
|
JAInter::StreamMgr::streamUpdate->field_0x14->stop(1);
|
|
}
|
|
*/
|
|
if (JAInter::SeMgr::seHandle) {
|
|
JAInter::SeMgr::seHandle->setSeqInterVolume(6, 0.0f, 1);
|
|
}
|
|
mNextSceneBgmId = 0;
|
|
field_0x022e = 0;
|
|
field_0x022d = 0;
|
|
}
|
|
|
|
/* 802A31C0-802A334C .text resetRecover__11JAIZelBasicFv */
|
|
void JAIZelBasic::resetRecover() {
|
|
if (JAInter::SeMgr::seHandle) {
|
|
JAInter::SeMgr::seHandle->setSeqInterVolume(6, 1.0f, 0);
|
|
}
|
|
for (int i = 0; i < JAIGlobalParameter::getParamSeqPlayTrackMax(); i++) {
|
|
JAInter::SeqUpdateData* data = JAInter::SequenceMgr::getPlayTrackInfo(i);
|
|
if (data && data->field_0x48 && data->field_0x48 != JAInter::SeMgr::seHandle) {
|
|
data->field_0x48->stop(0);
|
|
}
|
|
}
|
|
setScene(0, 0, 0, -1);
|
|
load1stDynamicWave();
|
|
sceneBgmStart();
|
|
load2ndDynamicWave();
|
|
field_0x0080 = 1.0f;
|
|
field_0x0084 = 1.0f;
|
|
field_0x0088 = 1.0f;
|
|
field_0x008c = 1.0f;
|
|
field_0x0090 = 1.0f;
|
|
field_0x0094 = 1.0f;
|
|
field_0x0098 = 1.0f;
|
|
field_0x009c = 1.0f;
|
|
field_0x00ac = 1.0f;
|
|
field_0x00a0 = 1.0f;
|
|
field_0x00a4 = 1.0f;
|
|
setSeCategoryVolume(0, JAIZelParam::VOL_SE_SYSTEM_DEFAULT);
|
|
setSeCategoryVolume(1, JAIZelParam::VOL_SE_LINK_VOICE_DEFAULT);
|
|
setSeCategoryVolume(2, JAIZelParam::VOL_SE_LINK_MOTION_DEFAULT);
|
|
setSeCategoryVolume(3, JAIZelParam::VOL_SE_LINK_FOOTNOTE_DEFAULT);
|
|
setSeCategoryVolume(4, JAIZelParam::VOL_SE_CHAR_VOICE_DEFAULT);
|
|
setSeCategoryVolume(5, JAIZelParam::VOL_SE_CHAR_MOVE_DEFAULT);
|
|
setSeCategoryVolume(6, JAIZelParam::VOL_SE_OBJECT_DEFAULT);
|
|
setSeCategoryVolume(7, JAIZelParam::VOL_SE_ATMOSPHERE_DEFAULT);
|
|
field_0x0206 = 0;
|
|
field_0x0207 = 0;
|
|
field_0x0201 = 0;
|
|
field_0x00bf = 0;
|
|
}
|
|
|
|
/* 802A334C-802A33D0 .text bgmStreamPrepare__11JAIZelBasicFUl */
|
|
void JAIZelBasic::bgmStreamPrepare(u32 param_1) {
|
|
if (field_0x0063) {
|
|
return;
|
|
}
|
|
startSoundVec(param_1, &mpStreamBgmSound, NULL, 0, 0, 4);
|
|
if (mpStreamBgmSound) {
|
|
mpStreamBgmSound->setPrepareFlag(1);
|
|
}
|
|
if (param_1 == JA_STRM_BST_START) {
|
|
field_0x00be = 1;
|
|
}
|
|
field_0x007c = param_1;
|
|
}
|
|
|
|
/* 802A33D0-802A34A4 .text bgmStreamPlay__11JAIZelBasicFv */
|
|
void JAIZelBasic::bgmStreamPlay() {
|
|
OSReport("[JAIZelBasic::bgmStreamPlay] \n");
|
|
if (field_0x0063) {
|
|
return;
|
|
}
|
|
if (mpStreamBgmSound) {
|
|
mpStreamBgmSound->start(0);
|
|
}
|
|
switch (field_0x007c) {
|
|
case JA_STRM_DEMO_TETRA_FLY:
|
|
field_0x00ba = 1;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->stop(30);
|
|
}
|
|
field_0x1f3c = 0;
|
|
field_0x0201 = 1;
|
|
break;
|
|
case JA_STRM_PROLOGUE:
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->stop(30);
|
|
}
|
|
field_0x1f3c = 0;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
field_0x00b8 = 1;
|
|
}
|
|
|
|
/* 802A34A4-802A4658 .text bgmStart__11JAIZelBasicFUlUll */
|
|
void JAIZelBasic::bgmStart(u32, u32, s32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A4658-802A4770 .text bgmStop__11JAIZelBasicFUll */
|
|
void JAIZelBasic::bgmStop(u32 param_1, s32 param_2) {
|
|
if (field_0x0078 != JA_BGM_GOMA && field_0x0078 != JA_BGM_GOMA_2) {
|
|
mSomeSpecialBGMFlag = 0;
|
|
}
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->stop(param_1);
|
|
}
|
|
mpMainBgmSound = NULL;
|
|
field_0x0078 = -1;
|
|
if (mpStreamBgmSound) {
|
|
mpStreamBgmSound->stop(param_1);
|
|
}
|
|
mpStreamBgmSound = NULL;
|
|
field_0x007c = -1;
|
|
if (param_2 == 0) {
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->stop(param_1);
|
|
mpSubBgmSound = NULL;
|
|
}
|
|
field_0x0074 = -1;
|
|
field_0x008c = 1.0f;
|
|
field_0x00bb = 0;
|
|
field_0x0206 = 0;
|
|
}
|
|
demoBgmStop(param_1);
|
|
field_0x1f3c = 0;
|
|
field_0x0201 = 0;
|
|
mLastMinibossSubBGMType = 0;
|
|
field_0x0064 = 0;
|
|
field_0x0065 = 0;
|
|
field_0x00b8 = 0;
|
|
field_0x00cb = 0xff;
|
|
field_0x00cc = 0;
|
|
field_0x0032 = 0;
|
|
}
|
|
|
|
/* 802A4770-802A47B8 .text mainBgmStopOnly__11JAIZelBasicFUl */
|
|
void JAIZelBasic::mainBgmStopOnly(u32 param_1) {
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->stop(param_1);
|
|
}
|
|
mpMainBgmSound = NULL;
|
|
field_0x0078 = -1;
|
|
}
|
|
|
|
/* 802A47B8-802A4CDC .text subBgmStart__11JAIZelBasicFUl */
|
|
void JAIZelBasic::subBgmStart(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A4CDC-802A4DA4 .text subBgmStop__11JAIZelBasicFv */
|
|
void JAIZelBasic::subBgmStop() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A4DA4-802A4EB8 .text subBgmStopInner__11JAIZelBasicFv */
|
|
void JAIZelBasic::subBgmStopInner() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A4EB8-802A53B4 .text bgmNowBattle__11JAIZelBasicFf */
|
|
void JAIZelBasic::bgmNowBattle(f32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A53B4-802A5548 .text bgmBattleGFrame__11JAIZelBasicFv */
|
|
void JAIZelBasic::bgmBattleGFrame() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A5548-802A55AC .text stopBattleBgm__11JAIZelBasicFv */
|
|
void JAIZelBasic::stopBattleBgm() {
|
|
if (mpSubBgmSound && (field_0x0074 == JA_BGM_BATTLE_NORM || field_0x0074 == JA_BGM_SEA_ENEMY)) {
|
|
mpSubBgmSound->stop(45);
|
|
mpSubBgmSound = NULL;
|
|
field_0x0074 = -1;
|
|
}
|
|
}
|
|
|
|
/* 802A55AC-802A564C .text bgmNowKaitengiri__11JAIZelBasicFv */
|
|
void JAIZelBasic::bgmNowKaitengiri() {
|
|
/* Nonmatching */
|
|
if (field_0x00c8 == 0 && mpSubBgmSound) {
|
|
switch (field_0x0074) {
|
|
case JA_BGM_BATTLE_NORM:
|
|
mpSubBgmSound->setTrackVolume(JAIZelParam::BTL_KAITENGIRI_TRACK, 1.0, JAIZelParam::BTL_KAITENGIRI_FADEIN_TIME);
|
|
break;
|
|
case JA_BGM_MBOSS_S:
|
|
mpSubBgmSound->setTrackVolume(JAIZelParam::MBOSS_BTL_KAITENGIRI_TRACK, 1.0, JAIZelParam::BTL_KAITENGIRI_FADEIN_TIME);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
field_0x00c8 = 2;
|
|
}
|
|
|
|
/* 802A564C-802A579C .text bgmHitSound__11JAIZelBasicFl */
|
|
void JAIZelBasic::bgmHitSound(s32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A579C-802A57A4 .text bgmSetSwordUsing__11JAIZelBasicFl */
|
|
void JAIZelBasic::bgmSetSwordUsing(s32 param_1) {
|
|
field_0x00c9 = param_1;
|
|
}
|
|
|
|
/* 802A57A4-802A5818 .text onEnemyDamage__11JAIZelBasicFv */
|
|
void JAIZelBasic::onEnemyDamage() {
|
|
if (field_0x0074 == JA_BGM_SEA_ENEMY) {
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setPortData(9, 1);
|
|
}
|
|
} else if (field_0x0074 == JA_BGM_BATTLE_NORM) {
|
|
if (mpSubBgmSound) {
|
|
JASystem::TTrack* track = &mpSubBgmSound->getSeqParameter()->field_0x1360;
|
|
if (track) {
|
|
track->writePortApp(0x000b0000, 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802A5818-802A591C .text mbossBgmMuteProcess__11JAIZelBasicFv */
|
|
void JAIZelBasic::mbossBgmMuteProcess() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A591C-802A59B0 .text mbossBgmNearByProcess__11JAIZelBasicFf */
|
|
void JAIZelBasic::mbossBgmNearByProcess(f32 param_1) {
|
|
if (!mpSubBgmSound) {
|
|
return;
|
|
}
|
|
if (param_1 <= JAIZelParam::ENEMY_NEARBY_DIST) {
|
|
field_0x00c4 = 0;
|
|
if (field_0x00c1 == 0) {
|
|
mpSubBgmSound->setTrackVolume(JAIZelParam::MBOSS_ENEMY_NEARBY_TRACK, 1.0, JAIZelParam::ENEMY_NEARBY_FADEIN_TIME);
|
|
field_0x00c1 = 1;
|
|
}
|
|
} else {
|
|
if (field_0x00c1 == 1) {
|
|
field_0x00c4 = JAIZelParam::ENEMY_NEARBY_FADEOUT_TIME;
|
|
field_0x00c1 = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802A59B0-802A59D8 .text checkBgmPlaying__11JAIZelBasicFv */
|
|
bool JAIZelBasic::checkBgmPlaying() {
|
|
if (mpMainBgmSound || mpStreamBgmSound) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/* 802A59D8-802A59F4 .text checkPlayingMainBgmFlag__11JAIZelBasicFv */
|
|
int JAIZelBasic::checkPlayingMainBgmFlag() {
|
|
if (mpMainBgmSound) {
|
|
return mpMainBgmSound->field_0xc;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
/* 802A59F4-802A5A04 .text checkSubBgmPlaying__11JAIZelBasicFv */
|
|
BOOL JAIZelBasic::checkSubBgmPlaying() {
|
|
/* Nonmatching */
|
|
return mpSubBgmSound != NULL;
|
|
}
|
|
|
|
/* 802A5A04-802A5A20 .text checkPlayingSubBgmFlag__11JAIZelBasicFv */
|
|
int JAIZelBasic::checkPlayingSubBgmFlag() {
|
|
if (mpSubBgmSound) {
|
|
return mpSubBgmSound->field_0xc;
|
|
} else {
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
/* 802A5A20-802A5A40 .text checkPlayingStreamBgmFlag__11JAIZelBasicFv */
|
|
int JAIZelBasic::checkPlayingStreamBgmFlag() {
|
|
/* Nonmatching */
|
|
JAInter::StreamMgr::getUpdateInfo();
|
|
}
|
|
|
|
/* 802A5A40-802A5A78 .text changeBgmStatus__11JAIZelBasicFl */
|
|
void JAIZelBasic::changeBgmStatus(s32 param_0) {
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setPortData(9, param_0);
|
|
}
|
|
}
|
|
|
|
/* 802A5A78-802A5AC0 .text changeSubBgmStatus__11JAIZelBasicFl */
|
|
void JAIZelBasic::changeSubBgmStatus(s32 param_1) {
|
|
if (mpSubBgmSound) {
|
|
JASystem::TTrack* track = &mpSubBgmSound->getSeqParameter()->field_0x1360;
|
|
track->writePortApp(0x00090000, param_1);
|
|
}
|
|
}
|
|
|
|
/* 802A5AC0-802A5ACC .text bgmMuteMtDragon__11JAIZelBasicFv */
|
|
void JAIZelBasic::bgmMuteMtDragon() {
|
|
field_0x0065 = 1;
|
|
}
|
|
|
|
/* 802A5ACC-802A5BA4 .text enemyNearBy__11JAIZelBasicFv */
|
|
void JAIZelBasic::enemyNearBy() {
|
|
if (mpMainBgmSound && field_0x0078 == JA_BGM_DK_BATTLE && field_0x00cb == -1) {
|
|
if (field_0x00cc == 0) {
|
|
bgmStart(JA_BGM_UNK_111, 0, 0);
|
|
} else {
|
|
bgmStart(JA_BGM_UNK_112, 0, 0);
|
|
}
|
|
}
|
|
if (mpMainBgmSound && field_0x0078 == JA_BGM_MJ_TOWER_BATTLE && field_0x00cb == -1) {
|
|
bgmStart(JA_BGM_UNK_115, 0, 0);
|
|
}
|
|
field_0x00cb = JAIZelParam::COMMON_BATTLE_FO_DELAY;
|
|
}
|
|
|
|
/* 802A5BA4-802A5C8C .text enemyNearByGFrame__11JAIZelBasicFv */
|
|
void JAIZelBasic::enemyNearByGFrame() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A5C8C-802A5D0C .text bgmAllMute__11JAIZelBasicFUl */
|
|
void JAIZelBasic::bgmAllMute(u32 param_1) {
|
|
field_0x0080 = 0.0;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), param_1, 0);
|
|
}
|
|
}
|
|
|
|
/* 802A5D0C-802A5DF0 .text taktModeMute__11JAIZelBasicFv */
|
|
void JAIZelBasic::taktModeMute() {
|
|
field_0x0098 = 0.0f;
|
|
if (mpMainBgmSound) {
|
|
if (field_0x0078 != JA_BGM_TAKT_MAKORE && field_0x0078 != JA_BGM_TAKT_MEDRI) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 10, 0);
|
|
} else {
|
|
field_0x0098 = 1.0f;
|
|
}
|
|
}
|
|
field_0x00a4 = 0.0;
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setVolume(calcSubBgmVol(), 10, 0);
|
|
}
|
|
}
|
|
|
|
/* 802A5DF0-802A5F24 .text taktModeMuteOff__11JAIZelBasicFv */
|
|
void JAIZelBasic::taktModeMuteOff() {
|
|
field_0x0098 = 1.0;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 10, 0);
|
|
}
|
|
if (field_0x0074 == JA_BGM_TAKT_KAZE) {
|
|
field_0x008c = 1.0;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 45, 0);
|
|
}
|
|
}
|
|
field_0x00a4 = 1.0;
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setVolume(calcSubBgmVol(), 10, 0);
|
|
}
|
|
}
|
|
|
|
/* 802A5F24-802A61AC .text cbPracticePlay__11JAIZelBasicFP3Vec */
|
|
void JAIZelBasic::cbPracticePlay(Vec*) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A61AC-802A6434 .text cbPracticeProcess__11JAIZelBasicFv */
|
|
void JAIZelBasic::cbPracticeProcess() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A6434-802A6508 .text cbPracticeStop__11JAIZelBasicFv */
|
|
void JAIZelBasic::cbPracticeStop() {
|
|
if (mpSubBgmSound && (field_0x0074 == JA_BGM_CB_NEXTYEAR || field_0x0074 == JA_BGM_CB_NEXTYEAR_W)) {
|
|
mpSubBgmSound->stop(15);
|
|
mpSubBgmSound = NULL;
|
|
field_0x0074 = -1;
|
|
}
|
|
field_0x00a8 = 1.0;
|
|
field_0x009c = 1.0;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 90, 0);
|
|
}
|
|
field_0x00d0 = 0;
|
|
}
|
|
|
|
/* 802A6508-802A6570 .text checkCbPracticePlay__11JAIZelBasicFv */
|
|
BOOL JAIZelBasic::checkCbPracticePlay() {
|
|
BOOL result;
|
|
if (checkSubBgmPlaying() == 1 && (checkPlayingSubBgmFlag() == JA_BGM_CB_NEXTYEAR || checkPlayingSubBgmFlag() == JA_BGM_CB_NEXTYEAR_W)) {
|
|
result = 1;
|
|
} else {
|
|
result = 0;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/* 802A6570-802A659C .text prepareLandingDemo__11JAIZelBasicFl */
|
|
void JAIZelBasic::prepareLandingDemo(s32 param_1) {
|
|
mbLandingDemoStarted = param_1;
|
|
bgmStop(90, 0);
|
|
}
|
|
|
|
/* 802A659C-802A6608 .text startLandingDemo__11JAIZelBasicFv */
|
|
void JAIZelBasic::startLandingDemo() {
|
|
switch (mbLandingDemoStarted) {
|
|
case 1:
|
|
break;
|
|
case 2:
|
|
bgmStart(JA_BGM_ISLAND_DRAGON, 0, 0);
|
|
break;
|
|
case 3:
|
|
bgmStart(JA_BGM_ISLAND_WOOD, 0, 0);
|
|
break;
|
|
case 4:
|
|
break;
|
|
}
|
|
}
|
|
|
|
/* 802A6608-802A6614 .text endLandingDemo__11JAIZelBasicFv */
|
|
void JAIZelBasic::endLandingDemo() {
|
|
mbLandingDemoStarted = 0;
|
|
}
|
|
|
|
/* 802A6614-802A6720 .text initSe__11JAIZelBasicFv */
|
|
void JAIZelBasic::initSe() {
|
|
mAudioCamera->field_0x0 = NULL;
|
|
mAudioCamera->field_0x4 = NULL;
|
|
mAudioCamera->field_0x8 = NULL;
|
|
field_0x01f4 = 0;
|
|
for (int i = 0; i < 24; i++) {
|
|
field_0x00d4[i] = NULL;
|
|
field_0x0134[i] = 0;
|
|
field_0x0194[i] = 0;
|
|
}
|
|
for (int i = 0; i < 4; i++) {
|
|
field_0x2040[i] = 0;
|
|
field_0x2050[i] = 0;
|
|
}
|
|
field_0x203c = 0;
|
|
field_0x203d = 0;
|
|
field_0x2064 = 0;
|
|
field_0x020c = 0;
|
|
field_0x0210 = 0;
|
|
field_0x0218 = 0;
|
|
field_0x1b80 = 0;
|
|
field_0x1dd0 = 0;
|
|
field_0x1e98 = 0;
|
|
field_0x1f38 = NULL;
|
|
field_0x1ec4 = 0;
|
|
field_0x1ec8 = 0;
|
|
field_0x1ecc = 0;
|
|
field_0x1ed0 = 0;
|
|
field_0x1f44 = 0;
|
|
field_0x1f48 = 0;
|
|
field_0x2060 = NULL;
|
|
field_0x0214 = 0;
|
|
field_0x0020 = 0;
|
|
field_0x1f34 = 0;
|
|
field_0x01f9 = 0;
|
|
field_0x01fb = 0;
|
|
field_0x01fc = 0;
|
|
field_0x0201 = 0;
|
|
monsSeInit();
|
|
initLevObjSE();
|
|
field_0x00ba = 0;
|
|
}
|
|
|
|
/* 802A6720-802A8550 .text seStart__11JAIZelBasicFUlP3VecUlScffffUc */
|
|
void JAIZelBasic::seStart(u32 i_seNum, Vec*, u32, s8, f32, f32, f32, f32, u8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8550-802A85F4 .text seStop__11JAIZelBasicFUll */
|
|
void JAIZelBasic::seStop(u32 i_seNum, s32 param_2) {
|
|
if (i_seNum == -1) {
|
|
return;
|
|
}
|
|
if (i_seNum == JA_SE_LK_RUN_SLIP) {
|
|
param_2 = 8;
|
|
}
|
|
for (int i = 0; i < 24; i++) {
|
|
if (field_0x0134[i] == i_seNum && field_0x00d4[i]) {
|
|
field_0x00d4[i]->stop(param_2);
|
|
field_0x00d4[i] = NULL;
|
|
field_0x0134[i] = 0;
|
|
field_0x0194[i] = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802A85F4-802A8634 .text checkSePlaying__11JAIZelBasicFUl */
|
|
BOOL JAIZelBasic::checkSePlaying(u32 param_1) {
|
|
for (int i = 0; i < 24; i++) {
|
|
if (field_0x0134[i] == param_1 && field_0x00d4[i]) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/* 802A8634-802A8688 .text seStopActor__11JAIZelBasicFP3VecUl */
|
|
void JAIZelBasic::seStopActor(Vec* param_1, u32 param_2) {
|
|
if (param_2 == 0xffffffff) {
|
|
stopAllSound(param_1);
|
|
} else if (!param_1) {
|
|
stopAllSound(param_2);
|
|
} else {
|
|
stopAllSound(param_2, param_1);
|
|
}
|
|
}
|
|
|
|
/* 802A8688-802A86A8 .text seDeleteObject__11JAIZelBasicFP3Vec */
|
|
void JAIZelBasic::seDeleteObject(Vec* param_1) {
|
|
deleteObject(param_1);
|
|
}
|
|
|
|
/* 802A86A8-802A8748 .text getLinkVoiceVowel__11JAIZelBasicFUl */
|
|
u8 JAIZelBasic::getLinkVoiceVowel(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8748-802A892C .text linkVoiceStart__11JAIZelBasicFUlP3VecUcSc */
|
|
void JAIZelBasic::linkVoiceStart(u32, Vec*, u8, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A892C-802A8958 .text monsSeInit__11JAIZelBasicFv */
|
|
void JAIZelBasic::monsSeInit() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8958-802A8B24 .text monsSeStart__11JAIZelBasicFUlP3VecUlUlSc */
|
|
void JAIZelBasic::monsSeStart(u32 i_seNum, Vec*, u32, u32, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8B24-802A8BE4 .text kuroboMotionPlay__11JAIZelBasicFUlP3VecUlSc */
|
|
void JAIZelBasic::kuroboMotionPlay(u32, Vec*, u32, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8BE4-802A8CB4 .text kuroboVoicePlay__11JAIZelBasicFUlP3VecSc */
|
|
void JAIZelBasic::kuroboVoicePlay(u32, Vec*, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8CB4-802A8F58 .text setLevObjSE__11JAIZelBasicFUlP3VecSc */
|
|
void JAIZelBasic::setLevObjSE(u32, Vec*, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A8F58-802A90C0 .text processLevObjSE__11JAIZelBasicFv */
|
|
void JAIZelBasic::processLevObjSE() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A90C0-802A9120 .text initLevObjSE__11JAIZelBasicFv */
|
|
void JAIZelBasic::initLevObjSE() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A9120-802A91CC .text charVoicePlay__11JAIZelBasicFllP3VecSc */
|
|
void JAIZelBasic::charVoicePlay(s32 param_1, s32 param_2, Vec* param_3, s8 param_4) {
|
|
if (field_0x0201 == 1) {
|
|
return;
|
|
}
|
|
u16 r31 = (param_1 << 8) + param_2;
|
|
if (field_0x2060) {
|
|
field_0x2060->stop(0);
|
|
}
|
|
startSoundVec(0x481f, &field_0x2060, param_3, 0, 0, 4);
|
|
if (field_0x2060) {
|
|
field_0x2060->setPortData(8, r31);
|
|
field_0x2060->setPortData(9, param_4);
|
|
}
|
|
}
|
|
|
|
/* 802A91CC-802A92CC .text messageSePlay__11JAIZelBasicFUsP3VecSc */
|
|
void JAIZelBasic::messageSePlay(u16, Vec*, s8) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A92CC-802A965C .text shipCruiseSePlay__11JAIZelBasicFP3Vecf */
|
|
void JAIZelBasic::shipCruiseSePlay(Vec*, f32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802A965C-802A9664 .text setShipSailState__11JAIZelBasicFl */
|
|
void JAIZelBasic::setShipSailState(s32 isSailing) {
|
|
mIsSailing = isSailing;
|
|
}
|
|
|
|
/* 802A9664-802A9874 .text init__11JAIZelBasicFP12JKRSolidHeapUl */
|
|
void JAIZelBasic::init(JKRSolidHeap* param_1, u32 param_2) {
|
|
/* Nonmatching */
|
|
JAIGlobalParameter::setParamInterfaceHeapSize(JAIZelParam::DRAM_HEAP_SIZE);
|
|
JAIGlobalParameter::setParamSeRegistMax(JAIZelParam::SE_REGIST_MAX);
|
|
JAIGlobalParameter::setParamSoundSceneMax(JAIZelParam::SOUND_SCENE_MAX);
|
|
JAIGlobalParameter::setParamSeqControlBufferMax(JAIZelParam::SEQ_CONTROL_BUF_MAX);
|
|
JAIGlobalParameter::setParamStreamControlBufferMax(JAIZelParam::STREAM_CONTROL_BUF_MAX);
|
|
JAIGlobalParameter::setParamStreamDecodedBufferBlocks(JAIZelParam::STREAM_DECODED_BUFFERS);
|
|
JAIGlobalParameter::setParamAutoHeapMax(JAIZelParam::AUTO_HEAP_MAX);
|
|
JAIGlobalParameter::setParamStayHeapMax(JAIZelParam::STAY_HEAP_MAX);
|
|
JAIGlobalParameter::setParamAutoHeapRoomSize(JAIZelParam::AUTO_HEAP_ROOM_SIZE);
|
|
JAIGlobalParameter::setParamStayHeapSize(JAIZelParam::STAY_HEAP_ROOM_SIZE);
|
|
JAIGlobalParameter::setParamSeqPlayTrackMax(JAIZelParam::PLAY_TRACK_MAX);
|
|
JAIGlobalParameter::setParamSystemTrackMax(JAIZelParam::SYSTEM_TRACK_MAX);
|
|
JAIGlobalParameter::setParamDistanceMax(JAIZelParam::DISTANCE_MAX);
|
|
JAIGlobalParameter::setParamMaxVolumeDistance(JAIZelParam::MAX_VOLUME_DISTANCE);
|
|
JAIGlobalParameter::setParamMinDistanceVolume(JAIZelParam::MIN_DISTANCE_VOLUME);
|
|
JAIGlobalParameter::setParamSeDolbyCenterValue(JAIZelParam::DOLBY_CENTER_VALUE);
|
|
JAIGlobalParameter::setParamSeDolbyFrontDistanceMax(JAIZelParam::DOLBY_FLONT_DISTANCE_MAX);
|
|
JAIGlobalParameter::setParamSeDolbyBehindDistanceMax(JAIZelParam::DOLBY_BEHIND_DISTANCE_MAX);
|
|
JAIGlobalParameter::setParamSeDistanceFxParameter(JAIZelParam::DISTANCE_FX_PARAM);
|
|
JAIGlobalParameter::setParamInputGainDown(1.0f);
|
|
JAIGlobalParameter::setParamOutputGainUp(5.999f);
|
|
JAIGlobalParameter::setParamAudioResPath(NULL);
|
|
JAIGlobalParameter::setParamInitDataFileName((char*)JAIZelParam::INIT_DATA_FILE_NAME);
|
|
JAIGlobalParameter::setParamWavePath((char*)JAIZelParam::WAVE_PATH);
|
|
JAIGlobalParameter::setParamSequenceArchivesPath((char*)JAIZelParam::SEQ_PATH);
|
|
JAIGlobalParameter::setParamStreamPath((char*)JAIZelParam::STREAM_PATH);
|
|
JAIGlobalParameter::setParamSequenceArchivesFileName((char*)JAIZelParam::SEQ_ARCH_FILE_NAME);
|
|
JAIGlobalParameter::setParamAudioCameraMax(1);
|
|
JAIGlobalParameter::setParamDummyObjectMax(JAIZelParam::DUMMY_POSITION_MAX);
|
|
JAIGlobalParameter::setParamDummyObjectLifeTime(JAIZelParam::DUMMY_POSITION_LIFE_TIME);
|
|
JAIGlobalParameter::setParamStreamInsideBufferCut(true);
|
|
initDriver(param_1, param_2, 1);
|
|
initInterface(1);
|
|
mpMainBgmSound = NULL;
|
|
mpSubBgmSound = NULL;
|
|
mpStreamBgmSound = NULL;
|
|
initSe();
|
|
setSeCategoryVolume(0, JAIZelParam::VOL_SE_SYSTEM_DEFAULT);
|
|
setSeCategoryVolume(1, JAIZelParam::VOL_SE_LINK_VOICE_DEFAULT);
|
|
setSeCategoryVolume(2, JAIZelParam::VOL_SE_LINK_MOTION_DEFAULT);
|
|
setSeCategoryVolume(3, JAIZelParam::VOL_SE_LINK_FOOTNOTE_DEFAULT);
|
|
setSeCategoryVolume(4, JAIZelParam::VOL_SE_CHAR_VOICE_DEFAULT);
|
|
setSeCategoryVolume(5, JAIZelParam::VOL_SE_CHAR_MOVE_DEFAULT);
|
|
setSeCategoryVolume(6, JAIZelParam::VOL_SE_OBJECT_DEFAULT);
|
|
setSeCategoryVolume(7, JAIZelParam::VOL_SE_ATMOSPHERE_DEFAULT);
|
|
field_0x0080 = 1.0f;
|
|
field_0x0084 = 1.0f;
|
|
field_0x0088 = 1.0f;
|
|
field_0x008c = 1.0f;
|
|
field_0x0090 = 1.0f;
|
|
field_0x0094 = 1.0f;
|
|
field_0x0098 = 1.0f;
|
|
field_0x009c = 1.0f;
|
|
field_0x00ac = 1.0f;
|
|
}
|
|
|
|
/* 802A9874-802A98A0 .text setOutputMode__11JAIZelBasicFUl */
|
|
void JAIZelBasic::setOutputMode(u32 param_1) {
|
|
if (param_1 <= 2) {
|
|
JAIGlobalParameter::setParamSoundOutputMode(param_1);
|
|
}
|
|
}
|
|
|
|
/* 802A98A0-802A9A20 .text talkIn__11JAIZelBasicFv */
|
|
void JAIZelBasic::talkIn() {
|
|
if (field_0x0064 != 1 && isDemo() != 1 && field_0x0098 != 0.0f) {
|
|
field_0x0084 = JAIZelParam::VOL_BGM_TALKING;
|
|
if (mpMainBgmSound && field_0x0078 != JA_BGM_BIRDMAN_GOAL && field_0x0078 != JA_BGM_BIRDMAN_FAIL) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 2, 0);
|
|
}
|
|
field_0x00a0 = JAIZelParam::VOL_BGM_TALKING;
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setSeqInterVolume(0, calcSubBgmVol(), 2);
|
|
}
|
|
setSeCategoryVolume(0, JAIZelParam::VOL_SE_SYSTEM_TALKING);
|
|
setSeCategoryVolume(1, JAIZelParam::VOL_SE_LINK_VOICE_TALKING);
|
|
setSeCategoryVolume(2, JAIZelParam::VOL_SE_LINK_MOTION_TALKING);
|
|
setSeCategoryVolume(3, JAIZelParam::VOL_SE_LINK_FOOTNOTE_TALKING);
|
|
setSeCategoryVolume(4, JAIZelParam::VOL_SE_CHAR_VOICE_TALKING);
|
|
setSeCategoryVolume(5, JAIZelParam::VOL_SE_CHAR_MOVE_TALKING);
|
|
setSeCategoryVolume(6, JAIZelParam::VOL_SE_OBJECT_TALKING);
|
|
setSeCategoryVolume(7, JAIZelParam::VOL_SE_ATMOSPHERE_TALKING);
|
|
}
|
|
}
|
|
|
|
/* 802A9A20-802A9B74 .text talkOut__11JAIZelBasicFv */
|
|
void JAIZelBasic::talkOut() {
|
|
if (checkStreamPlaying(JA_STRM_MJ_DEMO_INTRO) == 1) {
|
|
return;
|
|
}
|
|
field_0x0084 = JAIZelParam::VOL_BGM_DEFAULT;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 2, 0);
|
|
}
|
|
field_0x00a0 = JAIZelParam::VOL_BGM_DEFAULT;
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setSeqInterVolume(0, calcSubBgmVol(), 2);
|
|
}
|
|
setSeCategoryVolume(0, JAIZelParam::VOL_SE_SYSTEM_DEFAULT);
|
|
setSeCategoryVolume(1, JAIZelParam::VOL_SE_LINK_VOICE_DEFAULT);
|
|
setSeCategoryVolume(2, JAIZelParam::VOL_SE_LINK_MOTION_DEFAULT);
|
|
setSeCategoryVolume(3, JAIZelParam::VOL_SE_LINK_FOOTNOTE_DEFAULT);
|
|
setSeCategoryVolume(4, JAIZelParam::VOL_SE_CHAR_VOICE_DEFAULT);
|
|
setSeCategoryVolume(5, JAIZelParam::VOL_SE_CHAR_MOVE_DEFAULT);
|
|
setSeCategoryVolume(6, JAIZelParam::VOL_SE_OBJECT_DEFAULT);
|
|
setSeCategoryVolume(7, JAIZelParam::VOL_SE_ATMOSPHERE_DEFAULT);
|
|
}
|
|
|
|
/* 802A9B74-802A9CBC .text menuIn__11JAIZelBasicFv */
|
|
void JAIZelBasic::menuIn() {
|
|
field_0x0088 = JAIZelParam::VOL_BGM_PAUSING;
|
|
if (mpMainBgmSound) {
|
|
mpMainBgmSound->setVolume(calcMainBgmVol(), 2, 0);
|
|
}
|
|
field_0x00a0 = JAIZelParam::VOL_BGM_PAUSING;
|
|
if (mpSubBgmSound) {
|
|
mpSubBgmSound->setSeqInterVolume(0, calcSubBgmVol(), 2);
|
|
}
|
|
setSeCategoryVolume(0, JAIZelParam::VOL_SE_SYSTEM_PAUSING);
|
|
setSeCategoryVolume(1, JAIZelParam::VOL_SE_LINK_VOICE_PAUSING);
|
|
setSeCategoryVolume(2, JAIZelParam::VOL_SE_LINK_MOTION_PAUSING);
|
|
setSeCategoryVolume(3, JAIZelParam::VOL_SE_LINK_FOOTNOTE_PAUSING);
|
|
setSeCategoryVolume(4, JAIZelParam::VOL_SE_CHAR_VOICE_PAUSING);
|
|
setSeCategoryVolume(5, JAIZelParam::VOL_SE_CHAR_MOVE_PAUSING);
|
|
setSeCategoryVolume(6, JAIZelParam::VOL_SE_OBJECT_PAUSING);
|
|
setSeCategoryVolume(7, JAIZelParam::VOL_SE_ATMOSPHERE_PAUSING);
|
|
field_0x0020 = 1;
|
|
}
|
|
|
|
/* 802A9CBC-802A9CF8 .text menuOut__11JAIZelBasicFv */
|
|
void JAIZelBasic::menuOut() {
|
|
field_0x0088 = JAIZelParam::VOL_BGM_DEFAULT;
|
|
talkOut();
|
|
field_0x0020 = 0;
|
|
}
|
|
|
|
/* 802A9CF8-802A9DB0 .text getCameraInfo__11JAIZelBasicFP3VecPA4_fUl */
|
|
void JAIZelBasic::getCameraInfo(Vec* param_1, MtxP param_2, u32 param_3) {
|
|
mAudioCamera[param_3].field_0x0 = param_1;
|
|
mAudioCamera[param_3].field_0x4 = &field_0x0048;
|
|
mAudioCamera[param_3].field_0x8 = param_2;
|
|
if (mAudioCamera[0].field_0x0) {
|
|
if (mAudioCamera[0].field_0x0->x == 1e+7f && mAudioCamera[0].field_0x0->y == 1e+7f && mAudioCamera[0].field_0x0->z == 1e+7f) {
|
|
field_0x01f8 = 10;
|
|
} else if (field_0x01f8 != 0) {
|
|
field_0x01f8--;
|
|
}
|
|
field_0x0048.x = 1e+7f;
|
|
field_0x0048.y = 1e+7f;
|
|
field_0x0048.z = 1e+7f;
|
|
return;
|
|
}
|
|
field_0x01f8 = 10;
|
|
field_0x0048 = *param_1;
|
|
}
|
|
|
|
/* 802A9DB0-802A9DB8 .text getCameraMapInfo__11JAIZelBasicFUl */
|
|
void JAIZelBasic::getCameraMapInfo(u32 param_1) {
|
|
field_0x0218 = param_1;
|
|
}
|
|
|
|
/* 802A9DB8-802A9DDC .text setCameraPolygonPos__11JAIZelBasicFP3Vec */
|
|
void JAIZelBasic::setCameraPolygonPos(Vec* param_1) {
|
|
if (!param_1) {
|
|
return;
|
|
}
|
|
field_0x0054 = *param_1;
|
|
}
|
|
|
|
/* 802A9DDC-802A9F60 .text setCameraGroupInfo__11JAIZelBasicFUc */
|
|
void JAIZelBasic::setCameraGroupInfo(u8 param_1) {
|
|
/* Nonmatching */
|
|
if (isDemo() == 1) {
|
|
return;
|
|
}
|
|
if (field_0x00bd) {
|
|
return;
|
|
}
|
|
if (field_0x00bf) {
|
|
return;
|
|
}
|
|
if (param_1 != mCameraSeaFloorGroupInfo) {
|
|
if ((param_1 & 0x80)) {
|
|
mIslandRoomNo = param_1 & 0x3f;
|
|
if (mCameraSeaFloorGroupInfo == 0) {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Outer Sea -> Outer Edge\n");
|
|
setScene(0x12, mIslandRoomNo, 1, -1);
|
|
load1stDynamicWave();
|
|
load2ndDynamicWave();
|
|
this->field_0x021e = 0;
|
|
this->field_0x022d = 1;
|
|
} else {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Inner Edge -> Outer Edge\n");
|
|
}
|
|
} else {
|
|
if (param_1 && (param_1 & 0x40) == 0) {
|
|
if (mCameraSeaFloorGroupInfo & 0x40) {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Inner Sea -> Inner Edge\n");
|
|
} else {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Outer Edge -> Inner Edge\n");
|
|
}
|
|
} else if (mCameraSeaFloorGroupInfo & 0x80) {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Outer Edge -> Outer Sea\n");
|
|
mIslandRoomNo = 0;
|
|
} else if ((mCameraSeaFloorGroupInfo & 0x40) == 0 && mCameraSeaFloorGroupInfo) {
|
|
OSReport("[JAIZelBasic::setCameraGroupInfo] Inner Edge -> Inner Sea\n");
|
|
}
|
|
}
|
|
mCameraSeaFloorGroupInfo = param_1;
|
|
}
|
|
}
|
|
|
|
/* 802A9F60-802AA2B8 .text changeSeaBgm__11JAIZelBasicFv */
|
|
void JAIZelBasic::changeSeaBgm() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AA2B8-802AA348 .text startIsleBgm__11JAIZelBasicFv */
|
|
void JAIZelBasic::startIsleBgm() {
|
|
if (!checkDayTime()) {
|
|
return;
|
|
}
|
|
u32 bgmNum;
|
|
if (mIslandRoomNo == 44 && checkEventBit(0xe20) == 1) {
|
|
bgmNum = JA_BGM_ISLAND_LINK_3;
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
bgmStart(bgmNum, 0, 1);
|
|
}
|
|
|
|
/* 802AA348-802AA378 .text setLinkGroupInfo__11JAIZelBasicFUc */
|
|
void JAIZelBasic::setLinkGroupInfo(u8 param_1) {
|
|
if (field_0x0224 != 0x12) {
|
|
return;
|
|
}
|
|
if (mIslandRoomNo == 0) {
|
|
return;
|
|
}
|
|
if (param_1 == mLinkSeaFloorGroupInfo) {
|
|
return;
|
|
}
|
|
mLinkSeaFloorGroupInfo = param_1;
|
|
}
|
|
|
|
/* 802AA378-802AA380 .text getMapInfoFxline__11JAIZelBasicFUl */
|
|
BOOL JAIZelBasic::getMapInfoFxline(u32 param_0) {
|
|
return param_0 & 0xFFFF;
|
|
}
|
|
|
|
/* 802AA380-802AA388 .text getMapInfoFxParameter__11JAIZelBasicFUl */
|
|
f32 JAIZelBasic::getMapInfoFxParameter(u32) {
|
|
return 0.0f;
|
|
}
|
|
|
|
/* 802AA388-802AA390 .text getMapInfoGround__11JAIZelBasicFUl */
|
|
BOOL JAIZelBasic::getMapInfoGround(u32) {
|
|
return FALSE;
|
|
}
|
|
|
|
/* 802AA390-802AACE8 .text setScene__11JAIZelBasicFllll */
|
|
void JAIZelBasic::setScene(s32 param_1, s32 roomNo, s32 param_3, s32 layerNo) {
|
|
OSReport("[JAIZelBasic::setScene] num = %d, start = %d, layer = %d (%d)\n", param_1, roomNo, layerNo, param_3);
|
|
if (param_1 >= 0x79) {
|
|
OSReport("[JAIZelBasic::setScene] too large scene number\n");
|
|
return;
|
|
}
|
|
if (field_0x022c != 0) {
|
|
return;
|
|
}
|
|
u32 bgmNum;
|
|
field_0x00bd = field_0x00cd = bgmNum = 0;
|
|
u32 var1;
|
|
u32 var2;
|
|
if (param_1 == 0x12) {
|
|
if (roomNo > 0) {
|
|
mIslandRoomNo = roomNo;
|
|
} else {
|
|
mIslandRoomNo = bgmNum;
|
|
}
|
|
OSReport(" --- Isle = %d\n", mIslandRoomNo);
|
|
if (param_3 != 1) {
|
|
if (mIslandRoomNo == 44) {
|
|
if (layerNo == 10) {
|
|
bgmNum = 0;
|
|
} else if (checkEventBit(0x3510) == 0) {
|
|
bgmNum = JA_BGM_ISLAND_LINK_0;
|
|
} else if (checkEventBit(1) == 1 && checkEventBit(0x101) == 0) {
|
|
bgmNum = JA_BGM_ISLAND_LINK_2;
|
|
} else if (checkEventBit(0x101) == 1 && checkEventBit(0xe20) == 0) {
|
|
bgmNum = 0;
|
|
} else if (checkEventBit(0xe20) == 1) {
|
|
bgmNum = JA_BGM_ISLAND_LINK_3;
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (mIslandRoomNo == 11) {
|
|
if (checkEventBit(0x2e01) == 0) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (mIslandRoomNo == 13) {
|
|
if (layerNo == 8 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (mIslandRoomNo == 14) {
|
|
if (layerNo == 2 || layerNo == 3) {
|
|
bgmNum = 0;
|
|
field_0x00bd = 1;
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else {
|
|
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
}
|
|
var1 = m_isle_info[mIslandRoomNo].field_0x2;
|
|
var2 = m_isle_info[mIslandRoomNo].field_0x3;
|
|
} else {
|
|
mIslandRoomNo = 0;
|
|
if (param_1 == 16 && checkEventBit(0x280) == 0) {
|
|
bgmNum = JA_BGM_FIND_TETRA;
|
|
} else if (param_1 == 19 && checkEventBit(0x801) == 0) {
|
|
bgmNum = 0;
|
|
} else if (param_1 == 2 && field_0x0021 != 0) {
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[3].getBit().isDungeonItem(5)) {
|
|
field_0x00cd = 1;
|
|
}
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[3].getBit().isDungeonItem(3)) {
|
|
bgmNum = m_scene_info[1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
field_0x0204 = 1;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 7 && field_0x0021 != 0) {
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[4].getBit().isDungeonItem(5)) {
|
|
field_0x00cd = 1;
|
|
}
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[4].getBit().isDungeonItem(3)) {
|
|
bgmNum = m_scene_info[3].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 37 && field_0x0021 != 0) {
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[5].getBit().isDungeonItem(5)) {
|
|
field_0x00cd = 1;
|
|
}
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[5].getBit().isDungeonItem(3)) {
|
|
bgmNum = m_scene_info[10].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 24 && field_0x0021 != 0) {
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[7].getBit().isDungeonItem(5)) {
|
|
field_0x00cd = 1;
|
|
}
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else if (g_dComIfG_gameInfo.save.getSavedata().mMemory[7].getBit().isDungeonItem(3)) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 45 && field_0x0021 != 0) {
|
|
if (g_dComIfG_gameInfo.save.getSavedata().mMemory[6].getBit().isDungeonItem(5)) {
|
|
field_0x00cd = 1;
|
|
}
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else if (g_dComIfG_gameInfo.save.getSavedata().mMemory[6].getBit().isDungeonItem(3)) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 54) {
|
|
if (checkEventBit(0x2d04) == 0) {
|
|
bgmNum = JA_BGM_HYRULE_OFF;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 53) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 54) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 89) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else if (checkEventBit(0x2d04) == 0) {
|
|
bgmNum = JA_BGM_HYRULE_OFF;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 39) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 41) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 22) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 44) {
|
|
if (layerNo == 8 || layerNo == 9 || layerNo == 10 || layerNo == 11) {
|
|
bgmNum = 0;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 11) {
|
|
if (layerNo == 9 && field_0x0043 == 0) {
|
|
bgmNum = 0;
|
|
} else if (field_0x0043 && checkEventBit(0x2a20) == 0) {
|
|
bgmNum = JA_BGM_BAACHAN;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else if (param_1 == 32) {
|
|
if (checkEventBit(0x2110) == 0 && checkEventBit(dSv_evtBit_c::ENDLESS_NIGHT) == 1) {
|
|
bgmNum = JA_BGM_PIRATE_DEMO5;
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
} else {
|
|
bgmNum = m_scene_info[param_1].bgmNum;
|
|
bgmNum = expandSceneBgmNum(bgmNum);
|
|
}
|
|
var1 = m_scene_info[param_1].field_0x2;
|
|
var2 = m_scene_info[param_1].field_0x3;
|
|
}
|
|
sceneChange(bgmNum, var1, var2, param_3);
|
|
field_0x022d = 0;
|
|
field_0x0220 = param_1;
|
|
field_0x022c = 1;
|
|
field_0x0239 = layerNo;
|
|
}
|
|
|
|
/* 802AACE8-802AAD0C .text expandSceneBgmNum__11JAIZelBasicFUl */
|
|
u32 JAIZelBasic::expandSceneBgmNum(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AAD0C-802AAD48 .text checkLinkOnSea__11JAIZelBasicFv */
|
|
void JAIZelBasic::checkLinkOnSea() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AAD48-802AAD94 .text checkLinkOnBoardSea__11JAIZelBasicFv */
|
|
void JAIZelBasic::checkLinkOnBoardSea() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AAD94-802AAE80 .text setSceneName__11JAIZelBasicFPcll */
|
|
void JAIZelBasic::setSceneName(char* param_1, s32 roomNo, s32 param_3) {
|
|
OSReport("[JAIZelBasic::setSceneName] spot = %s, room = %d\n", param_1, roomNo);
|
|
int id = spotNameToId(param_1);
|
|
if (id == 0x75) {
|
|
for (int i = 0; i < 24; i++) {
|
|
if (field_0x00d4[i]) {
|
|
field_0x00d4[i]->stop(1);
|
|
field_0x00d4[i] = NULL;
|
|
field_0x0134[i] = 0;
|
|
field_0x0194[i] = 0;
|
|
}
|
|
}
|
|
menuOut();
|
|
field_0x0066 = 1;
|
|
field_0x00bf = 0;
|
|
} else {
|
|
field_0x0066 = 0;
|
|
}
|
|
setScene(id, roomNo, 0, param_3);
|
|
}
|
|
|
|
/* 802AAE80-802AAF04 .text spotNameToId__11JAIZelBasicFPc */
|
|
int JAIZelBasic::spotNameToId(char* param_1) {
|
|
if (!param_1) {
|
|
return 0;
|
|
}
|
|
int i;
|
|
for (i = 0; i < 120; i++) {
|
|
if (strcmp(param_1, spot_dir_name[i]) == 0) {
|
|
break;
|
|
}
|
|
}
|
|
if (i == 120) {
|
|
return 0;
|
|
}
|
|
return i + 1;
|
|
}
|
|
|
|
/* 802AAF04-802AB204 .text sceneChange__11JAIZelBasicFUlUlUll */
|
|
void JAIZelBasic::sceneChange(u32, u32, u32, s32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB204-802AB374 .text sceneBgmStart__11JAIZelBasicFv */
|
|
void JAIZelBasic::sceneBgmStart() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB374-802AB678 .text load1stDynamicWave__11JAIZelBasicFv */
|
|
void JAIZelBasic::load1stDynamicWave() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB678-802AB6F4 .text check1stDynamicWave__11JAIZelBasicFv */
|
|
BOOL JAIZelBasic::check1stDynamicWave() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB6F4-802AB858 .text load2ndDynamicWave__11JAIZelBasicFv */
|
|
void JAIZelBasic::load2ndDynamicWave() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB858-802AB888 .text loadStaticWaves__11JAIZelBasicFv */
|
|
void JAIZelBasic::loadStaticWaves() {
|
|
/* Nonmatching */
|
|
OSReport("[JAIZelBasic::loadStaticWaves] 常駐シーン波形はここでなく、gFrameProcessの一番最初で読み込まれ ます。\n");
|
|
}
|
|
|
|
/* 802AB888-802AB8B0 .text checkFirstWaves__11JAIZelBasicFv */
|
|
s32 JAIZelBasic::checkFirstWaves() {
|
|
return 2 - JAInter::BankWave::getWaveLoadStatus(2);
|
|
}
|
|
|
|
/* 802AB8B0-802AB9F4 .text setLinkHp__11JAIZelBasicFll */
|
|
void JAIZelBasic::setLinkHp(s32, s32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AB9F4-802ABA44 .text setLinkSwordType__11JAIZelBasicFll */
|
|
void JAIZelBasic::setLinkSwordType(s32 param_1, s32 param_2) {
|
|
field_0x0041 = param_1;
|
|
field_0x0042 = param_2;
|
|
if (field_0x0041 != 0 && field_0x0042 == 2 && field_0x0043 != 0 && field_0x0044 == 2) {
|
|
field_0x0045 = true;
|
|
return;
|
|
}
|
|
field_0x0045 = false;
|
|
}
|
|
|
|
/* 802ABA44-802ABA94 .text setLinkShieldType__11JAIZelBasicFll */
|
|
void JAIZelBasic::setLinkShieldType(s32 param_1, s32 param_2) {
|
|
field_0x0043 = param_1;
|
|
field_0x0044 = param_2;
|
|
if (field_0x0041 != 0 && field_0x0042 == 2 && field_0x0043 != 0 && field_0x0044 == 2) {
|
|
field_0x0045 = true;
|
|
return;
|
|
}
|
|
field_0x0045 = false;
|
|
}
|
|
|
|
/* 802ABA94-802ABA9C .text setLinkBootsType__11JAIZelBasicFl */
|
|
void JAIZelBasic::setLinkBootsType(s32 param_1) {
|
|
field_0x0046 = param_1;
|
|
}
|
|
|
|
/* 802ABA9C-802ABB18 .text setLinkOnBoard__11JAIZelBasicFl */
|
|
void JAIZelBasic::setLinkOnBoard(s32 param_1) {
|
|
field_0x0047 = param_1;
|
|
if (mpSubBgmSound && field_0x0074 == JA_BGM_SEA_ENEMY) {
|
|
if (field_0x0047 == 1) {
|
|
bgmMute(&mpSubBgmSound, JA_BGM_SEA_ENEMY, 0, 10);
|
|
} else {
|
|
bgmMute(&mpSubBgmSound, JA_BGM_SEA_ENEMY, 1, 10);
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802ABB18-802ABBD0 .text bgmMute__11JAIZelBasicFPP8JAISoundUllUl */
|
|
void JAIZelBasic::bgmMute(JAISound**, u32, s32, u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802ABBD0-802ABC3C .text checkStreamPlaying__11JAIZelBasicFUl */
|
|
int JAIZelBasic::checkStreamPlaying(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802ABC3C-802ABC88 .text stWaterLevelUp__11JAIZelBasicFv */
|
|
void JAIZelBasic::stWaterLevelUp() {
|
|
if (field_0x00b7 == 0 && field_0x0078 == JA_BGM_KAMI_TOWER) {
|
|
bgmStart(JA_BGM_UNK_125, 1, 0);
|
|
}
|
|
}
|
|
|
|
/* 802ABC88-802ABCD4 .text stWaterLevelDown__11JAIZelBasicFv */
|
|
void JAIZelBasic::stWaterLevelDown() {
|
|
if (field_0x00b7 == 0 && field_0x0078 == JA_BGM_KAMI_TOWER) {
|
|
bgmStart(JA_BGM_KAMI_TOWER, 1, 0);
|
|
}
|
|
}
|
|
|
|
/* 802ABCD4-802ABD34 .text stSkyCloisters__11JAIZelBasicFv */
|
|
void JAIZelBasic::stSkyCloisters() {
|
|
if (field_0x0078 == JA_BGM_KAMI_TOWER) {
|
|
if (field_0x00b7 == 0) {
|
|
bgmStart(JA_BGM_UNK_126, 1, 0);
|
|
}
|
|
field_0x00b7 = 4;
|
|
}
|
|
}
|
|
|
|
/* 802ABD34-802ABDE0 .text stSkyCloistersProcess__11JAIZelBasicFv */
|
|
void JAIZelBasic::stSkyCloistersProcess() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802ABDE0-802ABE10 .text getRandomU32__11JAIZelBasicFUl */
|
|
u32 JAIZelBasic::getRandomU32(u32 param_1) {
|
|
/* Nonmatching */
|
|
u32 tmp = jai_rng_seed;
|
|
jai_rng_seed = tmp * 2;
|
|
jai_rng_seed += (tmp >> 0x1f ^ tmp >> 6 & 0x10);
|
|
return jai_rng_seed - (jai_rng_seed / param_1) * param_1;
|
|
}
|
|
|
|
/* 802ABE10-802ABE18 .text setEventBit__11JAIZelBasicFPv */
|
|
void JAIZelBasic::setEventBit(void* param_1) {
|
|
field_0x0024 = (u8*)param_1;
|
|
}
|
|
|
|
/* 802ABE18-802ABE50 .text checkEventBit__11JAIZelBasicFUs */
|
|
BOOL JAIZelBasic::checkEventBit(u16 param_1) {
|
|
/* Nonmatching */
|
|
if (field_0x0024 == NULL) {
|
|
return false;
|
|
}
|
|
u32 var1 = param_1 & 0xff;
|
|
u32 var2 = (param_1 & 0xff00) >> 8;
|
|
return (u8(field_0x0024[var2] & var1)) != 0;
|
|
}
|
|
|
|
/* 802ABE50-802ABE74 .text checkDayTime__11JAIZelBasicFv */
|
|
BOOL JAIZelBasic::checkDayTime() {
|
|
if (mHour >= 6 && mHour < 20) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/* 802ABE74-802ABF2C .text processTime__11JAIZelBasicFv */
|
|
void JAIZelBasic::processTime() {
|
|
u16 time = (mHour << 8 & 0xFF00) + mMinute;
|
|
if (field_0x0224 == 0x12 && field_0x022d == 1) {
|
|
if (field_0x0030 < 0x1400 && time >= 0x1400) {
|
|
mainBgmStopOnly(JAIZelParam::JAI_ZEL_NIGHT_FADEOUT_TIME);
|
|
} else if (field_0x0030 < 0x53b && time >= 0x53b) {
|
|
bgmStart(JA_BGM_MORNING, 0, 0);
|
|
field_0x0032 = 1;
|
|
}
|
|
}
|
|
field_0x0030 = time;
|
|
processMorningToNormal();
|
|
}
|
|
|
|
/* 802ABF2C-802ABFC0 .text processMorningToNormal__11JAIZelBasicFv */
|
|
void JAIZelBasic::processMorningToNormal() {
|
|
if (field_0x0078 != JA_BGM_MORNING) {
|
|
field_0x0032 = 0;
|
|
return;
|
|
}
|
|
if (!mpMainBgmSound) {
|
|
field_0x0094 = 1.0;
|
|
f32 tmp;
|
|
if (checkOnOuterSea(&tmp) >= 2) {
|
|
bgmStart(JA_BGM_SEA, 0, 1);
|
|
} else {
|
|
startIsleBgm();
|
|
}
|
|
field_0x0032 = 0;
|
|
}
|
|
}
|
|
|
|
/* 802ABFC0-802AC1BC .text checkOnOuterSea__11JAIZelBasicFPf */
|
|
int JAIZelBasic::checkOnOuterSea(f32*) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC1BC-802AC258 .text makeSound__11JAIZelBasicFUl */
|
|
JAISound* JAIZelBasic::makeSound(u32 param_1) {
|
|
if (field_0x8) {
|
|
return new (field_0x8, 0) JAIZelSound[param_1];
|
|
} else {
|
|
return new (JASDram, 0) JAIZelSound[param_1];
|
|
}
|
|
}
|
|
|
|
/* 802AC258-802AC300 .text checkSeqIDDemoPlaying__11JAIZelBasicFUl */
|
|
void JAIZelBasic::checkSeqIDDemoPlaying(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC300-802AC400 .text checkDemoFanfarePlaying__11JAIZelBasicFv */
|
|
u32 JAIZelBasic::checkDemoFanfarePlaying() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC400-802AC468 .text processDemoFanfareMute__11JAIZelBasicFv */
|
|
void JAIZelBasic::processDemoFanfareMute() {
|
|
if (checkDemoFanfarePlaying()) {
|
|
if (field_0x00b9 == 0) {
|
|
muteMainBgmAll();
|
|
}
|
|
field_0x00b9 = 1;
|
|
} else {
|
|
if (field_0x00b9 != 0) {
|
|
unmuteMainBgmAll();
|
|
}
|
|
}
|
|
}
|
|
|
|
/* 802AC468-802AC594 .text muteMainBgmAll__11JAIZelBasicFv */
|
|
void JAIZelBasic::muteMainBgmAll() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC594-802AC6C0 .text unmuteMainBgmAll__11JAIZelBasicFv */
|
|
void JAIZelBasic::unmuteMainBgmAll() {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC6C0-802AC758 .text demoBgmStop__11JAIZelBasicFUl */
|
|
void JAIZelBasic::demoBgmStop(u32) {
|
|
/* Nonmatching */
|
|
}
|
|
|
|
/* 802AC758-802AC788 .text isDemo__11JAIZelBasicFv */
|
|
BOOL JAIZelBasic::isDemo() {
|
|
dDemo_manager_c* demo = dComIfGp_demo_get();
|
|
if (demo && demo->getMode()) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/* 802AC788-802AC7E8 .text checkSeaBgmID__11JAIZelBasicFv */
|
|
u32 JAIZelBasic::checkSeaBgmID() {
|
|
if (checkEventBit(dSv_evtBit_c::ENDLESS_NIGHT) == 1 && checkEventBit(0x3920) == 0) {
|
|
return JA_BGM_SEA_STORM;
|
|
} else {
|
|
return JA_BGM_SEA;
|
|
}
|
|
}
|