mirror of
https://github.com/zeldaret/tp
synced 2026-07-09 14:55:32 -04:00
d_a_tag_ret_room fully matching (#291)
* d_a_tag_ret_room fully matching * most of d_a_tag_ret_room decompiled
This commit is contained in:
@@ -1,241 +1,131 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_tag_ret_room
|
||||
//
|
||||
/**
|
||||
* d_a_tag_ret_room.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */
|
||||
daTagRetRm_c::daTagRetRm_c() {}
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
static u8 now[48];
|
||||
};
|
||||
/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */
|
||||
daTagRetRm_c::~daTagRetRm_c() {}
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */
|
||||
int daTagRetRm_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daTagRetRm_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
init();
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
struct daTagRetRm_c {
|
||||
/* 80D5EE98 */ daTagRetRm_c();
|
||||
/* 80D5EED4 */ ~daTagRetRm_c();
|
||||
/* 80D5EF34 */ void create();
|
||||
/* 80D5EF8C */ bool Delete();
|
||||
/* 80D5EF94 */ bool draw();
|
||||
/* 80D5EF9C */ void execute();
|
||||
/* 80D5F010 */ void init();
|
||||
/* 80D5F050 */ void chkPlyrInTag();
|
||||
};
|
||||
/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */
|
||||
int daTagRetRm_c::Delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
struct daPy_py_c {
|
||||
/* 8015F438 */ void forceRestartRoom(int, u32, int);
|
||||
};
|
||||
/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */
|
||||
int daTagRetRm_c::draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
struct Vec {};
|
||||
/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */
|
||||
int daTagRetRm_c::execute() {
|
||||
if (field_0x578 != 0) {
|
||||
field_0x578--;
|
||||
|
||||
struct cXyz {
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
};
|
||||
if (field_0x578 == 0) {
|
||||
daPy_py_c::forceRestartRoom(1, 5, 0xc9);
|
||||
}
|
||||
} else {
|
||||
if (chkPlyrInTag()) {
|
||||
field_0x578 = 30;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */
|
||||
void daTagRetRm_c::init() {
|
||||
field_0x56c = mScale.x * 50;
|
||||
field_0x570 = mScale.y * 100;
|
||||
field_0x574 = mScale.z * 50;
|
||||
field_0x578 = 0;
|
||||
}
|
||||
|
||||
extern "C" void __ct__12daTagRetRm_cFv();
|
||||
extern "C" void __dt__12daTagRetRm_cFv();
|
||||
extern "C" void create__12daTagRetRm_cFv();
|
||||
extern "C" bool Delete__12daTagRetRm_cFv();
|
||||
extern "C" bool draw__12daTagRetRm_cFv();
|
||||
extern "C" void execute__12daTagRetRm_cFv();
|
||||
extern "C" void init__12daTagRetRm_cFv();
|
||||
extern "C" void chkPlyrInTag__12daTagRetRm_cFv();
|
||||
extern "C" static void daTagRetRm_create__FP12daTagRetRm_c();
|
||||
extern "C" static void daTagRetRm_Delete__FP12daTagRetRm_c();
|
||||
extern "C" static void daTagRetRm_execute__FP12daTagRetRm_c();
|
||||
extern "C" static void daTagRetRm_draw__FP12daTagRetRm_c();
|
||||
/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */
|
||||
u8 daTagRetRm_c::chkPlyrInTag() {
|
||||
cXyz pos;
|
||||
if (dComIfGp_getPlayer(0) == NULL) {
|
||||
return 0;
|
||||
} else {
|
||||
pos = daPy_getPlayerActorClass()->current.pos - current.pos;
|
||||
mDoMtx_stack_c::YrotS(-current.angle.y);
|
||||
mDoMtx_stack_c::multVec(&pos, &pos);
|
||||
if ((0 < pos.y) && (field_0x570 > pos.y) && (field_0x56c > pos.x) &&
|
||||
(field_0x574 > pos.z) && (-field_0x56c < pos.x) && (-field_0x574 < pos.z))
|
||||
{
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c */
|
||||
static int daTagRetRm_create(daTagRetRm_c* i_this) {
|
||||
if (!fopAcM_CheckCondition(i_this, 8)) {
|
||||
new (i_this) daTagRetRm_c();
|
||||
fopAcM_OnCondition(i_this, 8);
|
||||
}
|
||||
return i_this->create();
|
||||
}
|
||||
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void forceRestartRoom__9daPy_py_cFiUli();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c */
|
||||
static int daTagRetRm_Delete(daTagRetRm_c* i_this) {
|
||||
return i_this->Delete();
|
||||
}
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */
|
||||
static int daTagRetRm_execute(daTagRetRm_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c */
|
||||
static int daTagRetRm_draw(daTagRetRm_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D5F214-80D5F234 -00001 0020+00 1/0 0/0 0/0 .data daTagRetRm_METHODS */
|
||||
SECTION_DATA static void* daTagRetRm_METHODS[8] = {
|
||||
(void*)daTagRetRm_create__FP12daTagRetRm_c,
|
||||
(void*)daTagRetRm_Delete__FP12daTagRetRm_c,
|
||||
(void*)daTagRetRm_execute__FP12daTagRetRm_c,
|
||||
(void*)NULL,
|
||||
(void*)daTagRetRm_draw__FP12daTagRetRm_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
static actor_method_class daTagRetRm_METHODS = {
|
||||
(process_method_func)daTagRetRm_create, (process_method_func)daTagRetRm_Delete,
|
||||
(process_method_func)daTagRetRm_execute, (process_method_func)NULL,
|
||||
(process_method_func)daTagRetRm_draw,
|
||||
|
||||
};
|
||||
|
||||
/* 80D5F234-80D5F264 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_RetRoom */
|
||||
SECTION_DATA extern void* g_profile_Tag_RetRoom[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x01890000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x0000057C, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02DB0000, (void*)&daTagRetRm_METHODS,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
extern actor_process_profile_definition g_profile_Tag_RetRoom = {
|
||||
-3, // mLayerID
|
||||
7, // mListID
|
||||
-3, // mListPrio
|
||||
PROC_Tag_RetRoom, // mProcName
|
||||
0, // padding
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daTagRetRm_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // mSubMtd
|
||||
0x02DB, // mPriority
|
||||
0, // padding
|
||||
0, // padding
|
||||
&daTagRetRm_METHODS, // mSubMtd
|
||||
0x00040000, // mStatus
|
||||
0x00, // mActorType
|
||||
0x0E, // mCullType
|
||||
0, // padding
|
||||
0, // padding
|
||||
};
|
||||
|
||||
/* 80D5F264-80D5F270 000050 000C+00 2/2 0/0 0/0 .data __vt__12daTagRetRm_c */
|
||||
SECTION_DATA extern void* __vt__12daTagRetRm_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12daTagRetRm_cFv,
|
||||
};
|
||||
|
||||
/* 80D5EE98-80D5EED4 000078 003C+00 2/2 0/0 0/0 .text __ct__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daTagRetRm_c::daTagRetRm_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__ct__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5EED4-80D5EF34 0000B4 0060+00 1/0 0/0 0/0 .text __dt__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daTagRetRm_c::~daTagRetRm_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/__dt__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5EF34-80D5EF8C 000114 0058+00 1/1 0/0 0/0 .text create__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagRetRm_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/create__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5EF8C-80D5EF94 00016C 0008+00 1/1 0/0 0/0 .text Delete__12daTagRetRm_cFv */
|
||||
bool daTagRetRm_c::Delete() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D5EF94-80D5EF9C 000174 0008+00 1/1 0/0 0/0 .text draw__12daTagRetRm_cFv */
|
||||
bool daTagRetRm_c::draw() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D5EF9C-80D5F010 00017C 0074+00 1/1 0/0 0/0 .text execute__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagRetRm_c::execute() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/execute__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D5F208-80D5F20C 000000 0004+00 1/1 0/0 0/0 .rodata @3682 */
|
||||
SECTION_RODATA static f32 const lit_3682 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5F208, &lit_3682);
|
||||
|
||||
/* 80D5F20C-80D5F210 000004 0004+00 1/1 0/0 0/0 .rodata @3683 */
|
||||
SECTION_RODATA static f32 const lit_3683 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D5F20C, &lit_3683);
|
||||
|
||||
/* 80D5F010-80D5F050 0001F0 0040+00 1/1 0/0 0/0 .text init__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagRetRm_c::init() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/init__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D5F210-80D5F214 000008 0004+00 1/1 0/0 0/0 .rodata @3718 */
|
||||
SECTION_RODATA static u8 const lit_3718[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D5F210, &lit_3718);
|
||||
|
||||
/* 80D5F050-80D5F14C 000230 00FC+00 1/1 0/0 0/0 .text chkPlyrInTag__12daTagRetRm_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daTagRetRm_c::chkPlyrInTag() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/chkPlyrInTag__12daTagRetRm_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5F14C-80D5F1A0 00032C 0054+00 1/0 0/0 0/0 .text daTagRetRm_create__FP12daTagRetRm_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagRetRm_create(daTagRetRm_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_create__FP12daTagRetRm_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5F1A0-80D5F1C0 000380 0020+00 1/0 0/0 0/0 .text daTagRetRm_Delete__FP12daTagRetRm_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagRetRm_Delete(daTagRetRm_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_Delete__FP12daTagRetRm_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5F1C0-80D5F1E0 0003A0 0020+00 1/0 0/0 0/0 .text daTagRetRm_execute__FP12daTagRetRm_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagRetRm_execute(daTagRetRm_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_execute__FP12daTagRetRm_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D5F1E0-80D5F200 0003C0 0020+00 1/0 0/0 0/0 .text daTagRetRm_draw__FP12daTagRetRm_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daTagRetRm_draw(daTagRetRm_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/tag/d_a_tag_ret_room/d_a_tag_ret_room/daTagRetRm_draw__FP12daTagRetRm_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
Reference in New Issue
Block a user