mirror of https://github.com/zeldaret/tp.git
d_a_obj_wood_pendulum done (#2257)
* d_a_obj_wood_pendulum done * Fix setBaseMtx, Vec array
This commit is contained in:
parent
e510f33414
commit
eebbf9a645
|
@ -1,7 +1,7 @@
|
|||
_prolog = .text:0x00000000; // type:function size:0x2C scope:global
|
||||
_epilog = .text:0x0000002C; // type:function size:0x2C scope:global
|
||||
_unresolved = .text:0x00000058; // type:function size:0x20 scope:global
|
||||
CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:global
|
||||
CheckCreateHeap__FP10fopAc_ac_c = .text:0x00000078; // type:function size:0x20 scope:local
|
||||
initBaseMtx__13daObjWPndlm_cFv = .text:0x00000098; // type:function size:0x3C scope:global
|
||||
setBaseMtx__13daObjWPndlm_cFv = .text:0x000000D4; // type:function size:0x78 scope:global
|
||||
Create__13daObjWPndlm_cFv = .text:0x0000014C; // type:function size:0xFC scope:global
|
||||
|
@ -14,14 +14,14 @@ __dt__8cM3dGAabFv = .text:0x000005B0; // type:function size:0x48 scope:global
|
|||
execute__13daObjWPndlm_cFv = .text:0x000005F8; // type:function size:0x1F0 scope:global
|
||||
draw__13daObjWPndlm_cFv = .text:0x000007E8; // type:function size:0x64 scope:global
|
||||
_delete__13daObjWPndlm_cFv = .text:0x0000084C; // type:function size:0x34 scope:global
|
||||
daObjWPndlm_Draw__FP13daObjWPndlm_c = .text:0x00000880; // type:function size:0x20 scope:global
|
||||
daObjWPndlm_Execute__FP13daObjWPndlm_c = .text:0x000008A0; // type:function size:0x20 scope:global
|
||||
daObjWPndlm_Delete__FP13daObjWPndlm_c = .text:0x000008C0; // type:function size:0x20 scope:global
|
||||
daObjWPndlm_Create__FP10fopAc_ac_c = .text:0x000008E0; // type:function size:0x20 scope:global
|
||||
daObjWPndlm_Draw__FP13daObjWPndlm_c = .text:0x00000880; // type:function size:0x20 scope:local
|
||||
daObjWPndlm_Execute__FP13daObjWPndlm_c = .text:0x000008A0; // type:function size:0x20 scope:local
|
||||
daObjWPndlm_Delete__FP13daObjWPndlm_c = .text:0x000008C0; // type:function size:0x20 scope:local
|
||||
daObjWPndlm_Create__FP10fopAc_ac_c = .text:0x000008E0; // type:function size:0x20 scope:local
|
||||
_ctors = .ctors:0x00000000; // type:label scope:global
|
||||
_dtors = .dtors:0x00000000; // type:label scope:global
|
||||
...rodata.0 = .rodata:0x00000000; // type:label scope:local
|
||||
l_sph_src = .rodata:0x00000000; // type:object size:0x40 scope:global
|
||||
l_sph_src = .rodata:0x00000000; // type:object size:0x40 scope:local
|
||||
l_sph_src2 = .rodata:0x00000040; // type:object size:0x40 scope:global
|
||||
@3672 = .rodata:0x00000080; // type:object size:0x4 scope:local
|
||||
@3674 = .rodata:0x00000088; // type:object size:0x8 scope:local
|
||||
|
@ -29,8 +29,8 @@ l_sph_src2 = .rodata:0x00000040; // type:object size:0x40 scope:global
|
|||
@3860 = .rodata:0x000000A8; // type:object size:0x4 scope:local
|
||||
@3861 = .rodata:0x000000AC; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x000000B0; // type:object size:0x9 scope:local data:string_table
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
|
||||
l_daObjWPndlm_Method = .data:0x00000004; // type:object size:0x20 scope:global
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
|
||||
l_daObjWPndlm_Method = .data:0x00000004; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_WoodPendulum = .data:0x00000024; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGSph = .data:0x00000054; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGAab = .data:0x00000060; // type:object size:0xC scope:global
|
||||
|
|
|
@ -2055,7 +2055,7 @@ config.libs = [
|
|||
ActorRel(Matching, "d_a_obj_wflag"),
|
||||
ActorRel(Matching, "d_a_obj_wind_stone"),
|
||||
ActorRel(Matching, "d_a_obj_window"),
|
||||
ActorRel(NonMatching, "d_a_obj_wood_pendulum"),
|
||||
ActorRel(Matching, "d_a_obj_wood_pendulum"),
|
||||
ActorRel(NonMatching, "d_a_obj_wood_statue"),
|
||||
ActorRel(Matching, "d_a_obj_wsword"),
|
||||
ActorRel(NonMatching, "d_a_obj_yel_bag"),
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -14,7 +13,6 @@
|
|||
*
|
||||
*/
|
||||
class daObjWPndlm_c : public fopAc_ac_c {
|
||||
public:
|
||||
public:
|
||||
/* 80D39418 */ void initBaseMtx();
|
||||
/* 80D39454 */ void setBaseMtx();
|
||||
|
@ -41,5 +39,4 @@ private:
|
|||
|
||||
STATIC_ASSERT(sizeof(daObjWPndlm_c) == 0x960);
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_WOOD_PENDULUM_H */
|
||||
|
|
|
@ -4,90 +4,25 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_wood_pendulum.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
|
||||
extern "C" void initBaseMtx__13daObjWPndlm_cFv();
|
||||
extern "C" void setBaseMtx__13daObjWPndlm_cFv();
|
||||
extern "C" void Create__13daObjWPndlm_cFv();
|
||||
extern "C" void CreateHeap__13daObjWPndlm_cFv();
|
||||
extern "C" void create__13daObjWPndlm_cFv();
|
||||
extern "C" void __ct__8dCcD_SphFv();
|
||||
extern "C" void __dt__8dCcD_SphFv();
|
||||
extern "C" void __dt__8cM3dGSphFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void execute__13daObjWPndlm_cFv();
|
||||
extern "C" void draw__13daObjWPndlm_cFv();
|
||||
extern "C" void _delete__13daObjWPndlm_cFv();
|
||||
extern "C" static void daObjWPndlm_Draw__FP13daObjWPndlm_c();
|
||||
extern "C" static void daObjWPndlm_Execute__FP13daObjWPndlm_c();
|
||||
extern "C" static void daObjWPndlm_Delete__FP13daObjWPndlm_c();
|
||||
extern "C" static void daObjWPndlm_Create__FP10fopAc_ac_c();
|
||||
extern "C" extern char const* const d_a_obj_wood_pendulum__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void __ct__10dCcD_GSttsFv();
|
||||
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void SetC__8cM3dGSphFRC4cXyz();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8dCcD_Sph[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_SphAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80D393F8-80D39418 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
static int CheckCreateHeap(fopAc_ac_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjWPndlm_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
/* 80D39418-80D39454 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__13daObjWPndlm_cFv */
|
||||
void daObjWPndlm_c::initBaseMtx() {
|
||||
// NONMATCHING
|
||||
mpModel->setBaseScale(scale);
|
||||
setBaseMtx();
|
||||
}
|
||||
|
||||
/* 80D39454-80D394CC 0000D4 0078+00 2/2 0/0 0/0 .text setBaseMtx__13daObjWPndlm_cFv */
|
||||
void daObjWPndlm_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z + field_0x958);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D39C88-80D39CC8 000000 0040+00 2/2 0/0 0/0 .rodata l_sph_src */
|
||||
const static dCcD_SrcSph l_sph_src = {
|
||||
{
|
||||
|
@ -98,12 +33,10 @@ const static dCcD_SrcSph l_sph_src = {
|
|||
}, // mObjInf
|
||||
{
|
||||
{{0.0f, 0.0f, 0.0f}, 150.0f} // mSph
|
||||
} // mSphAttr
|
||||
} // mSphAttr
|
||||
};
|
||||
|
||||
/* 80D39CC8-80D39D08 000040 0040+00 0/1 0/0 0/0 .rodata l_sph_src2 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
const static dCcD_SrcSph l_sph_src2 = {
|
||||
{
|
||||
{0x0, {{0x0, 0x0, 0xc}, {0xd8fafdff, 0x11}, 0x0}}, // mObj
|
||||
|
@ -113,33 +46,31 @@ const static dCcD_SrcSph l_sph_src2 = {
|
|||
}, // mObjInf
|
||||
{
|
||||
{{0.0f, 0.0f, 0.0f}, 120.0f} // mSph
|
||||
} // mSphAttr
|
||||
} // mSphAttr
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80D39D08-80D39D10 000080 0004+04 0/1 0/0 0/0 .rodata @3672 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3672[1 + 1 /* padding */] = {
|
||||
0x43360B61,
|
||||
/* padding */
|
||||
0x00000000,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D39D08, &lit_3672);
|
||||
#pragma pop
|
||||
|
||||
/* 80D39D10-80D39D18 000088 0008+00 0/1 0/0 0/0 .rodata @3674 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3674[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D39D10, &lit_3674);
|
||||
#pragma pop
|
||||
|
||||
/* 80D394CC-80D395C8 00014C 00FC+00 1/1 0/0 0/0 .text Create__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::Create() {
|
||||
// NONMATCHING
|
||||
initBaseMtx();
|
||||
cullMtx = mpModel->getBaseTRMtx();
|
||||
|
||||
mStts.Init(0xff, 0xff, this);
|
||||
mSph.Set(l_sph_src);
|
||||
mSph.SetStts(&mStts);
|
||||
for (int i = 0; i < 2; i++) {
|
||||
field_0x6e8[i].Set(l_sph_src2);
|
||||
field_0x6e8[i].SetStts(&mStts);
|
||||
}
|
||||
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
|
||||
u8 arg0 = getArg0();
|
||||
if (arg0 == 0 || arg0 == 255) {
|
||||
arg0 = 0;
|
||||
}
|
||||
field_0x958 = arg0 * 182.04445f;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D39D44-80D39D48 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
|
@ -147,143 +78,127 @@ static char* l_arcName = "A_Turuki";
|
|||
|
||||
/* 80D395C8-80D39638 000248 0070+00 1/1 0/0 0/0 .text CreateHeap__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D39D48-80D39D68 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWPndlm_Method */
|
||||
static actor_method_class l_daObjWPndlm_Method = {
|
||||
(process_method_func)daObjWPndlm_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjWPndlm_Delete__FP13daObjWPndlm_c,
|
||||
(process_method_func)daObjWPndlm_Execute__FP13daObjWPndlm_c,
|
||||
0,
|
||||
(process_method_func)daObjWPndlm_Draw__FP13daObjWPndlm_c,
|
||||
};
|
||||
|
||||
/* 80D39D68-80D39D98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_WoodPendulum */
|
||||
extern actor_process_profile_definition g_profile_Obj_WoodPendulum = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_WoodPendulum, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjWPndlm_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
253, // mPriority
|
||||
&l_daObjWPndlm_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D39D98-80D39DA4 000054 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGSph */
|
||||
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGSphFv,
|
||||
};
|
||||
|
||||
/* 80D39DA4-80D39DB0 000060 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80D39638-80D39798 0002B8 0160+00 1/1 0/0 0/0 .text create__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::create() {
|
||||
// NONMATCHING
|
||||
int phase;
|
||||
|
||||
fopAcM_SetupActor(this, daObjWPndlm_c);
|
||||
|
||||
phase = dComIfG_resLoad(&mPhaseReq, l_arcName);
|
||||
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x1be0)) {
|
||||
return cPhs_ERROR_e;
|
||||
} else if (!Create()) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80D39798-80D3981C 000418 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */
|
||||
// dCcD_Sph::dCcD_Sph() {
|
||||
extern "C" void __ct__8dCcD_SphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D3981C-80D398E8 00049C 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_SphFv */
|
||||
// dCcD_Sph::~dCcD_Sph() {
|
||||
extern "C" void __dt__8dCcD_SphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D398E8-80D39930 000568 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
|
||||
// cM3dGSph::~cM3dGSph() {
|
||||
extern "C" void __dt__8cM3dGSphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D39930-80D39978 0005B0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D39D18-80D39D30 000090 0018+00 0/0 0/0 0/0 .rodata @3826 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3826[24] = {
|
||||
0xC2, 0x70, 0x00, 0x00, 0xC4, 0x8C, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00,
|
||||
0x42, 0xA0, 0x00, 0x00, 0xC4, 0x99, 0xC0, 0x00, 0xC2, 0x48, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D39D18, &lit_3826);
|
||||
#pragma pop
|
||||
|
||||
/* 80D39D30-80D39D34 0000A8 0004+00 0/1 0/0 0/0 .rodata @3860 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3860[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D39D30, &lit_3860);
|
||||
#pragma pop
|
||||
|
||||
/* 80D39D34-80D39D38 0000AC 0004+00 0/1 0/0 0/0 .rodata @3861 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3861 = -1200.0f;
|
||||
COMPILER_STRIP_GATE(0x80D39D34, &lit_3861);
|
||||
#pragma pop
|
||||
|
||||
/* 80D39978-80D39B68 0005F8 01F0+00 1/1 0/0 0/0 .text execute__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::execute() {
|
||||
// NONMATCHING
|
||||
u8 arg1 = getArg1();
|
||||
if (arg1 == 0 || arg1 == 255) {
|
||||
arg1 = 10;
|
||||
}
|
||||
if (field_0x958 > 0) {
|
||||
field_0x95c = -arg1;
|
||||
} else if (field_0x958 < 0) {
|
||||
field_0x95c = arg1;
|
||||
} else {
|
||||
field_0x95c = 0;
|
||||
}
|
||||
field_0x95a += field_0x95c;
|
||||
field_0x958 += field_0x95a;
|
||||
setBaseMtx();
|
||||
|
||||
cXyz local_48(0, -1200, 0);
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z + field_0x958);
|
||||
mDoMtx_stack_c::multVec(&local_48, &local_48);
|
||||
mSph.SetC(local_48);
|
||||
dComIfG_Ccsp()->Set(&mSph);
|
||||
|
||||
Vec lit_3826[2] = {{-60.0f, -1120.0f, 100.0f}, {80.0f, -1230.0f, -50.0f}};
|
||||
for (int i = 0; i < 2; i++) {
|
||||
local_48 = lit_3826[i];
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z + field_0x958);
|
||||
mDoMtx_stack_c::multVec(&local_48, &local_48);
|
||||
field_0x6e8[i].SetC(local_48);
|
||||
dComIfG_Ccsp()->Set(&field_0x6e8[i]);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D39B68-80D39BCC 0007E8 0064+00 1/1 0/0 0/0 .text draw__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::draw() {
|
||||
// NONMATCHING
|
||||
g_env_light.settingTevStruct(0, &this->current.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D39BCC-80D39C00 00084C 0034+00 1/1 0/0 0/0 .text _delete__13daObjWPndlm_cFv */
|
||||
int daObjWPndlm_c::_delete() {
|
||||
// NONMATCHING
|
||||
dComIfG_resDelete(&mPhaseReq, l_arcName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D39C00-80D39C20 000880 0020+00 1/0 0/0 0/0 .text daObjWPndlm_Draw__FP13daObjWPndlm_c
|
||||
*/
|
||||
static int daObjWPndlm_Draw(daObjWPndlm_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjWPndlm_c*>(i_this)->draw();
|
||||
}
|
||||
|
||||
/* 80D39C20-80D39C40 0008A0 0020+00 1/0 0/0 0/0 .text daObjWPndlm_Execute__FP13daObjWPndlm_c */
|
||||
static int daObjWPndlm_Execute(daObjWPndlm_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjWPndlm_c*>(i_this)->execute();
|
||||
}
|
||||
|
||||
/* 80D39C40-80D39C60 0008C0 0020+00 1/0 0/0 0/0 .text daObjWPndlm_Delete__FP13daObjWPndlm_c */
|
||||
static int daObjWPndlm_Delete(daObjWPndlm_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjWPndlm_c*>(i_this)->_delete();
|
||||
}
|
||||
|
||||
/* 80D39C60-80D39C80 0008E0 0020+00 1/0 0/0 0/0 .text daObjWPndlm_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static int daObjWPndlm_Create(fopAc_ac_c* i_this) {
|
||||
// NONMATCHING
|
||||
return static_cast<daObjWPndlm_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80D39D48-80D39D68 -00001 0020+00 1/0 0/0 0/0 .data l_daObjWPndlm_Method */
|
||||
static actor_method_class l_daObjWPndlm_Method = {
|
||||
(process_method_func)daObjWPndlm_Create, (process_method_func)daObjWPndlm_Delete,
|
||||
(process_method_func)daObjWPndlm_Execute, 0,
|
||||
(process_method_func)daObjWPndlm_Draw,
|
||||
};
|
||||
|
||||
/* 80D39D68-80D39D98 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_WoodPendulum */
|
||||
extern actor_process_profile_definition g_profile_Obj_WoodPendulum = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_WoodPendulum, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjWPndlm_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
253, // mPriority
|
||||
&l_daObjWPndlm_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
|
|
@ -5,57 +5,10 @@
|
|||
|
||||
#include "d/actor/d_a_tag_Lv6Gate.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" extern char const* const d_a_tag_Lv6Gate__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void fpcSch_JudgeForPName__FPvPv(void);
|
||||
extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_SearchByName__FsPP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_delete__FUi();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void push__14mDoMtx_stack_cFv();
|
||||
extern "C" void pop__14mDoMtx_stack_cFv();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void setSkipZev__14dEvt_control_cFPvPc();
|
||||
extern "C" void setObjectArchive__16dEvent_manager_cFPc();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
|
||||
extern "C" void getIsAddvance__16dEvent_manager_cFi();
|
||||
extern "C" void getMyNowCutName__16dEvent_manager_cFi();
|
||||
extern "C" void cutEnd__16dEvent_manager_cFi();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80D4F898-80D4F8B8 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
|
||||
static int createSolidHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daTagLv6Gate_c*>(i_this)->createHeap();
|
||||
|
@ -83,7 +36,8 @@ int daTagLv6Gate_c::createHeap() {
|
|||
btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 19);
|
||||
mpBtk[0] = new mDoExt_btkAnm();
|
||||
if (mpBtk[0] == NULL ||
|
||||
!mpBtk[0]->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) {
|
||||
!mpBtk[0]->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -105,11 +59,14 @@ int daTagLv6Gate_c::createHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (mBgW[0].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 27), cBgW::MOVE_BG_e, &field_0x6f8[0])) {
|
||||
if (mBgW[0].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 27), cBgW::MOVE_BG_e, &field_0x6f8[0]))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return checkEqual(mBgW[1].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 28), cBgW::MOVE_BG_e, &field_0x6f8[1]), 0);
|
||||
return checkEqual(
|
||||
mBgW[1].Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, 28), cBgW::MOVE_BG_e, &field_0x6f8[1]),
|
||||
0);
|
||||
}
|
||||
|
||||
/* 80D4FBB8-80D4FBD8 000398 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Create__FP10fopAc_ac_c
|
||||
|
@ -118,7 +75,6 @@ static int daTagLv6Gate_Create(fopAc_ac_c* i_this) {
|
|||
return static_cast<daTagLv6Gate_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void daTagLv6Gate_c::seStair() {
|
||||
Vec se_pos = {0.0f, 1800.0f, -6800.0f};
|
||||
mDoAud_seStart(Z2SE_OBJ_LV6_GATE_STAIR, &se_pos, 0, 0);
|
||||
|
@ -133,37 +89,10 @@ void daTagLv6Gate_c::seGlassOn() {
|
|||
Vec se_pos = {0.0f, 2887.0f, -8330.0f};
|
||||
mDoAud_seStart(Z2SE_OBJ_LV6_GATE_GLASS_ON, &se_pos, 0, 0);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3803[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0xE1, 0x00, 0x00, 0xC5, 0xD4, 0x80, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50930, &lit_3803);
|
||||
#pragma pop
|
||||
|
||||
/* 80D5093C-80D50948 000034 000C+00 0/1 0/0 0/0 .rodata @3839 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3839[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x45, 0x34, 0x70, 0x00, 0xC6, 0x02, 0x28, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D5093C, &lit_3839);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50948-80D50954 000040 000C+00 0/1 0/0 0/0 .rodata @3847 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3847[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x45, 0x34, 0x70, 0x00, 0xC6, 0x02, 0x28, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50948, &lit_3847);
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
void daTagLv6Gate_c::initBaseMtx() {
|
||||
fopAcM_SetMtx(this, mpModel[0]->getBaseTRMtx());
|
||||
|
||||
|
||||
mDoMtx_stack_c::transS(0.0f, 0.0f, 0.0f);
|
||||
mDoMtx_stack_c::YrotM(0);
|
||||
MTXCopy(mDoMtx_stack_c::get(), field_0x6f8[0]);
|
||||
|
@ -192,7 +121,7 @@ void daTagLv6Gate_c::create_init() {
|
|||
|
||||
if (!fopAcM_isSwitch(this, getSwitchNo1())) {
|
||||
parentActorID = fopAcM_create(PROC_NPC_TKS, 2, &cXyz(-13.272481f, 2887.0f, -10373.718f),
|
||||
fopAcM_GetRoomNo(this), &csXyz(0, 0x7FFF, 0), NULL, -1);
|
||||
fopAcM_GetRoomNo(this), &csXyz(0, 0x7FFF, 0), NULL, -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -218,11 +147,7 @@ static int daTagLv6Gate_Execute(daTagLv6Gate_c* i_this) {
|
|||
return i_this->execute();
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
bool daTagLv6Gate_c::checkOpenArea() {
|
||||
fopAc_ac_c* actor;
|
||||
cXyz pos;
|
||||
|
||||
if (!fopAcM_isSwitch(this, getSwitchNo2())) {
|
||||
return false;
|
||||
}
|
||||
|
@ -231,8 +156,10 @@ bool daTagLv6Gate_c::checkOpenArea() {
|
|||
mDoMtx_stack_c::inverse();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
actor = (i == 0) ? daPy_getPlayerActorClass() : fopAcM_SearchByName(PROC_NPC_TKS);
|
||||
fopAc_ac_c* actor =
|
||||
(i == 0) ? daPy_getPlayerActorClass() : fopAcM_SearchByName(PROC_NPC_TKS);
|
||||
if (actor != NULL) {
|
||||
cXyz pos;
|
||||
mDoMtx_stack_c::push();
|
||||
mDoMtx_stack_c::multVec(fopAcM_GetPosition_p(actor), &pos);
|
||||
mDoMtx_stack_c::pop();
|
||||
|
@ -286,19 +213,19 @@ void daTagLv6Gate_c::cut4() {
|
|||
return;
|
||||
}
|
||||
|
||||
fopAcM_GetOldPosition_p(actor2) = pos;
|
||||
*fopAcM_GetOldPosition_p(actor2) = pos;
|
||||
*fopAcM_GetPosition_p(actor2) = pos;
|
||||
}
|
||||
|
||||
/* 80D4FEDC-80D5068C 0006BC 07B0+00 1/1 0/0 0/0 .text execute__14daTagLv6Gate_cFv */
|
||||
// NONMATCHING
|
||||
int daTagLv6Gate_c::execute() {
|
||||
// Fake match?
|
||||
dComIfG_play_c& play = g_dComIfG_gameInfo.getPlay();
|
||||
if (dComIfGp_event_runCheck() && !eventInfo.checkCommandTalk()) {
|
||||
s32 cut_index = dComIfGp_evmng_getMyStaffId(l_arcName, NULL, 0);
|
||||
dComIfG_inf_c& game_info = g_dComIfG_gameInfo; // Fake match?
|
||||
|
||||
if (game_info.getPlay().getEvent().runCheck() && !eventInfo.checkCommandTalk()) {
|
||||
s32 cut_index = dComIfGp_getEventManager().getMyStaffId(l_arcName, NULL, 0);
|
||||
if (cut_index != -1) {
|
||||
// int* cut_name = (int*)dComIfGp_getEventManager().getMyNowCutName(cut_index);
|
||||
int* cut_name = (int*)play.getEvtManager().getMyNowCutName(cut_index);
|
||||
int* cut_name = (int*)dComIfGp_getEventManager().getMyNowCutName(cut_index);
|
||||
|
||||
daPy_getPlayerActorClass()->onShieldBackBone();
|
||||
|
||||
|
@ -338,7 +265,8 @@ int daTagLv6Gate_c::execute() {
|
|||
}
|
||||
|
||||
if (eventInfo.checkCommandDemoAccrpt() && mEvtId != -1 &&
|
||||
dComIfGp_evmng_endCheck(mEvtId)) {
|
||||
dComIfGp_evmng_endCheck(mEvtId))
|
||||
{
|
||||
dComIfGp_event_reset();
|
||||
mEvtId = -1;
|
||||
}
|
||||
|
@ -397,67 +325,6 @@ int daTagLv6Gate_c::execute() {
|
|||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
/* 80D5097C-80D50980 000074 0004+00 0/1 0/0 0/0 .rodata @4155 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4155 = 78.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5097C, &lit_4155);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50980-80D50984 000078 0004+00 0/1 0/0 0/0 .rodata @4156 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4156 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50980, &lit_4156);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50984-80D50988 00007C 0004+00 0/1 0/0 0/0 .rodata @4157 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_4157 = 0x42EBB1D1;
|
||||
COMPILER_STRIP_GATE(0x80D50984, &lit_4157);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50988-80D5098C 000080 0004+00 0/1 0/0 0/0 .rodata @4158 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4158 = 1677.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50988, &lit_4158);
|
||||
#pragma pop
|
||||
|
||||
/* 80D5098C-80D50990 000084 0004+00 0/1 0/0 0/0 .rodata @4159 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_4159 = 0xC59FB6B7;
|
||||
COMPILER_STRIP_GATE(0x80D5098C, &lit_4159);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50990-80D50994 000088 0004+00 0/1 0/0 0/0 .rodata @4160 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4160 = 12.75f;
|
||||
COMPILER_STRIP_GATE(0x80D50990, &lit_4160);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50994-80D50998 00008C 0004+00 0/1 0/0 0/0 .rodata @4161 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4161 = 5.75f;
|
||||
COMPILER_STRIP_GATE(0x80D50994, &lit_4161);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50998-80D50998 000090 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D509A0 = "LV6_GATE_APPEAR_SKIP";
|
||||
SECTION_DEAD static char const* const stringBase_80D509B5 = "LV6_GATE_APPEAR";
|
||||
#pragma pop
|
||||
|
||||
int daTagLv6Gate_c::execute() {
|
||||
// NONMATCHING
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 80D5068C-80D506AC 000E6C 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Draw__FP14daTagLv6Gate_c */
|
||||
static int daTagLv6Gate_Draw(daTagLv6Gate_c* i_this) {
|
||||
|
@ -527,7 +394,7 @@ extern actor_process_profile_definition g_profile_Tag_Lv6Gate = {
|
|||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Tag_Lv6Gate, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daTagLv6Gate_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
|
|
Loading…
Reference in New Issue