mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
Make d_a_obj_thashi equivalent (#2731)
* Make d_a_obj_thashi equivalent * Link d_a_obj_thashi * Adding suggestions * formatting * fix return
This commit is contained in:
+1
-1
@@ -2196,7 +2196,7 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ten"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_testcube"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_tgake"),
|
||||
ActorRel(NonMatching, "d_a_obj_thashi"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_thashi"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_thdoor"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_timeFire"),
|
||||
ActorRel(Equivalent, "d_a_obj_tks", extra_cflags=[DANPCF_C_HACK]), # weak function order
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
#define D_A_OBJ_THASHI_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjTHASHI_c
|
||||
@@ -11,19 +14,61 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjTHASHI_c : public fopAc_ac_c {
|
||||
class daObjTHASHI_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80D0C238 */ void initCcCylinder();
|
||||
/* 80D0C354 */ void setBaseMtx();
|
||||
/* 80D0C654 */ void CreateHeap();
|
||||
/* 80D0C8B4 */ void create();
|
||||
/* 80D0CE70 */ void Create();
|
||||
/* 80D0CEB4 */ void Execute(Mtx**);
|
||||
/* 80D0CEE0 */ void Draw();
|
||||
/* 80D0D140 */ void Delete();
|
||||
/* 80D0C654 */ int CreateHeap();
|
||||
/* 80D0C8B4 */ int create();
|
||||
/* 80D0CE70 */ int Create();
|
||||
/* 80D0CEB4 */ int Execute(Mtx**);
|
||||
/* 80D0CEE0 */ int Draw();
|
||||
/* 80D0D140 */ int Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x1bbc - 0x568];
|
||||
// private:
|
||||
|
||||
/* 0x5A0 */ dBgW* unk5A0;
|
||||
/* 0x5A4 */ u32 unk5A4;
|
||||
/* 0x5A8 */ u32 unk5A8;
|
||||
/* 0x5AC */ cXyz unk5AC;
|
||||
/* 0x5B8 */ csXyz mRot;
|
||||
/* 0x5C0 */ cXyz mTrans;
|
||||
/* 0x5CC */ u32 unk5CC;
|
||||
/* 0x5D0 */ cXyz unk5D0;
|
||||
/* 0x5DC */ cXyz unk5DC[5];
|
||||
/* 0x618 */ u32 unk618;
|
||||
/* 0x61C */ u32 unk61C;
|
||||
/* 0x620 */ u32 unk620;
|
||||
/* 0x624 */ cXyz unk624;
|
||||
/* 0x630 */ csXyz unk630;
|
||||
/* 0x636 */ s16 unk636;
|
||||
/* 0x638 */ cXyz mCollectiveTrans[50];
|
||||
/* 0x890 */ cXyz unk890[50];
|
||||
/* 0xAE8 */ cXyz mCollectiveScale[50];
|
||||
/* 0xD40 */ u32 unkD40;
|
||||
/* 0xD44 */ u32 unkD44;
|
||||
/* 0xD48 */ csXyz mCollectiveRot[50];
|
||||
/* 0xE74 */ csXyz unkE74[50];
|
||||
/* 0xFA0 */ u8 unkFA0[0x100];
|
||||
/* 0x10A0 */ f32 unk10A0;
|
||||
/* 0x10A4 */ u32 unk10A4;
|
||||
/* 0x10A8 */ u32 unk10A8;
|
||||
/* 0x10AC */ Z2SoundObjSimple unk10AC;
|
||||
/* 0x10CC */ u32 unk10CC;
|
||||
/* 0x10D0 */ u32 unk10D0;
|
||||
/* 0x10D4 */ J3DModel* mThashi00Model;
|
||||
/* 0x10D8 */ J3DModel* mThashi01Model;
|
||||
/* 0x10DC */ J3DModel* mThashi03Models[50];
|
||||
/* 0x11A4 */ J3DModel* mThashi02Model;
|
||||
/* 0x11A8 */ request_of_phase_process_class unk11A8;
|
||||
/* 0x11B0 */ dBgS_AcchCir unk11B0;
|
||||
/* 0x11F0 */ dBgS_ObjAcch unk11F0;
|
||||
/* 0x13C8 */ dCcD_Stts unk13C8;
|
||||
/* 0x1404 */ dCcD_Stts unk1404;
|
||||
/* 0x1440 */ dCcD_Sph unk1440[5];
|
||||
/* 0x1A58 */ dCcD_Cyl unk1A58;
|
||||
/* 0x1B94 */ dCcU_AtInfo unk1B94;
|
||||
/* 0x1BB8 */ u32 unk1BB8;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjTHASHI_c) == 0x1bbc);
|
||||
|
||||
+282
-646
@@ -7,513 +7,261 @@
|
||||
|
||||
#include "d/actor/d_a_obj_thashi.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
#include "d/d_s_play.h"
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void initCcCylinder__13daObjTHASHI_cFv();
|
||||
extern "C" static void daObjTHASHI_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjTHASHI_Delete__FP13daObjTHASHI_c();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void setBaseMtx__13daObjTHASHI_cFv();
|
||||
extern "C" static void daObjTHASHI_Draw__FP13daObjTHASHI_c();
|
||||
extern "C" static void daObjTHASHI_Execute__FP13daObjTHASHI_c();
|
||||
extern "C" void CreateHeap__13daObjTHASHI_cFv();
|
||||
extern "C" void create__13daObjTHASHI_cFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__8dCcD_SphFv();
|
||||
extern "C" void __ct__8dCcD_SphFv();
|
||||
extern "C" void __dt__8cM3dGSphFv();
|
||||
extern "C" void __dt__12dBgS_ObjAcchFv();
|
||||
extern "C" void __ct__5csXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" static bool daObjTHASHI_IsDelete__FP13daObjTHASHI_c();
|
||||
extern "C" void Create__13daObjTHASHI_cFv();
|
||||
extern "C" void Execute__13daObjTHASHI_cFPPA3_A4_f();
|
||||
extern "C" void Draw__13daObjTHASHI_cFv();
|
||||
extern "C" void Delete__13daObjTHASHI_cFv();
|
||||
extern "C" static void func_80D0D174();
|
||||
extern "C" static void func_80D0D17C();
|
||||
extern "C" extern char const* const d_a_obj_thashi__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_XrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_ZrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
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 getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__12dBgS_AcchCirFv();
|
||||
extern "C" void __dt__9dBgS_AcchFv();
|
||||
extern "C" void __ct__9dBgS_AcchFv();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
|
||||
extern "C" void
|
||||
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
|
||||
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
|
||||
extern "C" void SetObj__16dBgS_PolyPassChkFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
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_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8dCcD_Sph[36];
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_SphAttr[25];
|
||||
extern "C" extern void* __vt__12cCcD_CylAttr[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];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" u8 m_set_func__16dBgS_MoveBgActor[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
char* l_arcName = "S_thashi";
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D18C-80D0D1CC 000000 0040+00 2/2 0/0 0/0 .rodata ccCylSrc$3671 */
|
||||
SECTION_RODATA static u8 const ccCylSrc_3671[64] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
|
||||
0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xF0, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D18C, &ccCylSrc_3671);
|
||||
|
||||
/* 80D0D1CC-80D0D1D0 000040 0004+00 0/0 0/0 0/0 .rodata @3693 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3693[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D1CC, &lit_3693);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D1D0-80D0D1D4 000044 0004+00 0/0 0/0 0/0 .rodata @3694 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3694 = 200.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D1D0, &lit_3694);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D1D4-80D0D1DC 000048 0004+04 0/0 0/0 0/0 .rodata @3695 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3695[1 + 1 /* padding */] = {
|
||||
300.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D1D4, &lit_3695);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D1DC-80D0D1E4 000050 0008+00 0/0 0/0 0/0 .rodata @3697 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3697[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D1DC, &lit_3697);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D1E4-80D0D228 000058 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3701 */
|
||||
const static dCcD_SrcCyl ccCylSrc_3701 = {
|
||||
{
|
||||
{0x0, {{0x0, 0x0, 0x0}, {0x100000, 0x1f}, 0x75}}, // mObj
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
|
||||
{dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x2}, // mGObjTg
|
||||
{0x0}, // mGObjCo
|
||||
}, // mObjInf
|
||||
{
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
110.0f, // mRadius
|
||||
130.0f // mHeight
|
||||
} // mCyl
|
||||
};
|
||||
static void dataStripping() {
|
||||
const static u32 ccCylSrc[] = {0, 0x100000, 0, 0x13, 0x100000, 0x1f, 0x75, 0,
|
||||
0, 0x10000, 0x2, 0, 0l, 0, 0, 0x42f00000};
|
||||
extern void stripFloat(f32);
|
||||
extern void stripint(int);
|
||||
extern int getStripInt();
|
||||
stripFloat(0.0f);
|
||||
stripFloat(200.0f);
|
||||
stripFloat(300.0f);
|
||||
stripFloat(getStripInt());
|
||||
}
|
||||
|
||||
/* 80D0C238-80D0C298 000078 0060+00 1/1 0/0 0/0 .text initCcCylinder__13daObjTHASHI_cFv
|
||||
*/
|
||||
void daObjTHASHI_c::initCcCylinder() {
|
||||
// NONMATCHING
|
||||
#if !DEBUG
|
||||
const
|
||||
#endif
|
||||
static dCcD_SrcCyl ccCylSrc = {
|
||||
{
|
||||
{0x0, {{AT_TYPE_0, 0x0, 0x0}, {0x00100000, 0x1f}, 0x75}}, // mObj
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
|
||||
{dCcD_SE_NONE, 0x1, 0x0, 0x0, 0x2}, // mGObjTg
|
||||
{0x0}, // mGObjCo
|
||||
}, // mObjInf
|
||||
{
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
110.f + nREG_F(17), // mRadius
|
||||
130.f + nREG_F(16) // mHeight
|
||||
} // mCyl
|
||||
};
|
||||
unk13C8.Init(0xff, 0xff, this);
|
||||
unk1A58.Set(ccCylSrc);
|
||||
unk1A58.SetStts(&unk13C8);
|
||||
unk1A58.SetC(current.pos);
|
||||
}
|
||||
|
||||
static void dataStripping2() {
|
||||
extern void stripFloat(f32);
|
||||
extern void stripDouble(f64);
|
||||
stripFloat(15.0f);
|
||||
stripFloat(60.0f);
|
||||
stripFloat(30.0f);
|
||||
stripFloat(150.0f);
|
||||
stripFloat(10.0f);
|
||||
stripFloat(70.0f);
|
||||
stripFloat(0.65f);
|
||||
stripFloat(0.25f);
|
||||
stripFloat(1.5f);
|
||||
stripFloat(0.6f);
|
||||
stripFloat(1.0f);
|
||||
stripFloat(8192.0f);
|
||||
stripFloat(32000.0f);
|
||||
stripFloat(15000.0f);
|
||||
stripFloat(65536.0f);
|
||||
stripFloat(-0.05f);
|
||||
stripFloat(0.2f);
|
||||
stripFloat(4.0f);
|
||||
stripFloat(0.7f);
|
||||
stripFloat(0.3f);
|
||||
stripFloat(5000.0f);
|
||||
stripFloat(5.0f);
|
||||
stripFloat(-9.0f);
|
||||
stripFloat(16384.0f);
|
||||
stripFloat(-1.0f);
|
||||
stripFloat(450.0f);
|
||||
|
||||
stripDouble(0.5f);
|
||||
stripDouble(3.0f);
|
||||
stripDouble(0.0f);
|
||||
|
||||
stripFloat(3.0f);
|
||||
stripFloat(2000.0f);
|
||||
stripFloat(608.0f);
|
||||
stripFloat(448.0f);
|
||||
}
|
||||
|
||||
/* 80D0C298-80D0C2B8 0000D8 0020+00 1/0 0/0 0/0 .text daObjTHASHI_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
static void daObjTHASHI_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjTHASHI_Create(fopAc_ac_c* param_0) {
|
||||
daObjTHASHI_c* i_this = (daObjTHASHI_c*)param_0;
|
||||
fpc_ProcID id = fopAcM_GetID(param_0);
|
||||
return i_this->create();
|
||||
}
|
||||
|
||||
/* 80D0C2B8-80D0C2DC 0000F8 0024+00 1/0 0/0 0/0 .text daObjTHASHI_Delete__FP13daObjTHASHI_c */
|
||||
static void daObjTHASHI_Delete(daObjTHASHI_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjTHASHI_Delete(daObjTHASHI_c* i_this) {
|
||||
fpc_ProcID id = fopAcM_GetID(i_this);
|
||||
i_this->MoveBGDelete();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80D0C2DC-80D0C318 00011C 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
// stripped function to move dtor weak ordering
|
||||
static void strippedFunc3(cXyz* a, csXyz* b) {
|
||||
delete[] b;
|
||||
delete[] a;
|
||||
}
|
||||
|
||||
/* 80D0C318-80D0C354 000158 003C+00 1/1 0/0 0/0 .text __dt__5csXyzFv */
|
||||
// csXyz::~csXyz() {
|
||||
extern "C" void __dt__5csXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D2D0-80D0D2D0 000144 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D0D2D0 = "S_thashi";
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D334-80D0D338 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_thashi__stringBase0;
|
||||
|
||||
/* 80D0D338-80D0D35C -00001 0024+00 1/1 0/0 0/0 .data @4521 */
|
||||
SECTION_DATA static void* lit_4521[9] = {
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x44),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x6C),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x6C),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x1AC),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x214),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x29C),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x29C),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x6C),
|
||||
(void*)(((char*)setBaseMtx__13daObjTHASHI_cFv) + 0x214),
|
||||
};
|
||||
|
||||
/* 80D0C354-80D0C608 000194 02B4+00 2/1 0/0 0/0 .text setBaseMtx__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
switch (unk5A4) {
|
||||
case 0:
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
mThashi00Model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
for (s16 i = 0; i < 10; i++) {
|
||||
mDoMtx_stack_c::transS(mCollectiveTrans[i]);
|
||||
mDoMtx_stack_c::ZXYrotM(mCollectiveRot[i]);
|
||||
mDoMtx_stack_c::scaleM(mCollectiveScale[i]);
|
||||
mThashi03Models[i]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
f32 t = fabsf(cM_ssin(mRot.x) * (70.f + KREG_F(0)));
|
||||
mDoMtx_stack_c::transS(mTrans.x, mTrans.y + t + 10.f + KREG_F(11), mTrans.z);
|
||||
mDoMtx_stack_c::YrotM(mRot.y);
|
||||
mDoMtx_stack_c::ZrotM(mRot.z);
|
||||
mDoMtx_stack_c::XrotM(mRot.x);
|
||||
mDoMtx_stack_c::YrotM(-mRot.y);
|
||||
mDoMtx_stack_c::transM(0.f, 60.f + KREG_F(12), 0.f);
|
||||
mThashi02Model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
break;
|
||||
case 3:
|
||||
for (s16 i = 0; i < 50; i++) {
|
||||
mDoMtx_stack_c::transS(mCollectiveTrans[i]);
|
||||
mDoMtx_stack_c::ZXYrotM(mCollectiveRot[i]);
|
||||
mDoMtx_stack_c::scaleM(mCollectiveScale[i]);
|
||||
mThashi03Models[i]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case 8:
|
||||
for (s16 i = 0; i < 40; i++) {
|
||||
mDoMtx_stack_c::transS(mCollectiveTrans[i]);
|
||||
mDoMtx_stack_c::ZXYrotM(mCollectiveRot[i]);
|
||||
mDoMtx_stack_c::scaleM(mCollectiveScale[i]);
|
||||
mThashi03Models[i]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
mThashi01Model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D0C608-80D0C634 000448 002C+00 1/0 0/0 0/0 .text daObjTHASHI_Draw__FP13daObjTHASHI_c
|
||||
*/
|
||||
static void daObjTHASHI_Draw(daObjTHASHI_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjTHASHI_Draw(daObjTHASHI_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* 80D0C634-80D0C654 000474 0020+00 2/1 0/0 0/0 .text daObjTHASHI_Execute__FP13daObjTHASHI_c */
|
||||
static void daObjTHASHI_Execute(daObjTHASHI_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjTHASHI_Execute(daObjTHASHI_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D2D0-80D0D2D0 000144 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D0D2D9 = "S_thashi00.bmd";
|
||||
SECTION_DEAD static char const* const stringBase_80D0D2E8 = "S_thashi01.bmd";
|
||||
SECTION_DEAD static char const* const stringBase_80D0D2F7 = "S_thashi03.bmd";
|
||||
SECTION_DEAD static char const* const stringBase_80D0D306 = "S_thashi02.bmd";
|
||||
SECTION_DEAD static char const* const stringBase_80D0D315 = "S_thashi01.dzb";
|
||||
#pragma pop
|
||||
|
||||
/* 80D0C654-80D0C8B4 000494 0260+00 1/0 0/0 0/0 .text CreateHeap__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daObjTHASHI_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "S_thashi00.bmd");
|
||||
JUT_ASSERT(92, modelData != NULL);
|
||||
J3DModelData* modelData1 = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "S_thashi01.bmd");
|
||||
JUT_ASSERT(95, modelData1 != NULL);
|
||||
mThashi00Model = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mThashi00Model == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
mThashi01Model = mDoExt_J3DModel__create(modelData1, 0x80000, 0x11000084);
|
||||
if (mThashi01Model == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "S_thashi03.bmd");
|
||||
JUT_ASSERT(113, modelData2 != NULL);
|
||||
J3DModelData* modelData3 = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "S_thashi02.bmd");
|
||||
JUT_ASSERT(116, modelData3 != NULL);
|
||||
for (int i = 0; i < 50; i++) {
|
||||
mThashi03Models[i] = mDoExt_J3DModel__create(modelData2, 0x80000, 0x11000084);
|
||||
if (mThashi03Models[i] == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
mThashi02Model = mDoExt_J3DModel__create(modelData3, 0x80000, 0x11000084);
|
||||
if (mThashi02Model == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
u32 ind = dComIfG_getObjctResName2Index(l_arcName, "S_thashi01.dzb");
|
||||
unk5A0 = new dBgW();
|
||||
|
||||
if (unk5A0 != NULL && !unk5A0->Set((cBgD_t*)dComIfG_getObjectRes(l_arcName, ind), 1, &mBgMtx)) {
|
||||
if (m_set_func != NULL) {
|
||||
unk5A0->SetCrrFunc(m_set_func);
|
||||
}
|
||||
} else {
|
||||
unk5A0 = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D228-80D0D22C 00009C 0004+00 0/0 0/0 0/0 .rodata @3795 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3795 = 15.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D228, &lit_3795);
|
||||
#pragma pop
|
||||
/* 80D0C8B4-80D0CBC8 0006F4 0314+00 1/1 0/0 0/0 .text create__13daObjTHASHI_cFv */
|
||||
int daObjTHASHI_c::create() {
|
||||
fopAcM_SetupActor(this, daObjTHASHI_c);
|
||||
int phase_state = dComIfG_resLoad(&unk11A8, l_arcName);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
unk10A0 = -9.0f;
|
||||
gravity = -0.0f;
|
||||
int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "S_thashi00.dzb");
|
||||
|
||||
/* 80D0D22C-80D0D230 0000A0 0004+00 0/0 0/0 0/0 .rodata @3796 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3796 = 60.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D22C, &lit_3796);
|
||||
#pragma pop
|
||||
unk5A4 = 0;
|
||||
#if DEBUG
|
||||
if (dzb_id == -1) {
|
||||
OSReport("dzbデータが見つかりませんでした!<%s>\n\n", l_arcName);
|
||||
}
|
||||
JUT_ASSERT(1797, dzb_id != -1);
|
||||
#endif
|
||||
phase_state = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x4000, 0);
|
||||
if (phase_state == cPhs_ERROR_e) {
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80D0D230-80D0D234 0000A4 0004+00 0/0 0/0 0/0 .rodata @3797 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3797 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D230, &lit_3797);
|
||||
#pragma pop
|
||||
fopAcM_SetMtx(this, mThashi00Model->getBaseTRMtx());
|
||||
initCcCylinder();
|
||||
unk636 = 0;
|
||||
mTrans.set(current.pos.x, current.pos.y, current.pos.z);
|
||||
daObjTHASHI_Execute(this);
|
||||
}
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80D0D234-80D0D238 0000A8 0004+00 0/0 0/0 0/0 .rodata @3833 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3833 = 150.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D234, &lit_3833);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D238-80D0D23C 0000AC 0004+00 0/0 0/0 0/0 .rodata @3834 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3834 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D238, &lit_3834);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D23C-80D0D240 0000B0 0004+00 0/0 0/0 0/0 .rodata @3855 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3855 = 70.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D23C, &lit_3855);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D240-80D0D244 0000B4 0004+00 0/0 0/0 0/0 .rodata @3856 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3856 = 13.0f / 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D240, &lit_3856);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D244-80D0D248 0000B8 0004+00 0/0 0/0 0/0 .rodata @3857 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3857 = 0.25f;
|
||||
COMPILER_STRIP_GATE(0x80D0D244, &lit_3857);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D248-80D0D24C 0000BC 0004+00 0/0 0/0 0/0 .rodata @3858 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3858 = 1.5f;
|
||||
COMPILER_STRIP_GATE(0x80D0D248, &lit_3858);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D24C-80D0D250 0000C0 0004+00 0/0 0/0 0/0 .rodata @3859 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3859 = 3.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D24C, &lit_3859);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D250-80D0D254 0000C4 0004+00 0/0 0/0 0/0 .rodata @3860 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3860 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D250, &lit_3860);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D254-80D0D258 0000C8 0004+00 0/0 0/0 0/0 .rodata @3861 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3861 = 8192.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D254, &lit_3861);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D258-80D0D25C 0000CC 0004+00 0/0 0/0 0/0 .rodata @3862 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3862 = 32000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D258, &lit_3862);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D25C-80D0D260 0000D0 0004+00 0/0 0/0 0/0 .rodata @3863 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3863 = 15000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D25C, &lit_3863);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D260-80D0D264 0000D4 0004+00 0/0 0/0 0/0 .rodata @3864 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3864 = 65536.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D260, &lit_3864);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D264-80D0D268 0000D8 0004+00 0/0 0/0 0/0 .rodata @3947 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3947 = -1.0f / 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D264, &lit_3947);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D268-80D0D26C 0000DC 0004+00 0/0 0/0 0/0 .rodata @3973 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3973 = 1.0f / 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D268, &lit_3973);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D26C-80D0D270 0000E0 0004+00 0/0 0/0 0/0 .rodata @3974 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3974 = 4.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D26C, &lit_3974);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D270-80D0D274 0000E4 0004+00 0/0 0/0 0/0 .rodata @3975 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3975 = 7.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D270, &lit_3975);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D274-80D0D278 0000E8 0004+00 0/0 0/0 0/0 .rodata @3976 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3976 = 3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D274, &lit_3976);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D278-80D0D27C 0000EC 0004+00 0/0 0/0 0/0 .rodata @3977 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3977 = 5000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D278, &lit_3977);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D27C-80D0D280 0000F0 0004+00 0/0 0/0 0/0 .rodata @3978 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3978 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D27C, &lit_3978);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D280-80D0D284 0000F4 0004+00 1/1 0/0 0/0 .rodata @3988 */
|
||||
SECTION_RODATA static f32 const lit_3988 = -9.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D280, &lit_3988);
|
||||
|
||||
/* 80D0D284-80D0D288 0000F8 0004+00 0/0 0/0 0/0 .rodata @4017 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4017 = 16384.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D284, &lit_4017);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D288-80D0D28C 0000FC 0004+00 0/0 0/0 0/0 .rodata @4018 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4018 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D288, &lit_4018);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D28C-80D0D294 000100 0004+04 0/0 0/0 0/0 .rodata @4019 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4019[1 + 1 /* padding */] = {
|
||||
450.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D28C, &lit_4019);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D294-80D0D29C 000108 0008+00 0/0 0/0 0/0 .rodata @4270 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4270[8] = {
|
||||
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D294, &lit_4270);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D29C-80D0D2A4 000110 0008+00 0/0 0/0 0/0 .rodata @4271 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4271[8] = {
|
||||
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D29C, &lit_4271);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2A4-80D0D2AC 000118 0008+00 0/0 0/0 0/0 .rodata @4272 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_4272[8] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D0D2A4, &lit_4272);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2AC-80D0D2B0 000120 0004+00 0/0 0/0 0/0 .rodata @4310 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4310 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2AC, &lit_4310);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2B0-80D0D2B4 000124 0004+00 0/0 0/0 0/0 .rodata @4433 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4433 = 2000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2B0, &lit_4433);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2B4-80D0D2B8 000128 0004+00 0/0 0/0 0/0 .rodata @4446 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4446 = 608.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2B4, &lit_4446);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2B8-80D0D2BC 00012C 0004+00 0/0 0/0 0/0 .rodata @4447 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4447 = 448.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2B8, &lit_4447);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2BC-80D0D2C0 000130 0004+00 1/1 0/0 0/0 .rodata @4656 */
|
||||
SECTION_RODATA static f32 const lit_4656 = -0.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2BC, &lit_4656);
|
||||
|
||||
/* 80D0D2D0-80D0D2D0 000144 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D0D324 = "S_thashi00.dzb";
|
||||
#pragma pop
|
||||
/* 80D0CE68-80D0CE70 000CA8 0008+00 1/0 0/0 0/0 .text daObjTHASHI_IsDelete__FP13daObjTHASHI_c */
|
||||
static int daObjTHASHI_IsDelete(daObjTHASHI_c* param_0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80D0D35C-80D0D37C -00001 0020+00 1/0 0/0 0/0 .data l_daObjTHASHI_Method */
|
||||
static actor_method_class l_daObjTHASHI_Method = {
|
||||
(process_method_func)daObjTHASHI_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjTHASHI_Delete__FP13daObjTHASHI_c,
|
||||
(process_method_func)daObjTHASHI_Execute__FP13daObjTHASHI_c,
|
||||
(process_method_func)daObjTHASHI_IsDelete__FP13daObjTHASHI_c,
|
||||
(process_method_func)daObjTHASHI_Draw__FP13daObjTHASHI_c,
|
||||
(process_method_func)daObjTHASHI_Create,
|
||||
(process_method_func)daObjTHASHI_Delete,
|
||||
(process_method_func)daObjTHASHI_Execute,
|
||||
(process_method_func)daObjTHASHI_IsDelete,
|
||||
(process_method_func)daObjTHASHI_Draw,
|
||||
};
|
||||
|
||||
/* 80D0D37C-80D0D3AC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_THASHI */
|
||||
@@ -534,197 +282,85 @@ extern actor_process_profile_definition g_profile_Obj_THASHI = {
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D0D3AC-80D0D3B8 000078 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */
|
||||
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGSphFv,
|
||||
};
|
||||
|
||||
/* 80D0D3B8-80D0D3C4 000084 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 80D0D3C4-80D0D3D0 000090 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,
|
||||
};
|
||||
|
||||
/* 80D0D3D0-80D0D3F4 00009C 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
|
||||
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12dBgS_ObjAcchFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80D0D17C,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80D0D174,
|
||||
};
|
||||
|
||||
/* 80D0D3F4-80D0D41C 0000C0 0028+00 1/1 0/0 0/0 .data __vt__13daObjTHASHI_c */
|
||||
SECTION_DATA extern void* __vt__13daObjTHASHI_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__13daObjTHASHI_cFv,
|
||||
(void*)Create__13daObjTHASHI_cFv,
|
||||
(void*)Execute__13daObjTHASHI_cFPPA3_A4_f,
|
||||
(void*)Draw__13daObjTHASHI_cFv,
|
||||
(void*)Delete__13daObjTHASHI_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80D0C8B4-80D0CBC8 0006F4 0314+00 1/1 0/0 0/0 .text create__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CBC8-80D0CC10 000A08 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CC10-80D0CC58 000A50 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CC58-80D0CD24 000A98 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_SphFv */
|
||||
// dCcD_Sph::~dCcD_Sph() {
|
||||
extern "C" void __dt__8dCcD_SphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CD24-80D0CDA8 000B64 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */
|
||||
// dCcD_Sph::dCcD_Sph() {
|
||||
extern "C" void __ct__8dCcD_SphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CDA8-80D0CDF0 000BE8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
|
||||
// cM3dGSph::~cM3dGSph() {
|
||||
extern "C" void __dt__8cM3dGSphFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CDF0-80D0CE60 000C30 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
|
||||
// dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" void __dt__12dBgS_ObjAcchFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0CE60-80D0CE64 000CA0 0004+00 1/1 0/0 0/0 .text __ct__5csXyzFv */
|
||||
// csXyz::csXyz() {
|
||||
extern "C" void __ct__5csXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80D0CE64-80D0CE68 000CA4 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
/* 80D0CE68-80D0CE70 000CA8 0008+00 1/0 0/0 0/0 .text daObjTHASHI_IsDelete__FP13daObjTHASHI_c */
|
||||
static bool daObjTHASHI_IsDelete(daObjTHASHI_c* param_0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D2C0-80D0D2C4 000134 0004+00 0/1 0/0 0/0 .rodata @4790 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4790 = -1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2C0, &lit_4790);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2C4-80D0D2C8 000138 0004+00 0/1 0/0 0/0 .rodata @4791 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4791 = -500.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2C4, &lit_4791);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2C8-80D0D2CC 00013C 0004+00 0/1 0/0 0/0 .rodata @4792 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4792 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2C8, &lit_4792);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0D2CC-80D0D2D0 000140 0004+00 0/1 0/0 0/0 .rodata @4793 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4793 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0D2CC, &lit_4793);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0CE70-80D0CEB4 000CB0 0044+00 1/0 0/0 0/0 .text Create__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::Create() {
|
||||
// NONMATCHING
|
||||
int daObjTHASHI_c::Create() {
|
||||
fopAcM_setCullSizeBox(this, -1000.0f, -500.0f, -1000.0f, 1000.0f, 500.0f, 1000.0f);
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* 80D0CEB4-80D0CEE0 000CF4 002C+00 1/0 0/0 0/0 .text Execute__13daObjTHASHI_cFPPA3_A4_f
|
||||
*/
|
||||
void daObjTHASHI_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
int daObjTHASHI_c::Execute(Mtx** i_pMtx) {
|
||||
*i_pMtx = &mBgMtx;
|
||||
setBaseMtx();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0D41C-80D0D440 -00001 0024+00 1/1 0/0 0/0 .data @4855 */
|
||||
SECTION_DATA static void* lit_4855[9] = {
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x1AC),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x1B8),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x1B8),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x1F0),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x218),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x244),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x244),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x1B8),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x218),
|
||||
};
|
||||
|
||||
/* 80D0D440-80D0D464 -00001 0024+00 1/1 0/0 0/0 .data @4854 */
|
||||
SECTION_DATA static void* lit_4854[9] = {
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x54),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x70),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x70),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0xDC),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x118),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x168),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x168),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x70),
|
||||
(void*)(((char*)Draw__13daObjTHASHI_cFv) + 0x118),
|
||||
};
|
||||
|
||||
/* 80D0CEE0-80D0D140 000D20 0260+00 3/0 0/0 0/0 .text Draw__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::Draw() {
|
||||
// NONMATCHING
|
||||
// needs to be inline for jump tables to be at end of data
|
||||
inline int daObjTHASHI_c::Draw() {
|
||||
g_env_light.settingTevStruct(0, ¤t.pos, &tevStr);
|
||||
switch (unk5A4) {
|
||||
case 0:
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi00Model, &tevStr);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
for (int i = 0; i < 10; i++) {
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi03Models[i], &tevStr);
|
||||
}
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi01Model, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi02Model, &tevStr);
|
||||
break;
|
||||
case 3:
|
||||
for (int i = 0; i < 50; i++) {
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi03Models[i], &tevStr);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case 8:
|
||||
for (int i = 0; i < 40; i++) {
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi03Models[i], &tevStr);
|
||||
}
|
||||
g_env_light.setLightTevColorType_MAJI(mThashi01Model, &tevStr);
|
||||
break;
|
||||
}
|
||||
dComIfGd_setListBG();
|
||||
switch (unk5A4) {
|
||||
case 0:
|
||||
mDoExt_modelUpdateDL(mThashi00Model);
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
for (int i = 0; i < 10; i++) {
|
||||
mDoExt_modelUpdateDL(mThashi03Models[i]);
|
||||
}
|
||||
mDoExt_modelUpdateDL(mThashi01Model);
|
||||
mDoExt_modelUpdateDL(mThashi02Model);
|
||||
break;
|
||||
case 3:
|
||||
for (int i = 0; i < 50; i++) {
|
||||
mDoExt_modelUpdateDL(mThashi03Models[i]);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
case 8:
|
||||
for (int i = 0; i < 40; i++) {
|
||||
mDoExt_modelUpdateDL(mThashi03Models[i]);
|
||||
}
|
||||
mDoExt_modelUpdateDL(mThashi01Model);
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80D0D140-80D0D174 000F80 0034+00 1/0 0/0 0/0 .text Delete__13daObjTHASHI_cFv */
|
||||
void daObjTHASHI_c::Delete() {
|
||||
// NONMATCHING
|
||||
// has to be inline to maintain function order with Draw as inline
|
||||
inline int daObjTHASHI_c::Delete() {
|
||||
dComIfG_resDelete(&unk11A8, l_arcName);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80D0D174-80D0D17C 000FB4 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
|
||||
static void func_80D0D174() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0D17C-80D0D184 000FBC 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */
|
||||
static void func_80D0D17C() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80D0D2D0-80D0D2D0 000144 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
Reference in New Issue
Block a user