mirror of https://github.com/zeldaret/tp.git
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 <me@caseif.net>
This commit is contained in:
parent
e3353f2c56
commit
9fd28c507f
|
|
@ -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<i>__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
|
||||
|
|
|
|||
|
|
@ -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"),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue