mirror of
https://github.com/zeldaret/tp
synced 2026-07-26 22:42:05 -04:00
d_a_bg mostly matching. update version symbols / add platform macros (#2410)
* d_a_bg mostly matching * update version symbols from new dtk * add version platform macros * small fix
This commit is contained in:
+195
-461
@@ -7,121 +7,12 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_com_static.h"
|
||||
#include "d/actor/d_a_grass.h"
|
||||
#include "dol2asm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "string.h"
|
||||
#include "d/d_bg_w.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "d/d_demo.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void setArcName__6daBg_cFv();
|
||||
extern "C" static void createMatAnm__FP12J3DModelDataUs();
|
||||
extern "C" void __dt__15J3DTevKColorAnmFv();
|
||||
extern "C" void __ct__15J3DTevKColorAnmFv();
|
||||
extern "C" void __dt__14J3DTevColorAnmFv();
|
||||
extern "C" void __ct__14J3DTevColorAnmFv();
|
||||
extern "C" void __dt__11J3DTexNoAnmFv();
|
||||
extern "C" void __ct__11J3DTexNoAnmFv();
|
||||
extern "C" void __dt__12J3DTexMtxAnmFv();
|
||||
extern "C" void __ct__12J3DTexMtxAnmFv();
|
||||
extern "C" void __dt__14J3DMatColorAnmFv();
|
||||
extern "C" void __ct__14J3DMatColorAnmFv();
|
||||
extern "C" void create__13daBg_btkAnm_cFP12J3DModelDataP19J3DAnmTextureSRTKeyi();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void entry__13daBg_btkAnm_cFP12J3DModelData();
|
||||
extern "C" void play__13daBg_btkAnm_cFv();
|
||||
extern "C" void create__13daBg_brkAnm_cFP12J3DModelDataP15J3DAnmTevRegKeyi();
|
||||
extern "C" void entry__13daBg_brkAnm_cFP12J3DModelData();
|
||||
extern "C" void play__13daBg_brkAnm_cFv();
|
||||
extern "C" static void checkCreateHeap__FP10fopAc_ac_c();
|
||||
extern "C" void createHeap__6daBg_cFv();
|
||||
extern "C" void __ct__11J3DLightObjFv();
|
||||
extern "C" void __dt__6daBg_cFv();
|
||||
extern "C" static void daBg_Draw__FP6daBg_c();
|
||||
extern "C" void draw__6daBg_cFv();
|
||||
extern "C" static void daBg_Execute__FP6daBg_c();
|
||||
extern "C" static bool daBg_IsDelete__FP6daBg_c();
|
||||
extern "C" static void daBg_Delete__FP6daBg_c();
|
||||
extern "C" static void daBg_Create__FP10fopAc_ac_c();
|
||||
extern "C" void create__6daBg_cFv();
|
||||
extern "C" void calc__11J3DTexNoAnmCFPUs();
|
||||
extern "C" extern char const* const d_a_bg__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
|
||||
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelEntryDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_setupStageTexture__FP12J3DModelData();
|
||||
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopMsgM_messageSetDemo__FUl();
|
||||
extern "C" void getMemoryBlock__20dStage_roomControl_cFi();
|
||||
extern "C" void dComIfGp_getMapTrans__FiPfPfPs();
|
||||
extern "C" void dComIfGs_BossLife_public_Get__Fv();
|
||||
extern "C" void dComIfG_getRoomArcName__Fi();
|
||||
extern "C" void reset__Q27daSus_c6room_cFv();
|
||||
extern "C" void deleteRoomGrass__9daGrass_cFi();
|
||||
extern "C" void deleteRoomFlower__9daGrass_cFi();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void __ct__8dBgWKColFv();
|
||||
extern "C" void create__8dBgWKColFPvPv();
|
||||
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_tevstr_init__FP12dKy_tevstr_cScUc();
|
||||
extern "C" void dKy_bg_MAxx_proc__FPv();
|
||||
extern "C" void calcViewFrustum__11J3DUClipperFv();
|
||||
extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void create__12JKRSolidHeapFUlP7JKRHeapb();
|
||||
extern "C" void adjustSize__12JKRSolidHeapFv();
|
||||
extern "C" void getName__10JUTNameTabCFUs();
|
||||
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void getTexNo__16J3DAnmTexPatternCFUsPUs();
|
||||
extern "C" void initialize__14J3DMaterialAnmFv();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_15();
|
||||
extern "C" void _savegpr_20();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_15();
|
||||
extern "C" void _restgpr_20();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__14J3DMaterialAnm[4];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mClipper__14mDoLib_clipper[92];
|
||||
extern "C" u8 mStatus__20dStage_roomControl_c[65792];
|
||||
extern "C" u8 mRoom__7daSus_c[256];
|
||||
extern "C" u8 m_frame__7dDemo_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
|
||||
/* 80457BF8-80457C38 000078 0040+00 1/1 0/0 0/0 .text setArcName__6daBg_cFv */
|
||||
const char* daBg_c::setArcName() {
|
||||
@@ -132,150 +23,32 @@ const char* daBg_c::setArcName() {
|
||||
}
|
||||
|
||||
/* 80457C38-80457D78 0000B8 0140+00 2/2 0/0 0/0 .text createMatAnm__FP12J3DModelDataUs */
|
||||
static int createMatAnm(J3DModelData* param_0, u16 param_1) {
|
||||
// NONMATCHING
|
||||
static int createMatAnm(J3DModelData* i_modelData, u16 i_materialID) {
|
||||
if (i_materialID != 0xFFFF) {
|
||||
J3DMaterial* material = i_modelData->getMaterialNodePointer(i_materialID);
|
||||
|
||||
if (material->getMaterialAnm() == NULL) {
|
||||
J3DMaterialAnm* anm = new J3DMaterialAnm();
|
||||
if (anm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
material->setMaterialAnm(anm);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80457D78-80457DB4 0001F8 003C+00 1/1 0/0 0/0 .text __dt__15J3DTevKColorAnmFv */
|
||||
// J3DTevKColorAnm::~J3DTevKColorAnm() {
|
||||
extern "C" void __dt__15J3DTevKColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457DB4-80457DCC 000234 0018+00 1/1 0/0 0/0 .text __ct__15J3DTevKColorAnmFv */
|
||||
// J3DTevKColorAnm::J3DTevKColorAnm() {
|
||||
extern "C" void __ct__15J3DTevKColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457DCC-80457E08 00024C 003C+00 1/1 0/0 0/0 .text __dt__14J3DTevColorAnmFv */
|
||||
// J3DTevColorAnm::~J3DTevColorAnm() {
|
||||
extern "C" void __dt__14J3DTevColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457E08-80457E20 000288 0018+00 1/1 0/0 0/0 .text __ct__14J3DTevColorAnmFv */
|
||||
// J3DTevColorAnm::J3DTevColorAnm() {
|
||||
extern "C" void __ct__14J3DTevColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80459424-80459468 000000 0042+02 1/1 0/0 0/0 .data
|
||||
* l_modelName$localstatic3$createHeap__6daBg_cFv */
|
||||
SECTION_DATA static char l_modelName[6][11] = {
|
||||
"model.bmd", "model1.bmd", "model2.bmd", "model3.bmd", "model4.bmd", "model5.bmd",
|
||||
};
|
||||
|
||||
/* 80459468-804594AC 000044 0042+02 1/1 0/0 0/0 .data
|
||||
* l_modelName2$localstatic4$createHeap__6daBg_cFv */
|
||||
SECTION_DATA static char l_modelName2[6][11] = {
|
||||
"model.bdl", "model1.bdl", "model2.bdl", "model3.bdl", "model4.bdl", "model5.bdl",
|
||||
};
|
||||
|
||||
/* 804594AC-804594F0 000088 0042+02 1/1 0/0 0/0 .data l_btkName$localstatic5$createHeap__6daBg_cFv
|
||||
*/
|
||||
SECTION_DATA static char l_btkName[6][11] = {
|
||||
"model.btk", "model1.btk", "model2.btk", "model3.btk", "model4.btk", "model5.btk",
|
||||
};
|
||||
|
||||
/* 804594F0-80459534 0000CC 0042+02 1/1 0/0 0/0 .data l_brkName$localstatic6$createHeap__6daBg_cFv
|
||||
*/
|
||||
SECTION_DATA static char l_brkName[6][11] = {
|
||||
"model.brk", "model1.brk", "model2.brk", "model3.brk", "model4.brk", "model5.brk",
|
||||
};
|
||||
|
||||
/* 80459534-8045954C 000110 0018+00 1/1 0/0 0/0 .data l_tevStrType$localstatic3$draw__6daBg_cFv */
|
||||
SECTION_DATA static int l_tevStrType[6] = {
|
||||
32, 33, 34, 35, 35, 32,
|
||||
};
|
||||
|
||||
/* 8045954C-8045956C -00001 0020+00 1/0 0/0 0/0 .data l_daBg_Method */
|
||||
SECTION_DATA static void* l_daBg_Method[8] = {
|
||||
(void*)daBg_Create__FP10fopAc_ac_c,
|
||||
(void*)daBg_Delete__FP6daBg_c,
|
||||
(void*)daBg_Execute__FP6daBg_c,
|
||||
(void*)daBg_IsDelete__FP6daBg_c,
|
||||
(void*)daBg_Draw__FP6daBg_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 8045956C-804595A0 -00001 0034+00 0/0 0/0 1/0 .data g_profile_BG */
|
||||
SECTION_DATA extern void* g_profile_BG[13] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0007FFFD, (void*)0x02DC0000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000005F4, (void*)NULL, (void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02F10000, (void*)&l_daBg_Method, (void*)0x00060000, (void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 804595A0-804595AC 00017C 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */
|
||||
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__12J3DFrameCtrlFv,
|
||||
};
|
||||
|
||||
/* 804595AC-804595B8 000188 000C+00 2/2 0/0 0/0 .data __vt__11J3DTexNoAnm */
|
||||
SECTION_DATA extern void* __vt__11J3DTexNoAnm[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)calc__11J3DTexNoAnmCFPUs,
|
||||
};
|
||||
|
||||
/* 80457E20-80457E68 0002A0 0048+00 1/1 0/0 0/0 .text __dt__11J3DTexNoAnmFv */
|
||||
// J3DTexNoAnm::~J3DTexNoAnm() {
|
||||
extern "C" void __dt__11J3DTexNoAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457E68-80457E8C 0002E8 0024+00 1/1 0/0 0/0 .text __ct__11J3DTexNoAnmFv */
|
||||
// J3DTexNoAnm::J3DTexNoAnm() {
|
||||
extern "C" void __ct__11J3DTexNoAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457E8C-80457EC8 00030C 003C+00 1/1 0/0 0/0 .text __dt__12J3DTexMtxAnmFv */
|
||||
// J3DTexMtxAnm::~J3DTexMtxAnm() {
|
||||
extern "C" void __dt__12J3DTexMtxAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457EC8-80457EE0 000348 0018+00 1/1 0/0 0/0 .text __ct__12J3DTexMtxAnmFv */
|
||||
// J3DTexMtxAnm::J3DTexMtxAnm() {
|
||||
extern "C" void __ct__12J3DTexMtxAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457EE0-80457F1C 000360 003C+00 1/1 0/0 0/0 .text __dt__14J3DMatColorAnmFv */
|
||||
// J3DMatColorAnm::~J3DMatColorAnm() {
|
||||
extern "C" void __dt__14J3DMatColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80457F1C-80457F34 00039C 0018+00 1/1 0/0 0/0 .text __ct__14J3DMatColorAnmFv */
|
||||
// J3DMatColorAnm::J3DMatColorAnm() {
|
||||
extern "C" void __ct__14J3DMatColorAnmFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80459374-80459380 000000 000C+00 1/1 0/0 0/0 .rodata @3756 */
|
||||
SECTION_RODATA static u8 const lit_3756[12] = {
|
||||
static u8 const lit_3756[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80459374, &lit_3756);
|
||||
|
||||
/* 80459380-80459384 00000C 0004+00 2/3 0/0 0/0 .rodata @3900 */
|
||||
SECTION_RODATA static f32 const lit_3900 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80459380, &lit_3900);
|
||||
|
||||
/* 80457F34-80458040 0003B4 010C+00 1/1 0/0 0/0 .text
|
||||
* create__13daBg_btkAnm_cFP12J3DModelDataP19J3DAnmTextureSRTKeyi */
|
||||
int daBg_btkAnm_c::create(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay) {
|
||||
mpBtk = new mDoExt_btkAnm();
|
||||
|
||||
if (mpBtk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
@@ -286,9 +59,8 @@ int daBg_btkAnm_c::create(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk,
|
||||
|
||||
J3DAnmTextureSRTKey* btk = mpBtk->getBtkAnm();
|
||||
for (u16 i = 0; i < btk->getUpdateMaterialNum(); i++) {
|
||||
u16 matID = btk->getUpdateMaterialID(i);
|
||||
|
||||
if (!createMatAnm(i_modelData, matID)) {
|
||||
u16 id = btk->getUpdateMaterialID(i);
|
||||
if (!createMatAnm(i_modelData, id)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -296,30 +68,12 @@ int daBg_btkAnm_c::create(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk,
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80458040-80458088 0004C0 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
// J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" void __dt__12J3DFrameCtrlFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80459384-80459388 000010 0004+00 4/4 0/0 0/0 .rodata @3914 */
|
||||
SECTION_RODATA static u8 const lit_3914[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80459384, &lit_3914);
|
||||
|
||||
/* 80458088-804580CC 000508 0044+00 1/1 0/0 0/0 .text entry__13daBg_btkAnm_cFP12J3DModelData */
|
||||
void daBg_btkAnm_c::entry(J3DModelData* i_modelData) {
|
||||
mpBtk->entry(i_modelData, 0.0f);
|
||||
field_0x4 = 0;
|
||||
}
|
||||
|
||||
|
||||
/* 804580CC-804580F0 00054C 0024+00 1/1 0/0 0/0 .text play__13daBg_btkAnm_cFv */
|
||||
void daBg_btkAnm_c::play() {
|
||||
mpBtk->play();
|
||||
@@ -340,17 +94,15 @@ int daBg_brkAnm_c::create(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int
|
||||
|
||||
J3DAnmTevRegKey* brk = mpBrk->getBrkAnm();
|
||||
for (u16 i = 0; i < brk->getCRegUpdateMaterialNum(); i++) {
|
||||
u16 matID = brk->getCRegUpdateMaterialID(i);
|
||||
|
||||
if (!createMatAnm(i_modelData, matID)) {
|
||||
u16 id = brk->getCRegUpdateMaterialID(i);
|
||||
if (!createMatAnm(i_modelData, id)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (u16 i = 0; i < brk->getKRegUpdateMaterialNum(); i++) {
|
||||
u16 matID = brk->getKRegUpdateMaterialID(i);
|
||||
|
||||
if (!createMatAnm(i_modelData, matID)) {
|
||||
u16 id = brk->getKRegUpdateMaterialID(i);
|
||||
if (!createMatAnm(i_modelData, id)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -358,14 +110,12 @@ int daBg_brkAnm_c::create(J3DModelData* i_modelData, J3DAnmTevRegKey* i_brk, int
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* 80458230-80458274 0006B0 0044+00 1/1 0/0 0/0 .text entry__13daBg_brkAnm_cFP12J3DModelData */
|
||||
void daBg_brkAnm_c::entry(J3DModelData* i_modelData) {
|
||||
mpBrk->entry(i_modelData, 0.0f);
|
||||
field_0x4 = 0;
|
||||
}
|
||||
|
||||
|
||||
/* 80458274-80458298 0006F4 0024+00 1/1 0/0 0/0 .text play__13daBg_brkAnm_cFv */
|
||||
void daBg_brkAnm_c::play() {
|
||||
mpBrk->play();
|
||||
@@ -373,34 +123,22 @@ void daBg_brkAnm_c::play() {
|
||||
|
||||
/* 80458298-804582B8 000718 0020+00 1/1 0/0 0/0 .text checkCreateHeap__FP10fopAc_ac_c */
|
||||
static int checkCreateHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daBg_c*>(i_this)->createHeap();
|
||||
daBg_c* a_this = (daBg_c*)i_this;
|
||||
return a_this->createHeap();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80459388-8045938C 000014 0004+00 1/1 0/0 0/0 .rodata @4125 */
|
||||
SECTION_RODATA static f32 const lit_4125 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80459388, &lit_4125);
|
||||
|
||||
/* 804593A8-804593A8 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_804593A8 = "00";
|
||||
SECTION_DEAD static char const* const stringBase_804593AB = "01";
|
||||
SECTION_DEAD static char const* const stringBase_804593AE = "12";
|
||||
SECTION_DEAD static char const* const stringBase_804593B1 = "18";
|
||||
SECTION_DEAD static char const* const stringBase_804593B4 = "room.dzb";
|
||||
SECTION_DEAD static char const* const stringBase_804593BD = "room.kcl";
|
||||
SECTION_DEAD static char const* const stringBase_804593C6 = "room.plc";
|
||||
#pragma pop
|
||||
|
||||
/* 804582B8-80458750 000738 0498+00 2/2 0/0 1/1 .text createHeap__6daBg_cFv */
|
||||
// NONMATCHING - regalloc, but equivalent
|
||||
int daBg_c::createHeap() {
|
||||
const char* arcName = setArcName();
|
||||
s32 prm = fopAcM_GetParam(this);
|
||||
daBg_unkData* bgData = mBgData;
|
||||
static char l_modelName[6][11] = {"model.bmd", "model1.bmd", "model2.bmd", "model3.bmd", "model4.bmd", "model5.bmd"};
|
||||
static char l_modelName2[6][11] = {"model.bdl", "model1.bdl", "model2.bdl", "model3.bdl", "model4.bdl", "model5.bdl"};
|
||||
static char l_btkName[6][11] = {"model.btk", "model1.btk", "model2.btk", "model3.btk", "model4.btk", "model5.btk"};
|
||||
static char l_brkName[6][11] = {"model.brk", "model1.brk", "model2.brk", "model3.brk", "model4.brk", "model5.brk"};
|
||||
|
||||
for (int i = 0; i < 6; bgData++, i++) {
|
||||
const char* arcName = setArcName();
|
||||
int roomNo = fopAcM_GetParam(this);
|
||||
daBg_Part* bgPart = mBgParts;
|
||||
|
||||
for (int i = 0; i < 6; bgPart++, i++) {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getStageRes(arcName, l_modelName[i]);
|
||||
if (modelData == NULL) {
|
||||
modelData = (J3DModelData*)dComIfG_getStageRes(arcName, l_modelName2[i]);
|
||||
@@ -411,43 +149,47 @@ int daBg_c::createHeap() {
|
||||
u32 modelFlags = 0x11000084;
|
||||
|
||||
for (u16 j = 0; j < modelData->getMaterialNum(); j++) {
|
||||
modelData->getMaterialNodePointer(j)->setMaterialAnm(NULL);
|
||||
J3DMaterial* material = modelData->getMaterialNodePointer(j);
|
||||
material->setMaterialAnm(NULL);
|
||||
}
|
||||
|
||||
J3DAnmTextureSRTKey* btk =
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getStageRes(arcName, l_btkName[i]);
|
||||
if (btk != NULL) {
|
||||
bgData->mpBgBtk = new daBg_btkAnm_c();
|
||||
if (bgData->mpBgBtk == NULL) {
|
||||
bgPart->btk = new daBg_btkAnm_c();
|
||||
if (bgPart->btk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!bgData->mpBgBtk->create(modelData, btk, TRUE)) {
|
||||
if (!bgPart->btk->create(modelData, btk, TRUE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
modelFlags |= 0x1200;
|
||||
} else {
|
||||
bgData->mpBgBtk = NULL;
|
||||
bgPart->btk = NULL;
|
||||
}
|
||||
bgData->mBtkAnmSpeed = -1.0f;
|
||||
bgPart->btk_speed = -1.0f;
|
||||
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getStageRes(arcName, l_brkName[i]);
|
||||
if (brk != NULL) {
|
||||
bgData->mpBgBrk = new daBg_brkAnm_c();
|
||||
if (bgData->mpBgBrk == NULL) {
|
||||
bgPart->brk = new daBg_brkAnm_c();
|
||||
if (bgPart->brk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!bgData->mpBgBrk->create(modelData, brk, TRUE)) {
|
||||
if (!bgPart->brk->create(modelData, brk, TRUE)) {
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
bgData->mpBgBrk = NULL;
|
||||
bgPart->brk = NULL;
|
||||
}
|
||||
|
||||
for (u16 j = 0; j < modelData->getMaterialNum(); j++) {
|
||||
const char* name = modelData->getMaterialName()->getName(j);
|
||||
JUTNameTab* nametab = modelData->getMaterialName();
|
||||
J3DMaterial* material = modelData->getMaterialNodePointer(j);
|
||||
|
||||
const char* name = nametab->getName(j);
|
||||
|
||||
if (name[3] == 'M' && name[4] == 'A') {
|
||||
if (!memcmp(&name[5], "00", 2)) {
|
||||
@@ -460,17 +202,17 @@ int daBg_c::createHeap() {
|
||||
}
|
||||
}
|
||||
|
||||
bgData->mpBgModel = mDoExt_J3DModel__create(modelData, 0, modelFlags);
|
||||
if (bgData->mpBgModel == NULL) {
|
||||
bgPart->model = mDoExt_J3DModel__create(modelData, 0, modelFlags);
|
||||
if (bgPart->model == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
bgData->mpTevStr = new dKy_tevstr_c();
|
||||
if (bgData->mpTevStr == NULL) {
|
||||
bgPart->tevstr = new dKy_tevstr_c();
|
||||
if (bgPart->tevstr == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
dKy_tevstr_init(bgData->mpTevStr, prm, 0xFF);
|
||||
dKy_tevstr_init(bgPart->tevstr, roomNo, 0xFF);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -486,7 +228,7 @@ int daBg_c::createHeap() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
dStage_roomControl_c::setBgW(prm, (dBgW_base*)mpBgW);
|
||||
dStage_roomControl_c::setBgW(roomNo, (dBgW_base*)mpBgW);
|
||||
mpBgW->SetPriority(dBgW_Base::PRIORITY_0);
|
||||
} else {
|
||||
void* kcl = dComIfG_getStageRes(arcName, "room.kcl");
|
||||
@@ -510,12 +252,6 @@ int daBg_c::createHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80458750-80458788 000BD0 0038+00 1/1 0/0 0/0 .text __ct__11J3DLightObjFv */
|
||||
// J3DLightObj::J3DLightObj() {
|
||||
extern "C" void __ct__11J3DLightObjFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80458788-804588A4 000C08 011C+00 1/1 0/0 0/0 .text __dt__6daBg_cFv */
|
||||
daBg_c::~daBg_c() {
|
||||
int roomNo = fopAcM_GetParam(this);
|
||||
@@ -541,77 +277,46 @@ static int daBg_Draw(daBg_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8045938C-80459390 000018 0004+00 0/1 0/0 0/0 .rodata @4479 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4479 = 1000000.0f;
|
||||
COMPILER_STRIP_GATE(0x8045938C, &lit_4479);
|
||||
#pragma pop
|
||||
|
||||
/* 80459390-80459394 00001C 0004+00 0/1 0/0 0/0 .rodata @4480 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4480 = 9.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80459390, &lit_4480);
|
||||
#pragma pop
|
||||
|
||||
/* 80459394-8045939C 000020 0004+04 0/1 0/0 0/0 .rodata @4481 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_4481[1 + 1 /* padding */] = {
|
||||
10.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80459394, &lit_4481);
|
||||
#pragma pop
|
||||
|
||||
/* 8045939C-804593A4 000028 0008+00 1/2 0/0 0/0 .rodata @4483 */
|
||||
SECTION_RODATA static u8 const lit_4483[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x8045939C, &lit_4483);
|
||||
|
||||
/* 804593A8-804593A8 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_804593CF = "MA12";
|
||||
SECTION_DEAD static char const* const stringBase_804593D4 = "MA18";
|
||||
SECTION_DEAD static char const* const stringBase_804593D9 = "MA15";
|
||||
SECTION_DEAD static char const* const stringBase_804593DE = "MA09";
|
||||
SECTION_DEAD static char const* const stringBase_804593E3 = "MA05";
|
||||
SECTION_DEAD static char const* const stringBase_804593E8 = "F_SP127";
|
||||
SECTION_DEAD static char const* const stringBase_804593F0 = "R_SP127";
|
||||
SECTION_DEAD static char const* const stringBase_804593F8 = "MA00_Enkei_Tree_Color";
|
||||
SECTION_DEAD static char const* const stringBase_8045940E = "MA00_Gake";
|
||||
SECTION_DEAD static char const* const stringBase_80459418 = "MA00_Kusa";
|
||||
#pragma pop
|
||||
|
||||
/* 804588C4-80458F38 000D44 0674+00 1/1 0/0 0/0 .text draw__6daBg_cFv */
|
||||
// NONMATCHING - just regalloc + some reorder issues
|
||||
int daBg_c::draw() {
|
||||
dScnKy_env_light_c* kankyo = dKy_getEnvlight();
|
||||
|
||||
int roomNo = fopAcM_GetParam(this);
|
||||
daBg_unkData* bgData = mBgData;
|
||||
daBg_Part* bgPart = mBgParts;
|
||||
J3DModel* bg_model;
|
||||
|
||||
u8 spA;
|
||||
u8 sp9;
|
||||
u8 sp8 = 0;
|
||||
int sp38 = 0;
|
||||
|
||||
dDlst_window_c* sp34 = dComIfGp_getWindow(0);
|
||||
camera_class* sp30 = dComIfGp_getCamera(sp34->getCameraID());
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoLib_clipper::changeFar(1000000.0f);
|
||||
|
||||
for (int i = 0; i < 6; bgData++, i++) {
|
||||
J3DModel* bg_model = bgData->mpBgModel;
|
||||
J3DModelData* modelData;
|
||||
for (int i = 0; i < 6; bgPart++, i++) {
|
||||
sp8 = 0;
|
||||
spA = 0;
|
||||
sp9 = 0;
|
||||
|
||||
bg_model = bgPart->model;
|
||||
|
||||
if (bg_model != NULL) {
|
||||
J3DModelData* modelData = bg_model->getModelData();
|
||||
modelData = bg_model->getModelData();
|
||||
|
||||
if (bgData->mpBgBtk != NULL) {
|
||||
bgData->mpBgBtk->entryFrame();
|
||||
if (bgPart->btk != NULL) {
|
||||
bgPart->btk->entryFrame();
|
||||
}
|
||||
|
||||
if (bgData->mpBgBrk != NULL) {
|
||||
if (bgPart->brk != NULL) {
|
||||
if (field_0x5f0 == 9) {
|
||||
bgData->mpBgBrk->entryFrame(bgData->mpBgBrk->getEndFrame());
|
||||
bgPart->brk->entryFrame(bgPart->brk->getEndFrame());
|
||||
} else {
|
||||
bgData->mpBgBrk->entryFrame();
|
||||
bgPart->brk->entryFrame();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -627,16 +332,22 @@ int daBg_c::draw() {
|
||||
}
|
||||
}
|
||||
|
||||
g_env_light.settingTevStruct(l_tevStrType[i], NULL, bgData->mpTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(bg_model, bgData->mpTevStr);
|
||||
static int l_tevStrType[6] = {32, 33, 34, 35, 35, 32};
|
||||
g_env_light.settingTevStruct(l_tevStrType[i], NULL, bgPart->tevstr);
|
||||
g_env_light.setLightTevColorType_MAJI(bg_model, bgPart->tevstr);
|
||||
dKy_bg_MAxx_proc(bg_model);
|
||||
|
||||
if (bg_model != NULL) {
|
||||
modelData = bg_model->getModelData();
|
||||
|
||||
for (u16 j = 0; j < modelData->getMaterialNum(); j++) {
|
||||
J3DMaterial* mat = modelData->getMaterialNodePointer(j);
|
||||
const char* name = modelData->getMaterialName()->getName(j);
|
||||
const char* name;
|
||||
J3DMaterial* mat;
|
||||
JUTNameTab* nametab;
|
||||
|
||||
mat = modelData->getMaterialNodePointer(j);
|
||||
nametab = modelData->getMaterialName();
|
||||
name = nametab->getName(j);
|
||||
|
||||
if (!memcmp(&name[3], "MA12", 4)) {
|
||||
if (g_env_light.wether_pat1 == 6) {
|
||||
@@ -657,9 +368,9 @@ int daBg_c::draw() {
|
||||
field_0x5f1 = 0;
|
||||
}
|
||||
} else if (!memcmp(&name[3], "MA09", 4)) {
|
||||
bgData->mBtkAnmSpeed = 1.0f - (1.0f - g_env_light.mWaterSurfaceShineRate) * 0.9f;
|
||||
bgPart->btk_speed = 1.0f - (1.0f - g_env_light.mWaterSurfaceShineRate) * 0.9f;
|
||||
} else if (!memcmp(&name[3], "MA05", 4)) {
|
||||
bgData->mpTevStr->Material_id |= (u8)j;
|
||||
bgPart->tevstr->Material_id |= (u8)j;
|
||||
}
|
||||
|
||||
if (!strcmp(dComIfGp_getStartStageName(), "F_SP127") ||
|
||||
@@ -670,52 +381,50 @@ int daBg_c::draw() {
|
||||
J3DGXColorS10 colorS10;
|
||||
J3DGXColor color;
|
||||
|
||||
s16 var_r0;
|
||||
s16 var_r3;
|
||||
s16 var_r5;
|
||||
GXColorS10 sp50;
|
||||
switch (g_env_light.fishing_hole_season) {
|
||||
case 2:
|
||||
var_r5 = -3;
|
||||
var_r0 = 0;
|
||||
var_r3 = -4;
|
||||
sp50.r = -3;
|
||||
sp50.g = 0;
|
||||
sp50.b = -4;
|
||||
break;
|
||||
case 3:
|
||||
var_r5 = 0;
|
||||
var_r0 = -10;
|
||||
var_r3 = -13;
|
||||
sp50.r = 0;
|
||||
sp50.g = -10;
|
||||
sp50.b = -13;
|
||||
break;
|
||||
case 4:
|
||||
var_r5 = 18;
|
||||
var_r0 = 17;
|
||||
var_r3 = 25;
|
||||
sp50.r = 18;
|
||||
sp50.g = 17;
|
||||
sp50.b = 25;
|
||||
break;
|
||||
default:
|
||||
var_r5 = 0;
|
||||
var_r0 = 0;
|
||||
var_r3 = 0;
|
||||
sp50.r = 0;
|
||||
sp50.g = 0;
|
||||
sp50.b = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
f32 temp_f2 = bgData->mpTevStr->AmbCol.r / 10.0f;
|
||||
f32 var_f2 = temp_f2 * temp_f2;
|
||||
if (var_f2 > 1.0f) {
|
||||
var_f2 = 1.0f;
|
||||
f32 var_f31 = bgPart->tevstr->AmbCol.r / 10.0f;
|
||||
var_f31 *= var_f31;
|
||||
if (var_f31 > 1.0f) {
|
||||
var_f31 = 1.0f;
|
||||
}
|
||||
colorS10.r = var_r5 * var_f2;
|
||||
colorS10.r = sp50.r * var_f31;
|
||||
|
||||
f32 temp_f2_2 = bgData->mpTevStr->AmbCol.g / 10.0f;
|
||||
f32 var_f2_2 = temp_f2_2 * temp_f2_2;
|
||||
if (var_f2_2 > 1.0f) {
|
||||
var_f2_2 = 1.0f;
|
||||
var_f31 = bgPart->tevstr->AmbCol.g / 10.0f;
|
||||
var_f31 *= var_f31;
|
||||
if (var_f31 > 1.0f) {
|
||||
var_f31 = 1.0f;
|
||||
}
|
||||
colorS10.g = var_r0 * var_f2_2;
|
||||
colorS10.g = sp50.g * var_f31;
|
||||
|
||||
f32 temp_f2_3 = bgData->mpTevStr->AmbCol.b / 10.0f;
|
||||
f32 var_f2_3 = temp_f2_3 * temp_f2_3;
|
||||
if (var_f2_3 > 1.0f) {
|
||||
var_f2_3 = 1.0f;
|
||||
var_f31 = bgPart->tevstr->AmbCol.b / 10.0f;
|
||||
var_f31 *= var_f31;
|
||||
if (var_f31 > 1.0f) {
|
||||
var_f31 = 1.0f;
|
||||
}
|
||||
colorS10.b = var_r3 * var_f2_3;
|
||||
colorS10.b = sp50.b * var_f31;
|
||||
colorS10.a = 255;
|
||||
mat->setTevColor(0, &colorS10);
|
||||
|
||||
@@ -727,45 +436,39 @@ int daBg_c::draw() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mDoExt_modelEntryDL(bg_model);
|
||||
dComIfGd_setListBG();
|
||||
}
|
||||
|
||||
mDoExt_modelEntryDL(bg_model);
|
||||
dComIfGd_setListBG();
|
||||
}
|
||||
}
|
||||
|
||||
dComIfGd_setList();
|
||||
dKy_tevstr_c* tevstr = dComIfGp_roomControl_getTevStr(roomNo);
|
||||
g_env_light.settingTevStruct(0x10, NULL, tevstr);
|
||||
g_env_light.settingTevStruct(0x10, NULL, dComIfGp_roomControl_getTevStr(roomNo));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804593A4-804593A8 000030 0004+00 1/1 0/0 0/0 .rodata @4524 */
|
||||
SECTION_RODATA static f32 const lit_4524 = 100.0f;
|
||||
COMPILER_STRIP_GATE(0x804593A4, &lit_4524);
|
||||
|
||||
int daBg_c::execute() {
|
||||
daBg_unkData* bgData = mBgData;
|
||||
daBg_Part* bgPart = mBgParts;
|
||||
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (bgData->mpBgBtk != NULL) {
|
||||
if (bgPart->btk != NULL) {
|
||||
if (field_0x5f1 != 0) {
|
||||
bgData->mpBgBtk->playspeed((field_0x5f1 - 1) / 100.0f);
|
||||
bgPart->btk->playspeed((field_0x5f1 - 1) / 100.0f);
|
||||
}
|
||||
|
||||
if (bgData->mBtkAnmSpeed >= 0.0f) {
|
||||
bgData->mpBgBtk->playspeed(bgData->mBtkAnmSpeed);
|
||||
if (bgPart->btk_speed >= 0.0f) {
|
||||
bgPart->btk->playspeed(bgPart->btk_speed);
|
||||
}
|
||||
bgData->mpBgBtk->play();
|
||||
bgPart->btk->play();
|
||||
}
|
||||
|
||||
if (bgData->mpBgBrk != NULL && field_0x5f0 == 0) {
|
||||
bgData->mpBgBrk->play();
|
||||
if (bgPart->brk != NULL && field_0x5f0 == 0) {
|
||||
bgPart->brk->play();
|
||||
}
|
||||
|
||||
bgData++;
|
||||
bgPart++;
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -776,7 +479,6 @@ static int daBg_Execute(daBg_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
|
||||
/* 8045901C-80459024 00149C 0008+00 1/0 0/0 0/0 .text daBg_IsDelete__FP6daBg_c */
|
||||
static int daBg_IsDelete(daBg_c* i_this) {
|
||||
return 1;
|
||||
@@ -790,11 +492,12 @@ static int daBg_Delete(daBg_c* i_this) {
|
||||
|
||||
/* 8045904C-8045906C 0014CC 0020+00 1/0 0/0 0/0 .text daBg_Create__FP10fopAc_ac_c */
|
||||
static int daBg_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daBg_c*>(i_this)->create();
|
||||
daBg_c* a_this = (daBg_c*)i_this;
|
||||
int rt = a_this->create();
|
||||
return rt;
|
||||
}
|
||||
|
||||
/* 8045906C-8045933C 0014EC 02D0+00 1/1 0/0 0/0 .text create__6daBg_cFv */
|
||||
// NONMATCHING - regalloc
|
||||
int daBg_c::create() {
|
||||
int roomNo = fopAcM_GetParam(this);
|
||||
field_0x5f0 = 0;
|
||||
@@ -806,59 +509,68 @@ int daBg_c::create() {
|
||||
home.roomNo = roomNo;
|
||||
current.roomNo = roomNo;
|
||||
|
||||
JKRExpHeap* heap = dStage_roomControl_c::getMemoryBlock(roomNo);
|
||||
if (heap != NULL) {
|
||||
this->heap = JKRSolidHeap::create(-1, heap, false);
|
||||
JKRExpHeap* room_heap = dStage_roomControl_c::getMemoryBlock(roomNo);
|
||||
if (room_heap != NULL) {
|
||||
this->heap = JKRCreateSolidHeap(-1, room_heap, false);
|
||||
JUT_ASSERT(471, heap != 0);
|
||||
|
||||
JKRHeap* old = mDoExt_setCurrentHeap(this->heap);
|
||||
createHeap();
|
||||
int rt = createHeap();
|
||||
JUT_ASSERT(476, rt == 1);
|
||||
|
||||
mDoExt_setCurrentHeap(old);
|
||||
this->heap->adjustSize();
|
||||
} else if (!fopAcM_entrySolidHeap(this, checkCreateHeap, 0x80020040)) {
|
||||
return cPhs_ERROR_e;
|
||||
} else {
|
||||
u32 size = 0x20040;
|
||||
size |= 0x80000000;
|
||||
if (!fopAcM_entrySolidHeap(this, checkCreateHeap, size)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
|
||||
daBg_unkData* bgData = mBgData;
|
||||
daBg_Part* bgPart = mBgParts;
|
||||
J3DModelData* modelData;
|
||||
for (int i = 0; i < 6; i++) {
|
||||
if (bgData->mpBgModel != NULL) {
|
||||
J3DModelData* modelData = bgData->mpBgModel->getModelData();
|
||||
if (bgPart->model != NULL) {
|
||||
J3DModelData* modelData = bgPart->model->getModelData();
|
||||
|
||||
if (bgData->mpBgBtk != NULL) {
|
||||
bgData->mpBgBtk->entry(modelData);
|
||||
if (bgPart->btk != NULL) {
|
||||
bgPart->btk->entry(modelData);
|
||||
}
|
||||
|
||||
if (bgData->mpBgBrk != NULL) {
|
||||
bgData->mpBgBrk->entry(modelData);
|
||||
if (bgPart->brk != NULL) {
|
||||
bgPart->brk->entry(modelData);
|
||||
}
|
||||
}
|
||||
bgData++;
|
||||
bgPart++;
|
||||
}
|
||||
|
||||
f32 transX;
|
||||
f32 transY;
|
||||
s16 angle;
|
||||
if (dComIfGp_getMapTrans(roomNo, &transX, &transY, &angle)) {
|
||||
daBg_unkData* bgData_ = mBgData;
|
||||
daBg_Part* bgPart = mBgParts;
|
||||
for (int i = 0; i < 6; i++) {
|
||||
J3DModel* model = bgData_->mpBgModel;
|
||||
J3DModel* model = bgPart->model;
|
||||
|
||||
if (model != NULL) {
|
||||
mDoMtx_stack_c::transS(transX, 0.0f, transY);
|
||||
mDoMtx_stack_c::YrotM(angle);
|
||||
model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
|
||||
J3DModelData* modelData = model->getModelData();
|
||||
modelData = model->getModelData();
|
||||
for (u16 j = 0; j < modelData->getMaterialNum(); j++) {
|
||||
const char* name = modelData->getMaterialName()->getName(j);
|
||||
JUTNameTab* nametab = modelData->getMaterialName();
|
||||
const char* name = nametab->getName(j);
|
||||
|
||||
if (name[3] == 'M' && name[4] == 'A' && name[5] == '0' && name[6] == '8') {
|
||||
modelData->getMaterialNodePointer(j)->getShape()->setTexMtxLoadType(
|
||||
0x2000);
|
||||
J3DMaterial* material = modelData->getMaterialNodePointer(j);
|
||||
J3DShape* shape = material->getShape();
|
||||
shape->setTexMtxLoadType(0x2000);
|
||||
}
|
||||
}
|
||||
}
|
||||
bgData_++;
|
||||
bgPart++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -874,17 +586,39 @@ int daBg_c::create() {
|
||||
}
|
||||
}
|
||||
|
||||
dKy_tevstr_init(dComIfGp_roomControl_getTevStr(roomNo), roomNo, 0xFF);
|
||||
dKy_tevstr_c* tevstr = dComIfGp_roomControl_getTevStr(roomNo);
|
||||
dKy_tevstr_init(tevstr, roomNo, 0xFF);
|
||||
}
|
||||
|
||||
dComIfGp_roomControl_onStatusFlag(roomNo, 0x10);
|
||||
OS_REPORT("<BG> room%d\n", roomNo);
|
||||
return cPhs_COMPLEATE_e;
|
||||
}
|
||||
|
||||
/* 8045933C-8045936C 0017BC 0030+00 1/0 0/0 0/0 .text calc__11J3DTexNoAnmCFPUs */
|
||||
// void J3DTexNoAnm::calc(u16* param_0) const {
|
||||
extern "C" void calc__11J3DTexNoAnmCFPUs() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 8045954C-8045956C -00001 0020+00 1/0 0/0 0/0 .data l_daBg_Method */
|
||||
static actor_method_class l_daBg_Method = {
|
||||
(process_method_func)daBg_Create,
|
||||
(process_method_func)daBg_Delete,
|
||||
(process_method_func)daBg_Execute,
|
||||
(process_method_func)daBg_IsDelete,
|
||||
(process_method_func)daBg_Draw,
|
||||
};
|
||||
|
||||
/* 804593A8-804593A8 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 8045956C-804595A0 -00001 0034+00 0/0 0/0 1/0 .data g_profile_BG */
|
||||
extern actor_process_profile_definition2 g_profile_BG = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_BG, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daBg_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
753, // mPriority
|
||||
&l_daBg_Method, // sub_method
|
||||
0x00060000, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_0_e, // cullType
|
||||
0,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user