mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)
* setup TU * JASResArcLoader OK * d_a_obj_stoneMark work * some funcs in d_a_obj_stoneMark * many changes * quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile * d_file_select functions + pr cleanup
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,81 +1,15 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_stoneMark
|
||||
//
|
||||
/**
|
||||
* d_a_obj_stoneMark.cpp
|
||||
* Actor - Object Stone Mark
|
||||
*
|
||||
* Visual mark under the stone actor (d_a_obj_stone)
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
/* 8000CF44 */ void ZXYrotM(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjSMark_c {
|
||||
/* 8059A018 */ void initBaseMtx();
|
||||
/* 8059A038 */ void setBaseMtx();
|
||||
/* 8059A080 */ void Create();
|
||||
/* 8059A168 */ void create();
|
||||
/* 8059A2CC */ void draw();
|
||||
/* 8059A33C */ void _delete();
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dCcD_GStts {
|
||||
/* 80083760 */ dCcD_GStts();
|
||||
};
|
||||
|
||||
struct dBgS_PolyPassChk {
|
||||
/* 80078E68 */ void SetObj();
|
||||
};
|
||||
|
||||
struct dBgS_ObjAcch {
|
||||
/* 8059A25C */ ~dBgS_ObjAcch();
|
||||
};
|
||||
|
||||
struct dBgS_AcchCir {
|
||||
/* 80075EAC */ dBgS_AcchCir();
|
||||
/* 80075F58 */ void SetWall(f32, f32);
|
||||
};
|
||||
|
||||
struct dBgS {};
|
||||
|
||||
struct dBgS_Acch {
|
||||
/* 80075F94 */ ~dBgS_Acch();
|
||||
/* 800760A0 */ dBgS_Acch();
|
||||
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
|
||||
/* 80076AAC */ void CrrPos(dBgS&);
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct _GXTlutObj {};
|
||||
|
||||
struct _GXTexObj {};
|
||||
|
||||
struct ResTIMG {};
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -94,6 +28,7 @@ extern "C" static void daObjSMark_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void func_8059A3D0();
|
||||
extern "C" static void func_8059A3D8();
|
||||
extern "C" extern char const* const d_a_obj_stoneMark__stringBase0;
|
||||
extern void* __vt__12dBgS_ObjAcch[9];
|
||||
|
||||
//
|
||||
// External References:
|
||||
@@ -117,41 +52,28 @@ extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
|
||||
extern "C" void SetObj__16dBgS_PolyPassChkFv();
|
||||
extern "C" void __ct__10dCcD_GSttsFv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void PSMTXCopy();
|
||||
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 void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8059A018-8059A038 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjSMark_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::initBaseMtx() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/initBaseMtx__12daObjSMark_cFv.s"
|
||||
void daObjSMark_c::initBaseMtx() {
|
||||
setBaseMtx();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8059A038-8059A080 000098 0048+00 1/1 0/0 0/0 .text setBaseMtx__12daObjSMark_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::setBaseMtx() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/setBaseMtx__12daObjSMark_cFv.s"
|
||||
void daObjSMark_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
PSMTXCopy((MtxP)&mDoMtx_stack_c::now,(MtxP)&mCullMtx);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8059A3E8-8059A3EC 000000 0004+00 2/2 0/0 0/0 .rodata @3642 */
|
||||
SECTION_RODATA static u8 const lit_3642[4] = {
|
||||
@@ -183,69 +105,69 @@ SECTION_DEAD static char const* const stringBase_8059A404 = "A_IwaAto";
|
||||
#pragma pop
|
||||
|
||||
/* 8059A410-8059A414 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_stoneMark__stringBase0;
|
||||
static char* l_arcName = "A_IwaAto";
|
||||
|
||||
/* 8059A080-8059A168 0000E0 00E8+00 1/1 0/0 0/0 .text Create__12daObjSMark_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daObjSMark_c::Create() {
|
||||
initBaseMtx();
|
||||
fopAcM_SetMtx(this,(MtxP)&mCullMtx);
|
||||
fopAcM_setCullSizeSphere(this,0.0f,0.0f,0.0f,100.0f);
|
||||
mAcchCir.SetWall(30.0f,30.0f);
|
||||
mObjAcch.Set(&fopAcM_GetPosition_p(this),&fopAcM_GetOldPosition_p(this),this,1,&mAcchCir,&fopAcM_GetSpeed_p(this),0,0);
|
||||
mObjAcch.CrrPos(dComIfG_Bgsp());
|
||||
mDoLib_setResTimgObj((ResTIMG*)dComIfG_getObjectRes(l_arcName,3),&mTexObj,0,0);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::Create() {
|
||||
asm int daObjSMark_c::Create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/Create__12daObjSMark_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8059A414-8059A434 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSMark_Method */
|
||||
SECTION_DATA static void* l_daObjSMark_Method[8] = {
|
||||
(void*)daObjSMark_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjSMark_Delete__FP12daObjSMark_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)daObjSMark_Draw__FP12daObjSMark_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 8059A434-8059A464 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_StoneMark */
|
||||
SECTION_DATA extern void* g_profile_Obj_StoneMark[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
|
||||
(void*)0x01710000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000814, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02160000, (void*)&l_daObjSMark_Method,
|
||||
(void*)0x00040100, (void*)0x00170000,
|
||||
};
|
||||
|
||||
/* 8059A464-8059A488 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
|
||||
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12dBgS_ObjAcchFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_8059A3D8,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_8059A3D0,
|
||||
};
|
||||
|
||||
/* 8059A168-8059A25C 0001C8 00F4+00 1/1 0/0 0/0 .text create__12daObjSMark_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches, but has issues with weak labels being used
|
||||
int daObjSMark_c::create() {
|
||||
if (!fopAcM_CheckCondition(this, 8)) {
|
||||
new (this) daObjSMark_c();
|
||||
fopAcM_OnCondition(this, 8);
|
||||
}
|
||||
|
||||
int phase = dComIfG_resLoad(&mpPhase,l_arcName);
|
||||
if (phase == cPhs_COMPLEATE_e){
|
||||
if (!Create()) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::create() {
|
||||
asm int daObjSMark_c::create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/func_8059A168.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8059A25C-8059A2CC 0002BC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/__dt__12dBgS_ObjAcchFv.s"
|
||||
}
|
||||
@@ -255,9 +177,11 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
/* 8059A3F4-8059A3FC 00000C 0008+00 0/1 0/0 0/0 .rodata l_shadow_size$3714 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const l_shadow_size[8] = {
|
||||
0x42, 0x5C, 0x00, 0x00, 0x42, 0xAA, 0x00, 0x00,
|
||||
static const f32 l_shadow_size[2] = {
|
||||
55.0f,
|
||||
85.0f
|
||||
};
|
||||
|
||||
COMPILER_STRIP_GATE(0x8059A3F4, &l_shadow_size);
|
||||
#pragma pop
|
||||
|
||||
@@ -276,57 +200,51 @@ COMPILER_STRIP_GATE(0x8059A400, &lit_3719);
|
||||
#pragma pop
|
||||
|
||||
/* 8059A2CC-8059A33C 00032C 0070+00 1/1 0/0 0/0 .text draw__12daObjSMark_cFv */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
int daObjSMark_c::draw() {
|
||||
dComIfGd_setSimpleShadow(¤t.pos,
|
||||
mObjAcch.GetGroundH(),
|
||||
l_shadow_size[fopAcM_GetParam(this) & 0xFF],
|
||||
mObjAcch.m_gnd,
|
||||
shape_angle.y,
|
||||
((f32)-0.6 - g_env_light.field_0x1238 * (f32)0.4),
|
||||
&this->mTexObj);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::draw() {
|
||||
asm int daObjSMark_c::draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/draw__12daObjSMark_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8059A33C-8059A370 00039C 0034+00 1/1 0/0 0/0 .text _delete__12daObjSMark_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjSMark_c::_delete() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/_delete__12daObjSMark_cFv.s"
|
||||
int daObjSMark_c::_delete() {
|
||||
dComIfG_resDelete(&mpPhase,l_arcName);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8059A370-8059A390 0003D0 0020+00 1/0 0/0 0/0 .text daObjSMark_Draw__FP12daObjSMark_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjSMark_Draw(daObjSMark_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Draw__FP12daObjSMark_c.s"
|
||||
static int daObjSMark_Draw(daObjSMark_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8059A390-8059A3B0 0003F0 0020+00 1/0 0/0 0/0 .text daObjSMark_Delete__FP12daObjSMark_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjSMark_Delete(daObjSMark_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Delete__FP12daObjSMark_c.s"
|
||||
static int daObjSMark_Delete(daObjSMark_c* i_this) {
|
||||
return i_this->_delete();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8059A3B0-8059A3D0 000410 0020+00 1/0 0/0 0/0 .text daObjSMark_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjSMark_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark/daObjSMark_Create__FP10fopAc_ac_c.s"
|
||||
static int daObjSMark_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjSMark_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8059A3D0-8059A3D8 000430 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */
|
||||
#pragma push
|
||||
@@ -349,3 +267,49 @@ static asm void func_8059A3D8() {
|
||||
#pragma pop
|
||||
|
||||
/* 8059A404-8059A404 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8059A414-8059A434 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSMark_Method */
|
||||
static actor_method_class l_daObjSMark_Method = {
|
||||
(process_method_func)daObjSMark_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daObjSMark_Delete__FP12daObjSMark_c,
|
||||
(process_method_func)0,
|
||||
(process_method_func)0,
|
||||
(process_method_func)daObjSMark_Draw__FP12daObjSMark_c
|
||||
};
|
||||
|
||||
/* 8059A434-8059A464 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_StoneMark */
|
||||
extern actor_process_profile_definition g_profile_Obj_StoneMark = {
|
||||
-3, // mLayerID
|
||||
7, // mListID
|
||||
-3, // mListPrio
|
||||
PROC_Obj_StoneMark, // mProcName
|
||||
0, // padding
|
||||
&g_fpcLf_Method.mBase, // mSubMtd
|
||||
sizeof(daObjSMark_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // mSubMtd
|
||||
0x0216, // mPriority
|
||||
0, // padding
|
||||
0, // padding
|
||||
&l_daObjSMark_Method, // mSubMtd
|
||||
0x00040100, // mStatus
|
||||
0, // mActorType
|
||||
23, // mCullType
|
||||
0, // padding
|
||||
0 // padding
|
||||
};
|
||||
|
||||
/* 8059A464-8059A488 000054 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */
|
||||
SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12dBgS_ObjAcchFv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_8059A3D8,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)func_8059A3D0,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user