summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp10
-rw-r--r--src/JSystem/JUtility/JUTNameTab.cpp16
-rw-r--r--src/Z2AudioLib/Z2SoundObject.cpp3
-rw-r--r--src/d/actor/d_a_alink.cpp2
-rw-r--r--src/d/actor/d_a_alink_grab.inc4
-rw-r--r--src/d/actor/d_a_b_mgn.cpp9
-rw-r--r--src/d/actor/d_a_crod.cpp12
-rw-r--r--src/d/actor/d_a_door_bossL1.cpp5
-rw-r--r--src/d/actor/d_a_e_arrow.cpp2
-rw-r--r--src/d/actor/d_a_e_hp.cpp1
-rw-r--r--src/d/actor/d_a_e_ws.cpp37
-rw-r--r--src/d/actor/d_a_kytag12.cpp2
-rw-r--r--src/d/actor/d_a_ni.cpp15
-rw-r--r--src/d/actor/d_a_npc4.cpp4
-rw-r--r--src/d/actor/d_a_npc_besu.cpp1
-rw-r--r--src/d/actor/d_a_npc_grs.cpp1
-rw-r--r--src/d/actor/d_a_npc_kasi_mich.cpp46
-rw-r--r--src/d/actor/d_a_npc_zrc.cpp1
-rw-r--r--src/d/actor/d_a_obj_Lv5Key.cpp15
-rw-r--r--src/d/actor/d_a_obj_fmobj.cpp22
-rw-r--r--src/d/actor/d_a_obj_master_sword.cpp2
-rw-r--r--src/d/actor/d_a_obj_mirror_chain.cpp4
-rw-r--r--src/d/actor/d_a_obj_oiltubo.cpp2
-rw-r--r--src/d/actor/d_a_obj_ss_drink.cpp2
-rw-r--r--src/d/actor/d_a_obj_ss_item.cpp2
-rw-r--r--src/d/actor/d_a_tag_Lv8Gate.cpp49
-rw-r--r--src/d/d_kankyo_rain.cpp10
-rw-r--r--src/d/d_npc_lib.cpp1
-rw-r--r--src/d/d_ovlp_fade2.cpp10
-rw-r--r--src/d/d_ovlp_fade3.cpp8
-rw-r--r--src/m_Do/m_Do_ext.cpp53
31 files changed, 194 insertions, 157 deletions
diff --git a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
index 5e5224d770..7775956722 100644
--- a/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
+++ b/src/JSystem/JAudio2/JAUSeqDataBlockMgr.cpp
@@ -15,13 +15,11 @@ JAUSeqDataBlock::JAUSeqDataBlock() : field_0x0(this) {}
/* 802A6928-802A6974 2A1268 004C+00 1/1 0/0 0/0 .text getSeqData__16JAUSeqDataBlocksF10JAISoundID
*/
u8* JAUSeqDataBlocks::getSeqData(JAISoundID param_0) {
- // fake match. Should be
- // if (param_0.isAnonymous()) {
- // But doesn't match
- if ((u32)param_0 == 0xffffffff) {
+ if (param_0.isAnonymous()) {
return NULL;
}
- for (JSULink<JAUSeqDataBlock>* link = getFirst(); link != NULL;
+ JSULink<JAUSeqDataBlock>* link;
+ for (link = getFirst(); link != NULL;
link = link->getNext())
{
if ((u32)link->getObject()->field_0x10 == (u32)param_0) {
@@ -86,7 +84,7 @@ JAUDynamicSeqDataBlocks::JAUDynamicSeqDataBlocks() {
/* 802A6AA0-802A6AA8 -00001 0008+00 0/0 0/0 0/0 .text
* setSeqDataArchive__23JAUDynamicSeqDataBlocksFP10JKRArchive */
void JAUDynamicSeqDataBlocks::setSeqDataArchive(JKRArchive* param_0) {
- *(u32*)(((u8*)this) + 36) /* this->field_0x24 */ = (u32)(param_0);
+ seqDataArchive_ = param_0;
}
/* 802A6AA8-802A6B8C 2A13E8 00E4+00 0/0 1/1 0/0 .text
diff --git a/src/JSystem/JUtility/JUTNameTab.cpp b/src/JSystem/JUtility/JUTNameTab.cpp
index 4c5d7bd0c2..dcf0d9a14e 100644
--- a/src/JSystem/JUtility/JUTNameTab.cpp
+++ b/src/JSystem/JUtility/JUTNameTab.cpp
@@ -29,20 +29,28 @@ void JUTNameTab::setResource(const ResNTAB* pNameTable) {
}
s32 JUTNameTab::getIndex(const char* pName) const {
+ JUT_ASSERT(101, mNameTable != NULL);
+
const ResNTAB::Entry* pEntry = mNameTable->mEntries;
u16 keyCode = calcKeyCode(pName);
- for (u16 i = 0; i < mNameNum; pEntry++, i++)
- if (pEntry->mKeyCode == keyCode &&
- strcmp((mNameTable->mEntries[i].mOffs + ((const char*)mNameTable)), pName) == 0)
+ for (u16 i = 0; i < mNameNum; i++) {
+ if (
+ pEntry->mKeyCode == keyCode &&
+ strcmp((mNameTable->mEntries[i].mOffs + ((const char*)mNameTable)), pName) == 0
+ ) {
return i;
+ }
+ pEntry++;
+ }
return -1;
}
const char* JUTNameTab::getName(u16 index) const {
+ JUT_ASSERT(138, mNameTable != NULL);
if (index < mNameNum)
- return mNameTable->getName(index);
+ return ((const char*)mNameTable) + mNameTable->mEntries[index].mOffs;
return NULL;
}
diff --git a/src/Z2AudioLib/Z2SoundObject.cpp b/src/Z2AudioLib/Z2SoundObject.cpp
index 839b7730b6..e4422c37e5 100644
--- a/src/Z2AudioLib/Z2SoundObject.cpp
+++ b/src/Z2AudioLib/Z2SoundObject.cpp
@@ -422,7 +422,7 @@ void Z2SoundObjAnime::updateSoundLifeTime_(f32 param_0, f32 param_1) {
switch (getHandle(i)->getSound()->getAnimationState()) {
case 0:
break;
- case 1:
+ case 1: {
JAUSoundAnimationSound* sound =
(JAUSoundAnimationSound*)getHandle(i)->getSound()->getUserData();
bool bvar1 = param_1 == 0.0f && sound->stopsWhenSpeedIsZero();
@@ -446,6 +446,7 @@ void Z2SoundObjAnime::updateSoundLifeTime_(f32 param_0, f32 param_1) {
}
}
break;
+ }
case 2:
break;
}
diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp
index b75b3258e6..276c467de8 100644
--- a/src/d/actor/d_a_alink.cpp
+++ b/src/d/actor/d_a_alink.cpp
@@ -9951,7 +9951,7 @@ void daAlink_c::setSpeedAndAngleAtn() {
* checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c */
int daAlink_c::checkRequestTalkActor(dAttList_c* param_0, fopAc_ac_c* param_1) {
if (param_0 != NULL &&
- (param_0->mType == 3 || (param_0->mType == 1 && mTargetedActor == param_1)))
+ (param_0->mType == fopAc_attn_SPEAK_e || (param_0->mType == fopAc_attn_TALK_e && mTargetedActor == param_1)))
{
return true;
}
diff --git a/src/d/actor/d_a_alink_grab.inc b/src/d/actor/d_a_alink_grab.inc
index 040129eb74..56f8ef8ae5 100644
--- a/src/d/actor/d_a_alink_grab.inc
+++ b/src/d/actor/d_a_alink_grab.inc
@@ -531,7 +531,7 @@ BOOL daAlink_c::checkNextActionGrab() {
setCarryArmAngle(0.0f, 1.0f);
- if (mTargetedActor == NULL && mAttList != NULL && mAttList->mType == 5 && fopAcM_CheckStatus(temp_r3, 0x2000000)) {
+ if (mTargetedActor == NULL && mAttList != NULL && mAttList->mType == fopAc_attn_DOOR_e && fopAcM_CheckStatus(temp_r3, 0x2000000)) {
setDoStatus(6);
} else if ((field_0x27f4 == NULL) || !checkGrabTalkActor(field_0x27f4) || !setTalkStatus()) {
if (checkModeFlg(0x400)) {
@@ -2601,7 +2601,7 @@ int daAlink_c::procGoronMove() {
int temp_r28 = cLib_distanceAngleS(field_0x2fe2, shape_angle.y);
- if (mAttention->getActionBtnB() != NULL && mAttention->getActionBtnB()->mType == 4) {
+ if (mAttention->getActionBtnB() != NULL && mAttention->getActionBtnB()->mType == fopAc_attn_CARRY_e) {
setDoStatus(0x91);
if (doTrigger()) {
diff --git a/src/d/actor/d_a_b_mgn.cpp b/src/d/actor/d_a_b_mgn.cpp
index 7ccffc7a4a..c55bebb951 100644
--- a/src/d/actor/d_a_b_mgn.cpp
+++ b/src/d/actor/d_a_b_mgn.cpp
@@ -2269,7 +2269,7 @@ void daB_MGN_c::executeFall() {
}
switch (mMoveMode) {
- case 0:
+ case 0: {
onBodyCo();
f32 var_f31 = player->speedF * 60.0f;
s16 sp8 = player->current.angle.y;
@@ -2309,6 +2309,7 @@ void daB_MGN_c::executeFall() {
mpMgnBtk->init(mpMgnModelMorf->getModel()->getModelData(),
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgn", 0x3a), 1, 0, 0.0f, 0,
-1);
+ }
case 1:
cLib_chaseF(&field_0xae8, 1.0f, 0.02f);
@@ -2531,7 +2532,7 @@ void daB_MGN_c::executeOpening() {
cXyz sp94(0.0f, 220.0f, -1390.0f);
switch (mMoveMode) {
- case 0:
+ case 0: {
attention_info.flags = 0;
if (!eventInfo.checkCommandDemoAccrpt()) {
@@ -2590,6 +2591,7 @@ void daB_MGN_c::executeOpening() {
Z2GetAudioMgr()->bgmStreamPrepare(0x2000062);
Z2GetAudioMgr()->bgmStreamPlay();
return;
+ }
case 1:
cLib_addCalc2(&field_0xadc, 0.0f, 0.1f, 5.0f);
cLib_addCalcAngleS2(&field_0xae2, 0x50, 8, 8);
@@ -2813,7 +2815,7 @@ void daB_MGN_c::executeDeath() {
s16 sp8 = nREG_S(0) + 0x6800;
switch (mMoveMode) {
- case 0:
+ case 0: {
if (!eventInfo.checkCommandDemoAccrpt()) {
fopAcM_orderPotentialEvent(this, 2, 0xffff, 0);
eventInfo.onCondition(2);
@@ -2865,6 +2867,7 @@ void daB_MGN_c::executeDeath() {
mSound.startCreatureVoice(Z2SE_EN_MGN_DEMO_END, -1);
return;
+ }
case 1:
current.pos = sp48;
current.angle.y = 0x6800;
diff --git a/src/d/actor/d_a_crod.cpp b/src/d/actor/d_a_crod.cpp
index e0a7da80ce..396ffab37e 100644
--- a/src/d/actor/d_a_crod.cpp
+++ b/src/d/actor/d_a_crod.cpp
@@ -165,13 +165,11 @@ void daCrod_c::setMatrix() {
/* 804A3500-804A3580 000740 0080+00 1/1 0/0 0/0 .text posMove__8daCrod_cFv */
void daCrod_c::posMove() {
- f32 cosx = cM_scos(current.angle.x);
- f32 cosy = cM_scos(current.angle.y);
- f32 speedfy = (speedF * cosy);
- //probably fake match
- f32 speedz;
- speed.set(speedF * cM_ssin(current.angle.y) * cM_scos(current.angle.x),
- speedF * cM_ssin(current.angle.x), speedz = speedfy * cosx);
+ speed.set(
+ speedF * cM_ssin(current.angle.y) * cM_scos(current.angle.x),
+ speedF * cM_ssin(current.angle.x),
+ speedF * cM_scos(current.angle.y) * cM_scos(current.angle.x)
+ );
current.pos += speed;
}
diff --git a/src/d/actor/d_a_door_bossL1.cpp b/src/d/actor/d_a_door_bossL1.cpp
index 587c2a1bee..6ae3300629 100644
--- a/src/d/actor/d_a_door_bossL1.cpp
+++ b/src/d/actor/d_a_door_bossL1.cpp
@@ -845,8 +845,7 @@ int daBdoorL1_c::checkArea() {
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz local_48;
cXyz local_54;
- // Fake Match. Not the first time this solves this. Something is up with the check wolf (maybe only in REL).
- if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) {
+ if (daPy_py_c::checkNowWolf()) {
local_48 = player->attention_info.position - current.pos;
local_54 = player->current.pos - current.pos;
} else {
@@ -857,7 +856,7 @@ int daBdoorL1_c::checkArea() {
if (fabsf(local_48.x) > 200.0f) {
return 0;
}
- if (dComIfGp_getLinkPlayer()->mNoResetFlg1 & daPy_py_c::FLG1_IS_WOLF) {
+ if (daPy_py_c::checkNowWolf()) {
mDoMtx_stack_c::multVec(&local_54, &local_54);
if (fabsf(local_54.x) > 130.0f) {
return 0;
diff --git a/src/d/actor/d_a_e_arrow.cpp b/src/d/actor/d_a_e_arrow.cpp
index ba0af97585..2f168cb378 100644
--- a/src/d/actor/d_a_e_arrow.cpp
+++ b/src/d/actor/d_a_e_arrow.cpp
@@ -452,7 +452,7 @@ static void atHit_CB(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_atObjInf, fopAc_ac_c
/* 8067DB5C-8067DC58 00147C 00FC+00 1/1 0/0 0/0 .text e_arrow_shield__FP13e_arrow_class
*/
static void e_arrow_shield(e_arrow_class* i_this) {
- e_arrow_class* a_this = (e_arrow_class*)i_this; // necessary for reg alloc
+ e_arrow_class* a_this = (e_arrow_class*)i_this;
daAlink_getAlinkActorClass()->setArrowShieldPos(&a_this->current.pos, &a_this->shape_angle,
&i_this->field_0x9d4, &i_this->field_0x9c8);
diff --git a/src/d/actor/d_a_e_hp.cpp b/src/d/actor/d_a_e_hp.cpp
index 78a9362f39..a8133e38e1 100644
--- a/src/d/actor/d_a_e_hp.cpp
+++ b/src/d/actor/d_a_e_hp.cpp
@@ -1325,7 +1325,6 @@ int daE_HP_c::create() {
/* 806E9900-806E9ABC 003C00 01BC+00 1/1 0/0 0/0 .text __ct__8daE_HP_cFv */
daE_HP_c::daE_HP_c() {
- // NONMATCHING
}
/* 806E9CD0-806E9CF0 003FD0 0020+00 1/0 0/0 0/0 .text daE_HP_Create__FP8daE_HP_c */
diff --git a/src/d/actor/d_a_e_ws.cpp b/src/d/actor/d_a_e_ws.cpp
index 6b74a412b9..9a4d163bf5 100644
--- a/src/d/actor/d_a_e_ws.cpp
+++ b/src/d/actor/d_a_e_ws.cpp
@@ -311,7 +311,6 @@ void daE_WS_c::executeWait() {
}
/* 807E4AB8-807E4E68 001198 03B0+00 1/1 0/0 0/0 .text executeAttack__8daE_WS_cFv */
-// NONMATCHING
void daE_WS_c::executeAttack() {
cXyz player_pos;
mDoMtx_stack_c::copy(daPy_getLinkPlayerActorClass()->getModelJointMtx(0));
@@ -326,13 +325,15 @@ void daE_WS_c::executeAttack() {
case 1:
setFootSound();
- if (!checkAttackEnd()) {
- if (cLib_chaseAngleS(&shape_angle.y, calcTargetAngle(current.pos, player_pos), 0x300)) {
- mMode = 2;
- setBck(10, 2, 3.0f, 1.0f);
- mSound.startCreatureVoice(Z2SE_EN_WS_V_YOKOKU, -1);
- mMoveWaitTimer = 10;
- }
+ if (checkAttackEnd()) {
+ return;
+ }
+
+ if (cLib_chaseAngleS(&shape_angle.y, calcTargetAngle(current.pos, player_pos), 0x300)) {
+ mMode = 2;
+ setBck(10, 2, 3.0f, 1.0f);
+ mSound.startCreatureVoice(Z2SE_EN_WS_V_YOKOKU, -1);
+ mMoveWaitTimer = 10;
}
break;
case 2:
@@ -347,11 +348,24 @@ void daE_WS_c::executeAttack() {
}
break;
- case 3:
+ case 3: {
setFootSound();
cLib_chaseAngleS(&shape_angle.y, calcTargetAngle(current.pos, player_pos), 0x400);
- if (checkBeforeBg(shape_angle.y) || (mCcSph.ChkAtHit() && fopAcM_GetName(dCc_GetAc(mCcSph.GetAtHitObj()->GetAc())) == PROC_ALINK) || !checkInSearchRange(current.pos, field_0x65c)) {
+ BOOL r28 = false;
+ if (checkBeforeBg(shape_angle.y)) {
+ r28 = true;
+ }
+ if (mCcSph.ChkAtHit()) {
+ cCcD_Obj* r27 = mCcSph.GetAtHitObj();
+ if (fopAcM_GetName(dCc_GetAc(r27->GetAc())) == PROC_ALINK) {
+ r28 = true;
+ }
+ }
+ if (!checkInSearchRange(current.pos, field_0x65c)) {
+ r28 = true;
+ }
+ if (r28) {
mMode = 4;
speedF = 0.0f;
setBck(4, 0, 3.0f, 1.0f);
@@ -362,6 +376,7 @@ void daE_WS_c::executeAttack() {
return;
}
break;
+ }
case 4:
if (mpModelMorf->checkFrame(7.5f)) {
mSound.startCreatureVoice(Z2SE_EN_WS_V_ATTACK, -1);
@@ -370,7 +385,7 @@ void daE_WS_c::executeAttack() {
if (mpModelMorf->isStop()) {
setActionMode(ACTION_WAIT_e);
}
- break;
+ /* fallthrough */
}
current.angle.y = shape_angle.y;
diff --git a/src/d/actor/d_a_kytag12.cpp b/src/d/actor/d_a_kytag12.cpp
index 9243e14af8..0b76c9c6eb 100644
--- a/src/d/actor/d_a_kytag12.cpp
+++ b/src/d/actor/d_a_kytag12.cpp
@@ -77,7 +77,6 @@ static void daKytag12_light_swprd_proc(kytag12_class* i_this) {
/* 8085BD0C-8085D1DC 00024C 14D0+00 2/1 0/0 0/0 .text
* daKytag12_Execute_standard__FP13kytag12_class */
-// NONMATCHING minor regalloc
static int daKytag12_Execute_standard(kytag12_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
@@ -467,7 +466,6 @@ static int daKytag12_Execute_standard(kytag12_class* i_this) {
/* 8085D1DC-8085DFF0 00171C 0E14+00 1/1 0/0 0/0 .text daKytag12_Execute_arrival__FP13kytag12_class
*/
-// NONMATCHING minor regalloc
static int daKytag12_Execute_arrival(kytag12_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
diff --git a/src/d/actor/d_a_ni.cpp b/src/d/actor/d_a_ni.cpp
index 6ca5847986..5126ab8833 100644
--- a/src/d/actor/d_a_ni.cpp
+++ b/src/d/actor/d_a_ni.cpp
@@ -318,7 +318,7 @@ static BOOL move_gake_check(ni_class* i_this, f32 param_1) {
/* 8094C7B4-8094CE7C 000C74 06C8+00 1/1 0/0 0/0 .text ni_normal__FP8ni_class */
static void ni_normal(ni_class* i_this) {
- fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; // temp var and casts necessary atm. fake match?
+ fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0);
cXyz sp50;
cXyz sp5C;
@@ -377,9 +377,8 @@ static void ni_normal(ni_class* i_this) {
i_this->field_0x60e = 30;
}
- if ((s16)(a_this->shape_angle.y - i_this->mAngleToPlayer) < 0x2000 &&
- (s16)(a_this->shape_angle.y - i_this->mAngleToPlayer) > 0x2000)
- {
+ s16 sp0A = a_this->shape_angle.y - i_this->mAngleToPlayer;
+ if (sp0A < 0x2000 && sp0A > 0x2000) {
i_this->field_0x60e = 0;
}
@@ -427,7 +426,7 @@ static void ni_normal(ni_class* i_this) {
/* 8094CE7C-8094D2A4 00133C 0428+00 1/1 0/0 0/0 .text ni_away__FP8ni_class */
static void ni_away(ni_class* i_this) {
- ni_class* a_this = (ni_class*)i_this; // temp var and cast necessary to match atm. fake match?
+ ni_class* a_this = (ni_class*)i_this;
fopAc_ac_c* player = dComIfGp_getPlayer(0);
cXyz sp4C;
cXyz sp58;
@@ -476,7 +475,7 @@ static void ni_away(ni_class* i_this) {
}
if (a_this->mTimers[1] == 0) {
- a_this->mMoveAngle = cM_atan2s(sp4C.x, sp4C.z);
+ a_this->mMoveAngle = (s16)cM_atan2s(sp4C.x, sp4C.z);
if (fopAcM_wayBgCheck(a_this, 100.0f, 30.0f)) {
a_this->mTimers[1] = 30;
@@ -584,7 +583,7 @@ static void ni_swim(ni_class* i_this) {
/* 8094D60C-8094D7BC 001ACC 01B0+00 1/1 0/0 0/0 .text ni_carry__FP8ni_class */
static int ni_carry(ni_class* i_this) {
- ni_class* a_this = (ni_class*)i_this; // temp var and cast necessary to match atm. fake match?
+ ni_class* a_this = (ni_class*)i_this;
cXyz sp40;
cXyz sp4C;
cXyz sp58;
@@ -1424,7 +1423,7 @@ static void play_camera(ni_class* i_this) {
/* 8094F5D8-809502B4 003A98 0CDC+00 2/1 0/0 0/0 .text action__FP8ni_class */
static void action(ni_class* i_this) {
- fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; // necessary for reg alloc
+ fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
cXyz sp148;
cXyz sp154;
diff --git a/src/d/actor/d_a_npc4.cpp b/src/d/actor/d_a_npc4.cpp
index 0a3edc854e..e57be33bfd 100644
--- a/src/d/actor/d_a_npc4.cpp
+++ b/src/d/actor/d_a_npc4.cpp
@@ -1917,7 +1917,7 @@ BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p) {
for (int i = 0; i < dComIfGp_getAttention()->GetActionCount(); i++) {
if (dComIfGp_getAttention()->ActionTarget(i) == i_actor_p &&
dComIfGp_getAttention()->getActionBtnB() &&
- dComIfGp_getAttention()->getActionBtnB()->mType == 3)
+ dComIfGp_getAttention()->getActionBtnB()->mType == fopAc_attn_SPEAK_e)
{
ret = TRUE;
}
@@ -1926,7 +1926,7 @@ BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c* i_actor_p) {
for (int i = 0; i < dComIfGp_getAttention()->GetLockonCount(); i++) {
if (dComIfGp_getAttention()->LockonTarget(i) == i_actor_p &&
dComIfGp_getAttention()->getActionBtnB() &&
- dComIfGp_getAttention()->getActionBtnB()->mType == 1)
+ dComIfGp_getAttention()->getActionBtnB()->mType == fopAc_attn_TALK_e)
{
ret = TRUE;
}
diff --git a/src/d/actor/d_a_npc_besu.cpp b/src/d/actor/d_a_npc_besu.cpp
index e501dfd34e..75f09f0059 100644
--- a/src/d/actor/d_a_npc_besu.cpp
+++ b/src/d/actor/d_a_npc_besu.cpp
@@ -1356,7 +1356,6 @@ void daNpc_Besu_c::beforeMove() {
/* 80538C18-805391B8 001EB8 05A0+00 1/0 0/0 0/0 .text setAttnPos__12daNpc_Besu_cFv */
void daNpc_Besu_c::setAttnPos() {
- // NONMATCHING
cXyz eyeOffset(10.0f, 30.0f, 0.0f);
if (field_0x112f) {
daPy_getPlayerActorClass()->onWolfEyeKeep();
diff --git a/src/d/actor/d_a_npc_grs.cpp b/src/d/actor/d_a_npc_grs.cpp
index ddb2386df7..1e8db418b7 100644
--- a/src/d/actor/d_a_npc_grs.cpp
+++ b/src/d/actor/d_a_npc_grs.cpp
@@ -112,7 +112,6 @@ daNpc_grS_c::cutFunc daNpc_grS_c::mEvtCutList[2] = {
/* 809E40CC-809E4250 0000EC 0184+00 1/1 0/0 0/0 .text __ct__11daNpc_grS_cFv */
daNpc_grS_c::daNpc_grS_c() {
- // NONMATCHING
}
/* 809E42E0-809E44E0 000300 0200+00 1/0 0/0 0/0 .text __dt__11daNpc_grS_cFv */
diff --git a/src/d/actor/d_a_npc_kasi_mich.cpp b/src/d/actor/d_a_npc_kasi_mich.cpp
index 3e1fdf2aa1..9b30fb1388 100644
--- a/src/d/actor/d_a_npc_kasi_mich.cpp
+++ b/src/d/actor/d_a_npc_kasi_mich.cpp
@@ -761,7 +761,6 @@ BOOL daNpcKasiMich_c::chkFindPlayer() {
/* 80A27F08-80A282B4 001E28 03AC+00 8/0 0/0 0/0 .text wait__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::wait(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -777,7 +776,7 @@ int daNpcKasiMich_c::wait(int param_1) {
mMode = 1;
break;
- case 1:
+ case 1: {
chkFindPlayer();
if (mActorMngr[0].getActorP() != NULL) {
@@ -846,7 +845,7 @@ int daNpcKasiMich_c::wait(int param_1) {
orderEvent(field_0x1469, l_evtNames[mOrderEvtNo], 0xFFFF, 40, 0xFF, 1);
}
break;
-
+ }
default:
JUT_ASSERT(1301, FALSE);
break;
@@ -973,9 +972,15 @@ int daNpcKasiMich_c::getWolfPathNearIdx() {
return rv;
}
+void dummy() {
+ daNpcKasiMich_c::actionFunc temp;
+ temp = &daNpcKasiMich_c::wait;
+ temp = &daNpcKasiMich_c::wait;
+ temp = &daNpcKasiMich_c::wait;
+}
+
/* 80A286FC-80A287A0 00261C 00A4+00 2/0 0/0 0/0 .text chace_st__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::chace_st(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -988,7 +993,7 @@ int daNpcKasiMich_c::chace_st(int param_1) {
case 1:
if (_turn_to_link(0xC00)) {
- setAction(&daNpcKasiMich_c::wait);
+ setAction(&daNpcKasiMich_c::chace);
}
break;
}
@@ -998,7 +1003,6 @@ int daNpcKasiMich_c::chace_st(int param_1) {
/* 80A287A0-80A28910 0026C0 0170+00 4/0 0/0 0/0 .text chace__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::chace(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -1021,7 +1025,7 @@ int daNpcKasiMich_c::chace(int param_1) {
setAction(&daNpcKasiMich_c::wait);
}
} else {
- setAction(&daNpcKasiMich_c::wait);
+ setAction(&daNpcKasiMich_c::chace_st);
}
break;
}
@@ -1029,6 +1033,11 @@ int daNpcKasiMich_c::chace(int param_1) {
return 1;
}
+void dummy2() {
+ daNpcKasiMich_c::actionFunc temp;
+ temp = &daNpcKasiMich_c::chace;
+}
+
/* 80A28910-80A289CC 002830 00BC+00 1/1 0/0 0/0 .text getChacePos__15daNpcKasiMich_cFv */
cXyz daNpcKasiMich_c::getChacePos() {
int plPoint = mPlPoint;
@@ -1052,7 +1061,6 @@ cXyz daNpcKasiMich_c::getChacePos() {
/* 80A289CC-80A28A8C 0028EC 00C0+00 2/0 0/0 0/0 .text turn_link__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::turn_link(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -1065,7 +1073,7 @@ int daNpcKasiMich_c::turn_link(int param_1) {
case 1:
if (_turn_to_link(0x1000)) {
- setAction(&daNpcKasiMich_c::chace);
+ setAction(&daNpcKasiMich_c::wait);
break;
}
}
@@ -1075,7 +1083,6 @@ int daNpcKasiMich_c::turn_link(int param_1) {
/* 80A28A8C-80A28B70 0029AC 00E4+00 1/0 0/0 0/0 .text turn_home__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::turn_home(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -1093,7 +1100,7 @@ int daNpcKasiMich_c::turn_home(int param_1) {
shape_angle.y = current.angle.y;
if (bVar1) {
- setAction(&daNpcKasiMich_c::wait);
+ setAction(&daNpcKasiMich_c::wait_dummy);
}
break;
}
@@ -1103,7 +1110,6 @@ int daNpcKasiMich_c::turn_home(int param_1) {
/* 80A28B70-80A28C40 002A90 00D0+00 1/0 0/0 0/0 .text turn_center__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::turn_center(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -1117,7 +1123,7 @@ int daNpcKasiMich_c::turn_center(int param_1) {
case 1:
if (_turn_pos(mCenterPos, 0x1000)) {
- setAction(&daNpcKasiMich_c::chace_st);
+ setAction(&daNpcKasiMich_c::wait_dummy);
}
break;
}
@@ -1197,14 +1203,13 @@ int daNpcKasiMich_c::kya2(int param_1) {
/* 80A28E28-80A28EFC 002D48 00D4+00 1/0 0/0 0/0 .text kya_stop__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::kya_stop(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
case 0:
if (mMotion != MOT_MICH_KYA_TALK) {
- setAction(&daNpcKasiMich_c::chace);
+ setAction(&daNpcKasiMich_c::wait);
} else {
mMode = 1;
}
@@ -1212,7 +1217,7 @@ int daNpcKasiMich_c::kya_stop(int param_1) {
case 1:
if (mAnm_p->getFrame() == 19.0f || mAnm_p->getFrame() == 1.0f) {
- setAction(&daNpcKasiMich_c::wait);
+ setAction(&daNpcKasiMich_c::wait_dummy);
}
break;
}
@@ -1272,7 +1277,6 @@ int daNpcKasiMich_c::escape(int param_1) {
/* 80A2908C-80A29164 002FAC 00D8+00 1/0 0/0 0/0 .text iyan_look__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::iyan_look(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
@@ -1296,13 +1300,6 @@ int daNpcKasiMich_c::iyan_look(int param_1) {
return 1;
}
-void daNpcKasiMich_c::dummy() {
- setAction(&daNpcKasiMich_c::wait_dummy);
- setAction(&daNpcKasiMich_c::wait);
- setAction(&daNpcKasiMich_c::wait_dummy);
- setAction(&daNpcKasiMich_c::wait_dummy);
-}
-
/* 80A29164-80A291E8 003084 0084+00 1/0 0/0 0/0 .text turn_hana__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::turn_hana(int param_1) {
switch (mMode) {
@@ -1345,7 +1342,6 @@ int daNpcKasiMich_c::wait_dummy(int param_1) {
/* 80A2926C-80A29458 00318C 01EC+00 1/0 0/0 0/0 .text cheer__15daNpcKasiMich_cFi */
int daNpcKasiMich_c::cheer(int param_1) {
- // NONMATCHING
switch (mMode) {
case -1:
break;
diff --git a/src/d/actor/d_a_npc_zrc.cpp b/src/d/actor/d_a_npc_zrc.cpp
index 758006220e..a216a13f5b 100644
--- a/src/d/actor/d_a_npc_zrc.cpp
+++ b/src/d/actor/d_a_npc_zrc.cpp
@@ -199,7 +199,6 @@ daNpc_zrC_c::EventFn daNpc_zrC_c::mEvtCutList[2] = {
/* 80B8DC0C-80B8DD90 0000EC 0184+00 1/1 0/0 0/0 .text __ct__11daNpc_zrC_cFv */
daNpc_zrC_c::daNpc_zrC_c() {
- // NONMATCHING
}
/* 80B8DE20-80B8E03C 000300 021C+00 1/0 0/0 0/0 .text __dt__11daNpc_zrC_cFv */
diff --git a/src/d/actor/d_a_obj_Lv5Key.cpp b/src/d/actor/d_a_obj_Lv5Key.cpp
index fc7943067a..848cad4551 100644
--- a/src/d/actor/d_a_obj_Lv5Key.cpp
+++ b/src/d/actor/d_a_obj_Lv5Key.cpp
@@ -39,7 +39,7 @@ int daObjLv5Key_c::Init() {
setStatus(STATUS_WAIT);
mAction = NULL;
- setAction(&Wait, 1);
+ setAction(&daObjLv5Key_c::Wait, 1);
return cPhs_COMPLEATE_e;
}
@@ -137,9 +137,9 @@ void daObjLv5Key_c::Wait(int param_0) {
case 1:
if (is_open_start()) {
setBgc();
- setAction(&Open, 1);
+ setAction(&daObjLv5Key_c::Open, 1);
} else if (is_shake_start()) {
- setAction(&Shake, 1);
+ setAction(&daObjLv5Key_c::Shake, 1);
}
}
}
@@ -158,7 +158,7 @@ void daObjLv5Key_c::Open(int param_0) {
mBck.play();
if (mBck.isStop()) {
- setAction(&Fall, 1);
+ setAction(&daObjLv5Key_c::Fall, 1);
}
}
}
@@ -174,7 +174,7 @@ void daObjLv5Key_c::Fall(int param_0) {
fopAcM_SetGravity(this, -6.0f);
mMode = 1;
break;
- case 1:
+ case 1: {
fopAcM_calcSpeed(this);
fopAcM_posMove(this, NULL);
@@ -194,6 +194,7 @@ void daObjLv5Key_c::Fall(int param_0) {
mMode = 2;
}
break;
+ }
case 2:
RotateAngle();
@@ -207,7 +208,7 @@ void daObjLv5Key_c::Fall(int param_0) {
current.pos.y = prev_y;
if (mAcch.ChkGroundHit()) {
- setAction(&Land, 1);
+ setAction(&daObjLv5Key_c::Land, 1);
}
}
}
@@ -267,7 +268,7 @@ void daObjLv5Key_c::Shake(int param_0) {
decShakeNum();
if (is_shake_end()) {
- setAction(&Wait, 1);
+ setAction(&daObjLv5Key_c::Wait, 1);
}
}
}
diff --git a/src/d/actor/d_a_obj_fmobj.cpp b/src/d/actor/d_a_obj_fmobj.cpp
index b00430f58e..478905a384 100644
--- a/src/d/actor/d_a_obj_fmobj.cpp
+++ b/src/d/actor/d_a_obj_fmobj.cpp
@@ -11,13 +11,14 @@
#include "d/d_procname.h"
#include "d/d_s_play.h"
#include "SSystem/SComponent/c_math.h"
+#include "f_op/f_op_actor_mng.h"
/* 8057CBD8-8057CC44 000078 006C+00 1/0 0/0 0/0 .text daObj_Fmobj_Draw__FP15obj_fmobj_class */
static int daObj_Fmobj_Draw(obj_fmobj_class* i_this) {
fopAc_ac_c* a_this = (fopAc_ac_c*)&i_this->mActor;
J3DModel* model_p = i_this->mpModel;
- g_env_light.settingTevStruct(0x40, &a_this->current.pos, &a_this->tevStr);
+ g_env_light.settingTevStruct(0x40, &a_this->current.pos, &i_this->mActor.tevStr);
g_env_light.setLightTevColorType_MAJI(model_p, &a_this->tevStr);
mDoExt_modelUpdateDL(model_p);
return 1;
@@ -25,6 +26,7 @@ static int daObj_Fmobj_Draw(obj_fmobj_class* i_this) {
/* 8057CC44-8057CC84 0000E4 0040+00 1/0 0/0 0/0 .text daObj_Fmobj_Execute__FP15obj_fmobj_class */
static int daObj_Fmobj_Execute(obj_fmobj_class* i_this) {
+ fopAc_ac_c* actor = &i_this->mActor;
i_this->field_0x578++;
for (int i = 0; i < 2; i++) {
@@ -43,6 +45,8 @@ static int daObj_Fmobj_IsDelete(obj_fmobj_class* i_this) {
/* 8057CC8C-8057CCDC 00012C 0050+00 1/0 0/0 0/0 .text daObj_Fmobj_Delete__FP15obj_fmobj_class */
static int daObj_Fmobj_Delete(obj_fmobj_class* i_this) {
+ fopAc_ac_c* actor = &i_this->mActor;
+ fopAcM_RegisterDeleteID(i_this, "Obj_Fmobj");
dComIfG_resDelete(&i_this->mPhase, "Obj_Fmobj");
dComIfG_Bgsp().Release(i_this->mpBgW);
return 1;
@@ -53,6 +57,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
obj_fmobj_class* a_this = (obj_fmobj_class*)i_this;
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("Obj_Fmobj", 4);
+ JUT_ASSERT(213, modelData != NULL);
a_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (a_this->mpModel == NULL) {
return 0;
@@ -63,8 +68,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
return 0;
}
- cBgD_t* pdzb = (cBgD_t*)dComIfG_getObjectRes("Obj_Fmobj", 7);
- if (a_this->mpBgW->Set(pdzb, cBgW::MOVE_BG_e, &a_this->mBgMtx) == 1) {
+ if (a_this->mpBgW->Set((cBgD_t*)dComIfG_getObjectRes("Obj_Fmobj", 7), cBgW::MOVE_BG_e, &a_this->mBgMtx) == 1) {
return 0;
}
@@ -74,13 +78,11 @@ static int useHeapInit(fopAc_ac_c* i_this) {
/* 8057CDE0-8057CF60 000280 0180+00 1/0 0/0 0/0 .text daObj_Fmobj_Create__FP10fopAc_ac_c
*/
-static int daObj_Fmobj_Create(fopAc_ac_c* i_this_param) {
- // Fake match - debug says i_this is fake
- fopAc_ac_c* i_this = (fopAc_ac_c*)i_this_param;
- obj_fmobj_class* a_this = (obj_fmobj_class*)i_this_param;
- fopAcM_ct(i_this, obj_fmobj_class);
+static int daObj_Fmobj_Create(fopAc_ac_c* i_this) {
+ obj_fmobj_class* a_this = (obj_fmobj_class*)i_this;
+ fopAcM_ct(&a_this->mActor, obj_fmobj_class);
+
int phase;
-
phase = dComIfG_resLoad(&a_this->mPhase, "Obj_Fmobj");
if (phase == cPhs_COMPLEATE_e) {
OS_REPORT("OBJ_FMOBJ PARAM %x\n", fopAcM_GetParam(i_this));
@@ -97,7 +99,7 @@ static int daObj_Fmobj_Create(fopAc_ac_c* i_this_param) {
}
OS_REPORT("//////////////OBJ_FMOBJ SET 2 !!\n");
- if (dComIfG_Bgsp().Regist(a_this->mpBgW, i_this)) {
+ if (dComIfG_Bgsp().Regist(a_this->mpBgW, &a_this->mActor)) {
return cPhs_ERROR_e;
}
diff --git a/src/d/actor/d_a_obj_master_sword.cpp b/src/d/actor/d_a_obj_master_sword.cpp
index 13568508e8..f8b9a69b2b 100644
--- a/src/d/actor/d_a_obj_master_sword.cpp
+++ b/src/d/actor/d_a_obj_master_sword.cpp
@@ -39,7 +39,7 @@ void daObjMasterSword_c::executeWait() {
for (int i = 0; i < dComIfGp_getAttention()->GetActionCount(); i++) {
if (dComIfGp_getAttention()->ActionTarget(i) == this) {
if (dComIfGp_getAttention()->getActionBtnB() != NULL &&
- dComIfGp_getAttention()->getActionBtnB()->mType == 4)
+ dComIfGp_getAttention()->getActionBtnB()->mType == fopAc_attn_CARRY_e)
{
dComIfGp_setDoStatusForce(8, 0);
}
diff --git a/src/d/actor/d_a_obj_mirror_chain.cpp b/src/d/actor/d_a_obj_mirror_chain.cpp
index 63368abb13..e9d9238e0e 100644
--- a/src/d/actor/d_a_obj_mirror_chain.cpp
+++ b/src/d/actor/d_a_obj_mirror_chain.cpp
@@ -19,7 +19,6 @@ static u8 l_begin;
#endif
/* 80C96698-80C96DAC 000078 0714+00 1/0 0/0 0/0 .text draw__22dScissorBegin_packet_cFv */
-// NONMATCHING - slight stack order issue
void dScissorBegin_packet_c::draw() {
GXGetScissor(&l_scissor[0], &l_scissor[1], &l_scissor[2], &l_scissor[3]);
@@ -39,8 +38,7 @@ void dScissorBegin_packet_c::draw() {
f32 sp68 = l_scissor[1];
f32 sp64 = sp68 + l_scissor[3];
- cXyz spEC[4];
- cXyz sp11C;
+ cXyz spEC[5];
int sp60 = 4;
view_class* view_p = dComIfGd_getView();
f32 sp58 = -view_p->near;
diff --git a/src/d/actor/d_a_obj_oiltubo.cpp b/src/d/actor/d_a_obj_oiltubo.cpp
index 6f41579d21..824d05d702 100644
--- a/src/d/actor/d_a_obj_oiltubo.cpp
+++ b/src/d/actor/d_a_obj_oiltubo.cpp
@@ -163,7 +163,7 @@ void daObj_Oiltubo_c::restart() {
current.angle.set(0, home.angle.y, 0);
shape_angle = current.angle;
- setProcess(&wait);
+ setProcess(&daObj_Oiltubo_c::wait);
}
/* 80CA7068-80CA720C 0009C8 01A4+00 1/1 0/0 0/0 .text initialize__15daObj_Oiltubo_cFv */
diff --git a/src/d/actor/d_a_obj_ss_drink.cpp b/src/d/actor/d_a_obj_ss_drink.cpp
index 72701f4792..ada7eb9b7c 100644
--- a/src/d/actor/d_a_obj_ss_drink.cpp
+++ b/src/d/actor/d_a_obj_ss_drink.cpp
@@ -375,7 +375,7 @@ void daObj_SSDrink_c::setMtx() {
/* 80CE60E8-80CE6170 0011E8 0088+00 1/1 0/0 0/0 .text setAttnPos__15daObj_SSDrink_cFv */
void daObj_SSDrink_c::setAttnPos() {
- if (!checkProcess(&daObj_SSDrink_c::drink)) {
+ if (!checkProcess(&daObj_SSDrink_c::talk)) {
attention_info.position = current.pos;
}
diff --git a/src/d/actor/d_a_obj_ss_item.cpp b/src/d/actor/d_a_obj_ss_item.cpp
index e3c0ffe727..3d12397408 100644
--- a/src/d/actor/d_a_obj_ss_item.cpp
+++ b/src/d/actor/d_a_obj_ss_item.cpp
@@ -243,7 +243,7 @@ u16 daObj_SSItem_c::getValue() {
void daObj_SSItem_c::restart() {
current.angle.set(0, home.angle.y, 0);
shape_angle = current.angle;
- setProcess(&wait);
+ setProcess(&daObj_SSItem_c::wait);
}
/* 80CE7950-80CE7B04 000DB0 01B4+00 1/1 0/0 0/0 .text initialize__14daObj_SSItem_cFv */
diff --git a/src/d/actor/d_a_tag_Lv8Gate.cpp b/src/d/actor/d_a_tag_Lv8Gate.cpp
index 7b6891355d..dd8a5c9522 100644
--- a/src/d/actor/d_a_tag_Lv8Gate.cpp
+++ b/src/d/actor/d_a_tag_Lv8Gate.cpp
@@ -128,58 +128,77 @@ static int daTagLv8Gate_Execute(daTagLv8Gate_c* i_this) {
}
/* 80D51F48-80D522F0 000388 03A8+00 1/1 0/0 0/0 .text execute__14daTagLv8Gate_cFv */
-int daTagLv8Gate_c::execute() {
- dComIfG_inf_c& game_info = g_dComIfG_gameInfo; // Fake match?
-
- if (game_info.getPlay().getEvent().runCheck() && !eventInfo.checkCommandTalk()) {
- s32 cut_index = dComIfGp_getEventManager().getMyStaffId(l_arcName, NULL, 0);
+inline int daTagLv8Gate_c::execute() {
+ #if VERSION != VERSION_SHIELD_DEBUG
+ // TODO: gameInfo fake match to force reuse of pointer
+ dComIfG_play_c* play = &g_dComIfG_gameInfo.play;
+ if (play->getEvent().runCheck() && !eventInfo.checkCommandTalk()) {
+ #else
+ if (dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) {
+ #endif
+ dEvent_manager_c& eventManager = dComIfGp_getEventManager();
+ s32 cut_index = eventManager.getMyStaffId(l_arcName, NULL, 0);
if (cut_index != -1) {
- int* cut_name = (int*)dComIfGp_getEventManager().getMyNowCutName(cut_index);
+ int* cut_name = (int*)eventManager.getMyNowCutName(cut_index);
- if (dComIfGp_getEventManager().getIsAddvance(cut_index)) {
+ if (eventManager.getIsAddvance(cut_index)) {
switch (*cut_name) {
- case '0001':
- dComIfGp_getEvent().setSkipProc(this, dEv_noFinishSkipProc, 0);
+ case '0001': {
+ dComIfGp_getEvent().startCheckSkipEdge(this);
daPy_getPlayerActorClass()->setPlayerPosAndAngle(&current.pos, shape_angle.y,
0);
fopAc_ac_c* mirror_table = fopAcM_SearchByName(PROC_Obj_MirrorTable);
if (mirror_table != NULL) {
- static_cast<daObjMirrorTable_c*>(mirror_table)->field_0x874 = true;
+ static_cast<daObjMirrorTable_c*>(mirror_table)->setEffect();
}
break;
-
+ }
case '0002':
dStage_changeScene(getSceneNo(), 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1);
break;
+
+ default:
+ JUT_ASSERT(139, FALSE);
}
}
+ #if VERSION != VERSION_SHIELD_DEBUG
+ dEvt_control_c& eventControl = play->getEvent();
+ #endif
if (dComIfGp_getEvent().checkSkipEdge()) {
+ #if VERSION != VERSION_SHIELD_DEBUG
+ dComIfGp_getEvent().reset();
+ #else
dComIfGp_event_reset();
+ #endif
dStage_changeScene(getSceneNo(), 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1);
}
switch (*cut_name) {
case '0001':
case '0002':
- dComIfGp_evmng_cutEnd(cut_index);
+ eventManager.cutEnd(cut_index);
+ break;
+ default:
+ JUT_ASSERT(154, FALSE);
break;
}
if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1) {
- if (dComIfGp_evmng_endCheck(mEventID)) {
+ if (eventManager.endCheck(mEventID)) {
mEventID = -1;
}
}
}
} else {
if (daPy_getPlayerActorClass()->checkPriActorOwn(this)) {
+ JUT_ASSERT(169, NULL != dComIfGp_getAttention());
for (int i = 0; i < dComIfGp_getAttention()->GetActionCount(); i++) {
if (dComIfGp_getAttention()->ActionTarget(i) == this) {
if (dComIfGp_getAttention()->getActionBtnB() != NULL &&
- dComIfGp_getAttention()->getActionBtnB()->mType == 4)
+ dComIfGp_getAttention()->getActionBtnB()->mType == fopAc_attn_CARRY_e)
{
dComIfGp_setDoStatusForce(7, 0);
}
@@ -189,7 +208,7 @@ int daTagLv8Gate_c::execute() {
if (fopAcM_checkCarryNow(this)) {
fopAcM_cancelCarryNow(this);
- attention_info.flags &= ~fopAc_AttnFlag_CARRY_e;
+ cLib_offBit<u32>(attention_info.flags, fopAc_AttnFlag_CARRY_e);
eventInfo.setArchiveName(l_arcName);
dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName());
mEventID = dComIfGp_getEventManager().getEventIdx(this, "LV8_GATE_ENTRY", -1);
diff --git a/src/d/d_kankyo_rain.cpp b/src/d/d_kankyo_rain.cpp
index 8f2cfcf053..b9640b2539 100644
--- a/src/d/d_kankyo_rain.cpp
+++ b/src/d/d_kankyo_rain.cpp
@@ -1902,15 +1902,18 @@ void vrkumo_move() {
}
for (int i = 0; i < 100; i++) {
+ s16 sp8;
+ f32 sp34;
+ f32 var_f31;
switch (vrkumo_packet->mVrkumoEff[i].mStatus) {
case 0:
- s16 sp8 = cM_rndF(65535.0f);
- f32 sp34 = cM_rndF(18000.0f);
+ sp8 = cM_rndF(65535.0f);
+ sp34 = cM_rndF(18000.0f);
if (sp34 > 15000.0f) {
sp34 = 14000.0 + cM_rndF(1000.0f);
}
- f32 var_f31 = sp34 * cM_ssin(sp8);
+ var_f31 = sp34 * cM_ssin(sp8);
// @bug - parenthesis should not be on the condition
if ((f32)fabs(var_f31 < 5000.0f)) {
if (var_f31 > 0.0f) {
@@ -4577,7 +4580,6 @@ inline float cosf(float x) {
}
/* 8006A090-8006B190 0649D0 1100+00 0/0 1/1 0/0 .text drawVrkumo__FPA4_fR8_GXColorPPUc */
-// NONMATCHING - regalloc, j/k getting put in too low of registers?
void drawVrkumo(Mtx drawMtx, GXColor& color, u8** tex) {
dKankyo_sun_Packet* sun_packet = g_env_light.mpSunPacket;
dScnKy_env_light_c* envlight = dKy_getEnvlight();
diff --git a/src/d/d_npc_lib.cpp b/src/d/d_npc_lib.cpp
index 8f8440e1d0..07d6638726 100644
--- a/src/d/d_npc_lib.cpp
+++ b/src/d/d_npc_lib.cpp
@@ -38,7 +38,6 @@ void dNpcLib_lookat_c::init(J3DModel* i_mdl_p, int* param_1, csXyz* param_2, csX
void dNpcLib_lookat_c::action(cXyz param_0, cXyz param_1, fopAc_ac_c* param_2, Mtx param_3,
int param_4) {
cXyz sp90;
- int i;
Mtx spA0;
cMtx_copy(param_3, spA0);
diff --git a/src/d/d_ovlp_fade2.cpp b/src/d/d_ovlp_fade2.cpp
index 25c8bc9420..d0dc1bc253 100644
--- a/src/d/d_ovlp_fade2.cpp
+++ b/src/d/d_ovlp_fade2.cpp
@@ -106,7 +106,7 @@ void dOvlpFd2_dlst_c::draw() {
/* 80252990-802529F4 24D2D0 0064+00 1/1 0/0 0/0 .text __ct__10dOvlpFd2_cFv */
dOvlpFd2_c::dOvlpFd2_c() {
- setExecute(&execFirstSnap);
+ setExecute(&dOvlpFd2_c::execFirstSnap);
dComIfGp_2dShowOff();
mTimer = 2;
}
@@ -115,7 +115,7 @@ dOvlpFd2_c::dOvlpFd2_c() {
void dOvlpFd2_c::execFirstSnap() {
if (field_0x11c != 0) {
if (cLib_calcTimer<s8>(&mTimer) == 0) {
- setExecute(&execFadeOut);
+ setExecute(&dOvlpFd2_c::execFadeOut);
fopOvlpM_Done(this);
mTimer = -12;
}
@@ -138,7 +138,7 @@ void dOvlpFd2_c::execFadeOut() {
if (mTimer == 0) {
if (fopOvlpM_IsOutReq(this)) {
fopOvlpM_SceneIsStart();
- setExecute(&execNextSnap);
+ setExecute(&dOvlpFd2_c::execNextSnap);
field_0x110 = -0x4000;
mTimer = 15;
}
@@ -154,7 +154,7 @@ void dOvlpFd2_c::execFadeOut() {
cLib_calcTimer<s8>(&mTimer);
}
- field_0x114 += TREG_S(0) + 0x800;
+ field_0x114 += (s16)(TREG_S(0) + 0x800);
cLib_addCalc2(&field_0x118, TREG_F(1) + 1.0f, 1.0f, TREG_F(2) + 0.05f);
}
@@ -167,7 +167,7 @@ void dOvlpFd2_c::execNextSnap() {
dComIfGp_setWindowNum(1);
dComIfGp_2dShowOff();
- setExecute(&execFadeIn);
+ setExecute(&dOvlpFd2_c::execFadeIn);
}
}
}
diff --git a/src/d/d_ovlp_fade3.cpp b/src/d/d_ovlp_fade3.cpp
index 7752b8a0c8..592bfc85fb 100644
--- a/src/d/d_ovlp_fade3.cpp
+++ b/src/d/d_ovlp_fade3.cpp
@@ -115,7 +115,7 @@ void dOvlpFd3_dlst_c::draw() {
/* 8025343C-80253518 24DD7C 00DC+00 1/1 0/0 0/0 .text __ct__10dOvlpFd3_cFv */
dOvlpFd3_c::dOvlpFd3_c() {
- setExecute(&execFirstSnap);
+ setExecute(&dOvlpFd3_c::execFirstSnap);
dComIfGp_2dShowOff();
mTimer = 2;
@@ -132,7 +132,7 @@ dOvlpFd3_c::dOvlpFd3_c() {
void dOvlpFd3_c::execFirstSnap() {
if (cLib_calcTimer(&field_0x11f) == 0 && field_0x11c != 0) {
if (cLib_calcTimer(&mTimer) == 0) {
- setExecute(&execFadeOut);
+ setExecute(&dOvlpFd3_c::execFadeOut);
fopOvlpM_Done(this);
mTimer = 0xFF;
}
@@ -148,7 +148,7 @@ void dOvlpFd3_c::execFadeOut() {
if (mTimer == 0) {
if (fopOvlpM_IsOutReq(this)) {
fopOvlpM_SceneIsStart();
- setExecute(&execNextSnap);
+ setExecute(&dOvlpFd3_c::execNextSnap);
field_0x110 = -0x4000;
mTimer = 1;
}
@@ -173,7 +173,7 @@ void dOvlpFd3_c::execNextSnap() {
field_0x110 += field_0x112;
dComIfGp_setWindowNum(1);
- setExecute(&execFadeIn);
+ setExecute(&dOvlpFd3_c::execFadeIn);
}
}
}
diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp
index d87c007bab..9f54014c35 100644
--- a/src/m_Do/m_Do_ext.cpp
+++ b/src/m_Do/m_Do_ext.cpp
@@ -1176,20 +1176,23 @@ int mDoExt_McaMorf::create(J3DModelData* modelData, mDoExt_McaMorfCallBack1_c* c
if (!mpQuat) {
goto cleanup;
}
- J3DTransformInfo* info = mpTransformInfo;
- Quaternion* quat = mpQuat;
- J3DModelData* r23 = mpModel->getModelData();
- u16 jointNum = r23->getJointNum();
- for (int i = 0; i < jointNum; i++) {
- J3DJoint* joint = r23->getJointNodePointer(i);
- *info = joint->getTransformInfo();
- JMAEulerToQuat(info->mRotation.x, info->mRotation.y, info->mRotation.z, quat);
- info++;
- quat++;
- }
- mpCallback1 = callback1;
- mpCallback2 = callback2;
- return 1;
+ {
+ J3DTransformInfo* info = mpTransformInfo;
+ Quaternion* quat = mpQuat;
+ J3DModelData* r23 = mpModel->getModelData();
+ int jointNum = r23->getJointNum();
+ for (int i = 0; i < jointNum; i++) {
+ J3DJoint* joint = r23->getJointNodePointer(i);
+ J3DTransformInfo& transInfo = joint->getTransformInfo();
+ *info = transInfo;
+ JMAEulerToQuat(info->mRotation.x, info->mRotation.y, info->mRotation.z, quat);
+ info++;
+ quat++;
+ }
+ mpCallback1 = callback1;
+ mpCallback2 = callback2;
+ return 1;
+ }
cleanup:
if (mpSound) {
mpSound->stopAnime();
@@ -1351,7 +1354,7 @@ void mDoExt_McaMorf::modelCalc() {
mpAnm->setFrame(mFrameCtrl.getFrame());
}
- mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this);
+ mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(this);
mpModel->calc();
}
}
@@ -1441,17 +1444,19 @@ int mDoExt_McaMorfSO::create(J3DModelData* i_modelData, mDoExt_McaMorfCallBack1_
mpQuat = new Quaternion[i_modelData->getJointNum()];
if (mpQuat != NULL) {
- J3DTransformInfo* transInfo = mpTransformInfo;
+ J3DTransformInfo* transInfo_p = mpTransformInfo;
Quaternion* quat = mpQuat;
J3DModelData* modelData = mpModel->getModelData();
- u16 jointNum = modelData->getJointNum();
+ int jointNum = modelData->getJointNum();
for (int i = 0; i < jointNum; i++) {
- *transInfo = modelData->getJointNodePointer(i)->getTransformInfo();
- JMAEulerToQuat(transInfo->mRotation.x, transInfo->mRotation.y,
- transInfo->mRotation.z, quat);
+ J3DJoint* joint = modelData->getJointNodePointer(i);
+ J3DTransformInfo& transInfo = joint->getTransformInfo();;
+ *transInfo_p = transInfo;
+ JMAEulerToQuat(transInfo_p->mRotation.x, transInfo_p->mRotation.y,
+ transInfo_p->mRotation.z, quat);
- transInfo++;
+ transInfo_p++;
quat++;
}
@@ -1633,7 +1638,7 @@ void mDoExt_McaMorfSO::updateDL() {
mpAnm->setFrame(mFrameCtrl.getFrame());
}
- mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this);
+ mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(this);
mDoExt_modelUpdateDL(mpModel);
mPrevMorf = mCurMorf;
}
@@ -1655,7 +1660,7 @@ void mDoExt_McaMorfSO::modelCalc() {
mpAnm->setFrame(mFrameCtrl.getFrame());
}
- mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this);
+ mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(this);
mpModel->calc();
}
}
@@ -2058,7 +2063,7 @@ void mDoExt_McaMorf2::modelCalc() {
field_0x40->setFrame(mFrameCtrl.getFrame());
}
- mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc((J3DMtxCalc*)this);
+ mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(this);
mpModel->calc();
}
}