d_a_obj_TvCdlst matching (#2292)

* d_a_obj_TvCdlst matching

* d_a_obj_kwheel00, 01, & d_a_obj_klift00 Equivalent (weak func and/or vtable order) (#2291)

* d_a_obj_kwheel00, 01, & d_a_obj_klift00 Equivalent (weak func and/or vtable order)
* Three rels equivalent
* Basic documentation for the three rels
* Define explicit constructor for dMdl_obj_c (needed for proper array creation in d_a_obj_klift00)
* Modify d_a_obj_bky_rock to account for new explicit constructor of dMdl_obj_c
* Specify weak func and/or vtable orders for rels in config.py

* Cleanup includes and dol2asm artifacts

* * Fix debug build
* Restore incorrectly removed l_bmdidx

* Fix US retail equivalency

* d_a_obj_Turara equivalent (#2289)

* Initial d_a_obj_Turara work

* More d_a_obj_Turara work

* d_a_obj_Turara equivalent except for weak func order of dEvLib_callback_c dtor

* Updates to d_a_obj_Turara after feedback from Taka

* b_dre equivalent (#2290)

* Update d_a_obj_Turara to remove unnecessary comment based on hatal\'s request

---------

Co-authored-by: TakaRikka <38417346+TakaRikka@users.noreply.github.com>

* Fix spurious differences when using `ninja diff` (#2294)

* Fix spurious differences when using ninja diff

* Fix some clangd errors/warnings

* d_a_obj_waterGate matching + d_a_obj_lv3Water2 equivalent (#2293)

* d_a_obj_waterGate matching + d_a_obj_lv3Water2 equivalent
* Add simpleCalcMaterial implicit inline to J3DModelData (seen in debug)
* Basic documentation for both actors
* WIP debug build implementations (note TODOs)
* Update configure.py and note weak ordering issues for lv3Water2

* Actually add modified J3DModelData.h & explicitly note fake padding

* Add fopAcM_Register... macros (for debug build) (#2295)

* Update d_a_obj_Tvcdlst to use LIGHT_INFLUENCE after Taka gave feedback

---------

Co-authored-by: Huitzi <73550465+marwernerh@users.noreply.github.com>
Co-authored-by: TakaRikka <38417346+TakaRikka@users.noreply.github.com>
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
This commit is contained in:
YunataSavior 2025-02-03 00:30:40 -08:00 committed by GitHub
parent ca3e900835
commit 34b21412c4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 271 additions and 376 deletions

View File

@ -17,6 +17,6 @@ REL/global_destructor_chain.c:
d/actor/d_a_obj_TvCdlst.cpp:
.text start:0x000000EC end:0x00000C9C
.ctors start:0x00000000 end:0x00000004
.rodata start:0x00000000 end:0x00000070
.rodata start:0x00000000 end:0x0000006E
.data start:0x00000000 end:0x000000C4
.bss start:0x00000008 end:0x0000001C

View File

@ -18,10 +18,10 @@ pointLightProc__11daTvCdlst_cFv = .text:0x00000670; // type:function size:0xB0 s
Execute__11daTvCdlst_cFv = .text:0x00000720; // type:function size:0x334 scope:global
Draw__11daTvCdlst_cFv = .text:0x00000A54; // type:function size:0xA4 scope:global
Delete__11daTvCdlst_cFv = .text:0x00000AF8; // type:function size:0x58 scope:global
daTvCdlst_Draw__FP11daTvCdlst_c = .text:0x00000B50; // type:function size:0x20 scope:global
daTvCdlst_Execute__FP11daTvCdlst_c = .text:0x00000B70; // type:function size:0x20 scope:global
daTvCdlst_Delete__FP11daTvCdlst_c = .text:0x00000B90; // type:function size:0x20 scope:global
daTvCdlst_Create__FP10fopAc_ac_c = .text:0x00000BB0; // type:function size:0x20 scope:global
daTvCdlst_Draw__FP11daTvCdlst_c = .text:0x00000B50; // type:function size:0x20 scope:local
daTvCdlst_Execute__FP11daTvCdlst_c = .text:0x00000B70; // type:function size:0x20 scope:local
daTvCdlst_Delete__FP11daTvCdlst_c = .text:0x00000B90; // type:function size:0x20 scope:local
daTvCdlst_Create__FP10fopAc_ac_c = .text:0x00000BB0; // type:function size:0x20 scope:local
__dt__15daTvCdlst_HIO_cFv = .text:0x00000BD0; // type:function size:0x5C scope:global
__sinit_d_a_obj_TvCdlst_cpp = .text:0x00000C2C; // type:function size:0x70 scope:local
_ctors = .ctors:0x00000000; // type:label scope:global
@ -44,7 +44,7 @@ mCcDObjInfo__11daTvCdlst_c = .rodata:0x00000000; // type:object size:0x30 scope:
@3939 = .rodata:0x00000060; // type:object size:0x4 scope:local
@stringBase0 = .rodata:0x00000064; // type:object size:0xA scope:local data:string_table
mCcDCyl__11daTvCdlst_c = .data:0x00000000; // type:object size:0x44 scope:global
l_daTvCdlst_Method = .data:0x00000044; // type:object size:0x20 scope:global
l_daTvCdlst_Method = .data:0x00000044; // type:object size:0x20 scope:local
g_profile_Obj_TvCdlst = .data:0x00000064; // type:object size:0x30 scope:global
__vt__8cM3dGCyl = .data:0x00000094; // type:object size:0xC scope:global
__vt__8cM3dGAab = .data:0x000000A0; // type:object size:0xC scope:global
@ -52,4 +52,4 @@ __vt__15daTvCdlst_HIO_c = .data:0x000000AC; // type:object size:0xC scope:global
__vt__14mDoHIO_entry_c = .data:0x000000B8; // type:object size:0xC scope:global
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
@3622 = .bss:0x00000008; // type:object size:0xC scope:local
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:global
l_HIO = .bss:0x00000014; // type:object size:0x8 scope:local

View File

@ -1800,7 +1800,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_zrz"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_Lv5Key"),
ActorRel(Equivalent, "d_a_obj_Turara"),
ActorRel(NonMatching, "d_a_obj_TvCdlst"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_TvCdlst"),
ActorRel(NonMatching, "d_a_obj_Y_taihou"),
ActorRel(NonMatching, "d_a_obj_amiShutter"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ari"),

View File

@ -2,6 +2,7 @@
#define D_A_OBJ_TVCDLST_H
#include "f_op/f_op_actor_mng.h"
#include "include/d/d_com_inf_game.h"
/**
* @ingroup actors-objects
@ -14,30 +15,52 @@
class daTvCdlst_c : public fopAc_ac_c {
public:
/* 80B9ED40 */ void setBaseMtx();
/* 80B9EDC8 */ void CreateHeap();
/* 80B9EE34 */ void create();
/* 80B9F144 */ void createHeapCallBack(fopAc_ac_c*);
/* 80B9EDC8 */ int CreateHeap();
/* 80B9EE34 */ int create();
/* 80B9F144 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80B9F164 */ void lightInit();
/* 80B9F1F0 */ void setLight();
/* 80B9F220 */ void cutLight();
/* 80B9F250 */ void pointLightProc();
/* 80B9F300 */ void Execute();
/* 80B9F634 */ void Draw();
/* 80B9F6D8 */ void Delete();
/* 80B9F300 */ int Execute();
/* 80B9F634 */ int Draw();
/* 80B9F6D8 */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
u8 getLightType() { return fopAcM_GetParamBit(this,8,8); }
u8 getOnSw() { return fopAcM_GetParamBit(this,0,8); }
u8 getOffSw() { return fopAcM_GetParamBit(this,0x10,8); }
private:
/* 0x568 */ u8 field_0x568[0x754 - 0x568];
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dCcD_Stts mStts;
/* 0x5b0 */ dCcD_Cyl mCyl;
/* 0x6ec */ cXyz field_0x6ec;
/* 0x6f8 */ u8 field_0x6f8;
/* 0x6f9 */ u8 mIsOn;
/* 0x6fa */ u8 mIsOff;
/* 0x6fb */ u8 mOnSw;
/* 0x6fc */ u8 mOffSw;
/* 0x6fd */ u8 mDoIgnite;
/* 0x700 */ cXyz field_0x700;
/* 0x70c */ u8 mLightType;
/* 0x710 */ f32 field_0x710;
/* 0x714 */ LIGHT_INFLUENCE mLight;
/* 0x734 */ Z2SoundObjSimple mSound;
};
STATIC_ASSERT(sizeof(daTvCdlst_c) == 0x754);
class daTvCdlst_HIO_c {
class daTvCdlst_HIO_c : public mDoHIO_entry_c {
public:
/* 80B9ECCC */ daTvCdlst_HIO_c();
/* 80B9F7B0 */ ~daTvCdlst_HIO_c();
/* 80B9F7B0 */ virtual ~daTvCdlst_HIO_c() {}
/* 0x4 */ u8 field_0x4;
/* 0x5 */ u8 field_0x5;
};

View File

@ -5,112 +5,247 @@
#include "d/actor/d_a_obj_TvCdlst.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void __ct__15daTvCdlst_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__11daTvCdlst_cFv();
extern "C" void CreateHeap__11daTvCdlst_cFv();
extern "C" void create__11daTvCdlst_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void createHeapCallBack__11daTvCdlst_cFP10fopAc_ac_c();
extern "C" void lightInit__11daTvCdlst_cFv();
extern "C" void setLight__11daTvCdlst_cFv();
extern "C" void cutLight__11daTvCdlst_cFv();
extern "C" void pointLightProc__11daTvCdlst_cFv();
extern "C" void Execute__11daTvCdlst_cFv();
extern "C" void Draw__11daTvCdlst_cFv();
extern "C" void Delete__11daTvCdlst_cFv();
extern "C" static void daTvCdlst_Draw__FP11daTvCdlst_c();
extern "C" static void daTvCdlst_Execute__FP11daTvCdlst_c();
extern "C" static void daTvCdlst_Delete__FP11daTvCdlst_c();
extern "C" static void daTvCdlst_Create__FP10fopAc_ac_c();
extern "C" void __dt__15daTvCdlst_HIO_cFv();
extern "C" void __sinit_d_a_obj_TvCdlst_cpp();
extern "C" u8 const mCcDObjInfo__11daTvCdlst_c[48];
extern "C" extern char const* const d_a_obj_TvCdlst__stringBase0;
extern "C" u8 mCcDCyl__11daTvCdlst_c[68];
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv();
extern "C" void getHitSeID__12dCcD_GObjInfFUci();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void cLib_addCalc__FPfffff();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void deleteObject__14Z2SoundObjBaseFv();
extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
extern "C" void __ct__16Z2SoundObjSimpleFv();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
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 u32 g_whiteColor;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
#include "include/d/d_com_inf_game.h"
//
// Declarations:
//
/* 80B9F9DC-80B9F9E4 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
static daTvCdlst_HIO_c l_HIO;
/* ############################################################################################## */
/* 80B9F900-80B9F944 000000 0044+00 2/2 0/0 0/0 .data mCcDCyl__11daTvCdlst_c */
SECTION_DATA u8 daTvCdlst_c::mCcDCyl[68] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
dCcD_SrcCyl daTvCdlst_c::mCcDCyl = {
daTvCdlst_c::mCcDObjInfo, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
0.0f, // mRadius
0.0f // mHeight
} // mCyl
};
/* 80B9ECCC-80B9ECF8 0000EC 002C+00 1/1 0/0 0/0 .text __ct__15daTvCdlst_HIO_cFv */
daTvCdlst_HIO_c::daTvCdlst_HIO_c() {
field_0x4 = 0x3c;
field_0x5 = 1;
}
/* 80B9ED40-80B9EDC8 000160 0088+00 2/2 0/0 0/0 .text setBaseMtx__11daTvCdlst_cFv */
void daTvCdlst_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z);
mpModel->setBaseScale(scale);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
}
/* 80B9EDC8-80B9EE34 0001E8 006C+00 1/1 0/0 0/0 .text CreateHeap__11daTvCdlst_cFv */
int daTvCdlst_c::CreateHeap() {
J3DModelData* pModelData = (J3DModelData*) dComIfG_getObjectRes("HShokudai", 3);
JUT_ASSERT(222, pModelData != NULL);
mpModel = mDoExt_J3DModel__create(pModelData, 0x80000,0x11000084);
if (mpModel == NULL)
return 0;
return 1;
}
/* ############################################################################################## */
/* 80B9F890-80B9F8C0 000000 0030+00 4/4 0/0 0/0 .rodata mCcDObjInfo__11daTvCdlst_c */
const dCcD_SrcGObjInf daTvCdlst_c::mCcDObjInfo = {
{0, // mFlags
{
{0x0, 0x0, 0x0}, // mObjAt
{0xD8FBFFFF, 0x1F}, // mObjTg
{0x79} // mObjCo
} // mSrcObjHitInf
}, // mObj
{1, 0, 0, 0, 0}, // mGObjAt
{0xA, 0, 0, 0, 0}, // mGObjTg
{0} // mGObjCo
};
/* 80B9EE34-80B9F0B4 000254 0280+00 1/1 0/0 0/0 .text create__11daTvCdlst_cFv */
int daTvCdlst_c::create() {
fopAcM_SetupActor(this, daTvCdlst_c);
int phase = dComIfG_resLoad(&mPhaseReq,"HShokudai");
if (phase == cPhs_COMPLEATE_e) {
if (fopAcM_entrySolidHeap(this,createHeapCallBack,0x820) == 0) {
return cPhs_ERROR_e;
}
setBaseMtx();
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
field_0x6ec.x = current.pos.x;
field_0x6ec.y = current.pos.y + 155.0f;
field_0x6ec.z = current.pos.z;
mLightType = getLightType();
if (mLightType == 0xff) {
mLightType = 0;
}
lightInit();
eyePos = field_0x6ec;
mOnSw = getOnSw();
mOffSw = getOffSw();
mIsOn = fopAcM_isSwitch(this, mOnSw);
mIsOff = fopAcM_isSwitch(this, mOffSw);
mDoIgnite = 0;
field_0x6f8 = 0;
if (mIsOn && mIsOff == 0) {
field_0x6f8 = 1;
mDoIgnite = 0;
setLight();
}
mStts.Init(0xff, 0xff, this);
mCyl.Set(mCcDCyl);
mCyl.SetStts(&mStts);
mSound.init(&current.pos, 1);
// FIXME: Need mDoHIO_entry_c::entryHIO
}
return phase;
}
/* 80B9F144-80B9F164 000564 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__11daTvCdlst_cFP10fopAc_ac_c */
int daTvCdlst_c::createHeapCallBack(fopAc_ac_c* i_this) {
return static_cast<daTvCdlst_c*>(i_this)->CreateHeap();
}
/* 80B9F164-80B9F1F0 000584 008C+00 1/1 0/0 0/0 .text lightInit__11daTvCdlst_cFv */
void daTvCdlst_c::lightInit() {
field_0x700 = field_0x6ec;
field_0x700.y += 10.0f;
if (mLightType) {
mLight.mPosition = field_0x700;
mLight.mColor.r = 0xbc;
mLight.mColor.g = 0x66;
mLight.mColor.b = 0x42;
mLight.mPow = 500.0f;
mLight.mFluctuation = 1.0f;
return;
}
field_0x710 = 0.0f;
}
/* 80B9F1F0-80B9F220 000610 0030+00 2/2 0/0 0/0 .text setLight__11daTvCdlst_cFv */
void daTvCdlst_c::setLight() {
if (mLightType) {
dKy_plight_set(&mLight);
}
}
/* 80B9F220-80B9F250 000640 0030+00 1/1 0/0 0/0 .text cutLight__11daTvCdlst_cFv */
void daTvCdlst_c::cutLight() {
if (mLightType) {
dKy_plight_cut(&mLight);
}
}
/* 80B9F250-80B9F300 000670 00B0+00 1/1 0/0 0/0 .text pointLightProc__11daTvCdlst_cFv */
void daTvCdlst_c::pointLightProc() {
if (mLightType == 0) {
GXColor color = {0xbc, 0x66, 0x42, 0xff};
if (field_0x6f8 != 0) {
cLib_addCalc(&field_0x710, 1.0f, 0.5f, 0.1f, 0.0001f);
} else {
cLib_addCalc(&field_0x710, 0.0f, 0.5f, 0.1f, 0.0001f);
}
if (field_0x710 >= 1e-06f) {
dKy_BossLight_set(&field_0x700, &color, field_0x710, 0);
}
}
}
/* 80B9F300-80B9F634 000720 0334+00 1/1 0/0 0/0 .text Execute__11daTvCdlst_cFv */
int daTvCdlst_c::Execute() {
mIsOn = fopAcM_isSwitch(this, mOnSw);
mIsOff = fopAcM_isSwitch(this, mOffSw);
if (mIsOn && mIsOff == 0 && field_0x6f8 == 0) {
field_0x6f8 = 1;
mDoIgnite = 1;
setLight();
}
if ((mIsOn == 0 && mIsOff == 0 || mIsOff) && field_0x6f8 == 1) {
s8 roomNo = fopAcM_GetRoomNo(this);
mDoAud_seStart(Z2SE_OBJ_FIRE_OFF, &field_0x6ec, 0, dComIfGp_getReverb(roomNo));
field_0x6f8 = 0;
cutLight();
}
if (field_0x6f8) {
dComIfGp_particle_setSimple(0x100, &field_0x6ec, 0xff, g_whiteColor, g_whiteColor, 0, 0.0f);
dComIfGp_particle_setSimple(0x101, &field_0x6ec, 0xff, g_whiteColor, g_whiteColor, 0, 0.0f);
dComIfGp_particle_setSimple(0x103, &field_0x6ec, 0xff, g_whiteColor, g_whiteColor, 0, 0.0f);
if (mDoIgnite) {
s8 roomNo = fopAcM_GetRoomNo(this);
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &field_0x6ec, 0, dComIfGp_getReverb(roomNo));
mDoIgnite = 0;
} else {
s8 roomNo = fopAcM_GetRoomNo(this);
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &field_0x6ec, 0, dComIfGp_getReverb(roomNo));
}
}
setBaseMtx();
if (mCyl.ChkTgHit() && mCyl.GetTgHitObj()) {
mSound.startCollisionSE(mCyl.GetTgHitObjHitSeID(1), 5, NULL);
}
s8 roomNo = fopAcM_GetRoomNo(this);
mSound.framework(0, dComIfGp_getReverb(roomNo));
mCyl.SetR(25.0f);
mCyl.SetH(140.0f);
mCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCyl);
pointLightProc();
return 1;
}
/* 80B9F634-80B9F6D8 000A54 00A4+00 1/1 0/0 0/0 .text Draw__11daTvCdlst_cFv */
int daTvCdlst_c::Draw() {
g_env_light.settingTevStruct(0x40, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
/* 80B9F6D8-80B9F730 000AF8 0058+00 1/1 0/0 0/0 .text Delete__11daTvCdlst_cFv */
int daTvCdlst_c::Delete() {
mSound.deleteObject();
dComIfG_resDelete(&mPhaseReq, "HShokudai");
if (mLightType) {
dKy_plight_cut(&mLight);
}
return 1;
}
/* 80B9F730-80B9F750 000B50 0020+00 1/0 0/0 0/0 .text daTvCdlst_Draw__FP11daTvCdlst_c */
static int daTvCdlst_Draw(daTvCdlst_c* i_this) {
return i_this->Draw();
}
/* 80B9F750-80B9F770 000B70 0020+00 1/0 0/0 0/0 .text daTvCdlst_Execute__FP11daTvCdlst_c
*/
static int daTvCdlst_Execute(daTvCdlst_c* i_this) {
return i_this->Execute();
}
/* 80B9F770-80B9F790 000B90 0020+00 1/0 0/0 0/0 .text daTvCdlst_Delete__FP11daTvCdlst_c
*/
static int daTvCdlst_Delete(daTvCdlst_c* i_this) {
return i_this->Delete();
}
/* 80B9F790-80B9F7B0 000BB0 0020+00 1/0 0/0 0/0 .text daTvCdlst_Create__FP10fopAc_ac_c */
static int daTvCdlst_Create(fopAc_ac_c* i_this) {
return static_cast<daTvCdlst_c*>(i_this)->create();
}
/* 80B9F944-80B9F964 -00001 0020+00 1/0 0/0 0/0 .data l_daTvCdlst_Method */
static actor_method_class l_daTvCdlst_Method = {
(process_method_func)daTvCdlst_Create__FP10fopAc_ac_c,
(process_method_func)daTvCdlst_Delete__FP11daTvCdlst_c,
(process_method_func)daTvCdlst_Execute__FP11daTvCdlst_c,
(process_method_func)daTvCdlst_Create,
(process_method_func)daTvCdlst_Delete,
(process_method_func)daTvCdlst_Execute,
0,
(process_method_func)daTvCdlst_Draw__FP11daTvCdlst_c,
(process_method_func)daTvCdlst_Draw,
};
/* 80B9F964-80B9F994 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TvCdlst */
@ -131,267 +266,4 @@ extern actor_process_profile_definition g_profile_Obj_TvCdlst = {
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80B9F994-80B9F9A0 000094 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80B9F9A0-80B9F9AC 0000A0 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80B9F9AC-80B9F9B8 0000AC 000C+00 2/2 0/0 0/0 .data __vt__15daTvCdlst_HIO_c */
SECTION_DATA extern void* __vt__15daTvCdlst_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__15daTvCdlst_HIO_cFv,
};
/* 80B9F9B8-80B9F9C4 0000B8 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 80B9ECCC-80B9ECF8 0000EC 002C+00 1/1 0/0 0/0 .text __ct__15daTvCdlst_HIO_cFv */
daTvCdlst_HIO_c::daTvCdlst_HIO_c() {
// NONMATCHING
}
/* 80B9ECF8-80B9ED40 000118 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
// mDoHIO_entry_c::~mDoHIO_entry_c() {
extern "C" void __dt__14mDoHIO_entry_cFv() {
// NONMATCHING
}
/* 80B9ED40-80B9EDC8 000160 0088+00 2/2 0/0 0/0 .text setBaseMtx__11daTvCdlst_cFv */
void daTvCdlst_c::setBaseMtx() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F8F4-80B9F8F4 000064 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80B9F8F4 = "HShokudai";
#pragma pop
/* 80B9EDC8-80B9EE34 0001E8 006C+00 1/1 0/0 0/0 .text CreateHeap__11daTvCdlst_cFv */
void daTvCdlst_c::CreateHeap() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F890-80B9F8C0 000000 0030+00 4/4 0/0 0/0 .rodata mCcDObjInfo__11daTvCdlst_c */
SECTION_RODATA u8 const daTvCdlst_c::mCcDObjInfo[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80B9F890, &daTvCdlst_c::mCcDObjInfo);
/* 80B9F8C0-80B9F8C4 000030 0004+00 1/1 0/0 0/0 .rodata @3750 */
SECTION_RODATA static f32 const lit_3750 = 155.0f;
COMPILER_STRIP_GATE(0x80B9F8C0, &lit_3750);
/* 80B9EE34-80B9F0B4 000254 0280+00 1/1 0/0 0/0 .text create__11daTvCdlst_cFv */
void daTvCdlst_c::create() {
// NONMATCHING
}
/* 80B9F0B4-80B9F0FC 0004D4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
// cM3dGCyl::~cM3dGCyl() {
extern "C" void __dt__8cM3dGCylFv() {
// NONMATCHING
}
/* 80B9F0FC-80B9F144 00051C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// cM3dGAab::~cM3dGAab() {
extern "C" void __dt__8cM3dGAabFv() {
// NONMATCHING
}
/* 80B9F144-80B9F164 000564 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__11daTvCdlst_cFP10fopAc_ac_c */
void daTvCdlst_c::createHeapCallBack(fopAc_ac_c* param_0) {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F8C4-80B9F8C8 000034 0004+00 0/1 0/0 0/0 .rodata @3840 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3840 = 10.0f;
COMPILER_STRIP_GATE(0x80B9F8C4, &lit_3840);
#pragma pop
/* 80B9F8C8-80B9F8CC 000038 0004+00 0/1 0/0 0/0 .rodata @3841 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3841 = 500.0f;
COMPILER_STRIP_GATE(0x80B9F8C8, &lit_3841);
#pragma pop
/* 80B9F8CC-80B9F8D0 00003C 0004+00 0/3 0/0 0/0 .rodata @3842 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3842 = 1.0f;
COMPILER_STRIP_GATE(0x80B9F8CC, &lit_3842);
#pragma pop
/* 80B9F8D0-80B9F8D4 000040 0004+00 0/3 0/0 0/0 .rodata @3843 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3843[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80B9F8D0, &lit_3843);
#pragma pop
/* 80B9F164-80B9F1F0 000584 008C+00 1/1 0/0 0/0 .text lightInit__11daTvCdlst_cFv */
void daTvCdlst_c::lightInit() {
// NONMATCHING
}
/* 80B9F1F0-80B9F220 000610 0030+00 2/2 0/0 0/0 .text setLight__11daTvCdlst_cFv */
void daTvCdlst_c::setLight() {
// NONMATCHING
}
/* 80B9F220-80B9F250 000640 0030+00 1/1 0/0 0/0 .text cutLight__11daTvCdlst_cFv */
void daTvCdlst_c::cutLight() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F8D4-80B9F8D8 000044 0004+00 0/1 0/0 0/0 .rodata @3861 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3861 = 0xBC6642FF;
COMPILER_STRIP_GATE(0x80B9F8D4, &lit_3861);
#pragma pop
/* 80B9F8D8-80B9F8DC 000048 0004+00 0/1 0/0 0/0 .rodata @3869 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3869 = 0.5f;
COMPILER_STRIP_GATE(0x80B9F8D8, &lit_3869);
#pragma pop
/* 80B9F8DC-80B9F8E0 00004C 0004+00 0/1 0/0 0/0 .rodata @3870 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3870 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80B9F8DC, &lit_3870);
#pragma pop
/* 80B9F8E0-80B9F8E4 000050 0004+00 0/1 0/0 0/0 .rodata @3871 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3871 = 0x38D1B717;
COMPILER_STRIP_GATE(0x80B9F8E0, &lit_3871);
#pragma pop
/* 80B9F8E4-80B9F8E8 000054 0004+00 0/1 0/0 0/0 .rodata @3872 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_3872 = 0x358637BD;
COMPILER_STRIP_GATE(0x80B9F8E4, &lit_3872);
#pragma pop
/* 80B9F250-80B9F300 000670 00B0+00 1/1 0/0 0/0 .text pointLightProc__11daTvCdlst_cFv */
void daTvCdlst_c::pointLightProc() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F8E8-80B9F8EC 000058 0004+00 0/1 0/0 0/0 .rodata @3937 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3937 = -1.0f;
COMPILER_STRIP_GATE(0x80B9F8E8, &lit_3937);
#pragma pop
/* 80B9F8EC-80B9F8F0 00005C 0004+00 0/1 0/0 0/0 .rodata @3938 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3938 = 25.0f;
COMPILER_STRIP_GATE(0x80B9F8EC, &lit_3938);
#pragma pop
/* 80B9F8F0-80B9F8F4 000060 0004+00 0/1 0/0 0/0 .rodata @3939 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3939 = 140.0f;
COMPILER_STRIP_GATE(0x80B9F8F0, &lit_3939);
#pragma pop
/* 80B9F300-80B9F634 000720 0334+00 1/1 0/0 0/0 .text Execute__11daTvCdlst_cFv */
void daTvCdlst_c::Execute() {
// NONMATCHING
}
/* 80B9F634-80B9F6D8 000A54 00A4+00 1/1 0/0 0/0 .text Draw__11daTvCdlst_cFv */
void daTvCdlst_c::Draw() {
// NONMATCHING
}
/* 80B9F6D8-80B9F730 000AF8 0058+00 1/1 0/0 0/0 .text Delete__11daTvCdlst_cFv */
void daTvCdlst_c::Delete() {
// NONMATCHING
}
/* 80B9F730-80B9F750 000B50 0020+00 1/0 0/0 0/0 .text daTvCdlst_Draw__FP11daTvCdlst_c */
static void daTvCdlst_Draw(daTvCdlst_c* param_0) {
// NONMATCHING
}
/* 80B9F750-80B9F770 000B70 0020+00 1/0 0/0 0/0 .text daTvCdlst_Execute__FP11daTvCdlst_c
*/
static void daTvCdlst_Execute(daTvCdlst_c* param_0) {
// NONMATCHING
}
/* 80B9F770-80B9F790 000B90 0020+00 1/0 0/0 0/0 .text daTvCdlst_Delete__FP11daTvCdlst_c
*/
static void daTvCdlst_Delete(daTvCdlst_c* param_0) {
// NONMATCHING
}
/* 80B9F790-80B9F7B0 000BB0 0020+00 1/0 0/0 0/0 .text daTvCdlst_Create__FP10fopAc_ac_c */
static void daTvCdlst_Create(fopAc_ac_c* param_0) {
// NONMATCHING
}
/* 80B9F7B0-80B9F80C 000BD0 005C+00 2/1 0/0 0/0 .text __dt__15daTvCdlst_HIO_cFv */
daTvCdlst_HIO_c::~daTvCdlst_HIO_c() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80B9F9D0-80B9F9DC 000008 000C+00 1/1 0/0 0/0 .bss @3622 */
static u8 lit_3622[12];
/* 80B9F9DC-80B9F9E4 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
static u8 l_HIO[8];
/* 80B9F80C-80B9F87C 000C2C 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_TvCdlst_cpp */
void __sinit_d_a_obj_TvCdlst_cpp() {
// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80B9F80C, __sinit_d_a_obj_TvCdlst_cpp);
#pragma pop
/* 80B9F8F4-80B9F8F4 000064 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */