mirror of https://github.com/zeldaret/tp.git
d_a_obj_crvlh_up OK (#2687)
* d_a_obj_crvlh OK * rm padding * rm test.cpp
This commit is contained in:
parent
7bc5a82a39
commit
47abdf82fa
|
|
@ -48,8 +48,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@4001 = .rodata:0x00000060; // type:object size:0x4 scope:local
|
||||
@4002 = .rodata:0x00000064; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000068; // type:object size:0x36 scope:local data:string_table
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:global
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_CRVLH_UP = .data:0x00000024; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGCyl = .data:0x00000054; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGAab = .data:0x00000060; // type:object size:0xC scope:global
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@4001 = .rodata:0x00000060; // type:object size:0x4 scope:local
|
||||
@4002 = .rodata:0x00000064; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000068; // type:object size:0x36 scope:local data:string_table
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:global
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_CRVLH_UP = .data:0x00000024; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGCyl = .data:0x00000054; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGAab = .data:0x00000060; // type:object size:0xC scope:global
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@4001 = .rodata:0x00000060; // type:object size:0x4 scope:local
|
||||
@4002 = .rodata:0x00000064; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000068; // type:object size:0x36 scope:local data:string_table
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:global
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:global
|
||||
l_arcName = .data:0x00000000; // type:object size:0x4 scope:local
|
||||
l_daObjCRVLH_UP_Method = .data:0x00000004; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_CRVLH_UP = .data:0x00000024; // type:object size:0x30 scope:global
|
||||
__vt__8cM3dGCyl = .data:0x00000054; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGAab = .data:0x00000060; // type:object size:0xC scope:global
|
||||
|
|
|
|||
|
|
@ -1956,7 +1956,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crvgate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crvhahen"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crvlh_down"),
|
||||
ActorRel(NonMatching, "d_a_obj_crvlh_up"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crvlh_up"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crvsteel"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_crystal"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_cwall"),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
#ifndef D_A_OBJ_CRVLH_UP_H
|
||||
#define D_A_OBJ_CRVLH_UP_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_cc_d.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
|
@ -11,24 +12,40 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjCRVLH_UP_c : public fopAc_ac_c {
|
||||
class daObjCRVLH_UP_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80BD4F1C */ void HakaiSet();
|
||||
/* 80BD4FB0 */ void UpMotion();
|
||||
/* 80BD4FD8 */ void Hakai();
|
||||
/* 80BD5254 */ void setBaseMtx();
|
||||
/* 80BD5378 */ void CreateHeap();
|
||||
/* 80BD53F0 */ void create();
|
||||
/* 80BD56EC */ void Create();
|
||||
/* 80BD5730 */ void Execute(Mtx**);
|
||||
/* 80BD593C */ void Draw();
|
||||
/* 80BD59C0 */ void Delete();
|
||||
/* 80BD53F0 */ int create();
|
||||
|
||||
/* 80BD5378 */ virtual int CreateHeap();
|
||||
/* 80BD56EC */ virtual int Create();
|
||||
/* 80BD5730 */ virtual int Execute(Mtx**);
|
||||
/* 80BD593C */ virtual int Draw();
|
||||
/* 80BD59C0 */ virtual int Delete();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x770 - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0x5a4 - 0x5a0];
|
||||
/* 0x5A4 */ fpc_ProcID field_0x5a4;
|
||||
/* 0x5A8 */ fpc_ProcID field_0x5a8;
|
||||
/* 0x5AC */ cXyz field_0x5ac[3];
|
||||
/* 0x5D0 */ f32 field_0x5d0;
|
||||
/* 0x5D4 */ u8 field_0x5d4;
|
||||
/* 0x5D6 */ s16 field_0x5d6;
|
||||
/* 0x5D8 */ s16 field_0x5d8;
|
||||
/* 0x5DA */ u8 field_0x5da;
|
||||
/* 0x5DB */ u8 field_0x5db;
|
||||
/* 0x5DC */ f32 field_0x5dc;
|
||||
/* 0x5E0 */ u8 field_0x5e0[8];
|
||||
/* 0x5E8 */ J3DModel* mpModel;
|
||||
/* 0x5EC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5F4 */ dCcD_Stts mStts;
|
||||
/* 0x630 */ dCcD_Cyl mCyl;
|
||||
/* 0x76C */ u8 field_0x76c;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjCRVLH_UP_c) == 0x770);
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_CRVLH_UP_H */
|
||||
|
|
|
|||
|
|
@ -1,452 +1,237 @@
|
|||
/**
|
||||
* @file d_a_obj_crvlh_up.cpp
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/dolzel_rel.h"
|
||||
|
||||
#include "d/actor/d_a_obj_crvhahen.h"
|
||||
#include "d/actor/d_a_obj_crvlh_up.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void daObjCRVLH_UP_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjCRVLH_UP_Delete__FP15daObjCRVLH_UP_c();
|
||||
extern "C" void HakaiSet__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void UpMotion__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void Hakai__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void setBaseMtx__15daObjCRVLH_UP_cFv();
|
||||
extern "C" static void daObjCRVLH_UP_Draw__FP15daObjCRVLH_UP_c();
|
||||
extern "C" static void daObjCRVLH_UP_Execute__FP15daObjCRVLH_UP_c();
|
||||
extern "C" void CreateHeap__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void create__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" static bool daObjCRVLH_UP_IsDelete__FP15daObjCRVLH_UP_c();
|
||||
extern "C" void Create__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void Execute__15daObjCRVLH_UP_cFPPA3_A4_f();
|
||||
extern "C" void Draw__15daObjCRVLH_UP_cFv();
|
||||
extern "C" void Delete__15daObjCRVLH_UP_cFv();
|
||||
extern "C" extern char const* const d_a_obj_crvlh_up__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
|
||||
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 dComIfGp_getReverb__Fi();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
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 __ct__10dCcD_GSttsFv();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void cLib_chaseAngleS__FPsss();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
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 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void HahenSet__15daObjCRVHAHEN_cF4cXyz4cXyz4cXyz4cXyzf();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80BD4ED8-80BD4EF8 000078 0020+00 1/0 0/0 0/0 .text daObjCRVLH_UP_Create__FP10fopAc_ac_c */
|
||||
static void daObjCRVLH_UP_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVLH_UP_Create(fopAc_ac_c* i_this) {
|
||||
return ((daObjCRVLH_UP_c*)i_this)->create();
|
||||
}
|
||||
|
||||
/* 80BD4EF8-80BD4F1C 000098 0024+00 1/0 0/0 0/0 .text daObjCRVLH_UP_Delete__FP15daObjCRVLH_UP_c */
|
||||
static void daObjCRVLH_UP_Delete(daObjCRVLH_UP_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVLH_UP_Delete(daObjCRVLH_UP_c* i_this) {
|
||||
i_this->MoveBGDelete();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD59FC-80BD5A00 000000 0004+00 6/6 0/0 0/0 .rodata @3672 */
|
||||
SECTION_RODATA static f32 const lit_3672 = 16000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD59FC, &lit_3672);
|
||||
|
||||
/* 80BD5A64-80BD5A64 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BD5A64 = "CrvLH_Up";
|
||||
SECTION_DEAD static char const* const stringBase_80BD5A6D = "Release Error\n";
|
||||
#pragma pop
|
||||
/* 80BD5A9C-80BD5AA0 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName = "CrvLH_Up";
|
||||
|
||||
/* 80BD4F1C-80BD4FB0 0000BC 0094+00 0/0 0/0 1/1 .text HakaiSet__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::HakaiSet() {
|
||||
// NONMATCHING
|
||||
fopAcM_GetPosition(daPy_getPlayerActorClass());
|
||||
field_0x5db = 1;
|
||||
|
||||
if (mpBgW != NULL && mpBgW->ChkUsed()) {
|
||||
if (dComIfG_Bgsp().Release(mpBgW)) {
|
||||
OSReport("Release Error\n");
|
||||
}
|
||||
}
|
||||
field_0x5d6 = cM_rndFX(16000.0f);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A00-80BD5A04 000004 0004+00 1/1 0/0 0/0 .rodata @3681 */
|
||||
SECTION_RODATA static f32 const lit_3681 = -120.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A00, &lit_3681);
|
||||
|
||||
/* 80BD5A04-80BD5A08 000008 0004+00 1/1 0/0 0/0 .rodata @3682 */
|
||||
SECTION_RODATA static f32 const lit_3682 = -5.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A04, &lit_3682);
|
||||
|
||||
/* 80BD4FB0-80BD4FD8 000150 0028+00 1/1 0/0 0/0 .text UpMotion__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::UpMotion() {
|
||||
// NONMATCHING
|
||||
if (!(field_0x5dc < nREG_F(2) + -120.0f)) {
|
||||
field_0x5dc += -5.0f;
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A08-80BD5A0C 00000C 0004+00 0/1 0/0 0/0 .rodata @3723 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3723 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A08, &lit_3723);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A0C-80BD5A10 000010 0004+00 0/1 0/0 0/0 .rodata @3724 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3724 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A0C, &lit_3724);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A10-80BD5A14 000014 0004+00 0/4 0/0 0/0 .rodata @3725 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3725[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD5A10, &lit_3725);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A14-80BD5A18 000018 0004+00 0/2 0/0 0/0 .rodata @3726 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3726 = 150.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A14, &lit_3726);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A18-80BD5A1C 00001C 0004+00 0/1 0/0 0/0 .rodata @3727 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3727 = 350.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A18, &lit_3727);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A1C-80BD5A24 000020 0004+04 0/1 0/0 0/0 .rodata @3728 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3728[1 + 1 /* padding */] = {
|
||||
148.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD5A1C, &lit_3728);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A24-80BD5A2C 000028 0008+00 0/1 0/0 0/0 .rodata @3730 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3730[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80BD5A24, &lit_3730);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD4FD8-80BD5254 000178 027C+00 1/1 0/0 0/0 .text Hakai__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::Hakai() {
|
||||
// NONMATCHING
|
||||
}
|
||||
if (cLib_chaseAngleS(&shape_angle.x, 0x3800, field_0x5d8) != 0) {
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_YAGURA_LAND, 0);
|
||||
field_0x5da = 1;
|
||||
csXyz cStack_30(shape_angle.x, field_0x5d6, shape_angle.z);
|
||||
csXyz cStack_38(0, 0, 0);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A2C-80BD5A30 000030 0004+00 0/1 0/0 0/0 .rodata @3769 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3769 = -150.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A2C, &lit_3769);
|
||||
#pragma pop
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mDoMtx_stack_c::transS(current.pos.x, field_0x5d0, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(field_0x5d6);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, i * 350.0f + 150.0f);
|
||||
mDoMtx_stack_c::YrotM(-field_0x5d6);
|
||||
mDoMtx_stack_c::multVec(&field_0x5ac[i], &field_0x5ac[i]);
|
||||
}
|
||||
|
||||
field_0x5a4 = fopAcM_create(PROC_Obj_CRVHAHEN, 1, &field_0x5ac[0], fopAcM_GetRoomNo(this),
|
||||
&cStack_30, 0, -1);
|
||||
field_0x5a8 = fopAcM_create(PROC_Obj_CRVHAHEN, 1, &field_0x5ac[1], fopAcM_GetRoomNo(this),
|
||||
&cStack_30, 0, -1);
|
||||
dComIfGp_particle_set(dPa_RM(ID_ZF_S_CRVYAGURA05_SMK), &field_0x5ac[1], &tevStr, &cStack_30,
|
||||
0);
|
||||
}
|
||||
|
||||
field_0x5d8 += nREG_F(1) + 148.0f;
|
||||
}
|
||||
|
||||
/* 80BD5254-80BD532C 0003F4 00D8+00 1/1 0/0 0/0 .text setBaseMtx__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::transM(0.0f, field_0x5dc, 0.0f);
|
||||
mDoMtx_stack_c::YrotM(field_0x5d6 - shape_angle.y);
|
||||
mDoMtx_stack_c::transM(0.0f, HREG_F(8) + 150.0f, 0.0f);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
mDoMtx_stack_c::transM(0.0f, HREG_F(7) + -150.0f, 0.0f);
|
||||
mDoMtx_stack_c::YrotM(-(field_0x5d6 - shape_angle.y));
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
}
|
||||
|
||||
/* 80BD532C-80BD5358 0004CC 002C+00 1/0 0/0 0/0 .text daObjCRVLH_UP_Draw__FP15daObjCRVLH_UP_c */
|
||||
static void daObjCRVLH_UP_Draw(daObjCRVLH_UP_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVLH_UP_Draw(daObjCRVLH_UP_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80BD5358-80BD5378 0004F8 0020+00 2/1 0/0 0/0 .text daObjCRVLH_UP_Execute__FP15daObjCRVLH_UP_c
|
||||
*/
|
||||
static void daObjCRVLH_UP_Execute(daObjCRVLH_UP_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjCRVLH_UP_Execute(daObjCRVLH_UP_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A64-80BD5A64 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BD5A7C = "U_CrvLH_UP.bmd";
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A9C-80BD5AA0 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_crvlh_up__stringBase0;
|
||||
|
||||
/* 80BD5378-80BD53F0 000518 0078+00 1/0 0/0 0/0 .text CreateHeap__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daObjCRVLH_UP_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, "U_CrvLH_UP.bmd");
|
||||
if (modelData == NULL) {
|
||||
JUT_ASSERT(87, modelData != 0);
|
||||
}
|
||||
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
return mpModel != NULL ? 1 : 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A30-80BD5A34 000034 0004+00 0/1 0/0 0/0 .rodata @3857 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3857 = -9.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A30, &lit_3857);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A34-80BD5A38 000038 0004+00 0/2 0/0 0/0 .rodata @3858 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3858 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A34, &lit_3858);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A38-80BD5A3C 00003C 0004+00 0/2 0/0 0/0 .rodata @3859 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3859 = -500.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A38, &lit_3859);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A3C-80BD5A40 000040 0004+00 0/2 0/0 0/0 .rodata @3860 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3860 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A3C, &lit_3860);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A40-80BD5A44 000044 0004+00 0/1 0/0 0/0 .rodata @3861 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3861 = 2000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A40, &lit_3861);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A64-80BD5A64 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80BD5A8B = "U_CrvLH_Up.dzb";
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5AA0-80BD5AC0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCRVLH_UP_Method */
|
||||
static actor_method_class l_daObjCRVLH_UP_Method = {
|
||||
(process_method_func)daObjCRVLH_UP_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjCRVLH_UP_Delete__FP15daObjCRVLH_UP_c,
|
||||
(process_method_func)daObjCRVLH_UP_Execute__FP15daObjCRVLH_UP_c,
|
||||
(process_method_func)daObjCRVLH_UP_IsDelete__FP15daObjCRVLH_UP_c,
|
||||
(process_method_func)daObjCRVLH_UP_Draw__FP15daObjCRVLH_UP_c,
|
||||
};
|
||||
|
||||
/* 80BD5AC0-80BD5AF0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_CRVLH_UP */
|
||||
extern actor_process_profile_definition g_profile_Obj_CRVLH_UP = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_CRVLH_UP, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjCRVLH_UP_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
470, // mPriority
|
||||
&l_daObjCRVLH_UP_Method, // sub_method
|
||||
0x00040180, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80BD5AF0-80BD5AFC 000054 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,
|
||||
};
|
||||
|
||||
/* 80BD5AFC-80BD5B08 000060 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80BD5B08-80BD5B30 00006C 0028+00 1/1 0/0 0/0 .data __vt__15daObjCRVLH_UP_c */
|
||||
SECTION_DATA extern void* __vt__15daObjCRVLH_UP_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__15daObjCRVLH_UP_cFv,
|
||||
(void*)Create__15daObjCRVLH_UP_cFv,
|
||||
(void*)Execute__15daObjCRVLH_UP_cFPPA3_A4_f,
|
||||
(void*)Draw__15daObjCRVLH_UP_cFv,
|
||||
(void*)Delete__15daObjCRVLH_UP_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80BD53F0-80BD5614 000590 0224+00 1/1 0/0 0/0 .text create__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::create() {
|
||||
// NONMATCHING
|
||||
}
|
||||
int daObjCRVLH_UP_c::create() {
|
||||
fopAcM_SetupActor(this, daObjCRVLH_UP_c);
|
||||
int phase = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
|
||||
/* 80BD5614-80BD565C 0007B4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
gravity = nREG_F(0) + -9.0f;
|
||||
int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "U_CrvLH_Up.dzb");
|
||||
if (dzb_id == -1) {
|
||||
// "dzb data not found!<%s>"
|
||||
OS_REPORT("dzbデータが見つかりませんでした!<%s>", l_arcName);
|
||||
}
|
||||
|
||||
/* 80BD565C-80BD56A4 0007FC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
JUT_ASSERT(504, dzb_id != -1);
|
||||
phase = MoveBGCreate(l_arcName, dzb_id, dBgS_MoveBGProc_TypicalRotY, 0xe80, NULL);
|
||||
|
||||
/* 80BD56A4-80BD56E0 000844 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
|
||||
// cXyz::~cXyz() {
|
||||
extern "C" void __dt__4cXyzFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
if (phase == cPhs_ERROR_e) {
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80BD56E0-80BD56E4 000880 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
// cXyz::cXyz() {
|
||||
extern "C" void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
field_0x5ac[0].set(0.0f, 0.0f, 0.0f);
|
||||
field_0x5ac[1].set(0.0f, 0.0f, 0.0f);
|
||||
|
||||
cXyz cStack_28(current.pos.x, current.pos.y + 100.0f, current.pos.z);
|
||||
|
||||
fopAcM_setCullSizeFar(this, 100.0f);
|
||||
field_0x5d0 = current.pos.y;
|
||||
field_0x5dc = 0;
|
||||
fopAcM_setCullSizeBox(this, -500.0f, -500.0f, -500.0f, 500.0f, 2000.0f, 500.0f);
|
||||
daObjCRVLH_UP_Execute(this);
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80BD56E4-80BD56EC 000884 0008+00 1/0 0/0 0/0 .text daObjCRVLH_UP_IsDelete__FP15daObjCRVLH_UP_c
|
||||
*/
|
||||
static bool daObjCRVLH_UP_IsDelete(daObjCRVLH_UP_c* param_0) {
|
||||
return true;
|
||||
static int daObjCRVLH_UP_IsDelete(daObjCRVLH_UP_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A44-80BD5A48 000048 0004+00 0/1 0/0 0/0 .rodata @3940 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3940 = -1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A44, &lit_3940);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A48-80BD5A4C 00004C 0004+00 0/1 0/0 0/0 .rodata @3941 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3941 = 1000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A48, &lit_3941);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD56EC-80BD5730 00088C 0044+00 1/0 0/0 0/0 .text Create__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::Create() {
|
||||
// NONMATCHING
|
||||
int daObjCRVLH_UP_c::Create() {
|
||||
fopAcM_setCullSizeBox(this, -1000.0f, -500.0f, -1000.0f, 1000.0f, 500.0f, 1000.0f);
|
||||
return 4;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80BD5A4C-80BD5A50 000050 0004+00 0/1 0/0 0/0 .rodata @3997 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3997 = 250.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A4C, &lit_3997);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A50-80BD5A54 000054 0004+00 0/1 0/0 0/0 .rodata @3998 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3998 = 80.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A50, &lit_3998);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A54-80BD5A58 000058 0004+00 0/1 0/0 0/0 .rodata @3999 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3999 = 60.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A54, &lit_3999);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A58-80BD5A5C 00005C 0004+00 0/1 0/0 0/0 .rodata @4000 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4000 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A58, &lit_4000);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A5C-80BD5A60 000060 0004+00 0/1 0/0 0/0 .rodata @4001 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4001 = 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A5C, &lit_4001);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5A60-80BD5A64 000064 0004+00 0/1 0/0 0/0 .rodata @4002 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4002 = 3000.0f;
|
||||
COMPILER_STRIP_GATE(0x80BD5A60, &lit_4002);
|
||||
#pragma pop
|
||||
|
||||
/* 80BD5730-80BD593C 0008D0 020C+00 1/0 0/0 0/0 .text Execute__15daObjCRVLH_UP_cFPPA3_A4_f */
|
||||
void daObjCRVLH_UP_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
int daObjCRVLH_UP_c::Execute(Mtx** param_0) {
|
||||
fopAc_ac_c* local_a4;
|
||||
fopAc_ac_c* local_a8;
|
||||
|
||||
if (field_0x5d4 != 0) {
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
if (field_0x5da == 0) {
|
||||
if (field_0x5db != 0) {
|
||||
Hakai();
|
||||
UpMotion();
|
||||
}
|
||||
} else {
|
||||
if (fopAcM_SearchByID(field_0x5a4, &local_a4) != 0 &&
|
||||
fopAcM_SearchByID(field_0x5a8, &local_a8) != 0 && local_a4 != NULL && local_a8 != NULL)
|
||||
{
|
||||
cXyz cStack_1c(100.0f, 250.0f, 80.0f);
|
||||
cXyz cStack_28(yREG_F(15) + 60.0f, yREG_F(16) + 60.0f, yREG_F(17) + 60.0f);
|
||||
cXyz cStack_34(0.0f, 10.0f, 0.0f);
|
||||
cXyz cStack_40(10.0f, 20.0f, 20.0f);
|
||||
((daObjCRVHAHEN_c*)local_a4)
|
||||
->HahenSet(cStack_1c, cStack_34, cStack_28, cStack_40, 3000.0f);
|
||||
|
||||
// copy pasta mistake?
|
||||
cStack_1c.set(100.0f, 250.0f, 80.0f);
|
||||
cStack_28.set(yREG_F(15) + 60.0f, yREG_F(16) + 60.0f, yREG_F(17) + 60.0f);
|
||||
cStack_1c.set(100.0f, 250.0f, 80.0f);
|
||||
cStack_28.set(yREG_F(15) + 60.0f, yREG_F(16) + 60.0f, yREG_F(17) + 60.0f);
|
||||
((daObjCRVHAHEN_c*)local_a8)
|
||||
->HahenSet(cStack_1c, cStack_34, cStack_28, cStack_40, 3000.0f);
|
||||
field_0x5d4 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
*param_0 = &mBgMtx;
|
||||
setBaseMtx();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD593C-80BD59C0 000ADC 0084+00 1/0 0/0 0/0 .text Draw__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daObjCRVLH_UP_c::Draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD59C0-80BD59F4 000B60 0034+00 1/0 0/0 0/0 .text Delete__15daObjCRVLH_UP_cFv */
|
||||
void daObjCRVLH_UP_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjCRVLH_UP_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80BD5A64-80BD5A64 000068 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80BD5AA0-80BD5AC0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjCRVLH_UP_Method */
|
||||
static actor_method_class l_daObjCRVLH_UP_Method = {
|
||||
(process_method_func)daObjCRVLH_UP_Create, (process_method_func)daObjCRVLH_UP_Delete,
|
||||
(process_method_func)daObjCRVLH_UP_Execute, (process_method_func)daObjCRVLH_UP_IsDelete,
|
||||
(process_method_func)daObjCRVLH_UP_Draw,
|
||||
};
|
||||
|
||||
/* 80BD5AC0-80BD5AF0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_CRVLH_UP */
|
||||
extern actor_process_profile_definition g_profile_Obj_CRVLH_UP = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_CRVLH_UP, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjCRVLH_UP_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
470, // mPriority
|
||||
&l_daObjCRVLH_UP_Method, // sub_method
|
||||
0x00040180, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue