mirror of
https://github.com/zeldaret/tp
synced 2026-09-01 17:49:58 -04:00
d_a_tag_Lv6Gate almost matching (#1990)
This commit is contained in:
@@ -1,166 +1,20 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_tag_Lv6Gate
|
||||
// d_a_tag_Lv6Gate.cpp
|
||||
// Temple of Time Gate
|
||||
//
|
||||
|
||||
// #include "rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/bg/d_bg_w.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CCC8 */ void push();
|
||||
/* 8000CD14 */ void pop();
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DAnmTextureSRTKey {};
|
||||
|
||||
struct J3DMaterialTable {
|
||||
/* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
};
|
||||
|
||||
struct mDoExt_btkAnm {
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daTagLv6Gate_c {
|
||||
/* 80D4F8B8 */ void createHeap();
|
||||
/* 80D4FBD8 */ void create();
|
||||
/* 80D4FEDC */ void execute();
|
||||
/* 80D506AC */ void draw();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035200 */ void onSwitch(int, int);
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dPa_levelEcallBack {};
|
||||
|
||||
struct csXyz {
|
||||
/* 802673F4 */ csXyz(s16, s16, s16);
|
||||
};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
/* 80042958 */ void setSkipZev(void*, char*);
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80046800 */ void setObjectArchive(char*);
|
||||
/* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8);
|
||||
/* 80047A78 */ void endCheck(s16);
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047D4C */ void getIsAddvance(int);
|
||||
/* 80047F5C */ void getMyNowCutName(int);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
};
|
||||
|
||||
struct dBgW_Base {};
|
||||
|
||||
struct dBgW {
|
||||
/* 8007B970 */ dBgW();
|
||||
/* 8007B9C0 */ void Move();
|
||||
/* 80D4FE5C */ ~dBgW();
|
||||
};
|
||||
|
||||
struct dBgS {
|
||||
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct cBgW_BgId {
|
||||
/* 802681D4 */ void ChkUsed() const;
|
||||
};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgW {
|
||||
/* 8007933C */ ~cBgW();
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
};
|
||||
|
||||
struct cBgS {
|
||||
/* 80074250 */ void Release(dBgW_Base*);
|
||||
};
|
||||
|
||||
struct JAISoundID {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80D4FB70 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void createSolidHeap__FP10fopAc_ac_c();
|
||||
extern "C" void createHeap__14daTagLv6Gate_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daTagLv6Gate_Create__FP10fopAc_ac_c();
|
||||
extern "C" void create__14daTagLv6Gate_cFv();
|
||||
extern "C" void __dt__4dBgWFv();
|
||||
extern "C" static void daTagLv6Gate_Execute__FP14daTagLv6Gate_c();
|
||||
extern "C" void execute__14daTagLv6Gate_cFv();
|
||||
extern "C" static void daTagLv6Gate_Draw__FP14daTagLv6Gate_c();
|
||||
extern "C" void draw__14daTagLv6Gate_cFv();
|
||||
extern "C" static bool daTagLv6Gate_IsDelete__FP14daTagLv6Gate_c();
|
||||
extern "C" static void daTagLv6Gate_Delete__FP14daTagLv6Gate_c();
|
||||
extern "C" extern char const* const d_a_tag_Lv6Gate__stringBase0;
|
||||
|
||||
//
|
||||
@@ -172,26 +26,9 @@ 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 init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
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_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
|
||||
extern "C" void fpcSch_JudgeForPName__FPvPv();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void setSkipZev__14dEvt_control_cFPvPc();
|
||||
extern "C" void setObjectArchive__16dEvent_manager_cFPc();
|
||||
@@ -205,40 +42,12 @@ 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 __dt__4cBgWFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
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 ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXInverse();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__4dBgW[65];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
@@ -246,116 +55,83 @@ extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
//
|
||||
|
||||
/* 80D4F898-80D4F8B8 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void createSolidHeap(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/createSolidHeap__FP10fopAc_ac_c.s"
|
||||
static int createSolidHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daTagLv6Gate_c*>(i_this)->createHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D50908-80D50914 000000 000C+00 2/2 0/0 0/0 .rodata l_minRelative */
|
||||
SECTION_RODATA static u8 const l_minRelative[12] = {
|
||||
0xC4, 0x2F, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00, 0xC4, 0xFA, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50908, &l_minRelative);
|
||||
static f32 const l_minRelative[] = {-700.0f, -300.0f, -2000.0f};
|
||||
|
||||
/* 80D50914-80D50920 00000C 000C+00 0/1 0/0 0/0 .rodata l_maxRelative */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_maxRelative[12] = {
|
||||
0x44, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50914, &l_maxRelative);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50920-80D50928 000018 0004+04 1/2 0/0 0/0 .rodata @3757 */
|
||||
SECTION_RODATA static f32 const lit_3757[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50920, &lit_3757);
|
||||
|
||||
/* 80D50928-80D50930 000020 0008+00 1/2 0/0 0/0 .rodata @3759 */
|
||||
SECTION_RODATA static u8 const lit_3759[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50928, &lit_3759);
|
||||
|
||||
/* 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_80D50998 = "Lv6Gate";
|
||||
#pragma pop
|
||||
static f32 const l_maxRelative[] = {700.0f, 0.0f, 1000.0f};
|
||||
|
||||
/* 80D509C8-80D509CC -00001 0004+00 4/4 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_tag_Lv6Gate__stringBase0;
|
||||
|
||||
/* 80D509CC-80D509EC -00001 0020+00 1/0 0/0 0/0 .data l_daTagLv6Gate_Method */
|
||||
SECTION_DATA static void* l_daTagLv6Gate_Method[8] = {
|
||||
(void*)daTagLv6Gate_Create__FP10fopAc_ac_c,
|
||||
(void*)daTagLv6Gate_Delete__FP14daTagLv6Gate_c,
|
||||
(void*)daTagLv6Gate_Execute__FP14daTagLv6Gate_c,
|
||||
(void*)daTagLv6Gate_IsDelete__FP14daTagLv6Gate_c,
|
||||
(void*)daTagLv6Gate_Draw__FP14daTagLv6Gate_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 80D509EC-80D50A1C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv6Gate */
|
||||
SECTION_DATA extern void* g_profile_Tag_Lv6Gate[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x02C90000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x0000076C, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x01060000, (void*)&l_daTagLv6Gate_Method,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 80D50A1C-80D50A28 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
static char* l_arcName = "Lv6Gate";
|
||||
|
||||
/* 80D4F8B8-80D4FB70 000098 02B8+00 1/1 0/0 0/0 .text createHeap__14daTagLv6Gate_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagLv6Gate_c::createHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/createHeap__14daTagLv6Gate_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daTagLv6Gate_c::createHeap() {
|
||||
J3DAnmTextureSRTKey* btk;
|
||||
|
||||
/* 80D4FB70-80D4FBB8 000350 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/__dt__12J3DFrameCtrlFv.s"
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15);
|
||||
mpModel[0] = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284);
|
||||
if (mpModel[0] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (i_fopAcM_isSwitch(this, getSwitchNo2())) {
|
||||
mpBtk[0]->setFrame(mpBtk[0]->getEndFrame());
|
||||
}
|
||||
|
||||
btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 20);
|
||||
mpBtk[1] = new mDoExt_btkAnm();
|
||||
if (mpBtk[1] == NULL ||
|
||||
!mpBtk[1]->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16);
|
||||
mpModel[1] = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
|
||||
if (mpModel[1] == NULL) {
|
||||
return 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);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D4FBB8-80D4FBD8 000398 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagLv6Gate_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/daTagLv6Gate_Create__FP10fopAc_ac_c.s"
|
||||
static int daTagLv6Gate_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daTagLv6Gate_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D50930-80D5093C 000028 000C+00 0/1 0/0 0/0 .rodata @3803 */
|
||||
#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);
|
||||
}
|
||||
|
||||
void daTagLv6Gate_c::seGlassOff() {
|
||||
Vec se_pos = {0.0f, 2887.0f, -8330.0f};
|
||||
mDoAud_seStart(Z2SE_OBJ_LV6_GATE_GLASS_OFF, &se_pos, 0, 0);
|
||||
}
|
||||
|
||||
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] = {
|
||||
@@ -381,113 +157,245 @@ SECTION_RODATA static u8 const lit_3847[12] = {
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50948, &lit_3847);
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D50954-80D50958 00004C 0004+00 0/1 0/0 0/0 .rodata @3942 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3942 = -50.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50954, &lit_3942);
|
||||
#pragma pop
|
||||
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]);
|
||||
mpModel[0]->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mBgW[0].Move();
|
||||
|
||||
/* 80D50958-80D5095C 000050 0004+00 0/2 0/0 0/0 .rodata @3943 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3943[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D50958, &lit_3943);
|
||||
#pragma pop
|
||||
mDoMtx_stack_c::transS(0.0f, 2887.0f, -8330.0f);
|
||||
mDoMtx_stack_c::YrotM(0);
|
||||
MTXCopy(mDoMtx_stack_c::get(), field_0x6f8[1]);
|
||||
mpModel[1]->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mBgW[1].Move();
|
||||
}
|
||||
|
||||
/* 80D5095C-80D50960 000054 0004+00 0/1 0/0 0/0 .rodata @3944 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3944 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5095C, &lit_3944);
|
||||
#pragma pop
|
||||
void daTagLv6Gate_c::create_init() {
|
||||
fopAcM_setCullSizeBox(this, -50.0f, 0.0f, -50.0f, 50.0f, 100.0f, 50.0f);
|
||||
mAttentionInfo.mPosition = current.pos;
|
||||
mAttentionInfo.mFlags = (i_fopAcM_isSwitch(this, getSwitchNo1()) != 0) ? 0 : 0x80;
|
||||
mAttentionInfo.field_0x0[7] = 89;
|
||||
mEvtId = -1;
|
||||
field_0x76a = 0;
|
||||
|
||||
/* 80D50960-80D50964 000058 0004+00 0/1 0/0 0/0 .rodata @3945 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3945 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50960, &lit_3945);
|
||||
#pragma pop
|
||||
field_0x760[0] = 255.0f;
|
||||
field_0x760[1] = 115.0f;
|
||||
|
||||
/* 80D50964-80D50968 00005C 0004+00 0/2 0/0 0/0 .rodata @3946 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3946 = 255.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50964, &lit_3946);
|
||||
#pragma pop
|
||||
initBaseMtx();
|
||||
|
||||
/* 80D50968-80D5096C 000060 0004+00 0/2 0/0 0/0 .rodata @3947 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3947 = 115.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50968, &lit_3947);
|
||||
#pragma pop
|
||||
|
||||
/* 80D5096C-80D50970 000064 0004+00 0/1 0/0 0/0 .rodata @3948 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3948 = 2887.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5096C, &lit_3948);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50970-80D50974 000068 0004+00 0/1 0/0 0/0 .rodata @3949 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3949 = -8330.0f;
|
||||
COMPILER_STRIP_GATE(0x80D50970, &lit_3949);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50974-80D50978 00006C 0004+00 0/1 0/0 0/0 .rodata @3950 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3950 = 0xC1545C15;
|
||||
COMPILER_STRIP_GATE(0x80D50974, &lit_3950);
|
||||
#pragma pop
|
||||
|
||||
/* 80D50978-80D5097C 000070 0004+00 0/1 0/0 0/0 .rodata @3951 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u32 const lit_3951 = 0xC62216DF;
|
||||
COMPILER_STRIP_GATE(0x80D50978, &lit_3951);
|
||||
#pragma pop
|
||||
if (!i_fopAcM_isSwitch(this, getSwitchNo1())) {
|
||||
mParentPcId = fopAcM_create(PROC_NPC_TKS, 2, &cXyz(-13.272481f, 2887.0f, -10373.718f),
|
||||
fopAcM_GetRoomNo(this), &csXyz(0, 0x7FFF, 0), NULL, -1);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D4FBD8-80D4FE5C 0003B8 0284+00 1/1 0/0 0/0 .text create__14daTagLv6Gate_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagLv6Gate_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/create__14daTagLv6Gate_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daTagLv6Gate_c::create() {
|
||||
fopAcM_SetupActor(this, daTagLv6Gate_c);
|
||||
|
||||
/* 80D4FE5C-80D4FEBC 00063C 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgW::~dBgW() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/__dt__4dBgWFv.s"
|
||||
int phase = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x7800)) {
|
||||
return cPhs_ERROR_e;
|
||||
} else {
|
||||
create_init();
|
||||
}
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D4FEBC-80D4FEDC 00069C 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Execute__FP14daTagLv6Gate_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagLv6Gate_Execute(daTagLv6Gate_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/daTagLv6Gate_Execute__FP14daTagLv6Gate_c.s"
|
||||
static int daTagLv6Gate_Execute(daTagLv6Gate_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
#ifdef NONMATCHING
|
||||
bool daTagLv6Gate_c::checkOpenArea() {
|
||||
fopAc_ac_c* actor;
|
||||
cXyz pos;
|
||||
|
||||
if (!i_fopAcM_isSwitch(this, getSwitchNo2())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::copy(mpModel[1]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::inverse();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
actor = (i == 0) ? daPy_getPlayerActorClass() : i_fopAcM_SearchByName(PROC_NPC_TKS);
|
||||
if (actor != NULL) {
|
||||
mDoMtx_stack_c::push();
|
||||
mDoMtx_stack_c::multVec(&fopAcM_GetPosition_p(actor), &pos);
|
||||
mDoMtx_stack_c::pop();
|
||||
if (pos.x >= l_minRelative[0] && pos.x <= l_maxRelative[0] &&
|
||||
pos.z >= l_minRelative[2] && pos.z <= l_maxRelative[2])
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void daTagLv6Gate_c::cut1() {
|
||||
i_dComIfGp_getEvent().setSkipZev(this, "LV6_GATE_APPEAR_SKIP");
|
||||
|
||||
cXyz pos(0.0f, 0.0f, 78.0f);
|
||||
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mDoMtx_stack_c::multVec(&pos, &pos);
|
||||
daPy_getPlayerActorClass()->setPlayerPosAndAngle(&pos, shape_angle.y + 0x10000 - 0x8000, 0);
|
||||
}
|
||||
|
||||
void daTagLv6Gate_c::cut2() {
|
||||
cXyz pos(0.0f, 0.0f, 0.0f);
|
||||
dComIfGp_particle_set(0x8B89, &pos, &csXyz(0, 0, 0), NULL);
|
||||
}
|
||||
|
||||
void daTagLv6Gate_c::cut4() {
|
||||
cXyz pos(117.8473f, 1677.0f, -5110.8394f);
|
||||
|
||||
fopAc_ac_c* actor2;
|
||||
fopAc_ac_c* actor1;
|
||||
|
||||
actor1 = NULL;
|
||||
fopAcM_SearchByID(mParentPcId, &actor1);
|
||||
|
||||
if (actor1 == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
fopAcM_GetOldPosition_p(actor1) = pos;
|
||||
fopAcM_GetPosition_p(actor1) = pos;
|
||||
|
||||
actor2 = NULL;
|
||||
fopAcM_SearchByName(PROC_NPC_TKC, &actor2);
|
||||
|
||||
if (actor2 == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
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 */
|
||||
int daTagLv6Gate_c::execute() {
|
||||
// Fake match?
|
||||
dComIfG_play_c& play = g_dComIfG_gameInfo.getPlay();
|
||||
if (i_dComIfGp_event_runCheck() && !mEvtInfo.checkCommandTalk()) {
|
||||
s32 cut_index = i_dComIfGp_evmng_getMyStaffId(l_arcName, NULL, 0);
|
||||
if (cut_index != -1) {
|
||||
// int* cut_name = (int*)i_dComIfGp_getEventManager().getMyNowCutName(cut_index);
|
||||
int* cut_name = (int*)play.getEvtManager().getMyNowCutName(cut_index);
|
||||
|
||||
daPy_getPlayerActorClass()->onShieldBackBone();
|
||||
|
||||
if (dComIfGp_evmng_getIsAddvance(cut_index)) {
|
||||
switch (*cut_name) {
|
||||
case '0001':
|
||||
cut1();
|
||||
break;
|
||||
case '0002':
|
||||
cut2();
|
||||
break;
|
||||
case '0003':
|
||||
i_fopAcM_onSwitch(this, getSwitchNo2());
|
||||
seStair();
|
||||
break;
|
||||
case '0004':
|
||||
cut4();
|
||||
break;
|
||||
case '0006':
|
||||
i_fopAcM_onSwitch(this, getSwitchNo2());
|
||||
mpBtk[0]->setFrame(mpBtk[0]->getEndFrame());
|
||||
if (!mBgW[0].ChkUsed()) {
|
||||
dComIfG_Bgsp().Regist(&mBgW[0], this);
|
||||
}
|
||||
fopAcM_delete(mParentPcId);
|
||||
}
|
||||
}
|
||||
|
||||
switch (*cut_name) {
|
||||
case '0001':
|
||||
case '0002':
|
||||
case '0003':
|
||||
case '0004':
|
||||
case '0005':
|
||||
case '0006':
|
||||
dComIfGp_evmng_cutEnd(cut_index);
|
||||
}
|
||||
|
||||
if (mEvtInfo.checkCommandDemoAccrpt() && mEvtId != -1 &&
|
||||
dComIfGp_evmng_endCheck(mEvtId)) {
|
||||
i_dComIfGp_event_reset();
|
||||
mEvtId = -1;
|
||||
}
|
||||
}
|
||||
} else if (field_0x76a && !i_fopAcM_isSwitch(this, getSwitchNo1())) {
|
||||
mEvtInfo.setArchiveName(l_arcName);
|
||||
i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName());
|
||||
mEvtId = i_dComIfGp_getEventManager().getEventIdx(this, "LV6_GATE_APPEAR", -1);
|
||||
fopAcM_orderOtherEventId(this, mEvtId, -1, -1, 0, 1);
|
||||
i_fopAcM_onSwitch(this, getSwitchNo1());
|
||||
mAttentionInfo.mFlags = 0;
|
||||
}
|
||||
|
||||
if (i_fopAcM_isSwitch(this, getSwitchNo2())) {
|
||||
if (!mBgW[0].ChkUsed()) {
|
||||
dComIfG_Bgsp().Regist(&mBgW[0], this);
|
||||
}
|
||||
|
||||
mpBtk[0]->play();
|
||||
mpBtk[1]->play();
|
||||
}
|
||||
|
||||
if (checkOpenArea()) {
|
||||
if (mBgW[1].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgW[1]);
|
||||
seGlassOff();
|
||||
}
|
||||
|
||||
field_0x760[0] -= 12.75f;
|
||||
field_0x760[1] -= 5.75f;
|
||||
|
||||
if (field_0x760[0] < 0.0f) {
|
||||
field_0x760[0] = 0.0f;
|
||||
}
|
||||
|
||||
if (field_0x760[1] < 0.0f) {
|
||||
field_0x760[1] = 0.0f;
|
||||
}
|
||||
} else {
|
||||
if (!mBgW[1].ChkUsed()) {
|
||||
dComIfG_Bgsp().Regist(&mBgW[1], this);
|
||||
seGlassOn();
|
||||
}
|
||||
|
||||
field_0x760[0] += 12.75f;
|
||||
field_0x760[1] += 5.75f;
|
||||
|
||||
if (field_0x760[0] > 255.0f) {
|
||||
field_0x760[0] = 255.0f;
|
||||
}
|
||||
|
||||
if (field_0x760[1] > 115.0f) {
|
||||
field_0x760[1] = 115.0f;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
/* 80D5097C-80D50980 000074 0004+00 0/1 0/0 0/0 .rodata @4155 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
@@ -544,49 +452,92 @@ SECTION_DEAD static char const* const stringBase_80D509A0 = "LV6_GATE_APPEAR_SKI
|
||||
SECTION_DEAD static char const* const stringBase_80D509B5 = "LV6_GATE_APPEAR";
|
||||
#pragma pop
|
||||
|
||||
/* 80D4FEDC-80D5068C 0006BC 07B0+00 1/1 0/0 0/0 .text execute__14daTagLv6Gate_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagLv6Gate_c::execute() {
|
||||
asm int daTagLv6Gate_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/execute__14daTagLv6Gate_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80D5068C-80D506AC 000E6C 0020+00 1/0 0/0 0/0 .text daTagLv6Gate_Draw__FP14daTagLv6Gate_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagLv6Gate_Draw(daTagLv6Gate_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/daTagLv6Gate_Draw__FP14daTagLv6Gate_c.s"
|
||||
static int daTagLv6Gate_Draw(daTagLv6Gate_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D506AC-80D50848 000E8C 019C+00 1/1 0/0 0/0 .text draw__14daTagLv6Gate_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagLv6Gate_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/draw__14daTagLv6Gate_cFv.s"
|
||||
int daTagLv6Gate_c::draw() {
|
||||
g_env_light.settingTevStruct(16, ¤t.pos, &mTevStr);
|
||||
|
||||
dComIfGd_setListBG();
|
||||
|
||||
if (i_fopAcM_isSwitch(this, getSwitchNo2())) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel[0], &mTevStr);
|
||||
mpBtk[0]->entry(mpModel[0]->getModelData());
|
||||
mpBtk[1]->entry(mpModel[0]->getModelData());
|
||||
mDoExt_modelUpdateDL(mpModel[0]);
|
||||
|
||||
mpBtk[0]->remove(mpModel[0]->getModelData());
|
||||
mpBtk[1]->remove(mpModel[0]->getModelData());
|
||||
}
|
||||
|
||||
for (u16 i = 0; i < 2; i++) {
|
||||
J3DModelData* model_data = mpModel[1]->getModelData();
|
||||
model_data->getMaterialNodePointer(i)->getTevKColor(3)->a = field_0x760[i];
|
||||
}
|
||||
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel[1], &mTevStr);
|
||||
mDoExt_modelUpdateDL(mpModel[1]);
|
||||
|
||||
dComIfGd_setList();
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D50848-80D50850 001028 0008+00 1/0 0/0 0/0 .text daTagLv6Gate_IsDelete__FP14daTagLv6Gate_c */
|
||||
static bool daTagLv6Gate_IsDelete(daTagLv6Gate_c* param_0) {
|
||||
return true;
|
||||
static int daTagLv6Gate_IsDelete(daTagLv6Gate_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
daTagLv6Gate_c::~daTagLv6Gate_c() {
|
||||
if (mBgW[0].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgW[0]);
|
||||
}
|
||||
if (mBgW[1].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgW[1]);
|
||||
}
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
}
|
||||
|
||||
/* 80D50850-80D50900 001030 00B0+00 1/0 0/0 0/0 .text daTagLv6Gate_Delete__FP14daTagLv6Gate_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagLv6Gate_Delete(daTagLv6Gate_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_Lv6Gate/d_a_tag_Lv6Gate/daTagLv6Gate_Delete__FP14daTagLv6Gate_c.s"
|
||||
static int daTagLv6Gate_Delete(daTagLv6Gate_c* i_this) {
|
||||
i_this->~daTagLv6Gate_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D50998-80D50998 000090 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80D509CC-80D509EC -00001 0020+00 1/0 0/0 0/0 .data l_daTagLv6Gate_Method */
|
||||
static actor_method_class l_daTagLv6Gate_Method = {
|
||||
(process_method_func)daTagLv6Gate_Create, (process_method_func)daTagLv6Gate_Delete,
|
||||
(process_method_func)daTagLv6Gate_Execute, (process_method_func)daTagLv6Gate_IsDelete,
|
||||
(process_method_func)daTagLv6Gate_Draw,
|
||||
};
|
||||
|
||||
/* 80D509EC-80D50A1C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv6Gate */
|
||||
extern actor_process_profile_definition g_profile_Tag_Lv6Gate = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Tag_Lv6Gate, // mProcName
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daTagLv6Gate_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // mSubMtd
|
||||
262, // mPriority
|
||||
&l_daTagLv6Gate_Method, // mSubMtd
|
||||
0x40000, // mStatus
|
||||
0, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // mCullType
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/* 80D51B50-80D51B54 -00001 0004+00 5/5 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName = "Lv7Gate";
|
||||
|
||||
inline int daTagLv7Gate_c::createHeap() {
|
||||
int daTagLv7Gate_c::createHeap() {
|
||||
// Watched City in the Sky start cutscene
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[510])) {
|
||||
return 1;
|
||||
@@ -70,7 +70,7 @@ int daTagLv7Gate_c::create() {
|
||||
return phase;
|
||||
}
|
||||
|
||||
inline void daTagLv7Gate_c::setPath(u8 i_path_ID) {
|
||||
void daTagLv7Gate_c::setPath(u8 i_path_ID) {
|
||||
mRoomPath = dPath_GetRoomPath(i_path_ID, fopAcM_GetRoomNo(this));
|
||||
if (mRoomPath != NULL) {
|
||||
dStage_dPnt_c* pnt = dPath_GetPnt(mRoomPath, 0);
|
||||
@@ -97,11 +97,11 @@ inline void daTagLv7Gate_c::setPath(u8 i_path_ID) {
|
||||
}
|
||||
}
|
||||
|
||||
inline void daTagLv7Gate_c::initBaseMtx() {
|
||||
void daTagLv7Gate_c::initBaseMtx() {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
}
|
||||
|
||||
inline void daTagLv7Gate_c::setBaseMtx() {
|
||||
void daTagLv7Gate_c::setBaseMtx() {
|
||||
if (mpModel) {
|
||||
cXyz local_34(0.0f, 0.0f, speedF);
|
||||
|
||||
@@ -176,7 +176,7 @@ static int daTagLv7Gate_Execute(daTagLv7Gate_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
inline void daTagLv7Gate_c::flyAnime() {
|
||||
void daTagLv7Gate_c::flyAnime() {
|
||||
J3DAnmTransform* bck = NULL;
|
||||
J3DAnmTransform* bck_anm = mpBck->getBckAnm();
|
||||
|
||||
@@ -262,13 +262,11 @@ int daTagLv7Gate_c::execute() {
|
||||
break;
|
||||
}
|
||||
|
||||
if (mEvtInfo.checkCommandDemoAccrpt() && mEvtId != -1) {
|
||||
cut_index = dComIfGp_evmng_endCheck(mEvtId);
|
||||
if (cut_index != 0) {
|
||||
i_dComIfGp_event_reset();
|
||||
mEvtId = -1;
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
if (mEvtInfo.checkCommandDemoAccrpt() && mEvtId != -1 &&
|
||||
dComIfGp_evmng_endCheck(mEvtId)) {
|
||||
i_dComIfGp_event_reset();
|
||||
mEvtId = -1;
|
||||
fopAcM_delete(this);
|
||||
}
|
||||
|
||||
field_0x5b0 = true;
|
||||
@@ -292,7 +290,7 @@ int daTagLv7Gate_c::execute() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
inline bool daTagLv7Gate_c::checkPoint(f32 i_speed) {
|
||||
bool daTagLv7Gate_c::checkPoint(f32 i_speed) {
|
||||
dStage_dPnt_c* pnt = dPath_GetPnt(mRoomPath, field_0x5a0);
|
||||
mDistance -= i_speed;
|
||||
if (sqrtf(PSVECSquareDistance((Vec*)&mPos1, (Vec*)&pnt->m_position)) < i_speed ||
|
||||
@@ -302,7 +300,7 @@ inline bool daTagLv7Gate_c::checkPoint(f32 i_speed) {
|
||||
return false;
|
||||
}
|
||||
|
||||
inline bool daTagLv7Gate_c::setNextPoint() {
|
||||
bool daTagLv7Gate_c::setNextPoint() {
|
||||
bool bVar1;
|
||||
dPath_GetPnt(mRoomPath, field_0x5a0);
|
||||
field_0x5a0 += 1;
|
||||
@@ -341,7 +339,7 @@ void daTagLv7Gate_c::calcFly() {
|
||||
cLib_addCalcAngleS2(&field_0x594.z, (field_0x594.y - angle_y) * 4, 0x23, 0x100);
|
||||
}
|
||||
|
||||
inline int daTagLv7Gate_c::draw() {
|
||||
int daTagLv7Gate_c::draw() {
|
||||
if (field_0x5b1) {
|
||||
g_env_light.settingTevStruct(0, &mPos1, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
|
||||
@@ -362,7 +360,7 @@ static int daTagLv7Gate_IsDelete(daTagLv7Gate_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
inline daTagLv7Gate_c::~daTagLv7Gate_c() {
|
||||
daTagLv7Gate_c::~daTagLv7Gate_c() {
|
||||
// Watched City in the Sky start cutscene
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[510]);
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
|
||||
Reference in New Issue
Block a user