From 9fd28c507f4a63bf58d0cec918dee17cc8f24391 Mon Sep 17 00:00:00 2001 From: YunataSavior <58997725+YunataSavior@users.noreply.github.com> Date: Mon, 15 Sep 2025 02:49:35 -0700 Subject: [PATCH] d_a_obj_kago OK (#2661) * d_a_obj_kago OK * Mark d_a_obj_kago as matching for JP --------- Co-authored-by: Max Roncace --- config/GZ2E01/rels/d_a_obj_kago/symbols.txt | 22 +-- configure.py | 2 +- include/d/actor/d_a_npc_ks.h | 4 - include/d/actor/d_a_obj_kago.h | 4 - include/f_op/f_op_actor_mng.h | 4 + src/d/actor/d_a_npc_ks.cpp | 14 +- src/d/actor/d_a_obj_kago.cpp | 157 ++++++++++---------- 7 files changed, 94 insertions(+), 113 deletions(-) diff --git a/config/GZ2E01/rels/d_a_obj_kago/symbols.txt b/config/GZ2E01/rels/d_a_obj_kago/symbols.txt index eef7ea06192..e7c33f21ba4 100644 --- a/config/GZ2E01/rels/d_a_obj_kago/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_kago/symbols.txt @@ -29,11 +29,11 @@ setGoalPosAndAngle__12daObj_Kago_cFv = .text:0x00001DB0; // type:function size:0 setSmokePrtcl__12daObj_Kago_cFv = .text:0x00001ED0; // type:function size:0x88 scope:global setWaterPrtcl__12daObj_Kago_cFv = .text:0x00001F58; // type:function size:0x100 scope:global setHamonPrtcl__12daObj_Kago_cFv = .text:0x00002058; // type:function size:0x5C scope:global -daObj_Kago_Create__FPv = .text:0x000020B4; // type:function size:0x20 scope:global -daObj_Kago_Delete__FPv = .text:0x000020D4; // type:function size:0x20 scope:global -daObj_Kago_Execute__FPv = .text:0x000020F4; // type:function size:0x20 scope:global -daObj_Kago_Draw__FPv = .text:0x00002114; // type:function size:0x20 scope:global -daObj_Kago_IsDelete__FPv = .text:0x00002134; // type:function size:0x8 scope:global +daObj_Kago_Create__FPv = .text:0x000020B4; // type:function size:0x20 scope:local +daObj_Kago_Delete__FPv = .text:0x000020D4; // type:function size:0x20 scope:local +daObj_Kago_Execute__FPv = .text:0x000020F4; // type:function size:0x20 scope:local +daObj_Kago_Draw__FPv = .text:0x00002114; // type:function size:0x20 scope:local +daObj_Kago_IsDelete__FPv = .text:0x00002134; // type:function size:0x8 scope:local __dt__10cCcD_GSttsFv = .text:0x0000213C; // type:function size:0x48 scope:global cLib_calcTimer__FPi = .text:0x00002184; // type:function size:0x1C scope:global __sinit_d_a_obj_kago_cpp = .text:0x000021A0; // type:function size:0x74 scope:local @@ -88,14 +88,14 @@ heapSize$3870 = .rodata:0x0000005C; // type:object size:0x14 scope:local @4708 = .rodata:0x00000110; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x00000114; // type:object size:0xA scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local lbl_491_data_10 = .data:0x00000010; // type:object size:0x10 -l_bmdData = .data:0x00000020; // type:object size:0x10 scope:global data:4byte -l_resNameList = .data:0x00000030; // type:object size:0x8 scope:global -l_ccDCyl = .data:0x00000038; // type:object size:0x44 scope:global +l_bmdData = .data:0x00000020; // type:object size:0x10 scope:local data:4byte +l_resNameList = .data:0x00000030; // type:object size:0x8 scope:local +l_ccDCyl = .data:0x00000038; // type:object size:0x44 scope:local emttrId$4731 = .data:0x0000007C; // type:object size:0x8 scope:local -daObj_Kago_MethodTable = .data:0x00000084; // type:object size:0x20 scope:global +daObj_Kago_MethodTable = .data:0x00000084; // type:object size:0x20 scope:local g_profile_OBJ_KAGO = .data:0x000000A4; // type:object size:0x30 scope:global __vt__8cM3dGAab = .data:0x000000D4; // type:object size:0xC scope:global __vt__8cM3dGCyl = .data:0x000000E0; // type:object size:0xC scope:global @@ -125,7 +125,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @1010 = .bss:0x00000040; // type:object size:0x1 scope:local @1009 = .bss:0x00000044; // type:object size:0x1 scope:local @3815 = .bss:0x00000048; // type:object size:0xC scope:local -l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte +l_HIO = .bss:0x00000054; // type:object size:0x4 scope:local data:4byte @4686 = .bss:0x00000058; // type:object size:0xC scope:local pos$4685 = .bss:0x00000068; // type:object size:0xC scope:local angle$4689 = .bss:0x00000074; // type:object size:0x2 scope:local diff --git a/configure.py b/configure.py index 5f7c63b80f9..ad3d212b758 100755 --- a/configure.py +++ b/configure.py @@ -2017,7 +2017,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kabuto"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kag"), ActorRel(NonMatching, "d_a_obj_kage"), - ActorRel(NonMatching, "d_a_obj_kago"), + ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kago"), ActorRel(NonMatching, "d_a_obj_kaisou"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kamakiri"), ActorRel(MatchingFor("GZ2E01", "GZ2J01"), "d_a_obj_kantera"), diff --git a/include/d/actor/d_a_npc_ks.h b/include/d/actor/d_a_npc_ks.h index cb71431f3f9..ce37742529b 100644 --- a/include/d/actor/d_a_npc_ks.h +++ b/include/d/actor/d_a_npc_ks.h @@ -198,10 +198,6 @@ public: /* 0xC17 */ s8 field_0xc17; /* 0xC18 */ dPath* field_0xc18; /* 0xC1C */ u8 field_0xc1c; - - u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* param_1) { - return fopAcM_CheckStatus(param_1, 0x80000000); - } }; STATIC_ASSERT(sizeof(npc_ks_class) == 0xc20); diff --git a/include/d/actor/d_a_obj_kago.h b/include/d/actor/d_a_obj_kago.h index 095f3b99842..7cd15610bad 100644 --- a/include/d/actor/d_a_obj_kago.h +++ b/include/d/actor/d_a_obj_kago.h @@ -71,10 +71,6 @@ public: field_0x574->setBaseTRMtx(param_1); } - u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* actor) { - return fopAcM_CheckStatus(actor, 0x80000000); - } - void popup(f32 param_1, f32 param_2, cXyz* param_3) { if (param_3 != NULL) { current.pos = *param_3; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index bab11a40410..8a55b6fcda9 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -170,6 +170,10 @@ inline u32 fopAcM_checkCarryNow(fopAc_ac_c* i_actor) { return i_actor->actor_status & fopAcM_STATUS_CARRY_NOW; } +inline u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* actor) { + return fopAcM_CheckStatus(actor, 0x80000000); +} + enum fopAcM_CARRY { /* 0x01 */ fopAcM_CARRY_TYPE_1 = 1, /* 0x02 */ fopAcM_CARRY_HEAVY = 2, diff --git a/src/d/actor/d_a_npc_ks.cpp b/src/d/actor/d_a_npc_ks.cpp index 725af4e7a4f..8d06c557384 100644 --- a/src/d/actor/d_a_npc_ks.cpp +++ b/src/d/actor/d_a_npc_ks.cpp @@ -7,25 +7,17 @@ #include "d/actor/d_a_npc_ks.h" #include "d/actor/d_a_obj_kago.h" -#include "d/d_cc_d.h" #include "d/d_camera.h" #include "d/d_com_inf_game.h" #include "d/d_bomb.h" -#include "d/actor/d_a_obj_so.h" #include "d/actor/d_a_boomerang.h" -#include "d/d_stage.h" -#include "d/actor/d_a_obj_sw.h" #include "d/actor/d_a_obj_pillar.h" -#include "m_Do/m_Do_controller_pad.h" #include "c/c_damagereaction.h" #include "d/actor/d_a_e_fs.h" #include "d/actor/d_a_obj_brg.h" #include "d/actor/d_a_midna.h" -#include "JSystem/JUtility/JUTReport.h" #include "d/d_meter2_info.h" -#include "cmath.h" #include "d/actor/d_a_e_oc.h" -#include "d/d_stage.h" #include "Z2AudioLib/Z2Instances.h" #include "d/d_s_play.h" #include "f_op/f_op_camera_mng.h" @@ -3343,7 +3335,7 @@ static void demo_camera(npc_ks_class* i_this) { // fallthrough case 361: sp44.set(-36540.0f, 335.0f, -20870.0f); - daPy_getPlayerActorClass()->setPlayerPosAndAngle(&sp44, 0xffff8000, 0); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&sp44, -32768, 0); if (i_this->field_0xb44 >= 105) { if (i_this->field_0xb44 == 105) { i_this->mMsgFlow.init(a_this, 116, 0, NULL); @@ -6734,7 +6726,7 @@ static int daNpc_Ks_Execute(npc_ks_class* i_this) { mDoMtx_stack_c::ZrotM(0); basket_p->setMtx(mDoMtx_stack_c::get()); - if (i_this->fopAcM_checkHawkCarryNow(basket_p) != 0) { + if (fopAcM_checkHawkCarryNow(basket_p) != 0) { anm_init(i_this, 39, 5.0f, 2, 1.0f); i_this->mSound.startCreatureVoice(Z2SE_KOSARU_V_JUMP_SURPRISE, -1); } @@ -7262,7 +7254,7 @@ static BOOL start_check(npc_ks_class* i_this) { fopAcM_setStageLayer(a_this); if (fopAcM_GetRoomNo(a_this) == 1) { f32 x_pos = 6836.0f - player->current.pos.x; - f32 y_pos = 2585.0f - player->current.pos.z; + f32 y_pos = 3585.0f - player->current.pos.z; if (JMAFastSqrt(x_pos * x_pos + y_pos * y_pos) < 500.0f) { a_this->home.pos.set(7025.0f, 3355.0f, 4500.0f); a_this->home.angle.y = -0x7343; diff --git a/src/d/actor/d_a_obj_kago.cpp b/src/d/actor/d_a_obj_kago.cpp index 9e5665aaf0d..d6e2fbee0b8 100644 --- a/src/d/actor/d_a_obj_kago.cpp +++ b/src/d/actor/d_a_obj_kago.cpp @@ -14,43 +14,6 @@ #include "dol2asm.h" #include "f_op/f_op_actor_mng.h" -/* 80C33DC0-80C33DD0 000020 0010+00 2/3 0/0 0/0 .data l_bmdData */ -static int l_bmdData[2][2] = { - { 3, 1 }, { 4, 1 }, -}; - -/* 80C33DD0-80C33DD8 -00001 0008+00 2/4 0/0 0/0 .data l_resNameList */ -static char* l_resNameList[2] = { - "", - "uri_kago" -}; - -/* 80C33DD8-80C33E1C 000038 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ -static dCcD_SrcCyl l_ccDCyl = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {0.0f, 0.0f, 0.0f}, // mCenter - 0.0f, // mRadius - 0.0f // mHeight - } // mCyl -}; - -/* 80C31AEC-80C31C90 0000EC 01A4+00 1/0 0/0 0/0 .text __dt__12daObj_Kago_cFv */ -daObj_Kago_c::~daObj_Kago_c() { - // NONMATCHING - OS_REPORT("|%06d:%x|daObj_Kago_c -> デストラクト\n", g_Counter.mCounter0, this); - if (mType == 0 && daNpcT_chkTmpBit(7)) { - daNpcT_onEvtBit(0x92); - } - - dComIfG_resDelete(&mPhase, l_resNameList[l_bmdData[0][1]]); -} - /* ############################################################################################## */ /* 80C33C80-80C33CAC 000000 002C+00 5/5 0/0 0/0 .rodata m__18daObj_Kago_Param_c */ daObj_Kago_Param_c::Data const daObj_Kago_Param_c::m = { @@ -67,16 +30,53 @@ daObj_Kago_Param_c::Data const daObj_Kago_Param_c::m = { 10.0f, }; -/* 80C33CAC-80C33CDC 00002C 0030+00 0/0 0/0 0/0 .rodata l_ccDObjData */ -SECTION_RODATA static u8 const l_ccDObjData[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +// /* 80C33CAC-80C33CDC 00002C 0030+00 0/0 0/0 0/0 .rodata l_ccDObjData */ +const dCcD_SrcGObjInf l_ccDObjData = { + {0, // mFlags + { + {0, 0, 0}, // mObjAt + {0, 0}, // mObjTg + {0x79} // mObjCo + } // mSrcObjHitInf + }, // mObj + {0, 0, 0, 0, 0}, // mGObjAt + {0, 0, 0, 0, 0}, // mGObjTg + {0} // mGObjCo }; +/* 80C33DC0-80C33DD0 000020 0010+00 2/3 0/0 0/0 .data l_bmdData */ +static int l_bmdData[2][2] = { + { 3, 1 }, { 4, 1 }, +}; + +/* 80C33DD0-80C33DD8 -00001 0008+00 2/4 0/0 0/0 .data l_resNameList */ +static char* l_resNameList[2] = { + "", + "uri_kago" +}; + +/* 80C33DD8-80C33E1C 000038 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ +static dCcD_SrcCyl l_ccDCyl = { + daNpcT_c::mCcDObjData, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 0.0f, // mRadius + 0.0f // mHeight + } // mCyl +}; + +/* 80C31AEC-80C31C90 0000EC 01A4+00 1/0 0/0 0/0 .text __dt__12daObj_Kago_cFv */ +daObj_Kago_c::~daObj_Kago_c() { + OS_REPORT("|%06d:%x|daObj_Kago_c -> デストラクト\n", g_Counter.mCounter0, this); + if (mType == 0 && daNpcT_chkTmpBit(7)) { + daNpcT_onEvtBit(0x92); + } + + dComIfG_resDelete(&mPhase, l_resNameList[l_bmdData[0][1]]); +} + /* 80C31D5C-80C320FC 00035C 03A0+00 1/1 0/0 0/0 .text create__12daObj_Kago_cFv */ cPhs__Step daObj_Kago_c::create() { - // NONMATCHING static int const heapSize[5] = { 0x0820, 0x0820, 0, 0x0820, 0, }; @@ -154,7 +154,6 @@ int daObj_Kago_c::CreateHeap() { /* 80C324B0-80C324E4 000AB0 0034+00 1/1 0/0 0/0 .text Delete__12daObj_Kago_cFv */ int daObj_Kago_c::Delete() { - // NONMATCHING fopAcM_GetID(this); this->~daObj_Kago_c(); return 1; @@ -162,12 +161,13 @@ int daObj_Kago_c::Delete() { /* 80C324E4-80C332D0 000AE4 0DEC+00 2/2 0/0 0/0 .text Execute__12daObj_Kago_cFv */ int daObj_Kago_c::Execute() { - // NONMATCHING - int iVar4; int iVar1 = 0; - f32 fVar1 = daObj_Kago_Param_c::m.field_0x28; - s16 sVar1 = 0; + f32 fVar1; + f32 reg_f30 = daObj_Kago_Param_c::m.field_0x28; + s16 sp_0xc = 0; s16 sVar2 = 0; + int iVar3; + s16 sp_0x8; scale.set(daObj_Kago_Param_c::m.field_0x08 * field_0xb0c, daObj_Kago_Param_c::m.field_0x08 * field_0xb0c, daObj_Kago_Param_c::m.field_0x08 * field_0xb0c); attention_info.flags = 0; @@ -193,7 +193,7 @@ int daObj_Kago_c::Execute() { if (iVar1 != 0) { if (mType == 0) { daObj_Kago_c* basket_p = NULL; - fopAcM_SearchByID(daPy_getPlayerActorClass()->getGrabActorID(), (fopAc_ac_c**)basket_p); + fopAcM_SearchByID(daPy_getPlayerActorClass()->getGrabActorID(), (fopAc_ac_c**)&basket_p); if (basket_p == this) { daNpcT_onTmpBit(23); } else { @@ -232,10 +232,11 @@ int daObj_Kago_c::Execute() { speed.setall(0.0f); } } else { - int iVar3 = 0; + iVar3 = 0; cXyz sp80; + sp_0x8 = 0x80; fopAcM_getWaterY(¤t.pos, &mWaterY); - if (mWaterY != -1000000000.0f && fVar1 < (mWaterY - mGroundH) && current.pos.y <= mWaterY) { + if (mWaterY != -1000000000.0f && reg_f30 < (mWaterY - mGroundH) && current.pos.y <= mWaterY) { if (field_0xb9d == 0) { speedF *= 0.3f; speed.y *= 0.5f; @@ -255,6 +256,7 @@ int daObj_Kago_c::Execute() { field_0xba1 = 0; } + int iVar4; if (fopAcM_getWaterStream(¤t.pos, field_0x7cc, &sp80, &iVar4, 0) != 0) { sp80.normalizeZP(); cLib_addCalcAngleS2(¤t.angle.y, cM_atan2s(sp80.x, sp80.z), 4, 0x200); @@ -262,26 +264,20 @@ int daObj_Kago_c::Execute() { current.angle.y = cM_atan2s(sp80.x, sp80.z); } - int iVar5; - s16 sVar3 = iVar4 * 0x80; - if (field_0xb2c.y < 0) { - iVar5 = -sVar3; - } else { - iVar5 = sVar3; - } - cLib_chaseAngleS(&field_0xb2c.y, iVar5, 16); + sp_0x8 *= iVar4; + cLib_chaseAngleS(&field_0xb2c.y, (field_0xb2c.y < 0) ? -1*sp_0x8 : sp_0x8, 16); if (field_0xb9c != 0) { - cLib_addCalc2(&speedF, iVar4 * 0.75f, 0.15f, 1.0f); - } else { cLib_addCalc2(&speedF, iVar4 * 1.55f, 0.15f, 1.0f); + } else { + cLib_addCalc2(&speedF, iVar4 * 0.75f, 0.15f, 1.0f); } } else { cLib_chaseF(&speedF, 0.0f, 0.3f); } if (field_0xb48 == 0 && mObjAcch.ChkWallHit() != 0) { - if (getWallAngle(current.angle.y, &sVar2) == 0) { + if (getWallAngle(current.angle.y, &sVar2)) { current.angle.y = sVar2; current.angle.y += (s16)cM_rndFX(2000.0f); } else { @@ -294,11 +290,11 @@ int daObj_Kago_c::Execute() { } if (field_0xb9c != 0) { - cLib_addCalc2(¤t.pos.y, mWaterY - fVar1, 0.5f, 2.0f); + cLib_addCalc2(¤t.pos.y, mWaterY - reg_f30, 0.5f, 2.0f); speed.y = 0.0f; setHamonPrtcl(); } else { - if ((current.pos.y + fVar1) < mWaterY) { + if ((current.pos.y + reg_f30) < mWaterY) { if (speed.y < 0.0f) { cLib_addCalc(&speed.y, 2.0f, 0.8f, 11.0f, 0.1f); } else { @@ -327,15 +323,15 @@ int daObj_Kago_c::Execute() { if (field_0xb9e != 0) { if (mObjAcch.ChkWallHit() != 0) { if (getWallAngle(current.angle.y, &sVar2) != 0) { - sVar1 = current.angle.y - sVar2; + sp_0xc = current.angle.y - sVar2; } else { - sVar1 = current.angle.y; + sp_0xc = current.angle.y; } - current.angle.y += (0x8000 - (sVar1 << 1) + (s16)cM_rndFX(1000.0f)); + current.angle.y += s16(0x8000 - (sp_0xc << 1) + (s16)cM_rndFX(1000.0f)); speedF *= 0.5f; field_0xb9e = 0; - field_0xba1 = 0; + field_0xba1 = 1; } else if (mObjAcch.ChkGroundHit()) { if (field_0xb14.y < -30.0f) { speedF *= 0.7f; @@ -373,13 +369,7 @@ int daObj_Kago_c::Execute() { field_0xb14 = speed; if (field_0xb9d != 0) { - f32 fVar2; - if (mStts.GetCCMoveP() != NULL) { - fVar2 = 900.0f; - } else { - fVar2 = 1200.0f; - } - cLib_addCalc2(&field_0xb64, fVar2, 0.05f, 100.0f); + cLib_addCalc2(&field_0xb64, (mStts.GetCCMoveP() != NULL) ? 1200.0f : 900.0f, 0.05f, 100.0f); } else { cLib_addCalc2(&field_0xb64, 0.0f, 0.25f, 100.0f); } @@ -409,7 +399,7 @@ int daObj_Kago_c::Execute() { } if (actor_p != NULL || field_0xb4c == 0) { - if (fVar1 < 30.0f) { + if (30.0f < fVar1) { fVar1 = 30.0f; } else if (fVar1 < 0.0f) { fVar1 = 0.0f; @@ -468,7 +458,7 @@ int daObj_Kago_c::Execute() { sp8c.set(24.0f, 0.0f, 0.0f); mDoMtx_stack_c::multVec(&sp8c, &sp98); field_0x808[1].SetR(30.0f); - field_0x808[1].SetH(30.0f); + field_0x808[1].SetH(50.0f); field_0x808[1].SetC(sp98); dComIfG_Ccsp()->Set(&field_0x808[1]); } else { @@ -482,7 +472,7 @@ int daObj_Kago_c::Execute() { field_0x808[0].ClrCoHit(); field_0x808[1].ClrCoHit(); - field_0xba0 = ((-iVar1 >> 24) | (iVar1 >> 24)) >> 7; + field_0xba0 = iVar1 != 0; cLib_calcTimer(&field_0xb48); cLib_calcTimer(&field_0xb4c); field_0xba2 = 0; @@ -492,8 +482,10 @@ int daObj_Kago_c::Execute() { /* 80C332D0-80C333F0 0018D0 0120+00 1/1 0/0 0/0 .text Draw__12daObj_Kago_cFv */ int daObj_Kago_c::Draw() { - // NONMATCHING if(field_0xb9f == 0 && health != 3) { +#if VERSION == VERSION_SHIELD_DEBUG + mObjAcch.DrawWall(dComIfG_Bgsp()); +#endif g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); g_env_light.setLightTevColorType_MAJI(field_0x574, &tevStr); mDoExt_modelUpdateDL(field_0x574); @@ -503,8 +495,10 @@ int daObj_Kago_c::Draw() { if (this == basket_p) { model = field_0x574; } else if (mGroundH != -1000000000.0f) { - field_0xb78 = dComIfGd_setShadow(field_0xb78, 1, field_0x574, ¤t.pos, daObj_Kago_Param_c::m.field_0x0c, mGroundH, - 20.0f, current.pos.y, field_0x7cc, &tevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + field_0xb78 = dComIfGd_setShadow(field_0xb78, 1, field_0x574, ¤t.pos, + daObj_Kago_Param_c::m.field_0x0c, 20.0f, + current.pos.y, mGroundH, field_0x7cc, &tevStr, + 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } } @@ -628,7 +622,6 @@ void daObj_Kago_c::setSmokePrtcl() { /* 80C33958-80C33A58 001F58 0100+00 1/1 0/0 0/0 .text setWaterPrtcl__12daObj_Kago_cFv */ void daObj_Kago_c::setWaterPrtcl() { - // NONMATCHING static u16 emttrId[4] = { 0x01B8, 0x01B9, 0x01BA, 0x01BB, };