mirror of https://github.com/zeldaret/tp.git
link d_a_obj_lv6elevta (#2754)
* link d_a_obj_lv6elevta * fix return * use implicit construction
This commit is contained in:
parent
70eefa53c7
commit
6ef3f87f06
|
|
@ -2110,7 +2110,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6bemos"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6bemos2"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6egate"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv6elevta"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6elevta"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6swturn"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv7BsGate"),
|
||||
ActorRel(NonMatching, "d_a_obj_lv7PropellerY"),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
#ifndef D_A_OBJ_LV6ELEVTA_H
|
||||
#define D_A_OBJ_LV6ELEVTA_H
|
||||
|
||||
#include "d/d_event_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
|
|
@ -11,24 +13,45 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjLv6ElevtA_c : public fopAc_ac_c {
|
||||
class daObjLv6ElevtA_c : public dBgS_MoveBgActor,
|
||||
public request_of_phase_process_class,
|
||||
public dEvLib_callback_c {
|
||||
public:
|
||||
/* 80C82D38 */ void create1st();
|
||||
daObjLv6ElevtA_c() : dEvLib_callback_c(this) {}
|
||||
virtual ~daObjLv6ElevtA_c() {};
|
||||
/* 80C82D38 */ int create1st();
|
||||
/* 80C82DC8 */ void setMtx();
|
||||
/* 80C82E38 */ void CreateHeap();
|
||||
/* 80C82EA8 */ void Create();
|
||||
/* 80C83028 */ void eventStart();
|
||||
/* 80C82E38 */ int CreateHeap();
|
||||
/* 80C82EA8 */ int Create();
|
||||
/* 80C83028 */ bool eventStart();
|
||||
/* 80C830BC */ void moveAngle(void*);
|
||||
/* 80C8321C */ void Execute(Mtx**);
|
||||
/* 80C83538 */ void Draw();
|
||||
/* 80C835DC */ void Delete();
|
||||
/* 80C83764 */ ~daObjLv6ElevtA_c();
|
||||
/* 80C8321C */ int Execute(Mtx**);
|
||||
/* 80C83538 */ int Draw();
|
||||
/* 80C835DC */ int Delete();
|
||||
|
||||
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); };
|
||||
int getSw2No() { return fopAcM_GetParamBit(this, 8, 8); };
|
||||
int getEvent() { return fopAcM_GetParamBit(this, 0x10, 8); };
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x628 - 0x568];
|
||||
/* 0x5B8 */ Mtx mMtx1;
|
||||
/* 0x5E8 */ Mtx mMtx2;
|
||||
/* 0x618 */ J3DModel* mModel;
|
||||
/* 0x61C */ int mAngle;
|
||||
/* 0x620 */ int mMode;
|
||||
/* 0x624 */ bool mIsMoving;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjLv6ElevtA_c) == 0x628);
|
||||
|
||||
#if DEBUG
|
||||
class daObjLv6ElevtA_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daObjLv6ElevtA_HIO_c();
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x6 */ s16 mRightAngleTurnFrameCount;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* D_A_OBJ_LV6ELEVTA_H */
|
||||
|
|
|
|||
|
|
@ -1,315 +1,314 @@
|
|||
/**
|
||||
* @file d_a_obj_lv6elevta.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/dolzel_rel.h" // IWYU pragma: keep
|
||||
#include "JSystem/JUtility/JUTAssert.h"
|
||||
#include "d/actor/d_a_obj_lv6swturn.h"
|
||||
|
||||
#include "d/actor/d_a_obj_lv6elevta.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void create1st__16daObjLv6ElevtA_cFv();
|
||||
extern "C" void setMtx__16daObjLv6ElevtA_cFv();
|
||||
extern "C" void CreateHeap__16daObjLv6ElevtA_cFv();
|
||||
extern "C" void Create__16daObjLv6ElevtA_cFv();
|
||||
extern "C" static void searchObjLv6SwTurn__FPvPv();
|
||||
extern "C" void eventStart__16daObjLv6ElevtA_cFv();
|
||||
extern "C" void moveAngle__16daObjLv6ElevtA_cFPv();
|
||||
extern "C" void Execute__16daObjLv6ElevtA_cFPPA3_A4_f();
|
||||
extern "C" void Draw__16daObjLv6ElevtA_cFv();
|
||||
extern "C" void Delete__16daObjLv6ElevtA_cFv();
|
||||
extern "C" static void daObjLv6ElevtA_create1st__FP16daObjLv6ElevtA_c();
|
||||
extern "C" static void daObjLv6ElevtA_MoveBGDelete__FP16daObjLv6ElevtA_c();
|
||||
extern "C" static void daObjLv6ElevtA_MoveBGExecute__FP16daObjLv6ElevtA_c();
|
||||
extern "C" static void daObjLv6ElevtA_MoveBGDraw__FP16daObjLv6ElevtA_c();
|
||||
extern "C" void __dt__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv();
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv();
|
||||
extern "C" void __dt__16daObjLv6ElevtA_cFv();
|
||||
extern "C" static void func_80C837F8();
|
||||
extern "C" static void func_80C83800();
|
||||
extern "C" extern char const* const d_a_obj_lv6elevta__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
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 isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void eventUpdate__17dEvLib_callback_cFv();
|
||||
extern "C" void orderEvent__17dEvLib_callback_cFiii();
|
||||
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 settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C83848-80C83848 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C83848 = "Lv6ElevtA";
|
||||
#pragma pop
|
||||
|
||||
/* 80C83854-80C83858 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_lv6elevta__stringBase0;
|
||||
static char* l_arcName = "Lv6ElevtA";
|
||||
static const int l_dzbidx = {7};
|
||||
static const int l_bmdidx = {4};
|
||||
|
||||
#if DEBUG
|
||||
daObjLv6ElevtA_HIO_c::daObjLv6ElevtA_HIO_c() {
|
||||
mRightAngleTurnFrameCount = 150;
|
||||
}
|
||||
|
||||
void daObjLv6ElevtA_HIO_c::genMessage(JORMContext* context) {
|
||||
context->genLabel("Lv6回転エレベータ", 0, 0, NULL, -1, -1, 0x200, 0x18);
|
||||
context->genSlider("90度回転フレーム数", &mRightAngleTurnFrameCount, 0, 1000, 0, NULL, -1, -1,
|
||||
0x200, 0x18);
|
||||
}
|
||||
|
||||
static daObjLv6ElevtA_HIO_c l_HIO;
|
||||
#endif
|
||||
|
||||
/* 80C82D38-80C82DC8 000078 0090+00 1/1 0/0 0/0 .text create1st__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::create1st() {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::create1st() {
|
||||
int phase = dComIfG_resLoad(this, l_arcName);
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
setMtx();
|
||||
phase = MoveBGCreate(l_arcName, l_dzbidx, dBgS_MoveBGProc_TypicalRotY, 0x55b0, &mMtx1);
|
||||
if (phase == cPhs_ERROR_e) {
|
||||
return phase;
|
||||
}
|
||||
#if DEBUG
|
||||
l_HIO.entryHIO("Lv6回転エレベータ");
|
||||
#endif
|
||||
}
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80C82DC8-80C82E38 000108 0070+00 2/2 0/0 0/0 .text setMtx__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::setMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
MTXCopy(mDoMtx_stack_c::get(), mMtx2);
|
||||
MTXCopy(mDoMtx_stack_c::get(), mMtx1);
|
||||
}
|
||||
|
||||
/* 80C82E38-80C82EA8 000178 0070+00 1/0 0/0 0/0 .text CreateHeap__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::CreateHeap() {
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, l_bmdidx);
|
||||
JUT_ASSERT(145, model_data != NULL);
|
||||
mModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
|
||||
if (mModel == NULL) {
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C83810-80C83828 000000 0018+00 2/2 0/0 0/0 .rodata l_cull_box */
|
||||
SECTION_RODATA static u8 const l_cull_box[24] = {
|
||||
0xC3, 0xC4, 0x90, 0xA4, 0xC5, 0x3B, 0x80, 0x00, 0xC4, 0x3B, 0x80, 0x00,
|
||||
0x43, 0xC4, 0x90, 0xA4, 0x43, 0x16, 0x00, 0x00, 0x43, 0xC4, 0x90, 0xA4,
|
||||
static const cull_box l_cull_box = {
|
||||
-393.13f, -3000.0f, -750.0f,
|
||||
393.13f, 150.0f, 393.13f
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C83810, &l_cull_box);
|
||||
|
||||
/* 80C82EA8-80C82FA4 0001E8 00FC+00 1/0 0/0 0/0 .text Create__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::Create() {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::Create() {
|
||||
mModel->setBaseTRMtx(mMtx2);
|
||||
fopAcM_SetMtx(this, mMtx2);
|
||||
fopAcM_setCullSizeBox(this, l_cull_box.min.x, l_cull_box.min.y, l_cull_box.min.z,
|
||||
l_cull_box.max.x, l_cull_box.max.y, l_cull_box.max.z);
|
||||
if (getSwNo() == 0xff || getSw2No() == 0xff) {
|
||||
mAngle = 0;
|
||||
} else if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
mAngle = 0x3fff;
|
||||
} else if (fopAcM_isSwitch(this, getSw2No())) {
|
||||
mAngle = -0x3fff;
|
||||
} else {
|
||||
mAngle = 0;
|
||||
}
|
||||
mMode = 0;
|
||||
mIsMoving = false;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80C82FA4-80C83028 0002E4 0084+00 1/1 0/0 0/0 .text searchObjLv6SwTurn__FPvPv */
|
||||
static void searchObjLv6SwTurn(void* param_0, void* param_1) {
|
||||
// NONMATCHING
|
||||
static void* searchObjLv6SwTurn(void* i_turn, void* i_elevta) {
|
||||
if (i_turn != NULL && fopAcM_IsActor(i_turn) &&
|
||||
fopAcM_GetProfName(i_turn) == PROC_Obj_Lv6SwTurn)
|
||||
{
|
||||
daObjLv6SwTurn_c* this_turn = (daObjLv6SwTurn_c*)i_turn;
|
||||
daObjLv6ElevtA_c* this_elevta = (daObjLv6ElevtA_c*)i_elevta;
|
||||
if (this_turn->getSwbit() == this_elevta->getSwNo() &&
|
||||
this_turn->getSwbit2() == this_elevta->getSw2No())
|
||||
{
|
||||
return i_turn;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80C83028-80C830BC 000368 0094+00 2/1 0/0 0/0 .text eventStart__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::eventStart() {
|
||||
// NONMATCHING
|
||||
bool daObjLv6ElevtA_c::eventStart() {
|
||||
if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
mMode = 2;
|
||||
} else if (fopAcM_isSwitch(this, getSw2No())) {
|
||||
mMode = 3;
|
||||
} else {
|
||||
mMode = 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C83828-80C8382C 000018 0004+00 0/1 0/0 0/0 .rodata @3752 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3752 = 1500.0f;
|
||||
COMPILER_STRIP_GATE(0x80C83828, &lit_3752);
|
||||
#pragma pop
|
||||
|
||||
/* 80C8382C-80C83830 00001C 0004+00 0/1 0/0 0/0 .rodata @3753 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3753 = 16383.0f;
|
||||
COMPILER_STRIP_GATE(0x80C8382C, &lit_3753);
|
||||
#pragma pop
|
||||
|
||||
/* 80C83830-80C83834 000020 0004+00 0/1 0/0 0/0 .rodata @3754 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3754 = 800.0f;
|
||||
COMPILER_STRIP_GATE(0x80C83830, &lit_3754);
|
||||
#pragma pop
|
||||
|
||||
/* 80C83834-80C83838 000024 0004+00 1/2 0/0 0/0 .rodata @3755 */
|
||||
SECTION_RODATA static f32 const lit_3755 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C83834, &lit_3755);
|
||||
|
||||
/* 80C83838-80C83840 000028 0004+04 1/2 0/0 0/0 .rodata @3756 */
|
||||
SECTION_RODATA static f32 const lit_3756[1 + 1 /* padding */] = {
|
||||
-1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C83838, &lit_3756);
|
||||
|
||||
/* 80C83840-80C83848 000030 0008+00 0/1 0/0 0/0 .rodata @3758 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3758[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C83840, &lit_3758);
|
||||
#pragma pop
|
||||
|
||||
/* 80C830BC-80C8321C 0003FC 0160+00 1/1 0/0 0/0 .text moveAngle__16daObjLv6ElevtA_cFPv */
|
||||
void daObjLv6ElevtA_c::moveAngle(void* param_0) {
|
||||
// NONMATCHING
|
||||
void daObjLv6ElevtA_c::moveAngle(void* i_FoundActor) {
|
||||
fopAc_ac_c* found = (fopAc_ac_c*)i_FoundActor;
|
||||
if (mAngle > 0) {
|
||||
f32 v = (mAngle / (f32)0x3fff) * 1500.0f;
|
||||
current.pos.y = home.pos.y - v;
|
||||
current.angle.y = home.angle.y + mAngle;
|
||||
found->current.pos.y = found->home.pos.y - v;
|
||||
found->current.angle.y = found->home.angle.y + mAngle;
|
||||
} else {
|
||||
f32 v = (mAngle / (f32)0x3fff) * 800.0f;
|
||||
current.pos.y = home.pos.y - v;
|
||||
current.angle.y = home.angle.y + mAngle;
|
||||
found->current.pos.y = found->home.pos.y - v;
|
||||
found->current.angle.y = found->home.angle.y + mAngle;
|
||||
}
|
||||
shape_angle = current.angle;
|
||||
mIsMoving = true;
|
||||
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_L6_RL_FLR_MV, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
}
|
||||
|
||||
/* 80C8321C-80C83538 00055C 031C+00 1/0 0/0 0/0 .text Execute__16daObjLv6ElevtA_cFPPA3_A4_f */
|
||||
void daObjLv6ElevtA_c::Execute(Mtx** param_0) {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::Execute(Mtx** i_pMtx) {
|
||||
fopAc_ac_c* found = fopAcM_Search(searchObjLv6SwTurn, this);
|
||||
if (found == NULL || getSwNo() == 0xff || getSw2No() == 0xff) {
|
||||
mAngle = 0;
|
||||
setMtx();
|
||||
mModel->setBaseTRMtx(mMtx2);
|
||||
*i_pMtx = &mMtx1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!eventUpdate()) {
|
||||
if (fopAcM_isSwitch(this, getSwNo())) {
|
||||
if (mAngle == 0) {
|
||||
if (getEvent() != 0xff) {
|
||||
orderEvent(getEvent(), 0xff, 1);
|
||||
} else {
|
||||
mMode = 2;
|
||||
}
|
||||
}
|
||||
} else if (fopAcM_isSwitch(this, getSw2No())) {
|
||||
if (mAngle == 0) {
|
||||
if (getEvent() != 0xff) {
|
||||
orderEvent(getEvent(), 0xff, 1);
|
||||
} else {
|
||||
mMode = 3;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mAngle != 0) {
|
||||
if (getEvent() != 0xff) {
|
||||
orderEvent(getEvent(), 0xff, 1);
|
||||
} else {
|
||||
mMode = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mMode == 2) {
|
||||
#if DEBUG
|
||||
mAngle += (s16)((f32)0x3fff / l_HIO.mRightAngleTurnFrameCount);
|
||||
#else
|
||||
mAngle += (s16)((f32)0x3fff / 150);
|
||||
#endif
|
||||
if (mAngle > 0x3fff) {
|
||||
mAngle = 0x3fff;
|
||||
mMode = 0;
|
||||
}
|
||||
moveAngle(found);
|
||||
} else if (mMode == 3) {
|
||||
#if DEBUG
|
||||
mAngle -= (s16)((f32)0x3fff / l_HIO.mRightAngleTurnFrameCount);
|
||||
#else
|
||||
mAngle -= (s16)((f32)0x3fff / 150);
|
||||
#endif
|
||||
if (mAngle < -0x3fff) {
|
||||
mAngle = -0x3fff;
|
||||
mMode = 0;
|
||||
}
|
||||
moveAngle(found);
|
||||
} else if (mMode == 1) {
|
||||
if (mAngle > 0) {
|
||||
#if DEBUG
|
||||
mAngle -= (s16)((f32)0x3fff / l_HIO.mRightAngleTurnFrameCount);
|
||||
#else
|
||||
mAngle -= (s16)((f32)0x3fff / 150);
|
||||
#endif
|
||||
if (mAngle < 0) {
|
||||
mAngle = 0;
|
||||
mMode = 0;
|
||||
}
|
||||
moveAngle(found);
|
||||
|
||||
} else if (mAngle < 0) {
|
||||
#if DEBUG
|
||||
mAngle += (s16)((f32)0x3fff / l_HIO.mRightAngleTurnFrameCount);
|
||||
#else
|
||||
mAngle += (s16)((f32)0x3fff / 150);
|
||||
#endif
|
||||
if (mAngle > 0) {
|
||||
mAngle = 0;
|
||||
mMode = 0;
|
||||
}
|
||||
moveAngle(found);
|
||||
}
|
||||
} else if (mIsMoving) {
|
||||
Z2GetAudioMgr()->seStart(Z2SE_OBJ_L6_RL_FLR_ST, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f,
|
||||
-1.0f, 0);
|
||||
mIsMoving = false;
|
||||
}
|
||||
|
||||
setMtx();
|
||||
mModel->setBaseTRMtx(mMtx2);
|
||||
*i_pMtx = &mMtx1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80C83538-80C835DC 000878 00A4+00 1/0 0/0 0/0 .text Draw__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::Draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mModel);
|
||||
dComIfGd_setList();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80C835DC-80C83618 00091C 003C+00 1/0 0/0 0/0 .text Delete__16daObjLv6ElevtA_cFv */
|
||||
void daObjLv6ElevtA_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjLv6ElevtA_c::Delete() {
|
||||
dComIfG_resDelete(this, l_arcName);
|
||||
#if DEBUG
|
||||
l_HIO.removeHIO();
|
||||
#endif
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 80C83618-80C83698 000958 0080+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_create1st__FP16daObjLv6ElevtA_c */
|
||||
static int daObjLv6ElevtA_create1st(daObjLv6ElevtA_c* i_this) {
|
||||
fopAcM_ct(i_this, daObjLv6ElevtA_c);
|
||||
return i_this->create1st();
|
||||
}
|
||||
|
||||
/* 80C83698-80C836B8 0009D8 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGDelete__FP16daObjLv6ElevtA_c */
|
||||
static int daObjLv6ElevtA_MoveBGDelete(daObjLv6ElevtA_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C836B8-80C836D8 0009F8 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGExecute__FP16daObjLv6ElevtA_c */
|
||||
static int daObjLv6ElevtA_MoveBGExecute(daObjLv6ElevtA_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C836D8-80C83704 000A18 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGDraw__FP16daObjLv6ElevtA_c */
|
||||
static int daObjLv6ElevtA_MoveBGDraw(daObjLv6ElevtA_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C83858-80C83878 -00001 0020+00 1/0 0/0 0/0 .data daObjLv6ElevtA_METHODS */
|
||||
static actor_method_class daObjLv6ElevtA_METHODS = {
|
||||
(process_method_func)daObjLv6ElevtA_create1st__FP16daObjLv6ElevtA_c,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGDelete__FP16daObjLv6ElevtA_c,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGExecute__FP16daObjLv6ElevtA_c,
|
||||
0,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGDraw__FP16daObjLv6ElevtA_c,
|
||||
(process_method_func)daObjLv6ElevtA_create1st,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGDelete,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGExecute,
|
||||
NULL,
|
||||
(process_method_func)daObjLv6ElevtA_MoveBGDraw,
|
||||
};
|
||||
|
||||
/* 80C83878-80C838A8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv6ElevtA */
|
||||
extern actor_process_profile_definition g_profile_Obj_Lv6ElevtA = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
2, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_Lv6ElevtA, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjLv6ElevtA_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
669, // mPriority
|
||||
&daObjLv6ElevtA_METHODS, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
2, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_Lv6ElevtA, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjLv6ElevtA_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
669, // mPriority
|
||||
&daObjLv6ElevtA_METHODS, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C838A8-80C838C0 000054 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */
|
||||
SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__17dEvLib_callback_cFv,
|
||||
(void*)eventStart__17dEvLib_callback_cFv,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
};
|
||||
|
||||
/* 80C838C0-80C83908 00006C 0048+00 2/2 0/0 0/0 .data __vt__16daObjLv6ElevtA_c */
|
||||
SECTION_DATA extern void* __vt__16daObjLv6ElevtA_c[18] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__16daObjLv6ElevtA_cFv,
|
||||
(void*)Create__16daObjLv6ElevtA_cFv,
|
||||
(void*)Execute__16daObjLv6ElevtA_cFPPA3_A4_f,
|
||||
(void*)Draw__16daObjLv6ElevtA_cFv,
|
||||
(void*)Delete__16daObjLv6ElevtA_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_80C83800,
|
||||
(void*)func_80C837F8,
|
||||
(void*)eventRun__17dEvLib_callback_cFv,
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__16daObjLv6ElevtA_cFv,
|
||||
(void*)eventStart__16daObjLv6ElevtA_cFv,
|
||||
};
|
||||
|
||||
/* 80C83618-80C83698 000958 0080+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_create1st__FP16daObjLv6ElevtA_c */
|
||||
static void daObjLv6ElevtA_create1st(daObjLv6ElevtA_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C83698-80C836B8 0009D8 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGDelete__FP16daObjLv6ElevtA_c */
|
||||
static void daObjLv6ElevtA_MoveBGDelete(daObjLv6ElevtA_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C836B8-80C836D8 0009F8 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGExecute__FP16daObjLv6ElevtA_c */
|
||||
static void daObjLv6ElevtA_MoveBGExecute(daObjLv6ElevtA_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C836D8-80C83704 000A18 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjLv6ElevtA_MoveBGDraw__FP16daObjLv6ElevtA_c */
|
||||
static void daObjLv6ElevtA_MoveBGDraw(daObjLv6ElevtA_c* param_0) {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C83704-80C8374C 000A44 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
// dEvLib_callback_c::~dEvLib_callback_c() {
|
||||
extern "C" void __dt__17dEvLib_callback_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C8374C-80C83754 000A8C 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
// bool dEvLib_callback_c::eventStart() {
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C83754-80C8375C 000A94 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventRun() {
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C8375C-80C83764 000A9C 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventEnd() {
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C83764-80C837F8 000AA4 0094+00 2/1 0/0 0/0 .text __dt__16daObjLv6ElevtA_cFv */
|
||||
daObjLv6ElevtA_c::~daObjLv6ElevtA_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C837F8-80C83800 000B38 0008+00 1/0 0/0 0/0 .text @1448@eventStart__16daObjLv6ElevtA_cFv */
|
||||
static void func_80C837F8() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C83800-80C83808 000B40 0008+00 1/0 0/0 0/0 .text @1448@__dt__16daObjLv6ElevtA_cFv */
|
||||
static void func_80C83800() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C83848-80C83848 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue