mirror of https://github.com/zeldaret/tp.git
useHeapInit 73%, ctor and dtor 100%, Delete 94%, wallcheck 43%, create 42%
This commit is contained in:
parent
9c48ec0905
commit
6e77b81af2
|
@ -2,6 +2,8 @@
|
|||
#define D_A_OBJ_CRVHAHEN_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
@ -14,17 +16,31 @@
|
|||
class daObjCRVHAHEN_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
|
||||
/* 80BD3628 */ void Wall_Check(cXyz, cXyz);
|
||||
/* 80BD3628 */ bool Wall_Check(cXyz, cXyz);
|
||||
/* 80BD3720 */ void Hahen_Hakai(int, int);
|
||||
/* 80BD38DC */ void CheckCull();
|
||||
/* 80BD3A9C */ void checkViewArea(cXyz*);
|
||||
/* 80BD3B20 */ void Execute();
|
||||
/* 80BD3B74 */ void Delete();
|
||||
/* 80BD3B74 */ int Delete();
|
||||
/* 80BD3C0C */ void setBaseMtx();
|
||||
/* 80BD3DBC */ void create();
|
||||
/* 80BD3DBC */ int create();
|
||||
|
||||
/* 0x568 */ cXyz field1_0x568[10];
|
||||
/* 0x5e0 */ cXyz field2_0x5e0[10];
|
||||
/* 0x658 */ cXyz field3_0x658[10];
|
||||
/* 0x6d0 */ csXyz field4_0x6d0[10];
|
||||
/* 0x7ac */ csXyz field5_0x70c[10];
|
||||
/* 0x748 */ u32 field_0x748;
|
||||
/* 0x74c */ float field7_0x74c;
|
||||
/* 0x750 */ char field8_0x750;
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x794 - 0x568];
|
||||
/* 0x751 */ u8 field_0x751[0x788 - 0x751]; // padding
|
||||
public:
|
||||
/* 0x788 */ request_of_phase_process_class mPhase;
|
||||
/* 0x790 */ u8 field_0x790;
|
||||
/* 0x791 */ u8 field_0x791;
|
||||
/* 0x792 */ u8 field_0x792;
|
||||
/* 0x793 */ u8 field_0x793;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794);
|
||||
|
|
|
@ -6,14 +6,13 @@
|
|||
#include "d/actor/d_a_obj_crvhahen.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjCRVHAHEN_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" void daObjCRVHAHEN_Create__FP10fopAc_ac_c();
|
||||
extern "C" void daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void HahenSet__15daObjCRVHAHEN_cF4cXyz4cXyz4cXyz4cXyzf();
|
||||
extern "C" void Wall_Check__15daObjCRVHAHEN_cF4cXyz4cXyz();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
|
@ -23,14 +22,14 @@ extern "C" void checkViewArea__15daObjCRVHAHEN_cFP4cXyz();
|
|||
extern "C" void Execute__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void Delete__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void setBaseMtx__15daObjCRVHAHEN_cFv();
|
||||
extern "C" static void daObjCRVHAHEN_Draw__FP15daObjCRVHAHEN_c();
|
||||
extern "C" static void daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void daObjCRVHAHEN_Draw__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void daObjCRVHAHEN_Execute__FP15daObjCRVHAHEN_c();
|
||||
extern "C" void create__15daObjCRVHAHEN_cFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __ct__5csXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" static bool daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c();
|
||||
extern "C" extern char const* const d_a_obj_crvhahen__stringBase0;
|
||||
extern "C" bool daObjCRVHAHEN_IsDelete__FP15daObjCRVHAHEN_c();
|
||||
// extern "C" extern char const* const d_a_obj_crvhahen__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
|
@ -73,7 +72,7 @@ extern "C" void _restgpr_25();
|
|||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
// extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
|
@ -88,21 +87,38 @@ SECTION_DEAD static char const* const stringBase_80BD4051 = "CaravanPiece.bmd";
|
|||
#pragma pop
|
||||
|
||||
/* 80BD4064-80BD4068 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_crvhahen__stringBase0;
|
||||
SECTION_DATA static const char* l_arcName = "SrvFence";
|
||||
|
||||
/* 80BD3338-80BD33E8 000078 00B0+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static void useHeapInit(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int useHeapInit(fopAc_ac_c* param_0) {
|
||||
J3DModelData* modelData;
|
||||
modelData = (J3DModelData*) dRes_control_c::getRes(l_arcName,"CaravanPiece.bmd",
|
||||
g_dComIfG_gameInfo.mResControl.mObjectInfo, 0x80);
|
||||
|
||||
J3DModel* model;
|
||||
int i = 0, j = 0;
|
||||
for (; i < 10; i++) {
|
||||
model = mDoExt_J3DModel__create(modelData, 0x20000, 0x11000084);
|
||||
*(J3DModel**)(param_0 + j + 0x760) = model;
|
||||
|
||||
if (*(int*)(param_0 + j + 0x760) == 0) {
|
||||
return 0;
|
||||
}
|
||||
j = j + 4;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD33E8-80BD3408 000128 0020+00 1/0 0/0 0/0 .text daObjCRVHAHEN_Create__FP10fopAc_ac_c */
|
||||
static void daObjCRVHAHEN_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static void daObjCRVHAHEN_Create(fopAc_ac_c* i_this) {
|
||||
static_cast<daObjCRVHAHEN_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80BD3408-80BD342C 000148 0024+00 1/0 0/0 0/0 .text daObjCRVHAHEN_Delete__FP15daObjCRVHAHEN_c */
|
||||
static void daObjCRVHAHEN_Delete(daObjCRVHAHEN_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVHAHEN_Delete(daObjCRVHAHEN_c* i_this) {
|
||||
static_cast<daObjCRVHAHEN_c*>(i_this)->Delete();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
@ -139,8 +155,21 @@ void daObjCRVHAHEN_c::HahenSet(cXyz param_0, cXyz param_1, cXyz param_2, cXyz pa
|
|||
}
|
||||
|
||||
/* 80BD3628-80BD36E4 000368 00BC+00 1/1 0/0 0/0 .text Wall_Check__15daObjCRVHAHEN_cF4cXyz4cXyz */
|
||||
void daObjCRVHAHEN_c::Wall_Check(cXyz param_0, cXyz param_1) {
|
||||
// NONMATCHING
|
||||
bool daObjCRVHAHEN_c::Wall_Check(cXyz origin, cXyz target) {
|
||||
dBgS_LinChk lineCheck;
|
||||
cXyz linePos = cXyz(origin.x + target.x, origin.y, origin.z + target.z);
|
||||
|
||||
lineCheck.Set(&origin, &linePos, NULL);
|
||||
|
||||
bool someBool = dComIfG_Bgsp().LineCross(&lineCheck);
|
||||
|
||||
if (someBool != true) {
|
||||
lineCheck.~dBgS_LinChk();
|
||||
}
|
||||
else {
|
||||
lineCheck.~dBgS_LinChk();
|
||||
}
|
||||
return someBool == true;
|
||||
}
|
||||
|
||||
/* 80BD36E4-80BD3720 000424 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
|
@ -260,8 +289,18 @@ void daObjCRVHAHEN_c::Execute() {
|
|||
}
|
||||
|
||||
/* 80BD3B74-80BD3C0C 0008B4 0098+00 1/1 0/0 0/0 .text Delete__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::Delete() {
|
||||
J3DModelData* modelData;
|
||||
|
||||
if (field_0x791 != 0) {
|
||||
modelData = (J3DModelData*) dRes_control_c::getRes(l_arcName, "CaravanPiece.bmd",
|
||||
g_dComIfG_gameInfo.mResControl.mObjectInfo, 0x80);
|
||||
g_dComIfG_gameInfo.play.removeSimpleModel(modelData, current.roomNo);
|
||||
}
|
||||
|
||||
dComIfG_resDelete(&this->mPhase, l_arcName);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD3C0C-80BD3CA0 00094C 0094+00 1/1 0/0 0/0 .text setBaseMtx__15daObjCRVHAHEN_cFv */
|
||||
|
@ -310,8 +349,21 @@ COMPILER_STRIP_GATE(0x80BD4044, &lit_3996);
|
|||
#pragma pop
|
||||
|
||||
/* 80BD3DBC-80BD3F9C 000AFC 01E0+00 1/1 0/0 0/0 .text create__15daObjCRVHAHEN_cFv */
|
||||
void daObjCRVHAHEN_c::create() {
|
||||
// NONMATCHING
|
||||
int daObjCRVHAHEN_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daObjCRVHAHEN_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
|
||||
int phase_state = dComIfG_resLoad(&this->mPhase, "CrvFence");
|
||||
|
||||
if(phase_state == cPhs_COMPLEATE_e) {
|
||||
// bool bvar3 = fopAcM_entrySolidHeap(this, useHeapInit(this), 0x1320);
|
||||
}
|
||||
else {
|
||||
phase_state = cPhs_ERROR_e;
|
||||
}
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80BD3F9C-80BD3FD8 000CDC 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
|
||||
|
|
Loading…
Reference in New Issue