mirror of https://github.com/zeldaret/tp.git
d_a_tag_lantern OK
This commit is contained in:
parent
ddc5c7efaa
commit
23e3744510
|
|
@ -1,6 +1,31 @@
|
|||
#ifndef D_A_TAG_LANTERN_H
|
||||
#define D_A_TAG_LANTERN_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
class daTag_Lantern_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 8048ED28 */ int create();
|
||||
/* 8048EDA8 */ int Delete();
|
||||
/* 8048EDDC */ int Execute();
|
||||
/* 8048EF6C */ int Draw();
|
||||
/* 8048EF74 */ void initialize();
|
||||
|
||||
/* 0x568 */ dMsgFlow_c field_0x568;
|
||||
/* 0x5B4 */ cBgS_GndChk field_0x5b4;
|
||||
/* 0x5F0 */ u32 field_0x5f0;
|
||||
/* 0x5F4 */ f32 field_0x5f4;
|
||||
/* 0x5F8 */ s32 field_0x5f8;
|
||||
/* 0x5FC */ u32 field_0x5fc;
|
||||
/* 0x600 */ s32 field_0x600;
|
||||
/* 0x604 */ u8 field_0x604;
|
||||
|
||||
/* 8048ECAC */ virtual ~daTag_Lantern_c();
|
||||
}; // Size: 0x60C
|
||||
|
||||
class daTag_Lantern_Param_c {
|
||||
public:
|
||||
/* 8048F0EC */ inline virtual ~daTag_Lantern_Param_c() {}
|
||||
};
|
||||
|
||||
#endif /* D_A_TAG_LANTERN_H */
|
||||
|
|
|
|||
|
|
@ -1,298 +1,145 @@
|
|||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_tag_lantern
|
||||
//
|
||||
/**
|
||||
* d_a_tag_lantern.cpp
|
||||
* Tag - Lantern
|
||||
*/
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daTag_Lantern_c {
|
||||
/* 8048ECAC */ ~daTag_Lantern_c();
|
||||
/* 8048ED28 */ void create();
|
||||
/* 8048EDA8 */ void Delete();
|
||||
/* 8048EDDC */ void Execute();
|
||||
/* 8048EF6C */ bool Draw();
|
||||
/* 8048EF74 */ void initialize();
|
||||
};
|
||||
|
||||
struct daTag_Lantern_Param_c {
|
||||
/* 8048F0EC */ ~daTag_Lantern_Param_c();
|
||||
};
|
||||
|
||||
struct dMsgFlow_c {
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
|
||||
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042468 */ void reset();
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct dBgS {
|
||||
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
|
||||
};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct cBgS_GndChk {
|
||||
/* 80267C1C */ cBgS_GndChk();
|
||||
/* 80267C94 */ ~cBgS_GndChk();
|
||||
/* 80267D28 */ void SetPos(cXyz const*);
|
||||
};
|
||||
|
||||
struct cBgS {
|
||||
/* 800744A0 */ void GroundCross(cBgS_GndChk*);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __dt__15daTag_Lantern_cFv();
|
||||
extern "C" void create__15daTag_Lantern_cFv();
|
||||
extern "C" void Delete__15daTag_Lantern_cFv();
|
||||
extern "C" void Execute__15daTag_Lantern_cFv();
|
||||
extern "C" bool Draw__15daTag_Lantern_cFv();
|
||||
extern "C" void initialize__15daTag_Lantern_cFv();
|
||||
extern "C" static void daTag_Lantern_Create__FPv();
|
||||
extern "C" static void daTag_Lantern_Delete__FPv();
|
||||
extern "C" static void daTag_Lantern_Execute__FPv();
|
||||
extern "C" static void daTag_Lantern_Draw__FPv();
|
||||
extern "C" static bool daTag_Lantern_IsDelete__FPv();
|
||||
extern "C" void __sinit_d_a_tag_lantern_cpp();
|
||||
extern "C" void __dt__21daTag_Lantern_Param_cFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void fopAcM_orderSpeakEvent__FP10fopAc_ac_cUsUs();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void GroundCross__4cBgSFP11cBgS_GndChk();
|
||||
extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo();
|
||||
extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo();
|
||||
extern "C" void __ct__10dMsgFlow_cFv();
|
||||
extern "C" void __dt__10dMsgFlow_cFv();
|
||||
extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c();
|
||||
extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci();
|
||||
extern "C" void __ct__11cBgS_GndChkFv();
|
||||
extern "C" void __dt__11cBgS_GndChkFv();
|
||||
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_29();
|
||||
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 u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8048F154-8048F174 -00001 0020+00 1/0 0/0 0/0 .data daTag_Lantern_MethodTable */
|
||||
SECTION_DATA static void* daTag_Lantern_MethodTable[8] = {
|
||||
(void*)daTag_Lantern_Create__FPv,
|
||||
(void*)daTag_Lantern_Delete__FPv,
|
||||
(void*)daTag_Lantern_Execute__FPv,
|
||||
(void*)daTag_Lantern_IsDelete__FPv,
|
||||
(void*)daTag_Lantern_Draw__FPv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 8048F174-8048F1A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LANTERN */
|
||||
SECTION_DATA extern void* g_profile_TAG_LANTERN[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x02D60000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x0000060C, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x011E0000, (void*)&daTag_Lantern_MethodTable,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 8048F1A4-8048F1B0 000050 000C+00 2/2 0/0 0/0 .data __vt__15daTag_Lantern_c */
|
||||
SECTION_DATA extern void* __vt__15daTag_Lantern_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__15daTag_Lantern_cFv,
|
||||
};
|
||||
|
||||
/* 8048ECAC-8048ED28 0000EC 007C+00 1/0 0/0 0/0 .text __dt__15daTag_Lantern_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daTag_Lantern_c::~daTag_Lantern_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__dt__15daTag_Lantern_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
daTag_Lantern_c::~daTag_Lantern_c() {}
|
||||
|
||||
/* 8048ED28-8048EDA8 000168 0080+00 1/1 0/0 0/0 .text create__15daTag_Lantern_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTag_Lantern_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/create__15daTag_Lantern_cFv.s"
|
||||
int daTag_Lantern_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daTag_Lantern_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
initialize();
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048EDA8-8048EDDC 0001E8 0034+00 1/1 0/0 0/0 .text Delete__15daTag_Lantern_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTag_Lantern_c::Delete() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/Delete__15daTag_Lantern_cFv.s"
|
||||
int daTag_Lantern_c::Delete() {
|
||||
this->~daTag_Lantern_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8048F148-8048F14C 000000 0004+00 1/1 0/0 0/0 .rodata @3683 */
|
||||
SECTION_RODATA static f32 const lit_3683 = -1000000000.0f;
|
||||
COMPILER_STRIP_GATE(0x8048F148, &lit_3683);
|
||||
|
||||
/* 8048EDDC-8048EF6C 00021C 0190+00 2/2 0/0 0/0 .text Execute__15daTag_Lantern_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTag_Lantern_c::Execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/Execute__15daTag_Lantern_cFv.s"
|
||||
int daTag_Lantern_c::Execute() {
|
||||
s32 sVar;
|
||||
dComIfG_play_c& play = g_dComIfG_gameInfo.getPlay();
|
||||
if (i_dComIfGp_event_runCheck()) {
|
||||
if (mEvtInfo.mCommand == 1) {
|
||||
if (!field_0x604) {
|
||||
field_0x568.init(this, field_0x600, NULL, NULL);
|
||||
field_0x604 += 1;
|
||||
} else if (field_0x604 == 1 && field_0x568.doFlow(this, NULL, NULL)) {
|
||||
play.getEvent().reset();
|
||||
field_0x604 = 0;
|
||||
field_0x5f8 = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (field_0x5f8) {
|
||||
mEvtInfo.mCondition |= 1;
|
||||
fopAcM_orderSpeakEvent(this, 0, 0);
|
||||
}
|
||||
}
|
||||
field_0x5b4.SetPos(¤t.pos);
|
||||
field_0x5f4 = dComIfG_Bgsp().GroundCross(&field_0x5b4);
|
||||
|
||||
if (field_0x5f4 != -1000000000.0f) {
|
||||
sVar = dComIfG_Bgsp().GetRoomId(field_0x5b4);
|
||||
mTevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(field_0x5b4);
|
||||
} else {
|
||||
sVar = dComIfGp_roomControl_getStayNo();
|
||||
}
|
||||
mTevStr.mRoomNo = sVar;
|
||||
fopAcM_SetRoomNo(this, mTevStr.mRoomNo);
|
||||
mAttentionInfo.mFlags = 0;
|
||||
mAttentionInfo.mPosition = current.pos;
|
||||
mEyePos = mAttentionInfo.mPosition;
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048EF6C-8048EF74 0003AC 0008+00 1/1 0/0 0/0 .text Draw__15daTag_Lantern_cFv */
|
||||
bool daTag_Lantern_c::Draw() {
|
||||
return true;
|
||||
int daTag_Lantern_c::Draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8048F14C-8048F150 000004 0004+00 1/1 0/0 0/0 .rodata @3697 */
|
||||
SECTION_RODATA static u8 const lit_3697[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8048F14C, &lit_3697);
|
||||
|
||||
/* 8048F150-8048F154 000008 0004+00 1/1 0/0 0/0 .rodata @3698 */
|
||||
SECTION_RODATA static f32 const lit_3698 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x8048F150, &lit_3698);
|
||||
|
||||
/* 8048EF74-8048F024 0003B4 00B0+00 1/1 0/0 0/0 .text initialize__15daTag_Lantern_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTag_Lantern_c::initialize() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/initialize__15daTag_Lantern_cFv.s"
|
||||
void daTag_Lantern_c::initialize() {
|
||||
fopAcM_setCullSizeBox(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
if (orig.angle.z != 0xffff) {
|
||||
field_0x600 = orig.angle.z;
|
||||
} else {
|
||||
field_0x600 = -1;
|
||||
}
|
||||
orig.angle.z = 0;
|
||||
field_0x5fc = fopAcM_GetParam(this) & 0xfff;
|
||||
mScale.x *= 100.0f;
|
||||
mScale.y *= 100.0f;
|
||||
mScale.z *= 100.0f;
|
||||
Execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048F024-8048F044 000464 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTag_Lantern_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Create__FPv.s"
|
||||
static int daTag_Lantern_Create(void* i_this) {
|
||||
return static_cast<daTag_Lantern_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048F044-8048F064 000484 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Delete__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTag_Lantern_Delete(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Delete__FPv.s"
|
||||
static int daTag_Lantern_Delete(void* i_this) {
|
||||
return static_cast<daTag_Lantern_c*>(i_this)->Delete();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048F064-8048F084 0004A4 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Execute__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTag_Lantern_Execute(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Execute__FPv.s"
|
||||
static int daTag_Lantern_Execute(void* i_this) {
|
||||
return static_cast<daTag_Lantern_c*>(i_this)->Execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048F084-8048F0A4 0004C4 0020+00 1/0 0/0 0/0 .text daTag_Lantern_Draw__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTag_Lantern_Draw(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/daTag_Lantern_Draw__FPv.s"
|
||||
static int daTag_Lantern_Draw(void* i_this) {
|
||||
return static_cast<daTag_Lantern_c*>(i_this)->Draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8048F0A4-8048F0AC 0004E4 0008+00 1/0 0/0 0/0 .text daTag_Lantern_IsDelete__FPv */
|
||||
static bool daTag_Lantern_IsDelete(void* param_0) {
|
||||
return true;
|
||||
static int daTag_Lantern_IsDelete(void* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8048F1B0-8048F1BC 00005C 000C+00 2/2 0/0 0/0 .data __vt__21daTag_Lantern_Param_c */
|
||||
SECTION_DATA extern void* __vt__21daTag_Lantern_Param_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__21daTag_Lantern_Param_cFv,
|
||||
};
|
||||
|
||||
/* 8048F1C8-8048F1D4 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
|
||||
static u8 lit_3622[12];
|
||||
|
||||
/* 8048F1D4-8048F1D8 000014 0004+00 1/1 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[4];
|
||||
static daTag_Lantern_Param_c l_HIO;
|
||||
|
||||
/* 8048F0AC-8048F0EC 0004EC 0040+00 0/0 1/0 0/0 .text __sinit_d_a_tag_lantern_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_a_tag_lantern_cpp() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__sinit_d_a_tag_lantern_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 8048F154-8048F174 -00001 0020+00 1/0 0/0 0/0 .data daTag_Lantern_MethodTable */
|
||||
static actor_method_class daTag_Lantern_MethodTable = {
|
||||
(process_method_func)daTag_Lantern_Create, (process_method_func)daTag_Lantern_Delete,
|
||||
(process_method_func)daTag_Lantern_Execute, (process_method_func)daTag_Lantern_IsDelete,
|
||||
(process_method_func)daTag_Lantern_Draw,
|
||||
};
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x8048F0AC, __sinit_d_a_tag_lantern_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 8048F0EC-8048F134 00052C 0048+00 2/1 0/0 0/0 .text __dt__21daTag_Lantern_Param_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daTag_Lantern_Param_c::~daTag_Lantern_Param_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_lantern/d_a_tag_lantern/__dt__21daTag_Lantern_Param_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 8048F174-8048F1A4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_LANTERN */
|
||||
extern actor_process_profile_definition g_profile_TAG_LANTERN = {
|
||||
-3, // mLayerID
|
||||
7, // mListID
|
||||
-3, // mListPrio
|
||||
PROC_TAG_LANTERN, // mProcName
|
||||
0, // Padding
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daTag_Lantern_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // mSubMtd
|
||||
0x011E, // mPriority
|
||||
0, // Padding
|
||||
0, // Padding
|
||||
&daTag_Lantern_MethodTable, // mSubMtd
|
||||
0x00040000, // mStatus
|
||||
0, // mActorType
|
||||
14, // mCullType
|
||||
0, // Padding
|
||||
0, // Padding
|
||||
};
|
||||
Loading…
Reference in New Issue