Resolve all "illegal jump past declaration/initializer" warnings (#2911)

* resolve illegal jump past declaration/initializer

* pr comments
This commit is contained in:
Niklas Bauer 2025-12-04 13:57:33 +01:00 committed by GitHub
parent f97d334732
commit 4d3f25d34e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
53 changed files with 320 additions and 241 deletions

View File

@ -17,7 +17,7 @@ public:
/* 0x3 */ TYPE_HYRAL, /* 0x3 */ TYPE_HYRAL,
}; };
enum EAction { enum Mode_e {
/* 0x00 */ ACT_WAIT, /* 0x00 */ ACT_WAIT,
/* 0x01 */ ACT_DEMO_FILONE_1, /* 0x01 */ ACT_DEMO_FILONE_1,
/* 0x02 */ ACT_DEMO_FILONE_2, /* 0x02 */ ACT_DEMO_FILONE_2,
@ -106,7 +106,7 @@ public:
(this->*(*mAction))(); (this->*(*mAction))();
} }
void setAction(EAction action) { void setAction(Mode_e action) {
mActionID = action; mActionID = action;
mAction = ActionTable[mActionID]; mAction = ActionTable[mActionID];
callInit(); callInit();

View File

@ -44,9 +44,7 @@ char* J2DResReference::getName(u16 idx) const {
p_name[0] = 0; p_name[0] = 0;
return p_name; return p_name;
} else { } else {
s8 first = resRef[0]; switch (resRef[0]) {
switch (first) {
case 2: case 2:
case 3: case 3:
for (s32 i = 0; i < resRef[1]; i++) { for (s32 i = 0; i < resRef[1]; i++) {
@ -54,8 +52,9 @@ char* J2DResReference::getName(u16 idx) const {
} }
p_name[resRef[1]] = 0; p_name[resRef[1]] = 0;
break; break;
case 4: case 4: {
s32 pos = resRef[1] + 1; s32 tmp = resRef[1];
s32 pos = tmp + 1;
for (; pos >= 2; pos--) { for (; pos >= 2; pos--) {
if (resRef[pos] == '\\' || resRef[pos] == '/') { if (resRef[pos] == '\\' || resRef[pos] == '/') {
break; break;
@ -70,6 +69,7 @@ char* J2DResReference::getName(u16 idx) const {
p_name[i] = 0; p_name[i] = 0;
break; break;
}
default: default:
p_name[0] = 0; p_name[0] = 0;
} }

View File

@ -75,7 +75,8 @@ bool JKRDvdArchive::open(s32 entryNum) {
JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL); JKRDvdRipper::ALLOC_DIRECTION_FORWARD, 0, &mCompression, NULL);
DCInvalidateRange(arcHeader, sizeof(SArcHeader)); DCInvalidateRange(arcHeader, sizeof(SArcHeader));
int alignment = mMountDirection == MOUNT_DIRECTION_HEAD ? 0x20 : -0x20; int alignment;
alignment = mMountDirection == MOUNT_DIRECTION_HEAD ? 0x20 : -0x20;
mArcInfoBlock = (SArcDataInfo*)JKRAllocFromHeap(mHeap, arcHeader->file_data_offset, alignment); mArcInfoBlock = (SArcDataInfo*)JKRAllocFromHeap(mHeap, arcHeader->file_data_offset, alignment);
if (!mArcInfoBlock) { if (!mArcInfoBlock) {
@ -93,8 +94,10 @@ bool JKRDvdArchive::open(s32 entryNum) {
mStringTable = (char*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->string_table_offset); mStringTable = (char*)((int)&mArcInfoBlock->num_nodes + mArcInfoBlock->string_table_offset);
mExpandedSize = NULL; mExpandedSize = NULL;
u8 useCompression = 0; u8 useCompression;
SDIFileEntry* fileEntry = mFiles; useCompression = 0;
SDIFileEntry* fileEntry;
fileEntry = mFiles;
for (u32 i = 0; i < mArcInfoBlock->num_file_entries; fileEntry++, i++) { for (u32 i = 0; i < mArcInfoBlock->num_file_entries; fileEntry++, i++) {
if (fileEntry->isUnknownFlag1()) { if (fileEntry->isUnknownFlag1()) {
useCompression |= fileEntry->getCompressFlag(); useCompression |= fileEntry->getCompressFlag();

View File

@ -195,15 +195,18 @@ u32 JKRMemArchive::fetchResource_subroutine(u8* src, u32 srcLength, u8* dst, u32
return srcLength; return srcLength;
case COMPRESSION_YAY0: case COMPRESSION_YAY0:
case COMPRESSION_YAZ0: case COMPRESSION_YAZ0: {
u32 expendedSize = JKRDecompExpandSize(src); u32 expendedSize = JKRDecompExpandSize(src);
#if VERSION != VERSION_SHIELD_DEBUG
srcLength = expendedSize; srcLength = expendedSize;
#endif
if (expendedSize > dstLength) { if (expendedSize > dstLength) {
srcLength = dstLength; srcLength = dstLength;
} }
JKRDecompress(src, dst, srcLength, 0); JKRDecompress(src, dst, srcLength, 0);
return srcLength; return srcLength;
}
default: { default: {
JUTException::panic(__FILE__, 723, "??? bad sequence\n"); JUTException::panic(__FILE__, 723, "??? bad sequence\n");

View File

@ -48,7 +48,7 @@ int JStudio::TControl::transformOnGet_setOrigin_TxyzRy(Vec const& param_0, f32 p
int JStudio::TControl::transform_setOrigin_ctb(JStudio::ctb::TObject const& param_0) { int JStudio::TControl::transform_setOrigin_ctb(JStudio::ctb::TObject const& param_0) {
switch (param_0.getScheme()) { switch (param_0.getScheme()) {
case 1: case 1: {
const f32* pfVar4 = (const f32*)param_0.getData(); const f32* pfVar4 = (const f32*)param_0.getData();
Vec local_144 = {0.0f, 0.0f, 0.0f}; Vec local_144 = {0.0f, 0.0f, 0.0f};
local_144.x = pfVar4[0]; local_144.x = pfVar4[0];
@ -56,6 +56,7 @@ int JStudio::TControl::transform_setOrigin_ctb(JStudio::ctb::TObject const& para
local_144.z = pfVar4[2]; local_144.z = pfVar4[2];
transform_setOrigin_TxyzRy(local_144, pfVar4[3]); transform_setOrigin_TxyzRy(local_144, pfVar4[3]);
break; break;
}
default: default:
return 0; return 0;
} }

View File

@ -117,9 +117,9 @@ JStudio_JStage::TAdaptor_camera::adaptor_do_PARENT_ENABLE(JStudio::data::TEOpera
case JStudio::data::UNK_0x2: case JStudio::data::UNK_0x2:
JUT_ASSERT(185, uSize==4); JUT_ASSERT(185, uSize==4);
JUT_ASSERT(186, pContent!=NULL); JUT_ASSERT(186, pContent!=NULL);
field_0x114 = *(u32*)pContent ? 1 : 0; field_0x114 = *(u32*)pContent ? true : false;
switch(field_0x108) { switch(field_0x108) {
case 1: case 1: {
JStage::TObject* parent = 0; JStage::TObject* parent = 0;
int idx = -1; int idx = -1;
if (field_0x114 != 0) { if (field_0x114 != 0) {
@ -128,6 +128,7 @@ JStudio_JStage::TAdaptor_camera::adaptor_do_PARENT_ENABLE(JStudio::data::TEOpera
} }
pJSGObject_->JSGSetParent(parent, idx); pJSGObject_->JSGSetParent(parent, idx);
break; break;
}
case 0: case 0:
break; break;
} }
@ -207,7 +208,7 @@ void JStudio_JStage::TAdaptor_camera::setJSG_position_(JStudio::TControl const*
} else { } else {
pViewPosition = &VStack_138; pViewPosition = &VStack_138;
switch (field_0x108) { switch (field_0x108) {
case 0: case 0: {
int iVar1 = int iVar1 =
transform_toGlobalFromLocal(&VStack_144, VStack_138, field_0x10c, field_0x110); transform_toGlobalFromLocal(&VStack_144, VStack_138, field_0x10c, field_0x110);
if (iVar1 == 0) { if (iVar1 == 0) {
@ -215,6 +216,7 @@ void JStudio_JStage::TAdaptor_camera::setJSG_position_(JStudio::TControl const*
} }
pViewPosition = &VStack_144; pViewPosition = &VStack_144;
break; break;
}
case 1: case 1:
break; break;
} }

View File

@ -277,9 +277,9 @@ void JUTCacheFont::setBlock() {
break; break;
case 'GLY1': case 'GLY1':
memcpy(piVar5, pData, 0x20); memcpy(piVar5, pData, 0x20);
JKRAramBlock* iVar1 = JKRAramBlock* iVar1;
JKRMainRamToAram((u8*)pData + 0x20, aramAddress, pData[1] - 0x20, iVar1 = JKRMainRamToAram((u8*)pData + 0x20, aramAddress, pData[1] - 0x20,
EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL); EXPAND_SWITCH_UNKNOWN0, 0, NULL, 0xffffffff, NULL);
if (iVar1 == NULL) { if (iVar1 == NULL) {
JUTException::panic("JUTCacheFont.cpp", 0x1dd, JUTException::panic("JUTCacheFont.cpp", 0x1dd,
"trouble occurred in JKRMainRamToAram."); "trouble occurred in JKRMainRamToAram.");

View File

@ -126,14 +126,15 @@ void JUTResFont::setBlock() {
mMaxCode = -1; mMaxCode = -1;
BlockHeader* data = (BlockHeader*)mResFont->data; BlockHeader* data = (BlockHeader*)mResFont->data;
for (u32 i = 0; i < mResFont->numBlocks; i++, data = (BlockHeader*)data->getNext()) { for (u32 i = 0; i < mResFont->numBlocks; data = (BlockHeader*)data->getNext(), i++) {
switch (data->magic) { switch (data->magic) {
case 'INF1': case 'INF1': {
mInf1Ptr = (ResFONT::INF1*)data; mInf1Ptr = (ResFONT::INF1*)data;
u32 u = mInf1Ptr->fontType; u32 u = mInf1Ptr->fontType;
JUT_ASSERT(244, u < suAboutEncoding_); JUT_ASSERT(244, u < suAboutEncoding_);
mIsLeadByte = &saoAboutEncoding_[u]; mIsLeadByte = &saoAboutEncoding_[u];
break; break;
}
case 'WID1': case 'WID1':
mpWidthBlocks[widthNum] = (ResFONT::WID1*)data; mpWidthBlocks[widthNum] = (ResFONT::WID1*)data;

View File

@ -354,6 +354,7 @@ static s8 b_bh_down(b_bh_class* i_this) {
s8 sp8 = 0; s8 sp8 = 0;
cXyz sp20 = i_this->field_0x6b0 - a_this->current.pos; cXyz sp20 = i_this->field_0x6b0 - a_this->current.pos;
sp20.y = 0.0f; sp20.y = 0.0f;
f32 temp_f31;
switch (i_this->mMode) { switch (i_this->mMode) {
case 0: case 0:
@ -371,7 +372,7 @@ static s8 b_bh_down(b_bh_class* i_this) {
i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_BH_V_ROUT, -1); i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_BH_V_ROUT, -1);
} }
f32 temp_f31 = 100.0f + JREG_F(0); temp_f31 = 100.0f + JREG_F(0);
sp2C.x = temp_f31 * cM_ssin(i_this->field_0x668 * (TREG_S(0) + 900)); sp2C.x = temp_f31 * cM_ssin(i_this->field_0x668 * (TREG_S(0) + 900));
sp2C.z = temp_f31 * cM_scos(i_this->field_0x668 * (TREG_S(2) + 1000)); sp2C.z = temp_f31 * cM_scos(i_this->field_0x668 * (TREG_S(2) + 1000));
@ -661,6 +662,7 @@ static s8 b_bh_b_down(b_bh_class* i_this) {
s8 var_r27 = 0; s8 var_r27 = 0;
cXyz spC = i_this->field_0x6b0 - i_this->current.pos; cXyz spC = i_this->field_0x6b0 - i_this->current.pos;
spC.y = 0.0f; spC.y = 0.0f;
f32 temp_f31;
switch (i_this->mMode) { switch (i_this->mMode) {
case 0: case 0:
@ -678,7 +680,7 @@ static s8 b_bh_b_down(b_bh_class* i_this) {
i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_BH_V_ROUT, -1); i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_BH_V_ROUT, -1);
} }
f32 temp_f31 = 100.0f + JREG_F(0); temp_f31 = 100.0f + JREG_F(0);
sp18.x = temp_f31 * cM_ssin(i_this->field_0x668 * (TREG_S(0) + 900)); sp18.x = temp_f31 * cM_ssin(i_this->field_0x668 * (TREG_S(0) + 900));
sp18.z = temp_f31 * cM_scos(i_this->field_0x668 * (TREG_S(2) + 1000)); sp18.z = temp_f31 * cM_scos(i_this->field_0x668 * (TREG_S(2) + 1000));

View File

@ -2652,11 +2652,12 @@ void daB_GG_c::FallChk() {
} }
void daB_GG_c::G_AttackAction() { void daB_GG_c::G_AttackAction() {
int rnd;
switch (mMode) { switch (mMode) {
case 0: case 0:
SpeedClear(); SpeedClear();
int rnd = cM_rndF(100.0f); rnd = cM_rndF(100.0f);
if (rnd > 70) { if (rnd > 70) {
SetAnm(BCK_GGB_ATTACK_A, 0, 5.0f, 1.0f); SetAnm(BCK_GGB_ATTACK_A, 0, 5.0f, 1.0f);
@ -2723,7 +2724,7 @@ void daB_GG_c::G_AttackAction() {
mCcCyl.OnTgShield(); mCcCyl.OnTgShield();
mCcShieldSph.OnTgShield(); mCcShieldSph.OnTgShield();
int rnd = cM_rndF(100.0f); rnd = cM_rndF(100.0f);
if (rnd < 30 || mAnm == BCK_GGB_ATTACK_C) { if (rnd < 30 || mAnm == BCK_GGB_ATTACK_C) {
SetAction(ACTION_GROUND, SUBACT_MOVE, 0); SetAction(ACTION_GROUND, SUBACT_MOVE, 0);
} else if (mAnm != BCK_GGB_ATTACK_C && rnd > 50) { } else if (mAnm != BCK_GGB_ATTACK_C && rnd > 50) {
@ -2770,7 +2771,6 @@ void daB_GG_c::G_AttackAction() {
mCcSph[i].OnAtSetBit(); mCcSph[i].OnAtSetBit();
mCcSph[i].SetAtSpl((dCcG_At_Spl) 0xA); mCcSph[i].SetAtSpl((dCcG_At_Spl) 0xA);
} }
break;
} }
F_AtHit(); F_AtHit();
@ -2904,11 +2904,13 @@ void daB_GG_c::G_DamageAction() {
speedF = 0.0f; speedF = 0.0f;
} }
s_TargetAngle += 0x4000; s_TargetAngle += (s16) 0x4000;
break; break;
case 2: case 2:
cXyz* tg_hit_pos = mCcCyl.GetTgHitPosP(); cXyz* tg_hit_pos;
s16 spA = cLib_targetAngleY(&current.pos, tg_hit_pos); s16 spA;
tg_hit_pos = mCcCyl.GetTgHitPosP();
spA = cLib_targetAngleY(&current.pos, tg_hit_pos);
if ((spA - shape_angle.y) > 0) { if ((spA - shape_angle.y) > 0) {
if (mAnm != BCK_GGB_DAMAGE_R) { if (mAnm != BCK_GGB_DAMAGE_R) {
SetAnm(BCK_GGB_DAMAGE_R, 0, 5.0f, 1.0f); SetAnm(BCK_GGB_DAMAGE_R, 0, 5.0f, 1.0f);
@ -2923,7 +2925,9 @@ void daB_GG_c::G_DamageAction() {
SetAction(ACTION_GROUND, SUBACT_DAMAGE, 3); SetAction(ACTION_GROUND, SUBACT_DAMAGE, 3);
if (health < (s16)(field_0x560 * l_HIO.field_0x18) && field_0x5b0 == 0 && mType == TYPE_L7_MBOSS) { if (health < (s16)(field_0x560 * l_HIO.field_0x18) && field_0x5b0 == 0 &&
mType == TYPE_L7_MBOSS)
{
mpModelMorf->setPlaySpeed(1.0f); mpModelMorf->setPlaySpeed(1.0f);
SetAction(ACTION_DEMO, 1, 0); SetAction(ACTION_DEMO, 1, 0);
mCamMode = 0; mCamMode = 0;
@ -2954,11 +2958,16 @@ void daB_GG_c::G_DamageAction() {
mCamMode = 0; mCamMode = 0;
} }
break; break;
case 3: case 3: {
int cut_count = daPy_getPlayerActorClass()->getCutCount(); u8 cut_count = daPy_getPlayerActorClass()->getCutCount();
u32 cut_type = daPy_getPlayerActorClass()->getCutType(); u32 cut_type = daPy_getPlayerActorClass()->getCutType();
if ((cut_type == daPy_py_c::CUT_TYPE_TURN_LEFT || cut_type == daPy_py_c::CUT_TYPE_TURN_RIGHT || cut_type == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT || cut_type == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) && field_0x6bc > 0) { if ((cut_type == daPy_py_c::CUT_TYPE_TURN_LEFT ||
cut_type == daPy_py_c::CUT_TYPE_TURN_RIGHT ||
cut_type == daPy_py_c::CUT_TYPE_LARGE_TURN_LEFT ||
cut_type == daPy_py_c::CUT_TYPE_LARGE_TURN_RIGHT) &&
field_0x6bc > 0)
{
mCcCyl.OnTgShield(); mCcCyl.OnTgShield();
mCcShieldSph.OnTgShield(); mCcShieldSph.OnTgShield();
mCcShieldSph.OnTgSetBit(); mCcShieldSph.OnTgSetBit();
@ -2984,6 +2993,7 @@ void daB_GG_c::G_DamageAction() {
FallChk(); FallChk();
break; break;
}
case 4: case 4:
sp38 = eyePos; sp38 = eyePos;
sp38.y += 180.0f + NREG_F(7); sp38.y += 180.0f + NREG_F(7);

View File

@ -1458,7 +1458,7 @@ static void demo_camera(b_gm_class* i_this) {
i_this->mDemoModeTimer = 0; i_this->mDemoModeTimer = 0;
} }
break; break;
case 42: case 42: {
if (i_this->mDemoModeTimer == 30) { if (i_this->mDemoModeTimer == 30) {
daPy_getPlayerActorClass()->changeDemoMode(daPy_demo_c::DEMO_UNEQUIP_e, 0, 0, 0); daPy_getPlayerActorClass()->changeDemoMode(daPy_demo_c::DEMO_UNEQUIP_e, 0, 0, 0);
} }
@ -1479,7 +1479,7 @@ static void demo_camera(b_gm_class* i_this) {
if (i_this->mDemoModeTimer > 200) { if (i_this->mDemoModeTimer > 200) {
cLib_addCalc2(&i_this->field_0x1cec.y, 100.0f, 0.05f, 0.7f); cLib_addCalc2(&i_this->field_0x1cec.y, 100.0f, 0.05f, 0.7f);
} }
obj_ystone_class* ystone = (obj_ystone_class*)fopAcM_SearchByName(PROC_OBJ_YSTONE); obj_ystone_class* ystone = (obj_ystone_class*)fopAcM_SearchByName(PROC_OBJ_YSTONE);
if (ystone != NULL) { if (ystone != NULL) {
if (i_this->mDemoModeTimer > 200) { if (i_this->mDemoModeTimer > 200) {
@ -1500,6 +1500,7 @@ static void demo_camera(b_gm_class* i_this) {
sp10 = 2; sp10 = 2;
} }
break; break;
}
case 50: case 50:
if (!a_this->eventInfo.checkCommandDemoAccrpt()) { if (!a_this->eventInfo.checkCommandDemoAccrpt()) {
fopAcM_orderPotentialEvent(a_this, 2, 0xFFFF, 0); fopAcM_orderPotentialEvent(a_this, 2, 0xFFFF, 0);

View File

@ -204,12 +204,13 @@ void daBdoorL5_c::demoProc() {
} }
} }
switch (demoAction) { switch (demoAction) {
case 1: case 1: {
obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId); obj_keyhole_class* keyhole = (obj_keyhole_class*)fopAcM_SearchByID(mKeyHoleId);
if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) { if ((keyhole != NULL && keyhole->checkOpenEnd()) || mKeyHoleId == -1) {
dComIfGp_evmng_cutEnd(field_0x59c); dComIfGp_evmng_cutEnd(field_0x59c);
} }
break; break;
}
case 2: case 2:
if (openProc() != 0) { if (openProc() != 0) {
openEnd(); openEnd();

View File

@ -353,7 +353,8 @@ int daKnob20_c::demoProc() {
field_0x610 = 10; field_0x610 = 10;
break; break;
case 10: case 10:
int msgNo = knob_param_c::getMsgNo(this); int msgNo;
msgNo = knob_param_c::getMsgNo(this);
if (msgNo != 0xffff) { if (msgNo != 0xffff) {
field_0x5c0.init(this, msgNo, 0, NULL); field_0x5c0.init(this, msgNo, 0, NULL);
} }
@ -391,6 +392,7 @@ int daKnob20_c::demoProc() {
case 10: case 10:
dComIfGp_event_offHindFlag(1); dComIfGp_event_offHindFlag(1);
if (field_0x5c0.doFlow(this, NULL, 0) != 0) { if (field_0x5c0.doFlow(this, NULL, 0) != 0) {
OS_REPORT("会話終了!\n"); // Conversation over!
int msgNo = knob_param_c::getMsgNo(this); int msgNo = knob_param_c::getMsgNo(this);
if (msgNo != 0xffff) { if (msgNo != 0xffff) {
field_0x5c0.init(this, msgNo, 0, NULL); field_0x5c0.init(this, msgNo, 0, NULL);
@ -406,12 +408,14 @@ int daKnob20_c::demoProc() {
case 9: case 9:
dComIfGp_evmng_cutEnd(field_0x5bc); dComIfGp_evmng_cutEnd(field_0x5bc);
break; break;
case 14: case 14: {
if (cLib_addCalcAngleS(&field_0x612, -0x2800, 20, 500, 10) == 0) { s16 tmp = cLib_addCalcAngleS(&field_0x612, -0x2800, 20, 500, 10);
if (tmp == 0) {
dComIfGp_evmng_cutEnd(field_0x5bc); dComIfGp_evmng_cutEnd(field_0x5bc);
} }
calcMtx(); calcMtx();
break; break;
}
case 15: case 15:
dComIfGp_evmng_cutEnd(field_0x5bc); dComIfGp_evmng_cutEnd(field_0x5bc);
calcMtx(); calcMtx();

View File

@ -569,7 +569,7 @@ void daMBdoorL1_c::demoProc() {
int level = getNowLevel(this); int level = getNowLevel(this);
if (dComIfGp_evmng_getIsAddvance(field_0x5e8)) { if (dComIfGp_evmng_getIsAddvance(field_0x5e8)) {
switch (demoAction) { switch (demoAction) {
case 0: case 0: {
int* puVar6 = dComIfGp_evmng_getMyIntegerP(field_0x5e8, "Timer"); int* puVar6 = dComIfGp_evmng_getMyIntegerP(field_0x5e8, "Timer");
if (puVar6 == NULL) { if (puVar6 == NULL) {
field_0x5ec = 1; field_0x5ec = 1;
@ -577,6 +577,7 @@ void daMBdoorL1_c::demoProc() {
field_0x5ec = *puVar6; field_0x5ec = *puVar6;
} }
break; break;
}
case 1: case 1:
if (level == 5 || level == 11) { if (level == 5 || level == 11) {
setAngleQuickly(); setAngleQuickly();
@ -597,7 +598,7 @@ void daMBdoorL1_c::demoProc() {
{ {
unlockInit(); unlockInit();
fopAcM_onSwitch(this, (u8)cVar10); fopAcM_onSwitch(this, (u8)cVar10);
dComIfGp_setItemKeyNumCount(0xffffffff); dComIfGp_setItemKeyNumCount(-1);
fopAcM_seStart(this, Z2SE_OBJ_DOOR_CHAIN_LOCK_OPEN, 0); fopAcM_seStart(this, Z2SE_OBJ_DOOR_CHAIN_LOCK_OPEN, 0);
} }
break; break;

View File

@ -239,7 +239,7 @@ int daDoorPush_c::demoProc() {
dComIfGp_evmng_getMyActIdx(field_0x644, action_table, ARRAY_SIZEU(action_table), 0, 0); dComIfGp_evmng_getMyActIdx(field_0x644, action_table, ARRAY_SIZEU(action_table), 0, 0);
if (dComIfGp_evmng_getIsAddvance(field_0x644) != 0) { if (dComIfGp_evmng_getIsAddvance(field_0x644) != 0) {
switch (actIdx) { switch (actIdx) {
case WAIT_e: case WAIT_e: {
int* integerP = dComIfGp_evmng_getMyIntegerP(field_0x644, "Timer"); int* integerP = dComIfGp_evmng_getMyIntegerP(field_0x644, "Timer");
if (integerP == NULL) { if (integerP == NULL) {
field_0x648 = 1; field_0x648 = 1;
@ -247,6 +247,7 @@ int daDoorPush_c::demoProc() {
field_0x648 = *integerP; field_0x648 = *integerP;
} }
break; break;
}
case OPEN_e: case OPEN_e:
rotateInit(); rotateInit();
field_0x641 = 0; field_0x641 = 0;

View File

@ -131,7 +131,6 @@ int daDoor20_c::CreateHeap() {
field_0x5a0.entry(mModel1->getModelData()); field_0x5a0.entry(mModel1->getModelData());
mModel2->calc(); mModel2->calc();
} else { } else {
switch (kind) { switch (kind) {
case 0: case 0:
case 3: case 3:
@ -145,11 +144,14 @@ int daDoor20_c::CreateHeap() {
case 1: case 1:
anm = (J3DAnmTransform*)dComIfG_getObjectRes(getArcName(), "oj_DoorOpC.bck"); anm = (J3DAnmTransform*)dComIfG_getObjectRes(getArcName(), "oj_DoorOpC.bck");
break; break;
case 2: case 2:
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getStageRes(getBtk()); J3DAnmTextureSRTKey* pbtk;
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getStageRes(getBtk());
JUT_ASSERT(421, pbtk != NULL); JUT_ASSERT(421, pbtk != NULL);
field_0x5c0 = new mDoExt_btkAnm(); field_0x5c0 = new mDoExt_btkAnm();
if (field_0x5c0 == NULL || !field_0x5c0->init(mModel1->getModelData(), pbtk, 1, 0, 1.0f, 0, -1)) { if (field_0x5c0 == NULL ||
!field_0x5c0->init(mModel1->getModelData(), pbtk, 1, 0, 1.0f, 0, -1))
{
return 0; return 0;
} }
anm = (J3DAnmTransform*)dComIfG_getObjectRes(getArcName(), "oj_DoorOpD.bck"); anm = (J3DAnmTransform*)dComIfG_getObjectRes(getArcName(), "oj_DoorOpD.bck");
@ -820,17 +822,18 @@ int daDoor20_c::create() {
int daDoor20_c::demoProc() { int daDoor20_c::demoProc() {
field_0x6cc = dComIfGp_evmng_getMyStaffId("SHUTTER_DOOR", 0, 0); field_0x6cc = dComIfGp_evmng_getMyStaffId("SHUTTER_DOOR", 0, 0);
int demoAction = getDemoAction(); int demoAction = getDemoAction();
J3DAnmTransform* anm;
if (dComIfGp_evmng_getIsAddvance(field_0x6cc)) { if (dComIfGp_evmng_getIsAddvance(field_0x6cc)) {
switch (demoAction) { switch (demoAction) {
case 0: case 0: {
int* pTimer = dComIfGp_evmng_getMyIntegerP( int* pTimer = dComIfGp_evmng_getMyIntegerP(field_0x6cc, "Timer");
field_0x6cc, "Timer");
if (pTimer == NULL) { if (pTimer == NULL) {
field_0x5dd = 1; field_0x5dd = 1;
} else { } else {
field_0x5dd = *pTimer; field_0x5dd = *pTimer;
} }
break; break;
}
case 3: case 3:
openInit(0); openInit(0);
break; break;
@ -854,13 +857,14 @@ int daDoor20_c::demoProc() {
keyhole->setOpen(); keyhole->setOpen();
} }
} }
int swBit = door_param2_c::getSwbit(this); int swBit;
swBit = door_param2_c::getSwbit(this);
if (swBit != 0xff && if (swBit != 0xff &&
!dComIfGs_isSwitch(swBit, 0xffffffff) && !dComIfGs_isSwitch(swBit, 0xffffffff) &&
(door_param2_c::getFrontOption(this) == 2 || door_param2_c::getBackOption(this) == 2)) (door_param2_c::getFrontOption(this) == 2 || door_param2_c::getBackOption(this) == 2))
{ {
dComIfGs_onSwitch(swBit, 0xffffffff); dComIfGs_onSwitch(swBit, 0xffffffff);
dComIfGp_setItemKeyNumCount(0xffffffff); dComIfGp_setItemKeyNumCount(-1);
if (field_0x673 == 1) { if (field_0x673 == 1) {
fopAcM_seStart(this, Z2SE_OBJ_DOOR_LOCK_OPEN, 0); fopAcM_seStart(this, Z2SE_OBJ_DOOR_LOCK_OPEN, 0);
} else { } else {
@ -885,8 +889,7 @@ int daDoor20_c::demoProc() {
setAngle(); setAngle();
break; break;
case 13: case 13:
J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes( anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAlwaysArcName(), "FDoorB.bck");
getAlwaysArcName(), "FDoorB.bck");
JUT_ASSERT(1796, anm != NULL); JUT_ASSERT(1796, anm != NULL);
if (!field_0x584.init(anm, 1, 0, 1.0f, 0, -1, true) || !field_0x5a0.init(anm, if (!field_0x584.init(anm, 1, 0, 1.0f, 0, -1, true) || !field_0x5a0.init(anm,
1, 0, 1.0f, 0, -1, true)) 1, 0, 1.0f, 0, -1, true))
@ -897,8 +900,7 @@ int daDoor20_c::demoProc() {
openInit2(); openInit2();
break; break;
case 12: case 12:
anm = anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAlwaysArcName(), "FDoorA.bck");
(J3DAnmTransform*)dComIfG_getObjectRes(getAlwaysArcName(), "FDoorA.bck");
JUT_ASSERT(1809, anm != NULL); JUT_ASSERT(1809, anm != NULL);
if (!field_0x584.init(anm, 1, 0, 1.0f, 0, -1, true) || !field_0x5a0.init(anm, if (!field_0x584.init(anm, 1, 0, 1.0f, 0, -1, true) || !field_0x5a0.init(anm,
1, 0, 1.0f, 0, -1, true)) 1, 0, 1.0f, 0, -1, true))
@ -1102,7 +1104,7 @@ int daDoor20_c::demoProc() {
case 25: case 25:
dComIfGp_evmng_cutEnd(field_0x6cc); dComIfGp_evmng_cutEnd(field_0x6cc);
break; break;
case 26: case 26: {
int msgNo = door_param2_c::getMsgNo(this); int msgNo = door_param2_c::getMsgNo(this);
if (door_param2_c::isMsgDoor(this) && msgNo != 0xffff) { if (door_param2_c::isMsgDoor(this) && msgNo != 0xffff) {
dComIfGp_event_offHindFlag(1); dComIfGp_event_offHindFlag(1);
@ -1113,6 +1115,7 @@ int daDoor20_c::demoProc() {
dComIfGp_evmng_cutEnd(field_0x6cc); dComIfGp_evmng_cutEnd(field_0x6cc);
} }
break; break;
}
case 27: case 27:
case 28: case 28:
if (field_0x5c0->play()) { if (field_0x5c0->play()) {
@ -1678,7 +1681,8 @@ void daDoor20_c::makeEventId() {
} }
break; break;
case 4: case 4:
int j = 0; int j;
j = 0;
for (i = 12; i < 19; i++, j++) { for (i = 12; i < 19; i++, j++) {
field_0x692[i] = field_0x692[i] =
dComIfGp_getEventManager().getEventIdx(this, knob_table[j], field_0x6b8[i]); dComIfGp_getEventManager().getEventIdx(this, knob_table[j], field_0x6b8[i]);

View File

@ -344,9 +344,10 @@ static void e_bi_ex(e_bi_class* i_this) {
i_this->field_0x670 = 1; i_this->field_0x670 = 1;
i_this->field_0x694 = 160; i_this->field_0x694 = 160;
anm_init(i_this, BCK_BI_BOMBPOSE, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); anm_init(i_this, BCK_BI_BOMBPOSE, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f);
f32 fVar1 = cM_rndF(0.2f) + 0.9f; f32 fVar1;
fVar1 = cM_rndF(0.2f) + 0.9f;
i_this->field_0x6a2 = 0; i_this->field_0x6a2 = 0;
i_this->field_0x6a4 = 3800.0f * fVar1; i_this->field_0x6a4 = (3800.0f + JREG_F(5)) * fVar1;
i_this->field_0x6a8 = fVar1 * 20.0f; i_this->field_0x6a8 = fVar1 * 20.0f;
a_this->speed.y = 23.0f; a_this->speed.y = 23.0f;
break; break;
@ -358,8 +359,8 @@ static void e_bi_ex(e_bi_class* i_this) {
} }
// fallthrough // fallthrough
case 2: case 2:
cLib_addCalc0(&i_this->field_0x6a8, 1.0f, 1.0f); cLib_addCalc0(&i_this->field_0x6a8, 1.0f, 1.0f + JREG_F(7));
cLib_addCalcAngleS2(&i_this->field_0x6a4, 0, 1, 200); cLib_addCalcAngleS2(&i_this->field_0x6a4, 0, 1, 200 + JREG_S(6));
break; break;
} }
@ -374,13 +375,13 @@ static void e_bi_ex(e_bi_class* i_this) {
if (i_this->field_0x694 != 0) { if (i_this->field_0x694 != 0) {
i_this->field_0x694--; i_this->field_0x694--;
i_this->mSound.startCreatureSoundLevel(Z2SE_OBJ_BOMB_IGNITION, 0, -1); i_this->mSound.startCreatureSoundLevel(Z2SE_OBJ_BOMB_IGNITION, 0, -1);
i_this->field_0x696 += 0x1100; i_this->field_0x696 += (s16) 0x1100;
if (i_this->field_0x694 < 45) { if (i_this->field_0x694 < 45) {
i_this->field_0x696 += 0x1100; i_this->field_0x696 += (s16) 0x1100;
if (i_this->field_0x694 < 30) { if (i_this->field_0x694 < 30) {
i_this->field_0x696 += 0x1100; i_this->field_0x696 += (s16) 0x1100;
} }
} }

View File

@ -511,6 +511,7 @@ static void e_bu_path_fly(e_bu_class* i_this) {
fopAc_ac_c* actor = &i_this->enemy; fopAc_ac_c* actor = &i_this->enemy;
fopAc_ac_c* player = dComIfGp_getPlayer(0); fopAc_ac_c* player = dComIfGp_getPlayer(0);
cXyz sp18; cXyz sp18;
dPnt* pnt;
switch (i_this->mode) { switch (i_this->mode) {
case 0: case 0:
@ -540,7 +541,7 @@ static void e_bu_path_fly(e_bu_class* i_this) {
case 2: case 2:
i_this->mode = 3; i_this->mode = 3;
dPnt* pnt = i_this->ppd->m_points; pnt = i_this->ppd->m_points;
pnt += i_this->now_path_pntNo; pnt += i_this->now_path_pntNo;
i_this->field_0x690 = TREG_F(7); i_this->field_0x690 = TREG_F(7);

View File

@ -502,6 +502,7 @@ void daE_FZ_c::executeAttack() {
void daE_FZ_c::executeDamage() { void daE_FZ_c::executeDamage() {
cXyz pos; cXyz pos;
pos.set(l_HIO.field_0x0c, l_HIO.field_0x0c, l_HIO.field_0x0c); pos.set(l_HIO.field_0x0c, l_HIO.field_0x0c, l_HIO.field_0x0c);
f32 tmp;
switch(mActionPhase) { switch(mActionPhase) {
case 0: case 0:
@ -519,7 +520,7 @@ void daE_FZ_c::executeDamage() {
fopAcM_delete(this); fopAcM_delete(this);
break; break;
case 1: case 1:
f32 tmp = l_HIO.field_0x28; tmp = l_HIO.field_0x28;
speedF = tmp; speedF = tmp;
field_0x6fc = tmp; field_0x6fc = tmp;
case 5: case 5:
@ -611,9 +612,7 @@ void daE_FZ_c::executeRollMove() {
cXyz pos; cXyz pos;
s16 roll_angle = static_cast<daB_YO_c*>(mpBlizzetaActor)->getFrizadRollAngle(); s16 roll_angle = static_cast<daB_YO_c*>(mpBlizzetaActor)->getFrizadRollAngle();
f32 mode_rarius = static_cast<daB_YO_c*>(mpBlizzetaActor)->getModeRarius(); f32 mode_rarius = 100.0f + static_cast<daB_YO_c*>(mpBlizzetaActor)->getModeRarius();
mode_rarius = 100.0f + mode_rarius;
if (mode_rarius < 400.0f) if (mode_rarius < 400.0f)
mode_rarius = 400.0f; mode_rarius = 400.0f;
@ -636,9 +635,8 @@ void daE_FZ_c::executeRollMove() {
pos.z += (f32)(mode_rarius * cM_scos(roll_angle + field_0x715 * 0xccc)); pos.z += (f32)(mode_rarius * cM_scos(roll_angle + field_0x715 * 0xccc));
current.pos = pos; current.pos = pos;
u32 frizad_attack = static_cast<daB_YO_c*>(mpBlizzetaActor)->getFrizadAttack();
if (frizad_attack == 3) { if (static_cast<daB_YO_c*>(mpBlizzetaActor)->getFrizadAttack() == 3) {
mActionPhase = 2; mActionPhase = 2;
speedF = 60.0f; speedF = 60.0f;
current.angle.y = cLib_targetAngleY(&static_cast<daB_YO_c*>(mpBlizzetaActor)->current.pos,&current.pos); current.angle.y = cLib_targetAngleY(&static_cast<daB_YO_c*>(mpBlizzetaActor)->current.pos,&current.pos);
@ -655,7 +653,8 @@ void daE_FZ_c::executeRollMove() {
} }
if (mAtSph.ChkAtHit()) { if (mAtSph.ChkAtHit()) {
if ((fopAcM_GetName(mAtSph.GetAtHitAc()) == PROC_ALINK) || mAtSph.ChkAtShieldHit()) { fopAc_ac_c* at_hit_actor = mAtSph.GetAtHitAc();
if ((fopAcM_GetName(at_hit_actor) == PROC_ALINK) || mAtSph.ChkAtShieldHit()) {
setActionMode(ACT_DAMAGE,0); setActionMode(ACT_DAMAGE,0);
return; return;
} }

View File

@ -659,6 +659,7 @@ void daE_GE_c::executeBack() {
cXyz position; cXyz position;
cXyz position2; cXyz position2;
s16 chaseAngle = 0x0; s16 chaseAngle = 0x0;
s16 distAngleS;
switch (mMode) { switch (mMode) {
case 0: case 0:
@ -694,7 +695,7 @@ void daE_GE_c::executeBack() {
position = position =
calcCircleFly(&home.pos, &position2, field_0xb8c, field_0xb58, field_0xb8a, 1.0f); calcCircleFly(&home.pos, &position2, field_0xb8c, field_0xb58, field_0xb8a, 1.0f);
s16 distAngleS = distAngleS =
cLib_distanceAngleS(cLib_targetAngleY(&current.pos, &home.pos), shape_angle.y); cLib_distanceAngleS(cLib_targetAngleY(&current.pos, &home.pos), shape_angle.y);
if (position.y > 100.0f || mObjAcch.ChkWallHit() || distAngleS >= 0x5000) { if (position.y > 100.0f || mObjAcch.ChkWallHit() || distAngleS >= 0x5000) {
field_0xb8c += 0x190; field_0xb8c += 0x190;
@ -993,27 +994,26 @@ void daE_GE_c::executeWind() {
} }
switch (mMode) { switch (mMode) {
case 0: case 0: {
field_0xb9e = 0; field_0xb9e = 0;
cXyz boomerangPos(daPy_py_c::getThrowBoomerangActor()->current.pos); cXyz boomerangPos(daPy_py_c::getThrowBoomerangActor()->current.pos);
field_0xb58 = current.pos.absXZ(boomerangPos); field_0xb58 = current.pos.absXZ(boomerangPos);
field_0xb5c = current.pos.y - boomerangPos.y; field_0xb5c = current.pos.y - boomerangPos.y;
speed.y = 0.0f; speedF = speed.y = 0.0f;
speedF = 0.0f;
mMode = 1; mMode = 1;
bckSet(9, 3.0f, 2, 1.0f); bckSet(9, 3.0f, 2, 1.0f);
field_0xb64 = cM_rndFX(50.0f); field_0xb64 = cM_rndFX(50.0f);
field_0xb60 = cM_rndFX(100.0f); field_0xb60 = cM_rndFX(100.0f);
}
/* fallthrough */ /* fallthrough */
case 1: case 1: {
if (mpMorfSO->checkFrame(0.0f)) { if (mpMorfSO->checkFrame(0.0f)) {
mSound.startCreatureVoice(Z2SE_EN_GE_V_FURA, -1); mSound.startCreatureVoice(Z2SE_EN_GE_V_FURA, -1);
} }
cXyz boomerangPos2(daPy_py_c::getThrowBoomerangActor()->current.pos); cXyz boomerangPos2(daPy_py_c::getThrowBoomerangActor()->current.pos);
field_0xb8c += 0x800; field_0xb8c += (s16)0x800;
current.pos.x = boomerangPos2.x + field_0xb58 * cM_ssin(field_0xb8c); current.pos.x = boomerangPos2.x + field_0xb58 * cM_ssin(field_0xb8c);
current.pos.z = boomerangPos2.z + field_0xb58 * cM_scos(field_0xb8c); current.pos.z = boomerangPos2.z + field_0xb58 * cM_scos(field_0xb8c);
cLib_chaseF(&field_0xb58, field_0xb60, 2.0f); cLib_chaseF(&field_0xb58, field_0xb60, 2.0f);
@ -1028,6 +1028,7 @@ void daE_GE_c::executeWind() {
field_0xb8a = 0x3000; field_0xb8a = 0x3000;
shape_angle.y += field_0xb8a; shape_angle.y += field_0xb8a;
break; break;
}
case 2: case 2:
cLib_addCalcAngleS2(&field_0xb8a, 0, 4, 0x180); cLib_addCalcAngleS2(&field_0xb8a, 0, 4, 0x180);
@ -1042,7 +1043,6 @@ void daE_GE_c::executeWind() {
setActionMode(ACTION_BACK); setActionMode(ACTION_BACK);
mMode = 10; mMode = 10;
} }
break;
} }
} }

View File

@ -679,13 +679,13 @@ void daE_HZ_c::initBackWalk() {
} }
void daE_HZ_c::executeAway() { void daE_HZ_c::executeAway() {
f32 diff;
switch (mMode) { switch (mMode) {
case 0: case 0:
gravity = 0.0f; gravity = 0.0f;
speed.y = 0.0f; speed.y = 0.0f;
mSpheres[0].OffTgSetBit(); mSpheres[0].OffTgSetBit();
shape_angle.z = 0; shape_angle.x = shape_angle.z = 0;
shape_angle.x = 0;
setBck(0xF, 0, 10.0f, 1.0f); setBck(0xF, 0, 10.0f, 1.0f);
field_0x6e4 = 1; field_0x6e4 = 1;
mMode = 1; mMode = 1;
@ -724,7 +724,7 @@ void daE_HZ_c::executeAway() {
break; break;
case 2: case 2:
f32 diff = (current.pos - field_0x678).absXZ(); diff = (current.pos - field_0x678).absXZ();
cLib_chaseAngleS(&shape_angle.y, cLib_targetAngleY(&current.pos, &field_0x678), cLib_chaseAngleS(&shape_angle.y, cLib_targetAngleY(&current.pos, &field_0x678),
diff < 500.0f ? (s16)0x800 : (s16)0x200); diff < 500.0f ? (s16)0x800 : (s16)0x200);
cLib_chaseF(&speedF, l_HIO.escape_speed, 1.0f); cLib_chaseF(&speedF, l_HIO.escape_speed, 1.0f);
@ -823,6 +823,8 @@ void daE_HZ_c::executeWind() {
dBgS_LinChk linChk; dBgS_LinChk linChk;
BOOL bVar = false; BOOL bVar = false;
f32 frame = mpMorfSO->getFrame(); f32 frame = mpMorfSO->getFrame();
f32 playerDist;
f32 groundCross;
mpBoomerangActor = daPy_py_c::getThrowBoomerangActor(); mpBoomerangActor = daPy_py_c::getThrowBoomerangActor();
switch (mMode) { switch (mMode) {
@ -839,7 +841,7 @@ void daE_HZ_c::executeWind() {
mMode = 1; mMode = 1;
field_0x6e4 = 0; field_0x6e4 = 0;
f32 playerDist = fopAcM_searchPlayerDistance(this); playerDist = fopAcM_searchPlayerDistance(this);
if (playerDist >= 1000.0f) { if (playerDist >= 1000.0f) {
playerDist = 1000.0f; playerDist = 1000.0f;
} }
@ -927,7 +929,7 @@ void daE_HZ_c::executeWind() {
cLib_chaseF(&field_0x678.x, 0.0f, 20.0f); cLib_chaseF(&field_0x678.x, 0.0f, 20.0f);
gndChk.SetPos(&position); gndChk.SetPos(&position);
f32 groundCross = dComIfG_Bgsp().GroundCross(&gndChk); groundCross = dComIfG_Bgsp().GroundCross(&gndChk);
if (frame < 38.0f) { if (frame < 38.0f) {
if (position.y - groundCross < 500.0f) { if (position.y - groundCross < 500.0f) {
position.y = groundCross + 500.0f; position.y = groundCross + 500.0f;

View File

@ -932,6 +932,9 @@ void daE_KK_c::executeWeaponMove() {
current.angle.y = actor->shape_angle.y + 0x190; current.angle.y = actor->shape_angle.y + 0x190;
} }
f32 temp;
f32 player_distance_y;
switch (mMoveMode) { switch (mMoveMode) {
case 0: case 0:
shape_angle.x = home.angle.x + 0x878C; shape_angle.x = home.angle.x + 0x878C;
@ -948,8 +951,7 @@ void daE_KK_c::executeWeaponMove() {
mDistance = (fopAcM_searchPlayerDistance(this) - l_HIO.direct_attack_range) * 1.5f; mDistance = (fopAcM_searchPlayerDistance(this) - l_HIO.direct_attack_range) * 1.5f;
f32 temp = 2000.0f; temp = 2000.0f;
f32 player_distance_y;
if (fopAcM_searchPlayerDistanceY(this) < -300.0f) { if (fopAcM_searchPlayerDistanceY(this) < -300.0f) {
player_distance_y = (fopAcM_searchPlayerDistanceY(this) + 300.0f) * -2.0f; player_distance_y = (fopAcM_searchPlayerDistanceY(this) + 300.0f) * -2.0f;

View File

@ -207,7 +207,7 @@ static void e_mm_mt_carry(e_mm_mt_class* i_this) {
fopAc_ac_c* player = (fopAc_ac_c*) dComIfGp_getPlayer(0); fopAc_ac_c* player = (fopAc_ac_c*) dComIfGp_getPlayer(0);
switch (i_this->m_mode) { switch (i_this->m_mode) {
case 0: case 0: {
cLib_offBit<u32>(actor->attention_info.flags, fopAc_AttnFlag_CARRY_e); cLib_offBit<u32>(actor->attention_info.flags, fopAc_AttnFlag_CARRY_e);
i_this->m_mode = 1; i_this->m_mode = 1;
s16 angle_delta_y1 = 0x4000 + player->shape_angle.y; s16 angle_delta_y1 = 0x4000 + player->shape_angle.y;
@ -215,11 +215,11 @@ static void e_mm_mt_carry(e_mm_mt_class* i_this) {
if (angle_delta_y > 0x4000 || angle_delta_y < -0x4000) { if (angle_delta_y > 0x4000 || angle_delta_y < -0x4000) {
i_this->m_carryAngle = -0x8000; i_this->m_carryAngle = -0x8000;
} else { } else {
i_this->m_carryAngle = 0; i_this->m_carryAngle = 0;
} }
void(0); void(0);
break; break;
}
case 1: case 1:
if (!fopAcM_checkCarryNow(actor)) { if (!fopAcM_checkCarryNow(actor)) {
i_this->m_action = 3; i_this->m_action = 3;

View File

@ -3,8 +3,9 @@
* Enemy - Beehive * Enemy - Beehive
*/ */
#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/dolzel_rel.h" // IWYU pragma: keep
#include "d/d_s_play.h"
#include "d/actor/d_a_e_nest.h" #include "d/actor/d_a_e_nest.h"
#include "d/actor/d_a_npc_tk.h" #include "d/actor/d_a_npc_tk.h"
#include "SSystem/SComponent/c_math.h" #include "SSystem/SComponent/c_math.h"
@ -431,13 +432,14 @@ static void e_nest_drop(e_nest_class* i_this) {
} }
static s8 e_nest_carry(e_nest_class* i_this) { static s8 e_nest_carry(e_nest_class* i_this) {
fopAc_ac_c* a_this = static_cast<fopAc_ac_c*>(i_this);
fopAc_ac_c* player = dComIfGp_getPlayer(0); fopAc_ac_c* player = dComIfGp_getPlayer(0);
i_this->speed.y = 0.0f; a_this->speed.y = 0.0f;
s8 ret = true; s8 ret = true;
switch (i_this->mMode) { switch (i_this->mMode) {
case 0: case 0: {
cLib_offBit<u32>(i_this->attention_info.flags, fopAc_AttnFlag_CARRY_e); cLib_offBit<u32>(a_this->attention_info.flags, fopAc_AttnFlag_CARRY_e);
i_this->mMode = 1; i_this->mMode = 1;
s16 angle_delta_y = i_this->mRotation.y - player->shape_angle.y; s16 angle_delta_y = i_this->mRotation.y - player->shape_angle.y;
if (angle_delta_y > 0x4000 || angle_delta_y < -0x4000) { if (angle_delta_y > 0x4000 || angle_delta_y < -0x4000) {
@ -447,21 +449,22 @@ static s8 e_nest_carry(e_nest_class* i_this) {
} }
i_this->mTimers[0] = 20; i_this->mTimers[0] = 20;
break; break;
}
case 1: case 1:
if (!fopAcM_checkCarryNow(i_this)) { if (!fopAcM_checkCarryNow(a_this)) {
i_this->mTimers[0] = 0; i_this->mTimers[0] = 0;
i_this->mCcSph.OnCoSetBit(); i_this->mCcSph.OnCoSetBit();
i_this->mAction = e_nest_class::ACT_DROP; i_this->mAction = e_nest_class::ACT_DROP;
if (i_this->speedF >= 1.0f) { if (fopAcM_GetSpeedF(a_this) >= 1.0f) {
i_this->speedF = 30.0f; a_this->speedF = 30.0f + NREG_F(7);
i_this->speed.y = 30.0f; a_this->speed.y = 30.0f + NREG_F(8);
i_this->current.angle.y = player->shape_angle.y; a_this->current.angle.y = player->shape_angle.y;
i_this->mMode = 0; i_this->mMode = 0;
} else { } else {
i_this->speedF = 0.0f; a_this->speedF = 0.0f;
i_this->mMode = 3; i_this->mMode = 3;
i_this->mWobble = 500.0f; i_this->mWobble = 500.0f + NREG_F(0);
} }
} else { } else {
ret = false; ret = false;

View File

@ -616,20 +616,20 @@ static void e_sh_disappear(e_sh_class* i_this) {
int i; int i;
switch (i_this->field_0x678) { switch (i_this->field_0x678) {
case 0: case 0: {
anm_init(i_this, 12, 5.0f, 0, 1.0f); anm_init(i_this, 12, 5.0f, 0, 1.0f);
i_this->field_0x678 = 1; i_this->field_0x678 = 1;
cXyz partScale(l_HIO.mBaseSize, l_HIO.mBaseSize, l_HIO.mBaseSize); cXyz partScale(l_HIO.mBaseSize, l_HIO.mBaseSize, l_HIO.mBaseSize);
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
dComIfGp_particle_set(dp_name[i], &actor->current.pos, dComIfGp_particle_set(dp_name[i], &actor->current.pos, &actor->shape_angle, &partScale);
&actor->shape_angle, &partScale);
} }
i_this->mSound.startCreatureSound(Z2SE_EN_SH_DISAPPEAR, 0, -1); i_this->mSound.startCreatureSound(Z2SE_EN_SH_DISAPPEAR, 0, -1);
break; break;
}
case 1: case 1:
if (i_this->mAnm_p->isStop()) { if (i_this->mAnm_p->isStop()) {
i_this->field_0x676 = 0; i_this->field_0x676 = 0;

View File

@ -1762,7 +1762,7 @@ cPhs__Step daE_SW_c::create() {
mBgc.OnLineCheck(); mBgc.OnLineCheck();
field_0x698 = 2; field_0x698 = 2;
attention_info.distances[2] = 3; attention_info.distances[2] = 3;
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
} else { } else {
attention_info.distances[2] = 4; attention_info.distances[2] = 4;
@ -1826,7 +1826,7 @@ extern actor_process_profile_definition g_profile_E_SW = {
}; };
void daE_SW_c::d_checkFall() { void daE_SW_c::d_checkFall() {
if (d_checkAction(daE_SW_c::d_hook) || d_checkAction(daE_SW_c::d_fall) || d_checkAction(daE_SW_c::d_attk)) { if (d_checkAction(&daE_SW_c::d_hook) || d_checkAction(&daE_SW_c::d_fall) || d_checkAction(&daE_SW_c::d_attk)) {
return; return;
} }
@ -1843,7 +1843,7 @@ void daE_SW_c::d_checkFall() {
if (speed.y < 0.0f) { if (speed.y < 0.0f) {
if ((fVar1 == -G_CM3D_F_INF || std::abs(fVar1 - current.pos.y) > 1000.0f) || dComIfG_Bgsp().GetGroundCode(gnd_chk) == 4 || if ((fVar1 == -G_CM3D_F_INF || std::abs(fVar1 - current.pos.y) > 1000.0f) || dComIfG_Bgsp().GetGroundCode(gnd_chk) == 4 ||
dComIfG_Bgsp().GetGroundCode(gnd_chk) == 10 || dComIfG_Bgsp().GetGroundCode(gnd_chk) == 5) { dComIfG_Bgsp().GetGroundCode(gnd_chk) == 10 || dComIfG_Bgsp().GetGroundCode(gnd_chk) == 5) {
d_setAction(daE_SW_c::d_fall); d_setAction(&daE_SW_c::d_fall);
} }
} }
} }
@ -1854,7 +1854,7 @@ void daE_SW_c::d_damage_check() {
mStts.Move(); mStts.Move();
if (field_0x6f2 == 0) { if (field_0x6f2 == 0) {
if (d_checkAction(daE_SW_c::d_damage) || d_checkAction(daE_SW_c::d_die)) { if (d_checkAction(&daE_SW_c::d_damage) || d_checkAction(&daE_SW_c::d_die)) {
return; return;
} }
@ -1862,7 +1862,7 @@ void daE_SW_c::d_damage_check() {
field_0x98c.OffAtShieldHit(); field_0x98c.OffAtShieldHit();
if (player->checkPlayerGuard()) { if (player->checkPlayerGuard()) {
d_setAction(daE_SW_c::d_chance); d_setAction(&daE_SW_c::d_chance);
return; return;
} }
} }
@ -1897,22 +1897,22 @@ void daE_SW_c::d_damage_check() {
player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_JUMP_FINISH)) { player->getCutType() == daPy_py_c::CUT_TYPE_LARGE_JUMP_FINISH)) {
health = 0; health = 0;
field_0x698 = 0; field_0x698 = 0;
d_setAction(daE_SW_c::d_damage); d_setAction(&daE_SW_c::d_damage);
} else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || mAtInfo.mpCollider->ChkAtType(AT_TYPE_BOMB) || } else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_IRON_BALL) || mAtInfo.mpCollider->ChkAtType(AT_TYPE_BOMB) ||
mAtInfo.mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK)) { mAtInfo.mpCollider->ChkAtType(AT_TYPE_MIDNA_LOCK)) {
health = 0; health = 0;
field_0x698 = 0; field_0x698 = 0;
d_setAction(daE_SW_c::d_damage); d_setAction(&daE_SW_c::d_damage);
} else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) { } else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_HOOKSHOT)) {
d_setAction(daE_SW_c::d_hook); d_setAction(&daE_SW_c::d_hook);
} else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK) || mAtInfo.mpCollider->ChkAtType(AT_TYPE_40) || } else if (mAtInfo.mpCollider->ChkAtType(AT_TYPE_SHIELD_ATTACK) || mAtInfo.mpCollider->ChkAtType(AT_TYPE_40) ||
mAtInfo.mpCollider->ChkAtType(AT_TYPE_BOOMERANG)) { mAtInfo.mpCollider->ChkAtType(AT_TYPE_BOOMERANG)) {
if (!d_checkAction(daE_SW_c::d_chance2)) { if (!d_checkAction(&daE_SW_c::d_chance2)) {
d_setAction(daE_SW_c::d_chance2); d_setAction(&daE_SW_c::d_chance2);
} }
} else { } else {
field_0x698--; field_0x698--;
d_setAction(daE_SW_c::d_damage); d_setAction(&daE_SW_c::d_damage);
} }
} }
} }
@ -1962,7 +1962,7 @@ void daE_SW_c::d_bm_chase() {
fopAcM_SearchByID(field_0x688, (fopAc_ac_c**)&bomb); fopAcM_SearchByID(field_0x688, (fopAc_ac_c**)&bomb);
if (bomb == NULL || bomb->checkStateExplode()) { if (bomb == NULL || bomb->checkStateExplode()) {
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
} else { } else {
switch (mMoveMode) { switch (mMoveMode) {
case 0: case 0:
@ -1990,7 +1990,7 @@ void daE_SW_c::d_bm_chase() {
} }
field_0x6a8 = bomb->current.pos; field_0x6a8 = bomb->current.pos;
d_setAction(daE_SW_c::d_attk); d_setAction(&daE_SW_c::d_attk);
return; return;
default: default:
@ -2091,9 +2091,9 @@ void daE_SW_c::d_wait() {
shape_angle.y = current.angle.y; shape_angle.y = current.angle.y;
if (d_bomb_check()) { if (d_bomb_check()) {
d_setAction(daE_SW_c::d_bm_chase); d_setAction(&daE_SW_c::d_bm_chase);
} else if (field_0x6ec == 0 && d_chaseCheck()) { } else if (field_0x6ec == 0 && d_chaseCheck()) {
d_setAction(daE_SW_c::d_chase); d_setAction(&daE_SW_c::d_chase);
} }
} }
@ -2140,17 +2140,17 @@ void daE_SW_c::d_chase() {
setSmokeEffect(); setSmokeEffect();
if (field_0x6ee == 0) { if (field_0x6ee == 0) {
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
return; return;
} }
if (player->current.pos.absXZ(current.pos) >= l_HIO.character_notice_dist) { if (player->current.pos.absXZ(current.pos) >= l_HIO.character_notice_dist) {
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
return; return;
} }
if (player->current.pos.absXZ(current.pos) < l_HIO.human_attack_init_range) { if (player->current.pos.absXZ(current.pos) < l_HIO.human_attack_init_range) {
d_setAction(daE_SW_c::d_attk); d_setAction(&daE_SW_c::d_attk);
return; return;
} }
@ -2205,7 +2205,7 @@ void daE_SW_c::d_attk() {
current.angle.y = sVar1; current.angle.y = sVar1;
gravity = -4.0f; gravity = -4.0f;
if (d_checkOldAction(daE_SW_c::d_bm_chase)) { if (d_checkOldAction(&daE_SW_c::d_bm_chase)) {
field_0x69e = cLib_targetAngleY(&current.pos, &field_0x6a8); field_0x69e = cLib_targetAngleY(&current.pos, &field_0x6a8);
speedF = current.pos.abs(field_0x6a8) / 25.0f; speedF = current.pos.abs(field_0x6a8) / 25.0f;
} else { } else {
@ -2241,7 +2241,7 @@ void daE_SW_c::d_attk() {
field_0x6d8 = -60.0f; field_0x6d8 = -60.0f;
if ((field_0x6bc & 1) == 0) { if ((field_0x6bc & 1) == 0) {
d_setAction(daE_SW_c::d_chance); d_setAction(&daE_SW_c::d_chance);
} else { } else {
field_0x6e4 = 1; field_0x6e4 = 1;
setDiveEffect(); setDiveEffect();
@ -2280,7 +2280,7 @@ void daE_SW_c::d_attk() {
case 4: case 4:
if ((field_0x6bc & 3) == 0) { if ((field_0x6bc & 3) == 0) {
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
current.pos = old.pos; current.pos = old.pos;
break; break;
} else { } else {
@ -2289,7 +2289,7 @@ void daE_SW_c::d_attk() {
return; return;
} }
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
field_0x6d8 = -120.0f; field_0x6d8 = -120.0f;
cXyz sp30(current.pos); cXyz sp30(current.pos);
sp30.y += 200.0f; sp30.y += 200.0f;
@ -2324,7 +2324,7 @@ void daE_SW_c::d_chance() {
bckSet(BCK_SW_CHANCE, 5.0f, 2, 1.0f); bckSet(BCK_SW_CHANCE, 5.0f, 2, 1.0f);
speedF = 0.0f; speedF = 0.0f;
if (d_checkOldAction(daE_SW_c::d_hook)) { if (d_checkOldAction(&daE_SW_c::d_hook)) {
field_0x6ea = 200; field_0x6ea = 200;
} else { } else {
field_0x6ea = 100; field_0x6ea = 100;
@ -2366,7 +2366,7 @@ void daE_SW_c::d_chance() {
} }
if (field_0x6ea == 0 && mBgc.ChkGroundHit() && field_0x6bc == 3) { if (field_0x6ea == 0 && mBgc.ChkGroundHit() && field_0x6bc == 3) {
d_setAction(daE_SW_c::d_dive); d_setAction(&daE_SW_c::d_dive);
} }
break; break;
} }
@ -2390,7 +2390,7 @@ void daE_SW_c::d_chance2() {
if (mBgc.ChkGroundHit()) { if (mBgc.ChkGroundHit()) {
mSound.startCreatureSound(Z2SE_EN_SW_BTBT, field_0x6e9, -1); mSound.startCreatureSound(Z2SE_EN_SW_BTBT, field_0x6e9, -1);
d_setAction(daE_SW_c::d_chance); d_setAction(&daE_SW_c::d_chance);
} }
break; break;
} }
@ -2421,7 +2421,7 @@ void daE_SW_c::d_dive() {
field_0x6e5 = 1; field_0x6e5 = 1;
field_0x6d8 = -120.0f; field_0x6d8 = -120.0f;
d_setAction(daE_SW_c::d_wait); d_setAction(&daE_SW_c::d_wait);
break; break;
default: default:
@ -2490,11 +2490,11 @@ void daE_SW_c::d_damage() {
speed.y = 0.0f; speed.y = 0.0f;
if (field_0x698 <= 0) { if (field_0x698 <= 0) {
d_setAction(daE_SW_c::d_die); d_setAction(&daE_SW_c::d_die);
return; return;
} }
d_setAction(daE_SW_c::d_chance); d_setAction(&daE_SW_c::d_chance);
return; return;
default: default:
@ -2611,7 +2611,7 @@ void daE_SW_c::d_hook() {
speedF = -10.0f; speedF = -10.0f;
gravity = -5.0f; gravity = -5.0f;
field_0x6d8 = 0.0f; field_0x6d8 = 0.0f;
d_setAction(daE_SW_c::d_chance); d_setAction(&daE_SW_c::d_chance);
} }
break; break;

View File

@ -818,13 +818,13 @@ static void demo_camera(e_th_class* i_this) {
} }
} }
break; break;
case 10: case 10: {
if (!i_this->eventInfo.checkCommandDemoAccrpt()) { if (!i_this->eventInfo.checkCommandDemoAccrpt()) {
fopAcM_orderPotentialEvent(i_this, 2, 0xFFFF, 0); fopAcM_orderPotentialEvent(i_this, 2, 0xFFFF, 0);
i_this->eventInfo.onCondition(2); i_this->eventInfo.onCondition(2);
return; return;
} }
camera->mCamera.Stop(); camera->mCamera.Stop();
i_this->mDemoCamMode = 11; i_this->mDemoCamMode = 11;
i_this->mDemoCamTimer = 0; i_this->mDemoCamTimer = 0;
@ -864,6 +864,7 @@ static void demo_camera(e_th_class* i_this) {
anm_init(i_this, 0xE, 2.0f, 0, 1.0f); anm_init(i_this, 0xE, 2.0f, 0, 1.0f);
i_this->mMode = 1; i_this->mMode = 1;
dComIfGs_onSaveSwitch(94); dComIfGs_onSaveSwitch(94);
}
case 11: case 11:
if (i_this->mDemoCamTimer == 55 && i_this->field_0x567 != 0) { if (i_this->mDemoCamTimer == 55 && i_this->field_0x567 != 0) {
daPy_getPlayerActorClass()->changeDemoMode(0x17, 1, 2, 0); daPy_getPlayerActorClass()->changeDemoMode(0x17, 1, 2, 0);

View File

@ -964,7 +964,7 @@ void daE_TT_c::executeFirstAttack() {
} }
break; break;
case 11: case 11: {
f32 playerSpeedF = player->getSpeedF() * 17.0f; f32 playerSpeedF = player->getSpeedF() * 17.0f;
cXyz xyz(playerSpeedF * cM_ssin(player->shape_angle.y), 0.0f, cXyz xyz(playerSpeedF * cM_ssin(player->shape_angle.y), 0.0f,
playerSpeedF * cM_scos(player->shape_angle.y)); playerSpeedF * cM_scos(player->shape_angle.y));
@ -992,6 +992,7 @@ void daE_TT_c::executeFirstAttack() {
current.angle.y = shape_angle.y; current.angle.y = shape_angle.y;
} }
break; break;
}
case 12: case 12:
mSphere.OnAtSetBit(); mSphere.OnAtSetBit();

View File

@ -1443,6 +1443,7 @@ void daE_VA_c::executeDemoOp() {
camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
cXyz sp2C; cXyz sp2C;
cXyz sp38; cXyz sp38;
f32 old;
daPy_py_c* player = daPy_getPlayerActorClass(); daPy_py_c* player = daPy_getPlayerActorClass();
calcOpRopePos(); calcOpRopePos();
@ -1664,7 +1665,7 @@ void daE_VA_c::executeDemoOp() {
} }
sp38.set(26.0f, 187.0f, 236.0f); sp38.set(26.0f, 187.0f, 236.0f);
f32 old = field_0x122c.y; old = field_0x122c.y;
if (cLib_chasePosXZ(&field_0x122c, sp38, 4.2f)) { if (cLib_chasePosXZ(&field_0x122c, sp38, 4.2f)) {
field_0x122c.y = old; field_0x122c.y = old;
@ -2304,7 +2305,7 @@ void daE_VA_c::executeOpaciFly() {
case 0: case 0:
case 20: case 20:
case 21: case 21:
case 22: case 22: {
attention_info.flags = 0; attention_info.flags = 0;
if (mMode == 0) { if (mMode == 0) {
@ -2329,8 +2330,9 @@ void daE_VA_c::executeOpaciFly() {
current.angle.y = temp_r0; current.angle.y = temp_r0;
mDemoModeTimer = nREG_S(0) + 15; mDemoModeTimer = nREG_S(0) + 15;
}
/* fallthrough */ /* fallthrough */
case 1: case 1: {
if (mDemoModeTimer == 0 && !checkBck(ANM_FLOAT_WAIT_e)) { if (mDemoModeTimer == 0 && !checkBck(ANM_FLOAT_WAIT_e)) {
setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::EMode_LOOP, nREG_F(19) + 30.0f, 1.0f); setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::EMode_LOOP, nREG_F(19) + 30.0f, 1.0f);
} }
@ -2359,6 +2361,7 @@ void daE_VA_c::executeOpaciFly() {
mMode = 2; mMode = 2;
} }
break; break;
}
case 2: case 2:
mMode = 3; mMode = 3;
mDemoModeTimer = 30; mDemoModeTimer = 30;
@ -3063,7 +3066,7 @@ void daE_VA_c::calcMagicMove() {
case 0: case 0:
mMagicSphs[i].OffAtSetBit(); mMagicSphs[i].OffAtSetBit();
break; break;
case 1: case 1: {
mMagicSphs[i].OnAtSetBit(); mMagicSphs[i].OnAtSetBit();
field_0x1228[i] = 2; field_0x1228[i] = 2;
@ -3084,6 +3087,7 @@ void daE_VA_c::calcMagicMove() {
f32 temp_f31 = std::abs(cM_scos(sp8) * 50.0f); f32 temp_f31 = std::abs(cM_scos(sp8) * 50.0f);
mMagicSpeed[i].set(temp_f31 * cM_ssin(spA), cM_ssin(sp8) * 50.0f, mMagicSpeed[i].set(temp_f31 * cM_ssin(spA), cM_ssin(sp8) * 50.0f,
temp_f31 * cM_scos(spA)); temp_f31 * cM_scos(spA));
}
/* fallthrough */ /* fallthrough */
case 2: case 2:
Z2GetAudioMgr()->seStartLevel(Z2SE_EN_VA_ATK_BALL, &mMagicPos[i], 0, 0, 1.0f, 1.0f, Z2GetAudioMgr()->seStartLevel(Z2SE_EN_VA_ATK_BALL, &mMagicPos[i], 0, 0, 1.0f, 1.0f,

View File

@ -662,45 +662,48 @@ static void e_yh_attack(e_yh_class* i_this) {
i_this->mSound.startCreatureVoice(Z2SE_EN_DB_V_BITE, -1); i_this->mSound.startCreatureVoice(Z2SE_EN_DB_V_BITE, -1);
} }
break; break;
case 2: case 2: {
if (i_this->field_0x698[1] != 0) { if (i_this->field_0x698[1] != 0) {
i_this->field_0xb18 = 1; i_this->field_0xb18 = 1;
} }
cLib_addCalc2(&a_this->current.pos.x, i_this->field_0x678.x, 0.8f, a_this->speed.x * i_this->field_0x690); cLib_addCalc2(&a_this->current.pos.x, i_this->field_0x678.x, 0.8f,
cLib_addCalc2(&a_this->current.pos.z, i_this->field_0x678.z, 0.8f, a_this->speed.z * i_this->field_0x690); a_this->speed.x * i_this->field_0x690);
cLib_addCalc2(&a_this->current.pos.y, i_this->field_0x678.y, 0.8f, a_this->speed.y * i_this->field_0x690); cLib_addCalc2(&a_this->current.pos.z, i_this->field_0x678.z, 0.8f,
a_this->speed.z * i_this->field_0x690);
cLib_addCalc2(&a_this->current.pos.y, i_this->field_0x678.y, 0.8f,
a_this->speed.y * i_this->field_0x690);
cLib_addCalc2(&i_this->field_0x690, 0.2f, 1.0f, 0.05f); cLib_addCalc2(&i_this->field_0x690, 0.2f, 1.0f, 0.05f);
cLib_addCalcAngleS2(&a_this->shape_angle.z, i_this->field_0x864, 2, 0x2000); cLib_addCalcAngleS2(&a_this->shape_angle.z, i_this->field_0x864, 2, 0x2000);
daPy_py_c* pdVar6 = (daPy_py_c*)daPy_getPlayerActorClass(); daPy_py_c* pdVar6 = (daPy_py_c*)daPy_getPlayerActorClass();
if (!pdVar6->getDkCaught()) { if (!pdVar6->getDkCaught()) {
if (!pdVar6->getDkCaught2() && i_this->mAtSph.ChkAtHit()) { if (!pdVar6->getDkCaught2() && i_this->mAtSph.ChkAtHit()) {
cCcD_Obj* hitObj = i_this->mAtSph.GetAtHitObj(); cCcD_Obj* hitObj = i_this->mAtSph.GetAtHitObj();
if (player == dCc_GetAc(hitObj->GetAc())) { if (player == dCc_GetAc(hitObj->GetAc())) {
OS_REPORT("E_DB//////////////AT SET 1 !!\n"); OS_REPORT("E_DB//////////////AT SET 1 !!\n");
i_this->field_0x670 = 5; i_this->field_0x670 = 5;
i_this->field_0x690 = 20.0f; i_this->field_0x690 = 20.0f;
anm_init(i_this, 8, 2.0f, 2, 1.0f); anm_init(i_this, 8, 2.0f, 2, 1.0f);
i_this->field_0x698[0] = 120; i_this->field_0x698[0] = 120;
daPy_py_c* pyPlayer = (daPy_py_c*)daPy_getPlayerActorClass(); daPy_py_c* pyPlayer = (daPy_py_c*)daPy_getPlayerActorClass();
pyPlayer->setDkCaught(a_this); pyPlayer->setDkCaught(a_this);
dComIfGp_getVibration().StartShock(6, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); dComIfGp_getVibration().StartShock(6, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
break; break;
} }
} }
} }
if (i_this->mpMorf->isStop()) { if (i_this->mpMorf->isStop()) {
i_this->field_0x670 = 3; i_this->field_0x670 = 3;
i_this->field_0x698[0] = 0; i_this->field_0x698[0] = 0;
} }
break; break;
}
case 3: case 3:
if (i_this->field_0x698[0] == 0) { if (i_this->field_0x698[0] == 0) {
i_this->field_0x66e = 3; i_this->field_0x66e = 3;
@ -1350,8 +1353,8 @@ static s8 e_yh_escape(e_yh_class* i_this) {
} }
} }
break; break;
case 2: case 2: {
local_bc = a_this->home.pos - a_this->current.pos; local_bc = a_this->home.pos - a_this->current.pos;
local_bc.y = 0.0f; local_bc.y = 0.0f;
s16 homeAngle = cM_atan2s(local_bc.x, local_bc.z); s16 homeAngle = cM_atan2s(local_bc.x, local_bc.z);
@ -1363,7 +1366,8 @@ static s8 e_yh_escape(e_yh_class* i_this) {
i_this->mSound.startCreatureSound(Z2SE_EN_DB_GRASS, 0, -1); i_this->mSound.startCreatureSound(Z2SE_EN_DB_GRASS, 0, -1);
} }
break; break;
}
case 3: case 3:
local_116 = 0; local_116 = 0;
cLib_addCalc0(&i_this->field_0x844, 1.0f, 1.0f); cLib_addCalc0(&i_this->field_0x844, 1.0f, 1.0f);

View File

@ -92,7 +92,7 @@ static void dKy_event_proc() {
env_light->dice_wether_state = DICE_STATE_INIT_e; env_light->dice_wether_state = DICE_STATE_INIT_e;
} }
break; break;
case DICE_STATE_INIT_e: case DICE_STATE_INIT_e: {
u8 table_no = cM_rndF(12.99f); u8 table_no = cM_rndF(12.99f);
if (table_no >= 8) { if (table_no >= 8) {
env_light->dice_wether_state = DICE_STATE_NEXT_e; env_light->dice_wether_state = DICE_STATE_NEXT_e;
@ -132,6 +132,7 @@ static void dKy_event_proc() {
env_light->dice_wether_state++; env_light->dice_wether_state++;
} }
break; break;
}
case DICE_STATE_EXEC_e: case DICE_STATE_EXEC_e:
if (current_time > env_light->dice_wether_time && if (current_time > env_light->dice_wether_time &&
current_time - env_light->dice_wether_time < 180.0f) current_time - env_light->dice_wether_time < 180.0f)
@ -812,7 +813,7 @@ static void daKytag06_type_03_Execute(kytag06_class* i_this) {
dComIfGs_onSwitch(i_this->mSwNo, dComIfGp_roomControl_getStayNo()); dComIfGs_onSwitch(i_this->mSwNo, dComIfGp_roomControl_getStayNo());
} }
break; break;
case 1: case 1: {
int old = i_this->field_0x578; int old = i_this->field_0x578;
i_this->field_0x578--; i_this->field_0x578--;
@ -820,6 +821,7 @@ static void daKytag06_type_03_Execute(kytag06_class* i_this) {
i_this->mMode++; i_this->mMode++;
} }
break; break;
}
case 2: case 2:
if ((g_Counter.mCounter0 & 7) == 0) { if ((g_Counter.mCounter0 & 7) == 0) {
// run block every 8 frames // run block every 8 frames
@ -861,7 +863,7 @@ static int daKytag06_Execute(kytag06_class* i_this) {
dComIfGs_getTime(); dComIfGs_getTime();
switch (i_this->mType) { switch (i_this->mType) {
case 1: case 1: {
camera_class* camera = dComIfGp_getCamera(0); camera_class* camera = dComIfGp_getCamera(0);
if (i_this->mpPath != NULL) { if (i_this->mpPath != NULL) {
@ -899,6 +901,7 @@ static int daKytag06_Execute(kytag06_class* i_this) {
} }
} }
break; break;
}
case 2: case 2:
if (i_this->mSwNo != 0xFF) { if (i_this->mSwNo != 0xFF) {
if (dComIfGs_isSwitch(i_this->mSwNo, dComIfGp_roomControl_getStayNo()) && i_this->mMode == 0) { if (dComIfGs_isSwitch(i_this->mSwNo, dComIfGp_roomControl_getStayNo()) && i_this->mMode == 0) {
@ -1040,6 +1043,7 @@ static int daKytag06_Execute(kytag06_class* i_this) {
} }
break; break;
case 4: case 4:
void(0);
break; break;
} }

View File

@ -594,7 +594,7 @@ BOOL daNpc_Hoz_c::evtEndProc() {
field_0xf8b = 1; field_0xf8b = 1;
field_0xf8c = 0; field_0xf8c = 0;
break; break;
case 5: case 5: {
field_0xf8a = 1; field_0xf8a = 1;
field_0xf8c = 0; field_0xf8c = 0;
@ -604,6 +604,7 @@ BOOL daNpc_Hoz_c::evtEndProc() {
dMeter2Info_onMenuInForce(2); dMeter2Info_onMenuInForce(2);
} }
break; break;
}
case 6: case 6:
field_0xf8b = 1; field_0xf8b = 1;

View File

@ -1139,6 +1139,7 @@ static int npc_ks_demo_02(npc_ks_class* i_this) {
fopAc_ac_c* a_pill_p = pillar_p; fopAc_ac_c* a_pill_p = pillar_p;
switch (i_this->mMode) { switch (i_this->mMode) {
int _;
case 0: case 0:
anm_init(i_this, 26, 3.0f, 2, 1.0f); anm_init(i_this, 26, 3.0f, 2, 1.0f);
i_this->mMode = 1; i_this->mMode = 1;

View File

@ -1201,7 +1201,7 @@ static void npc_ne_pathwalk(npc_ne_class* i_this) {
i_this->mMode = 1; i_this->mMode = 1;
// fallthrough // fallthrough
case 1: case 1: {
i_this->mPathPointNo += i_this->mPathDir; i_this->mPathPointNo += i_this->mPathDir;
if (i_this->mPathPointNo >= (i_this->mpPath->m_num & 0xff)) { if (i_this->mPathPointNo >= (i_this->mpPath->m_num & 0xff)) {
if (dPath_ChkClose(i_this->mpPath)) { if (dPath_ChkClose(i_this->mpPath)) {
@ -1222,7 +1222,7 @@ static void npc_ne_pathwalk(npc_ne_class* i_this) {
i_this->mMode = 2; i_this->mMode = 2;
i_this->mAngleYStep = 0.0f; i_this->mAngleYStep = 0.0f;
break; break;
}
case 2: case 2:
i_this->mLookTarget = i_this->mTargetPos; i_this->mLookTarget = i_this->mTargetPos;
cXyz delta = i_this->mTargetPos - i_this->current.pos; cXyz delta = i_this->mTargetPos - i_this->current.pos;

View File

@ -323,8 +323,8 @@ int daNpcTkc_c::Draw() {
} }
int daNpcTkc_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { int daNpcTkc_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
int jntNo = i_joint->getJntNo(); J3DJoint* joint = i_joint;
u16 jointNo = jointNo; int jntNo = joint->getJntNo();
if ((jntNo == JNT_ARMR || jntNo == JNT_MOUTH) && (mAnmFlags & ANM_PLAY_BCK)) { if ((jntNo == JNT_ARMR || jntNo == JNT_MOUTH) && (mAnmFlags & ANM_PLAY_BCK)) {
J3DAnmTransform* anm = mBckAnm.getBckAnm(); J3DAnmTransform* anm = mBckAnm.getBckAnm();
mBckAnm.changeBckOnly(mAnm_p->getAnm()); mBckAnm.changeBckOnly(mAnm_p->getAnm());

View File

@ -417,7 +417,7 @@ void daNpc_Uri_c::reset() {
cStack_a0.y = home.angle.y; cStack_a0.y = home.angle.y;
switch (mType) { switch (mType) {
case TYPE_1: case TYPE_1: {
mPath.setNextPathInfo(fopAcM_GetRoomNo(this), 0); mPath.setNextPathInfo(fopAcM_GetRoomNo(this), 0);
int num = mPath.getNumPnts(); int num = mPath.getNumPnts();
acStack_38 = mPath.getPntPos(num - 2); acStack_38 = mPath.getPntPos(num - 2);
@ -464,6 +464,7 @@ void daNpc_Uri_c::reset() {
} }
} }
break; break;
}
case TYPE_4: case TYPE_4:
field_0x100d = 1; field_0x100d = 1;
break; break;
@ -1232,7 +1233,7 @@ int daNpc_Uri_c::cutFindWolf(int param_1) {
if (dComIfGp_getEventManager().getIsAddvance(param_1)) { if (dComIfGp_getEventManager().getIsAddvance(param_1)) {
switch (iVar11) { switch (iVar11) {
case 0: case 0: {
mFaceMotionSeqMngr.setNo(12, 0.0f, 0, 0); mFaceMotionSeqMngr.setNo(12, 0.0f, 0, 0);
mMotionSeqMngr.setNo(23, 0.0f, 0, 0); mMotionSeqMngr.setNo(23, 0.0f, 0, 0);
mSound.startCreatureVoice(JAISoundID(Z2SE_URI_V_SCREAM_S), -1); mSound.startCreatureVoice(JAISoundID(Z2SE_URI_V_SCREAM_S), -1);
@ -1256,6 +1257,7 @@ int daNpc_Uri_c::cutFindWolf(int param_1) {
* night */ * night */
dComIfGs_onTmpBit(0x1308); dComIfGs_onTmpBit(0x1308);
break; break;
}
case 1: case 1:
fopAc_ac_c* actor = mActorMngr[0].getActorP(); fopAc_ac_c* actor = mActorMngr[0].getActorP();
if (actor) { if (actor) {

View File

@ -628,7 +628,8 @@ int daNpc_ZelRo_c::talk(void* param_1) {
#ifdef DEBUG #ifdef DEBUG
int daNpc_ZelRo_c::test(void* param_1) { int daNpc_ZelRo_c::test(void* param_1) {
int rt = 0;
return rt;
} }
#endif #endif

View File

@ -214,7 +214,7 @@ int daObjAvalanche_c::demoProc() {
int actIdx = dComIfGp_evmng_getMyActIdx(mStaffId, action_table, 2, 0, 0); int actIdx = dComIfGp_evmng_getMyActIdx(mStaffId, action_table, 2, 0, 0);
if (dComIfGp_evmng_getIsAddvance(mStaffId)) { if (dComIfGp_evmng_getIsAddvance(mStaffId)) {
switch (actIdx) { switch (actIdx) {
case 0: case 0: {
int* puVar3 = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); int* puVar3 = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer");
if (puVar3 == NULL) { if (puVar3 == NULL) {
mTimer = 1; mTimer = 1;
@ -222,11 +222,13 @@ int daObjAvalanche_c::demoProc() {
mTimer = *puVar3; mTimer = *puVar3;
} }
break; break;
}
case 1: case 1:
mBckAnm->setPlaySpeed(1.0f); mBckAnm->setPlaySpeed(1.0f);
eyePos = current.pos; eyePos = current.pos;
fopAcM_seStart(this, Z2SE_OBJ_SNOW_SLIDE, 0); fopAcM_seStart(this, Z2SE_OBJ_SNOW_SLIDE, 0);
setEffect(); setEffect();
OS_REPORT("崩れる雪:SEセット\n"); // Avalanche: SE Set
break; break;
} }
} }

View File

@ -1292,7 +1292,8 @@ int daObjCarry_c::create() {
} }
#endif #endif
int create_phase = cPhs_NEXT_e; int create_phase;
create_phase = cPhs_NEXT_e;
switch (mType) { switch (mType) {
case TYPE_BALL_S: case TYPE_BALL_S:

View File

@ -54,7 +54,7 @@ void daObjE_CREATE_c::NormalAction() {
mActionMode++; mActionMode++;
} }
break; break;
case MODE_KILL_CHECK: case MODE_KILL_CHECK: {
int killed_num; int killed_num;
int enemyNum = mEnemyNum; int enemyNum = mEnemyNum;
@ -68,14 +68,15 @@ void daObjE_CREATE_c::NormalAction() {
if (killed_num == enemyNum) { if (killed_num == enemyNum) {
mActionMode++; mActionMode++;
if (mDeactivateSw != 0xFF && if (mDeactivateSw != 0xFF && !dComIfGs_isSwitch(mDeactivateSw, fopAcM_GetRoomNo(this)))
!dComIfGs_isSwitch(mDeactivateSw, fopAcM_GetRoomNo(this))) { {
dComIfGs_onSwitch(mDeactivateSw, fopAcM_GetRoomNo(this)); dComIfGs_onSwitch(mDeactivateSw, fopAcM_GetRoomNo(this));
} }
mKillCheckDelayTimer = 100; mKillCheckDelayTimer = 100;
} }
break; break;
}
case MODE_END: case MODE_END:
break; break;
} }

View File

@ -117,13 +117,14 @@ static int daObjKABUTO_Delete(daObjKABUTO_c* i_this) {
void daObjKABUTO_c::ShopWaitAction() { void daObjKABUTO_c::ShopWaitAction() {
switch (mMode) { switch (mMode) {
case 0: case 0: {
speedF = 0.0f; speedF = 0.0f;
J3DAnmTransform* anm = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("Kab_m", 7)); J3DAnmTransform* anm = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("Kab_m", 7));
mpMorf->setAnm(anm, 2, 5.0f, 0.0f, 0.0f, -1.0f); mpMorf->setAnm(anm, 2, 5.0f, 0.0f, 0.0f, -1.0f);
mMode++; mMode++;
mTimers[0] = cM_rndF(50.0f) + 50.0f; mTimers[0] = cM_rndF(50.0f) + 50.0f;
break; break;
}
case 1: case 1:
mTimers[0]--; mTimers[0]--;
@ -148,13 +149,14 @@ void daObjKABUTO_c::ShopWaitAction() {
void daObjKABUTO_c::WaitAction() { void daObjKABUTO_c::WaitAction() {
switch (mMode) { switch (mMode) {
case 0: case 0: {
speedF = 0.0f; speedF = 0.0f;
J3DAnmTransform* anm = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("Kab_m", 7)); J3DAnmTransform* anm = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes("Kab_m", 7));
mpMorf->setAnm(anm, 2, 5.0f, 0.0f, 0.0f, -1.0f); mpMorf->setAnm(anm, 2, 5.0f, 0.0f, 0.0f, -1.0f);
mMode++; mMode++;
mTimers[0] = cM_rndF(50.0f) + 50.0f; mTimers[0] = cM_rndF(50.0f) + 50.0f;
break; break;
}
case 1: case 1:
if (fopAcM_searchActorDistance(this, daPy_getPlayerActorClass()) < 1500.0f) { if (fopAcM_searchActorDistance(this, daPy_getPlayerActorClass()) < 1500.0f) {

View File

@ -872,7 +872,7 @@ void daObjKGate_c::demoProc() {
if (dComIfGp_evmng_getIsAddvance(mStaffID)) { if (dComIfGp_evmng_getIsAddvance(mStaffID)) {
switch (demo_action) { switch (demo_action) {
case DEMO_ACT_WAIT: case DEMO_ACT_WAIT: {
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer");
if (timer_p == NULL) { if (timer_p == NULL) {
mTimer = 1; mTimer = 1;
@ -880,6 +880,7 @@ void daObjKGate_c::demoProc() {
mTimer = *timer_p; mTimer = *timer_p;
} }
break; break;
}
case DEMO_ACT_OPEN: case DEMO_ACT_OPEN:
mGateLMove = 1000; mGateLMove = 1000;
mGateRMove = -1000; mGateRMove = -1000;

View File

@ -765,7 +765,7 @@ void daObjRgate_c::demoProc() {
if (dComIfGp_evmng_getIsAddvance(mStaffID)) { if (dComIfGp_evmng_getIsAddvance(mStaffID)) {
switch (demo_action) { switch (demo_action) {
case DEMO_ACT_WAIT: case DEMO_ACT_WAIT: {
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer");
if (timer_p == NULL) { if (timer_p == NULL) {
mTimer = 1; mTimer = 1;
@ -773,6 +773,7 @@ void daObjRgate_c::demoProc() {
mTimer = *timer_p; mTimer = *timer_p;
} }
break; break;
}
case DEMO_ACT_OPEN: case DEMO_ACT_OPEN:
mGateLMove = 1000; mGateLMove = 1000;
mGateRMove = -1000; mGateRMove = -1000;

View File

@ -162,7 +162,7 @@ int daObjSmgDoor_c::demoProc() {
if (dComIfGp_evmng_getIsAddvance(mStaffId) != 0) { if (dComIfGp_evmng_getIsAddvance(mStaffId) != 0) {
switch (demo_action) { switch (demo_action) {
case 0: case 0: {
int* intP = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); int* intP = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer");
if (intP == NULL) { if (intP == NULL) {
field_0x5e9 = 1; field_0x5e9 = 1;
@ -170,6 +170,7 @@ int daObjSmgDoor_c::demoProc() {
field_0x5e9 = *intP; field_0x5e9 = *intP;
} }
break; break;
}
case 1: case 1:
openInit(); openInit();
break; break;

View File

@ -187,7 +187,7 @@ int daObjSwBallC_c::demoProc() {
player->onShieldBackBone(); player->onShieldBackBone();
if (dComIfGp_evmng_getIsAddvance(field_0x578)) { if (dComIfGp_evmng_getIsAddvance(field_0x578)) {
switch (uVar1) { switch (uVar1) {
case 0: case 0: {
int* puVar4 = dComIfGp_evmng_getMyIntegerP(field_0x578, "Timer"); int* puVar4 = dComIfGp_evmng_getMyIntegerP(field_0x578, "Timer");
if (puVar4 == NULL) { if (puVar4 == NULL) {
field_0x580 = 1; field_0x580 = 1;
@ -195,6 +195,7 @@ int daObjSwBallC_c::demoProc() {
field_0x580 = *puVar4; field_0x580 = *puVar4;
} }
break; break;
}
case 1: case 1:
field_0x574->setPlaySpeed(1.0f); field_0x574->setPlaySpeed(1.0f);
break; break;

View File

@ -108,14 +108,14 @@ static int daObjTEN_Delete(daObjTEN_c* i_this) {
void daObjTEN_c::WaitAction() { void daObjTEN_c::WaitAction() {
switch (field_0x5e9) { switch (field_0x5e9) {
case 0: case 0: {
speedF = 0.0f; speedF = 0.0f;
J3DAnmTransform* anmTransform = (J3DAnmTransform*)dComIfG_getObjectRes("I_Ten", 7); J3DAnmTransform* anmTransform = (J3DAnmTransform*)dComIfG_getObjectRes("I_Ten", 7);
mMorf->setAnm(anmTransform, 2, 5.0f, 0.0f, 0.0f, mMorf->setAnm(anmTransform, 2, 5.0f, 0.0f, 0.0f, -1.0f);
-1.0f);
field_0x5e9++; field_0x5e9++;
field_0x5ea[0] = cM_rndF(50.0f) + 50.0f; field_0x5ea[0] = cM_rndF(50.0f) + 50.0f;
break; break;
}
case 1: case 1:
if (fopAcM_searchPlayerDistance(this) < 1500.0f) { if (fopAcM_searchPlayerDistance(this) < 1500.0f) {
field_0x5ea[0]--; field_0x5ea[0]--;

View File

@ -113,7 +113,7 @@ void daObjTHASHI_c::setBaseMtx() {
break; break;
case 1: case 1:
case 2: case 2:
case 7: case 7: {
for (s16 i = 0; i < 10; i++) { for (s16 i = 0; i < 10; i++) {
mDoMtx_stack_c::transS(mCollectiveTrans[i]); mDoMtx_stack_c::transS(mCollectiveTrans[i]);
mDoMtx_stack_c::ZXYrotM(mCollectiveRot[i]); mDoMtx_stack_c::ZXYrotM(mCollectiveRot[i]);
@ -132,6 +132,7 @@ void daObjTHASHI_c::setBaseMtx() {
mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::ZXYrotM(shape_angle);
mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get()); mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get());
break; break;
}
case 3: case 3:
for (s16 i = 0; i < 50; i++) { for (s16 i = 0; i < 50; i++) {
mDoMtx_stack_c::transS(mCollectiveTrans[i]); mDoMtx_stack_c::transS(mCollectiveTrans[i]);
@ -151,7 +152,7 @@ void daObjTHASHI_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::ZXYrotM(shape_angle);
mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get()); mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get());
break; return;
} }
} }

View File

@ -97,7 +97,7 @@ int daScExit_c::demoProc() {
if (dComIfGp_evmng_getIsAddvance(mStaffID)) { if (dComIfGp_evmng_getIsAddvance(mStaffID)) {
switch (act_id) { switch (act_id) {
case WAIT_e: case WAIT_e: {
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer");
if (timer_p == NULL) { if (timer_p == NULL) {
@ -106,6 +106,7 @@ int daScExit_c::demoProc() {
mTimer = *timer_p; mTimer = *timer_p;
} }
break; break;
}
case START_e: case START_e:
fopAcM_seStart(this, Z2SE_SY_WARP_FADE, 0); fopAcM_seStart(this, Z2SE_SY_WARP_FADE, 0);
attention_info.position.y = current.pos.y + 800.0f; attention_info.position.y = current.pos.y + 800.0f;

View File

@ -9,6 +9,7 @@
#include "d/d_com_inf_game.h" #include "d/d_com_inf_game.h"
#include "d/d_msg_object.h" #include "d/d_msg_object.h"
#include "f_op/f_op_actor_mng.h" #include "f_op/f_op_actor_mng.h"
#include "JSystem/JUtility/JUTAssert.h"
struct daTagTWGate_zevParam { struct daTagTWGate_zevParam {
/* 0x00 */ char* mArcName; /* 0x00 */ char* mArcName;
@ -293,24 +294,21 @@ void daTagTWGate_c::executeDemoFilone3() {
} }
switch (*cutName) { switch (*cutName) {
case 0x30303031: case 0x30303031: {
int modelSts = downloadModels(); int modelSts = downloadModels();
if (modelSts == 1) { if (modelSts == 1) {
dComIfGp_evmng_cutEnd(staffId); dComIfGp_evmng_cutEnd(staffId);
} else if (modelSts == -1) { } else if (modelSts == -1) {
dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mPoint, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
break; break;
case 0x30303032: }
case 0x30303032: {
if (dComIfGp_getEvent().chkFlag2(8)) { if (dComIfGp_getEvent().chkFlag2(8)) {
dComIfGp_getEvent().onSkipFade(); dComIfGp_getEvent().onSkipFade();
dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mPoint, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
u8 old_5e1 = field_0x5e1; u8 old_5e1 = field_0x5e1;
@ -323,7 +321,7 @@ void daTagTWGate_c::executeDemoFilone3() {
mDoMtx_stack_c::transS(player->current.pos); mDoMtx_stack_c::transS(player->current.pos);
mDoMtx_stack_c::YrotM(sxyz.y); mDoMtx_stack_c::YrotM(sxyz.y);
mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f);
cXyz pos; cXyz pos;
pos.x = mDoMtx_stack_c::get()[0][3]; pos.x = mDoMtx_stack_c::get()[0][3];
pos.y = mDoMtx_stack_c::get()[1][3]; pos.y = mDoMtx_stack_c::get()[1][3];
@ -333,6 +331,7 @@ void daTagTWGate_c::executeDemoFilone3() {
dComIfGp_evmng_cutEnd(staffId); dComIfGp_evmng_cutEnd(staffId);
} }
break; break;
}
case 0x30303033: case 0x30303033:
if (dComIfGp_getEvent().chkFlag2(8)) { if (dComIfGp_getEvent().chkFlag2(8)) {
dComIfGp_getEvent().onSkipFade(); dComIfGp_getEvent().onSkipFade();
@ -482,32 +481,30 @@ void daTagTWGate_c::executeDemoOrdin3() {
mpMorf->setPlaySpeed(1.0f); mpMorf->setPlaySpeed(1.0f);
field_0x5e0 = 1; field_0x5e0 = 1;
break; break;
default:
JUT_PANIC(829, "0");
break;
} }
} }
switch(*cutName) { switch(*cutName) {
case '0001': case '0001':
int downloadResult = downloadModels(); int downloadResult;
downloadResult = downloadModels();
if (downloadResult == 1) { if (downloadResult == 1) {
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} else if (downloadResult == -1) { } else if (downloadResult == -1) {
dComIfGp_setNextStage( dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
break; break;
case '0002': case '0002':
if (dComIfGp_getEvent().checkSkipEdge()) { if (dComIfGp_getEvent().checkSkipEdge()) {
dComIfGp_getEvent().onSkipFade(); dComIfGp_getEvent().onSkipFade();
dComIfGp_setNextStage( dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
int dVar2 = daPy_py_c::checkNowWolf() ? 0x2e : 0x4a; if (field_0x5e1++ == (daPy_py_c::checkNowWolf() ? 0x2e : 0x4a)) {
if (field_0x5e1++ == dVar2) {
daPy_py_c* player = daPy_getPlayerActorClass(); daPy_py_c* player = daPy_getPlayerActorClass();
cXyz cStack_30; cXyz cStack_30;
csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0); csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0);
@ -516,8 +513,8 @@ void daTagTWGate_c::executeDemoOrdin3() {
mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f);
mDoMtx_stack_c::multVecZero(&cStack_30); mDoMtx_stack_c::multVecZero(&cStack_30);
dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL); dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL);
Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, 1.0f, 1.0f, -1.0f,
1.0f, 1.0f, -1.0f, -1.0f, 0); -1.0f, 0);
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} }
break; break;
@ -534,6 +531,9 @@ void daTagTWGate_c::executeDemoOrdin3() {
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} }
break; break;
default:
JUT_PANIC(890, "0");
break;
} }
if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) {
@ -668,32 +668,29 @@ void daTagTWGate_c::executeDemoRanail3() {
mpMorf->setPlaySpeed(1.0f); mpMorf->setPlaySpeed(1.0f);
field_0x5e0 = 1; field_0x5e0 = 1;
break; break;
default:
JUT_PANIC(1099, "0");
break;
} }
} }
switch(*cutName) { switch(*cutName) {
case '0001': case '0001':
int downloadResult = downloadModels(); int downloadResult;
downloadResult = downloadModels();
if (downloadResult == 1) { if (downloadResult == 1) {
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} else if (downloadResult == -1) { } else if (downloadResult == -1) {
dComIfGp_setNextStage( dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
break; break;
case '0002': case '0002':
if (dComIfGp_getEvent().checkSkipEdge()) { if (dComIfGp_getEvent().checkSkipEdge()) {
dComIfGp_getEvent().onSkipFade(); dComIfGp_getEvent().onSkipFade();
dComIfGp_setNextStage( dComIfGp_setNextStage(l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mStage, l_zevParamTbl[mType].mRoomNo, l_zevParamTbl[mType].mLayer);
l_zevParamTbl[mType].mPoint,
l_zevParamTbl[mType].mRoomNo,
l_zevParamTbl[mType].mLayer);
} }
int dVar2 = daPy_py_c::checkNowWolf() ? 0x2e : 0x4a; if (field_0x5e1++ == (daPy_py_c::checkNowWolf() ? 0x2e : 0x4a)) {
if (field_0x5e1++ == dVar2) {
daPy_py_c* player = daPy_getPlayerActorClass(); daPy_py_c* player = daPy_getPlayerActorClass();
cXyz cStack_30; cXyz cStack_30;
csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0); csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0);
@ -702,8 +699,8 @@ void daTagTWGate_c::executeDemoRanail3() {
mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f);
mDoMtx_stack_c::multVecZero(&cStack_30); mDoMtx_stack_c::multVecZero(&cStack_30);
dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL); dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL);
Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, 1.0f, 1.0f, -1.0f,
1.0f, 1.0f, -1.0f, -1.0f, 0); -1.0f, 0);
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} }
break; break;
@ -720,6 +717,9 @@ void daTagTWGate_c::executeDemoRanail3() {
evtMng.cutEnd(staffId); evtMng.cutEnd(staffId);
} }
break; break;
default:
JUT_PANIC(1160, "0");
break;
} }
if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) {
@ -854,7 +854,8 @@ void daTagTWGate_c::executeDemoHyral3() {
} }
switch(*piVar3) { switch(*piVar3) {
case '0001': case '0001':
int downloadRes = downloadModels(); int downloadRes;
downloadRes = downloadModels();
if (downloadRes == 1) { if (downloadRes == 1) {
eventMgr.cutEnd(staffId); eventMgr.cutEnd(staffId);
} else if (downloadRes == -1) { } else if (downloadRes == -1) {

View File

@ -136,7 +136,7 @@ void daTagKagoFall_c::actionWaitRiver() {
} }
break; break;
case 4: case 4: {
daPy_getPlayerActorClass()->offNoResetFlg0(daPy_py_c::FLG0_UNK_10000); daPy_getPlayerActorClass()->offNoResetFlg0(daPy_py_c::FLG0_UNK_10000);
int msg = mMsgFlow.doFlow(this, NULL, 0); int msg = mMsgFlow.doFlow(this, NULL, 0);
@ -151,6 +151,7 @@ void daTagKagoFall_c::actionWaitRiver() {
mActionState = 5; mActionState = 5;
} }
break; break;
}
case 5: case 5:
// Maybe contained some stripped out debug code? // Maybe contained some stripped out debug code?
@ -233,7 +234,7 @@ void daTagKagoFall_c::actionWaitFall() {
break; break;
case 3: case 3: {
player->setPlayerPosAndAngle(&mRestartPos, 0, 0); player->setPlayerPosAndAngle(&mRestartPos, 0, 0);
int msg = mMsgFlow.doFlow(this, NULL, 0); int msg = mMsgFlow.doFlow(this, NULL, 0);
if (msg != 0) { if (msg != 0) {
@ -247,6 +248,7 @@ void daTagKagoFall_c::actionWaitFall() {
mActionState = 10; mActionState = 10;
} }
break; break;
}
case 10: case 10:
// Maybe contained some stripped out debug code? // Maybe contained some stripped out debug code?

View File

@ -104,7 +104,7 @@ int daTagRiverBack_c::demoProc() {
if (dComIfGp_evmng_getIsAddvance(mStaffID)) { if (dComIfGp_evmng_getIsAddvance(mStaffID)) {
switch (act_id) { switch (act_id) {
case WAIT_e: case WAIT_e: {
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer"); int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffID, "Timer");
if (timer_p == NULL) { if (timer_p == NULL) {
mTimer = 1; mTimer = 1;
@ -112,6 +112,7 @@ int daTagRiverBack_c::demoProc() {
mTimer = *timer_p; mTimer = *timer_p;
} }
break; break;
}
case SCENE_CHG_e: case SCENE_CHG_e:
mDoAud_seStart(Z2SE_FORCE_BACK, 0, 0, 0); mDoAud_seStart(Z2SE_FORCE_BACK, 0, 0, 0);
} }

View File

@ -1,6 +1,6 @@
/* /*
/* Translation Unit: d_a_tag_statue_evt * Translation Unit: d_a_tag_statue_evt
/* Owl Statue Event Tag -- Awarding Sky Characters * Owl Statue Event Tag -- Awarding Sky Characters
*/ */
#include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/dolzel_rel.h" // IWYU pragma: keep
@ -272,18 +272,18 @@ int daTagStatue_c::demoProc() {
if(dComIfGp_evmng_getIsAddvance(mStaffId)) { if(dComIfGp_evmng_getIsAddvance(mStaffId)) {
switch(act_id) { switch(act_id) {
case DEMO_ACTION_WAIT: case DEMO_ACTION_WAIT: {
// Delay fading to black // Delay fading to black
int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); int* timer_p = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer");
if(!timer_p) { if (!timer_p) {
mTimer = 1; mTimer = 1;
} } else {
else {
mTimer = *timer_p; mTimer = *timer_p;
} }
break; break;
}
case DEMO_ACTION_MOVE_OWL_STATUE: case DEMO_ACTION_MOVE_OWL_STATUE:
// Position and orient Owl Statue behind player // Position and orient Owl Statue behind player
if(mSkyCharacterEventBitIdIndex != TAG_LOCATION_GERUDO_DESERT && mSkyCharacterEventBitIdIndex != TAG_LOCATION_LAKE_HYLIA && mSkyCharacterEventBitIdIndex != TAG_LOCATION_RUINED_THEATRE) { if(mSkyCharacterEventBitIdIndex != TAG_LOCATION_GERUDO_DESERT && mSkyCharacterEventBitIdIndex != TAG_LOCATION_LAKE_HYLIA && mSkyCharacterEventBitIdIndex != TAG_LOCATION_RUINED_THEATRE) {

View File

@ -581,7 +581,7 @@ int dMsgFlow_c::messageNodeProc(fopAc_ac_c* i_speaker_p, fopAc_ac_c** i_talkPart
field_0x41 = 1; field_0x41 = 1;
mNowMsgNo = aMsg_p->msg_idx; mNowMsgNo = aMsg_p->msg_idx;
break; break;
case 6: case 6: {
field_0x40 = field_0x41; field_0x40 = field_0x41;
int mesgAnimeAttrInfo = -1; int mesgAnimeAttrInfo = -1;
@ -603,6 +603,7 @@ int dMsgFlow_c::messageNodeProc(fopAc_ac_c* i_speaker_p, fopAc_ac_c** i_talkPart
field_0x41 = 0; field_0x41 = 0;
mNowMsgNo = aMsg_p->msg_idx; mNowMsgNo = aMsg_p->msg_idx;
break; break;
}
case 14: case 14:
case 18: case 18:
setNodeIndex(flowNode_p->next_node_idx, i_talkPartners); setNodeIndex(flowNode_p->next_node_idx, i_talkPartners);
@ -635,7 +636,7 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* i_speaker_p, fopAc_ac_c** i_talkPartne
int proc_status = (this->*mEventList[node->event_idx])(node, i_speaker_p); int proc_status = (this->*mEventList[node->event_idx])(node, i_speaker_p);
switch (node->event_idx) { switch (node->event_idx) {
case 8: case 8: {
getParam(&mEventId, &field_0x30, node->params); getParam(&mEventId, &field_0x30, node->params);
setNodeIndex(mFlowIdxTBL[node->next_node_idx], i_talkPartners); setNodeIndex(mFlowIdxTBL[node->next_node_idx], i_talkPartners);
@ -647,6 +648,7 @@ int dMsgFlow_c::eventNodeProc(fopAc_ac_c* i_speaker_p, fopAc_ac_c** i_talkPartne
setNodeIndex(-1, i_talkPartners); setNodeIndex(-1, i_talkPartners);
mNodeIdx = prev_idx; mNodeIdx = prev_idx;
break; break;
}
case 9: case 9:
if (getParam(node->params) == 0) { if (getParam(node->params) == 0) {
int msgNum; int msgNum;