mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_obj_table OK (#2076)
* Initial pass, 1 nonmatching * Some cleanup, got the last mostly matching * d_a_obj_table decomp OK * Format pass * Minor cleanup pass * Removing unused asm files * Updating a magic number with an appropriate method * fix compiler zip endpoint (#2077) * remove dkp dependency (#2078) * Some changes and cleanup to address PR feedback * Cleaning up static Create method with Taka's help --------- Co-authored-by: GinNoOokami <noreply> Co-authored-by: TakaRikka <38417346+TakaRikka@users.noreply.github.com>
This commit is contained in:
co-authored by
GinNoOokami <noreply>
TakaRikka
parent
d72e2c95e5
commit
0e41460e3e
@@ -4,110 +4,52 @@
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_table/d_a_obj_table.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/bg/d_bg_w.h"
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
|
||||
class daObjTable_c : public dBgS_MoveBgActor {
|
||||
/* 80D06560 */ int CreateHeap();
|
||||
/* 80D065D0 */ int Create();
|
||||
/* 80D0695C */ int Execute(Mtx**);
|
||||
/* 80D06AD8 */ int Draw();
|
||||
/* 80D06BC8 */ int Delete();
|
||||
/* 80D06C1C-80D06C20 -00001 0004+00 4/4 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName = "Table";
|
||||
|
||||
u32 getMessageNo() { return fopAcM_GetParam(this); }
|
||||
void daObjTable_c::initBaseMtx() {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
setBaseMtx();
|
||||
}
|
||||
|
||||
/* 0x5A0 */ J3DModel* mpModel;
|
||||
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x5AC */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x5F8 */ u32 field_0x5f8;
|
||||
/* 0x5FC */ s16 field_0x5fc;
|
||||
}; // Size: 0x600
|
||||
void daObjTable_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
int daObjTable_c::create() {
|
||||
fopAcM_SetupActor(this, daObjTable_c);
|
||||
|
||||
extern "C" static void daObjTable_Draw__FP12daObjTable_c();
|
||||
extern "C" static void daObjTable_Execute__FP12daObjTable_c();
|
||||
extern "C" static bool daObjTable_IsDelete__FP12daObjTable_c();
|
||||
extern "C" static void daObjTable_Delete__FP12daObjTable_c();
|
||||
extern "C" static void daObjTable_Create__FP10fopAc_ac_c();
|
||||
extern "C" void CreateHeap__12daObjTable_cFv();
|
||||
extern "C" void Create__12daObjTable_cFv();
|
||||
extern "C" void Execute__12daObjTable_cFPPA3_A4_f();
|
||||
extern "C" void Draw__12daObjTable_cFv();
|
||||
extern "C" void Delete__12daObjTable_cFv();
|
||||
extern "C" extern char const* const d_a_obj_table__stringBase0;
|
||||
int phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName);
|
||||
if (phase_state == cPhs_COMPLEATE_e) {
|
||||
phase_state = MoveBGCreate(l_arcName, 8, NULL, 0x4000, NULL);
|
||||
if (phase_state == cPhs_ERROR_e) {
|
||||
return phase_state;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs();
|
||||
extern "C" void getLayerNo__14dComIfG_play_cFi();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGs_isStageSwitch__Fii();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void reset__14dEvt_control_cFPv();
|
||||
extern "C" void setObjectArchive__16dEvent_manager_cFPc();
|
||||
extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc();
|
||||
extern "C" void endCheck__16dEvent_manager_cFs();
|
||||
extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci();
|
||||
extern "C" void setReal__21dDlst_shadowControl_cFUlScP8J3DModelP4cXyzffP12dKy_tevstr_c();
|
||||
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 dKy_darkworld_check__Fv();
|
||||
extern "C" void endFlowGroup__12dMsgObject_cFv();
|
||||
extern "C" void __ct__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 _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80D06438-80D06464 000078 002C+00 1/0 0/0 0/0 .text daObjTable_Draw__FP12daObjTable_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int daObjTable_Draw(daObjTable_c* i_this) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/daObjTable_Draw__FP12daObjTable_c.s"
|
||||
static int daObjTable_Draw(daObjTable_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06464-80D06484 0000A4 0020+00 1/0 0/0 0/0 .text daObjTable_Execute__FP12daObjTable_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int daObjTable_Execute(daObjTable_c* i_this) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/daObjTable_Execute__FP12daObjTable_c.s"
|
||||
static int daObjTable_Execute(daObjTable_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06484-80D0648C 0000C4 0008+00 1/0 0/0 0/0 .text daObjTable_IsDelete__FP12daObjTable_c */
|
||||
static int daObjTable_IsDelete(daObjTable_c* i_this) {
|
||||
@@ -116,129 +58,158 @@ static int daObjTable_IsDelete(daObjTable_c* i_this) {
|
||||
|
||||
/* 80D0648C-80D064B0 0000CC 0024+00 1/0 0/0 0/0 .text daObjTable_Delete__FP12daObjTable_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int daObjTable_Delete(daObjTable_c* i_this) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/daObjTable_Delete__FP12daObjTable_c.s"
|
||||
static int daObjTable_Delete(daObjTable_c* i_this) {
|
||||
i_this->MoveBGDelete();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06C1C-80D06C20 -00001 0004+00 4/4 0/0 0/0 .data l_arcName */
|
||||
static char* l_arcName = "Table";
|
||||
|
||||
/* 80D06C20-80D06C40 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTable_Method */
|
||||
SECTION_DATA static void* l_daObjTable_Method[8] = {
|
||||
(void*)daObjTable_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjTable_Delete__FP12daObjTable_c,
|
||||
(void*)daObjTable_Execute__FP12daObjTable_c,
|
||||
(void*)daObjTable_IsDelete__FP12daObjTable_c,
|
||||
(void*)daObjTable_Draw__FP12daObjTable_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 80D06C40-80D06C70 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Table */
|
||||
SECTION_DATA extern void* g_profile_Obj_Table[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
|
||||
(void*)0x00B80000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000600, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02AB0000, (void*)&l_daObjTable_Method,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 80D06C70-80D06C98 000054 0028+00 1/1 0/0 0/0 .data __vt__12daObjTable_c */
|
||||
SECTION_DATA extern void* __vt__12daObjTable_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__12daObjTable_cFv,
|
||||
(void*)Create__12daObjTable_cFv,
|
||||
(void*)Execute__12daObjTable_cFPPA3_A4_f,
|
||||
(void*)Draw__12daObjTable_cFv,
|
||||
(void*)Delete__12daObjTable_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80D064B0-80D06560 0000F0 00B0+00 1/0 0/0 0/0 .text daObjTable_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int daObjTable_Create(fopAc_ac_c* i_this) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/daObjTable_Create__FP10fopAc_ac_c.s"
|
||||
static int daObjTable_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjTable_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06560-80D065D0 0001A0 0070+00 1/0 0/0 0/0 .text CreateHeap__12daObjTable_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjTable_c::CreateHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/CreateHeap__12daObjTable_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daObjTable_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 5);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D06C04-80D06C08 000000 0004+00 2/2 0/0 0/0 .rodata @4017 */
|
||||
SECTION_RODATA static f32 const lit_4017 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D06C04, &lit_4017);
|
||||
if (mpModel == NULL) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80D065D0-80D0695C 000210 038C+00 1/0 0/0 0/0 .text Create__12daObjTable_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjTable_c::Create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/Create__12daObjTable_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daObjTable_c::Create() {
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
if (dKy_darkworld_check() || dComIfGs_isStageSwitch(0x18, 0x4b)) {
|
||||
mpModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
|
||||
mpModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
|
||||
mpModel->getModelData()->getMaterialNodePointer(2)->getShape()->hide();
|
||||
} else {
|
||||
if (dComIfG_play_c::getLayerNo(0) == 4) {
|
||||
if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])) {
|
||||
mpModel->getModelData()->getMaterialNodePointer(0)->getShape()->hide();
|
||||
}
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) &&
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[266]) &&
|
||||
!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[267]))
|
||||
{
|
||||
mpModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
|
||||
}
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) &&
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[266]) &&
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[267]) &&
|
||||
!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[268]))
|
||||
{
|
||||
mpModel->getModelData()->getMaterialNodePointer(2)->getShape()->hide();
|
||||
}
|
||||
} else {
|
||||
mpModel->getModelData()->getMaterialNodePointer(1)->getShape()->hide();
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D06C0C-80D06C0C 000008 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D06C12 = "TABLE_MAP";
|
||||
#pragma pop
|
||||
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[103]) &&
|
||||
!(!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[268]) &&
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[264])))
|
||||
{
|
||||
mpModel->getModelData()->getMaterialNodePointer(4)->getShape()->hide();
|
||||
mAttentionInfo.mFlags = 0;
|
||||
} else {
|
||||
mAttentionInfo.mFlags = 0x2000000a;
|
||||
|
||||
mAttentionInfo.field_0x0[0] = dKy_darkworld_check() ? 218 : 98;
|
||||
mAttentionInfo.field_0x0[1] = mAttentionInfo.field_0x0[0];
|
||||
mAttentionInfo.field_0x0[3] = mAttentionInfo.field_0x0[0];
|
||||
}
|
||||
|
||||
mAttentionInfo.mPosition.set(current.pos.x, current.pos.y + 100.0f, current.pos.z);
|
||||
|
||||
mMsgFlow.init(this, getMessageNo(), 0, NULL);
|
||||
dMsgObject_endFlowGroup();
|
||||
|
||||
initBaseMtx();
|
||||
mEventID = -1;
|
||||
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* 80D0695C-80D06AD8 00059C 017C+00 1/0 0/0 0/0 .text Execute__12daObjTable_cFPPA3_A4_f
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjTable_c::Execute(Mtx** i_mtx) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/Execute__12daObjTable_cFPPA3_A4_f.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daObjTable_c::Execute(Mtx** i_mtx) {
|
||||
mEvtInfo.i_onCondition(1);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D06C08-80D06C0C 000004 0004+00 1/1 0/0 0/0 .rodata @4077 */
|
||||
SECTION_RODATA static f32 const lit_4077 = 500.0f;
|
||||
COMPILER_STRIP_GATE(0x80D06C08, &lit_4077);
|
||||
dComIfG_inf_c& gameInfo = g_dComIfG_gameInfo;
|
||||
if (i_dComIfGp_event_runCheck()) {
|
||||
if (mEvtInfo.checkCommandTalk()) {
|
||||
if (mMsgFlow.doFlow(this, NULL, 0) != 0) {
|
||||
gameInfo.getPlay().getEvent().reset(this); // Fake match?
|
||||
mEvtInfo.setArchiveName("Table");
|
||||
i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName());
|
||||
mEventID = i_dComIfGp_getEventManager().getEventIdx(this, "TABLE_MAP", -1);
|
||||
|
||||
fopAcM_orderChangeEventId(this, mEventID, 1, -1);
|
||||
}
|
||||
} else if (i_dComIfGp_getEventManager().getMyStaffId(l_arcName, NULL, 0) != -1 &&
|
||||
mEvtInfo.i_checkCommandDemoAccrpt() && mEventID != -1 &&
|
||||
i_dComIfGp_getEventManager().endCheck(mEventID))
|
||||
{
|
||||
mEventID = -1;
|
||||
dMeter2Info_setPauseStatus(7);
|
||||
}
|
||||
} else {
|
||||
mMsgFlow.init(this, getMessageNo(), 0, NULL);
|
||||
dMsgObject_endFlowGroup();
|
||||
}
|
||||
|
||||
*i_mtx = &mBgMtx;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D06AD8-80D06BC8 000718 00F0+00 1/0 0/0 0/0 .text Draw__12daObjTable_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjTable_c::Draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/Draw__12daObjTable_cFv.s"
|
||||
int daObjTable_c::Draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
|
||||
cXyz v(current.pos.x, current.pos.y + 100.0f, current.pos.z);
|
||||
mShadowKey =
|
||||
dComIfGd_setRealShadow(mShadowKey, 1, mpModel, &v, 500.0f, current.pos.y, &mTevStr);
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06BC8-80D06BFC 000808 0034+00 1/0 0/0 0/0 .text Delete__12daObjTable_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjTable_c::Delete() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_table/d_a_obj_table/Delete__12daObjTable_cFv.s"
|
||||
int daObjTable_c::Delete() {
|
||||
dComIfG_resDelete(&mPhaseReq, l_arcName);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80D06C20-80D06C40 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTable_Method */
|
||||
static actor_method_class l_daObjTable_Method = {
|
||||
(process_method_func)daObjTable_Create, (process_method_func)daObjTable_Delete,
|
||||
(process_method_func)daObjTable_Execute, (process_method_func)daObjTable_IsDelete,
|
||||
(process_method_func)daObjTable_Draw,
|
||||
};
|
||||
|
||||
/* 80D06C40-80D06C70 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Table */
|
||||
extern actor_process_profile_definition g_profile_Obj_Table = {
|
||||
fpcLy_CURRENT_e,
|
||||
3,
|
||||
fpcPi_CURRENT_e,
|
||||
PROC_Obj_Table,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daObjTable_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
0x02AB,
|
||||
&l_daObjTable_Method,
|
||||
0x40000,
|
||||
fopAc_ACTOR_e,
|
||||
fopAc_CULLBOX_CUSTOM_e,
|
||||
};
|
||||
Reference in New Issue
Block a user