summaryrefslogtreecommitdiff
path: root/src/d/d_stage.cpp
diff options
context:
space:
mode:
authorTakaRikka <takarikka@outlook.com>2023-07-12 17:30:48 -0700
committerTakaRikka <takarikka@outlook.com>2023-07-12 17:30:48 -0700
commit5ba9e54e2fcfe8183e98f1dd53557990ad5e0cf5 (patch)
treeedf33d0b9e925908bb94143b8e7e65afd770bb27 /src/d/d_stage.cpp
parented40ffb06473018899329ec5aabbf6a74726e4b5 (diff)
d_a_obj_lv4floor OK / d_stage wip and cleanup
Diffstat (limited to 'src/d/d_stage.cpp')
-rw-r--r--src/d/d_stage.cpp550
1 files changed, 293 insertions, 257 deletions
diff --git a/src/d/d_stage.cpp b/src/d/d_stage.cpp
index 5cec7f27fe..399e4d859a 100644
--- a/src/d/d_stage.cpp
+++ b/src/d/d_stage.cpp
@@ -11,8 +11,11 @@
#include "d/com/d_com_inf_game.h"
#include "d/com/d_com_static.h"
#include "d/d_lib.h"
+#include "d/d_path.h"
#include "d/d_procname.h"
#include "d/d_tresure.h"
+#include "d/map/d_map_path_dmap.h"
+#include "d/map/d_map_path_fmap.h"
#include "d/save/d_save_HIO.h"
#include "dol2asm.h"
#include "dolphin/os/OS.h"
@@ -567,6 +570,7 @@ dStage_roomStatus_c* dStage_roomControl_c::getStatusRoomDt(int i_statusIdx) {
return &mStatus[i_statusIdx];
}
+// clang-format off
#define OBJNAME(name, proc, sub) \
{ name, proc, sub }
@@ -1485,95 +1489,7 @@ static dStage_objectNameInf l_objectName[0x38F] = {
OBJNAME("DemoItm", PROC_Demo_Item, 0xFF),
OBJNAME("EndCode", PROC_PLAY_SCENE, 0xFF),
};
-
-/* 803A65CC-803A65FC -00001 0030+00 1/1 0/0 0/0 .data l_roomFuncTable$5052 */
-static FuncTable l_roomFuncTable[4] = {
- {"TRES", dStage_stageKeepTresureInit},
- {"FILI", dStage_filiInfo2Init},
- {"MPAT", dStage_mapPathInitCommonLayer},
- {"Door", dStage_RoomKeepDoorInit},
-};
-
-/* 803A65FC-803A6620 -00001 0024+00 1/1 0/0 0/0 .data l_layerFuncTable$5053 */
-SECTION_DATA static FuncTable l_layerFuncTable_5053[3] = {
- {"TRE0", dStage_stageKeepTresureInit},
- {"MPA0", dStage_mapPathInit},
- {"Doo0", dStage_RoomKeepDoorInit},
-};
-
-/* 803A6620-803A6638 -00001 0018+00 1/1 0/0 0/0 .data l_layerFuncTable$5131 */
-SECTION_DATA static FuncTable l_layerFuncTable_5131[2] = {
- {"MEM0", dStage_memaInfoInit},
- {"MEC0", dStage_mecoInfoInit},
-};
-
-/* 803A6638-803A6644 -00001 000C+00 1/1 0/0 0/0 .data l_funcTable$5136 */
-SECTION_DATA static FuncTable l_funcTable_5136[1] = {"STAG", dStage_stagInfoInit};
-
-/* 803A6644-803A6650 -00001 000C+00 1/1 0/0 0/0 .data l_layerFuncTableA$5141 */
-SECTION_DATA static FuncTable l_layerFuncTableA[1] = {"SON0", dStage_soundInfoInit};
-
-/* 803A6650-803A668C -00001 003C+00 1/1 0/0 0/0 .data l_envLayerFuncTable$5142 */
-SECTION_DATA static FuncTable l_envLayerFuncTable[5] = {
- {"LGT0", dStage_lgtvInfoInit}, {"Env0", dStage_envrInfoInit},
- {"Col0", dStage_pselectInfoInit}, {"PAL0", dStage_paletteInfoInit},
- {"VRB0", dStage_vrboxcolInfoInit},
-};
-
-/* 803A668C-803A66BC -00001 0030+00 1/1 0/0 0/0 .data l_layerFuncTable$5158 */
-SECTION_DATA static FuncTable l_layerFuncTable_5158[4] = {
- {"Doo0", dStage_roomDrtgInfoInit},
- {"SCO0", dStage_tgscInfoInit},
- {"ACT0", dStage_actorInit},
- {"TRE0", dStage_layerTresureInit},
-};
-
-/* 803A66BC-803A67F4 -00001 0138+00 1/1 0/0 0/0 .data l_funcTable$5163 */
-SECTION_DATA static FuncTable l_funcTable_5163[26] = {
- {"EVLY", dStage_elstInfoInit}, {"RPPN", dStage_rppnInfoInit},
- {"RPAT", dStage_rpatInfoInit}, {"MULT", dStage_multInfoInit},
- {"PLYR", dStage_playerInit}, {"CAMR", dStage_cameraInit},
- {"RCAM", dStage_cameraInit}, {"ACTR", dStage_actorInit_always},
- {"TGOB", dStage_actorInit_always}, {"RTBL", dStage_roomReadInit},
- {"AROB", dStage_arrowInit}, {"RARO", dStage_arrowInit},
- {"Virt", dStage_vrboxInfoInit}, {"SCLS", dStage_sclsInfoInit},
- {"TGSC", dStage_tgscInfoInit}, {"LGHT", dStage_plightInfoInit},
- {"PPNT", dStage_ppntInfoInit}, {"PATH", dStage_pathInfoInit},
- {"SCOB", dStage_tgscInfoInit}, {"FILI", dStage_filiInfoInit},
- {"Door", dStage_stageDrtgInfoInit}, {"FLOR", dStage_floorInfoInit},
- {"TGDR", dStage_tgscInfoInit}, {"DMAP", dStage_dmapInfoInit},
- {"REVT", dStage_stEventInfoInit}, {"SOND", dStage_soundInfoInitCL},
-};
-
-/* 803A67F4-803A689C -00001 00A8+00 1/1 0/0 0/0 .data l_funcTable$5168 */
-SECTION_DATA static FuncTable l_funcTable_5168[14] = {
- {"PLYR", dStage_playerInit}, {"RCAM", dStage_RoomCameraInit}, {"RARO", dStage_arrowInit},
- {"RTBL", dStage_roomReadInit}, {"AROB", dStage_arrowInit}, {"Virt", dStage_vrboxInfoInit},
- {"SCLS", dStage_sclsInfoInit}, {"LGHT", dStage_plightInfoInit}, {"RPPN", dStage_rppnInfoInit},
- {"RPAT", dStage_rpatInfoInit}, {"FILI", dStage_filiInfoInit}, {"FLOR", dStage_floorInfoInit},
- {"LBNK", dStage_lbnkInfoInit}, {"SOND", dStage_soundInfoInitCL},
-};
-
-/* 803A689C-803A68FC -00001 0060+00 1/1 0/0 0/0 .data l_funcTable$5173 */
-SECTION_DATA static FuncTable l_funcTable_5173[8] = {
- {"Door", dStage_roomDrtgInfoInit}, {"ACTR", dStage_actorCommonLayerInit},
- {"TGOB", dStage_actorCommonLayerInit}, {"TRES", dStage_roomTresureInit},
- {"TGSC", dStage_tgscCommonLayerInit}, {"SCOB", dStage_tgscCommonLayerInit},
- {"TGDR", dStage_tgscInfoInit}, {"REVT", dStage_mapEventInfoInit},
-};
-
-/* 803A68FC-803A6920 -00001 0024+00 1/1 0/0 0/0 .data l_funcTable$5178 */
-SECTION_DATA static FuncTable l_funcTable_5178[3] = {
- {"TRES", dStage_fieldMapTresureInit},
- {"FILI", dStage_fieldMapFiliInfo2Init},
- {"MPAT", dStage_fieldMapMapPathInit},
-};
-
-/* 803A6920-803A696C 003A40 004C+00 3/3 0/0 0/0 .data mMemoryBlock__20dStage_roomControl_c */
-SECTION_DATA JKRExpHeap* dStage_roomControl_c::mMemoryBlock[19] = {
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-};
+// clang-format on
/* 800243B0-800243E8 01ECF0 0038+00 0/0 3/3 1/1 .text getMemoryBlock__20dStage_roomControl_cFi */
JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) {
@@ -1587,9 +1503,9 @@ JKRExpHeap* dStage_roomControl_c::getMemoryBlock(int i_roomNo) {
/* 800243E8-80024424 01ED28 003C+00 2/2 0/0 0/0 .text setStayNo__20dStage_roomControl_cFi
*/
-void dStage_roomControl_c::setStayNo(int stayNo) {
+void dStage_roomControl_c::setStayNo(int i_roomNo) {
mOldStayNo = mStayNo;
- mStayNo = stayNo;
+ mStayNo = i_roomNo;
mNextStayNo = mStayNo;
if (mStayNo < 0) {
@@ -1636,6 +1552,7 @@ bool dStage_roomControl_c::checkRoomDisp(int i_roomNo) const {
if (checkStatusFlag(i_roomNo, 8)) {
return false;
}
+
return checkStatusFlag(i_roomNo, 16) ? true : false;
}
@@ -1650,7 +1567,7 @@ asm int dStage_roomControl_c::loadRoom(int param_0, u8* param_1, bool param_2) {
#pragma pop
/* 8002471C-8002483C 01F05C 0120+00 1/1 0/0 0/3 .text zoneCountCheck__20dStage_roomControl_cCFi */
-void dStage_roomControl_c::zoneCountCheck(int stayNo) const {
+void dStage_roomControl_c::zoneCountCheck(int i_roomNo) const {
dStage_roomStatus_c* status = mStatus;
for (int i = 0; i < 0x40; i++) {
if (status->mZoneNo >= 0 && status->mZoneCount > 0) {
@@ -1658,7 +1575,8 @@ void dStage_roomControl_c::zoneCountCheck(int stayNo) const {
dComIfGs_clearRoomItem(status->mZoneNo);
if (dStage_stagInfo_GetSTType(i_dComIfGp_getStage()->getStagInfo()) != ST_FIELD &&
- stayNo != mOldStayNo) {
+ i_roomNo != mOldStayNo)
+ {
if (--status->mZoneCount == 0) {
dComIfGs_removeZone(status->mZoneNo);
status->mZoneNo = -1;
@@ -1667,18 +1585,20 @@ void dStage_roomControl_c::zoneCountCheck(int stayNo) const {
}
status++;
}
- setStayNo(stayNo);
+
+ setStayNo(i_roomNo);
}
stage_stag_info_class* dStage_stageDt_c::getStagInfo() const {
return mStagInfo;
}
-JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int index, u32 param_1) {
- if (mMemoryBlock[index] == NULL) {
- mMemoryBlock[index] = JKRExpHeap::create(param_1, mDoExt_getArchiveHeap(), false);
+JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int i_blockIdx, u32 i_heapSize) {
+ if (mMemoryBlock[i_blockIdx] == NULL) {
+ mMemoryBlock[i_blockIdx] = JKRExpHeap::create(i_heapSize, mDoExt_getArchiveHeap(), false);
}
- return mMemoryBlock[index];
+
+ return mMemoryBlock[i_blockIdx];
}
void dStage_roomControl_c::destroyMemoryBlock() {
@@ -1690,31 +1610,6 @@ void dStage_roomControl_c::destroyMemoryBlock() {
}
}
-/* ############################################################################################## */
-/* 803A696C-803A6AAC 003A8C 0140+00 2/2 0/0 0/0 .data mArcBank__20dStage_roomControl_c */
-SECTION_DATA char dStage_roomControl_c::mArcBank[32][10] = {
- 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, 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, 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, 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,
- 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,
-};
-
/* 8002490C-80024940 01F24C 0034+00 1/1 1/1 0/2 .text setArcBank__20dStage_roomControl_cFiPCc */
void dStage_roomControl_c::setArcBank(int i_bank, char const* bankName) {
strncpy(&mArcBank[i_bank][0], bankName, 9);
@@ -1889,24 +1784,24 @@ void dStage_roomDt_c::init() {
}
/* 80024D10-80024DB0 01F650 00A0+00 1/1 0/0 0/0 .text dStage_roomInit__Fi */
-static int dStage_roomInit(int stayNo) {
- dComIfGp_roomControl_setStayNo(stayNo);
+static int dStage_roomInit(int i_roomNo) {
+ dComIfGp_roomControl_setStayNo(i_roomNo);
roomRead_class* room = dComIfGp_getStageRoom();
- if (room != NULL && room->field_0x0 > stayNo) {
- int time_pass = dStage_roomRead_dt_c_GetTimePass(*room->field_0x4[stayNo]);
+ if (room != NULL && room->field_0x0 > i_roomNo) {
+ int time_pass = dStage_roomRead_dt_c_GetTimePass(*room->field_0x4[i_roomNo]);
dComIfGp_roomControl_setTimePass(time_pass);
- return dComIfGp_roomControl_loadRoom(room->field_0x4[stayNo]->field_0x0,
- room->field_0x4[stayNo]->field_0x4, true);
+ return dComIfGp_roomControl_loadRoom(room->field_0x4[i_roomNo]->field_0x0,
+ room->field_0x4[i_roomNo]->field_0x4, true);
}
return 1;
}
/* 80024DB0-80024DB8 01F6F0 0008+00 2/2 0/0 0/0 .text SetTimePass__20dStage_roomControl_cFi */
-void dStage_roomControl_c::SetTimePass(int isPassing) {
- m_time_pass = isPassing;
+void dStage_roomControl_c::SetTimePass(int i_timepass) {
+ m_time_pass = i_timepass;
}
roomRead_class* dStage_stageDt_c::getRoom() const {
@@ -1914,7 +1809,7 @@ roomRead_class* dStage_stageDt_c::getRoom() const {
}
dStage_objectNameInf* dStage_searchName(char const* objName) {
- dStage_objectNameInf* obj = &l_objectName[0];
+ dStage_objectNameInf* obj = l_objectName;
for (u32 i = 0; i < ARRAY_SIZE(l_objectName); i++) {
if (!strcmp(obj->mName, objName)) {
@@ -1922,13 +1817,14 @@ dStage_objectNameInf* dStage_searchName(char const* objName) {
}
obj++;
}
+
return NULL;
}
static const char* dStage_getName(s16 procName, s8 subtype) {
static char tmp_name[8];
- dStage_objectNameInf* obj = &l_objectName[0];
+ dStage_objectNameInf* obj = l_objectName;
char* tmp = NULL;
for (int i = 0; i < ARRAY_SIZE(l_objectName); i++) {
@@ -1981,41 +1877,43 @@ char* dStage_roomControl_c::mArcBankData;
/* 80024EFC-80024F98 01F83C 009C+00 7/7 0/0 0/0 .text
* dStage_actorCreate__FP22stage_actor_data_classP16fopAcM_prm_class */
-static void dStage_actorCreate(stage_actor_data_class* param_0, fopAcM_prm_class* param_1) {
- dStage_objectNameInf* actorInf = dStage_searchName((char*)param_0);
+static void dStage_actorCreate(stage_actor_data_class* i_actorData, fopAcM_prm_class* i_actorPrm) {
+ dStage_objectNameInf* actorInf = dStage_searchName(i_actorData->mName);
fopAc_ac_c* actor;
if (actorInf == NULL) {
- JKRHeap::free(param_1, NULL);
+ JKRHeap::free(i_actorPrm, NULL);
} else {
- param_1->mSubtype = actorInf->mSubtype;
- s16 objName = actorInf->mProcName;
+ i_actorPrm->mSubtype = actorInf->mSubtype;
+ s16 actor_name = actorInf->mProcName;
- if (objName == PROC_SUSPEND) {
- actor = (fopAc_ac_c*)fopAcM_FastCreate(objName, 0, NULL, param_1);
+ if (actor_name == PROC_SUSPEND) {
+ actor = (fopAc_ac_c*)fopAcM_FastCreate(actor_name, NULL, NULL, i_actorPrm);
if (actor != NULL) {
fopAcM_delete(actor);
}
} else {
layer_class* curLayer = fpcLy_CurrentLayer();
- fpcSCtRq_Request(curLayer, objName, 0, NULL, param_1);
+ fpcSCtRq_Request(curLayer, actor_name, NULL, NULL, i_actorPrm);
}
}
}
/* 80024F98-80025004 01F8D8 006C+00 1/1 0/0 0/0 .text
* dStage_cameraCreate__FP24stage_camera2_data_classii */
-static int dStage_cameraCreate(stage_camera2_data_class* camera, int i_cameraIdx, int param_2) {
- camera = static_cast<stage_camera2_data_class*>(cMl::memalignB(-4, 0x18));
+static int dStage_cameraCreate(stage_camera2_data_class* i_cameraData, int i_cameraIdx,
+ int param_2) {
+ i_cameraData = static_cast<stage_camera2_data_class*>(cMl::memalignB(-4, 0x18));
- if (camera != NULL) {
- camera->field_0x4 = 0.0f;
- camera->field_0x8 = 0.0f;
- camera->field_0x4 = 0.0f;
- camera->field_0x0 = param_2;
- fopCamM_Create(i_cameraIdx, PROC_CAMERA, camera);
+ if (i_cameraData != NULL) {
+ i_cameraData->field_0x4 = 0.0f;
+ i_cameraData->field_0x8 = 0.0f;
+ i_cameraData->field_0x4 = 0.0f;
+ i_cameraData->field_0x0 = param_2;
+ fopCamM_Create(i_cameraIdx, PROC_CAMERA, i_cameraData);
}
+
return 1;
}
@@ -2122,14 +2020,25 @@ static int dStage_arrowInit(dStage_dt_c* i_stage, void* i_data, int param_2, voi
/* 80025370-800253FC 01FCB0 008C+00 1/0 0/0 0/0 .text getMapInfo2__15dStage_roomDt_cCFi
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_map_info_class* dStage_roomDt_c::getMapInfo2(int param_0) const {
- nofralloc
-#include "asm/d/d_stage/getMapInfo2__15dStage_roomDt_cCFi.s"
+stage_map_info_class* dStage_roomDt_c::getMapInfo2(int param_0) const {
+ stage_map_info_dummy_class* map_info_p = getMapInfoBase();
+
+ if (map_info_p == NULL || map_info_p->field_0x0 == 0 || map_info_p->mData == NULL) {
+ return NULL;
+ }
+
+ stage_map_info_class* data_p = map_info_p->mData;
+
+ for (int i = 0; i < map_info_p->field_0x0; i++) {
+ if (param_0 == data_p->field_0x35) {
+ return data_p;
+ }
+
+ data_p++;
+ }
+
+ return NULL;
}
-#pragma pop
/* 800253FC-80025404 01FD3C 0008+00 1/0 0/0 0/0 .text getMapInfoBase__15dStage_roomDt_cCFv */
stage_map_info_dummy_class* dStage_roomDt_c::getMapInfoBase() const {
@@ -2138,14 +2047,25 @@ stage_map_info_dummy_class* dStage_roomDt_c::getMapInfoBase() const {
/* 80025404-80025490 01FD44 008C+00 1/0 0/0 0/0 .text getMapInfo2__16dStage_stageDt_cCFi
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm stage_map_info_class* dStage_stageDt_c::getMapInfo2(int param_0) const {
- nofralloc
-#include "asm/d/d_stage/getMapInfo2__16dStage_stageDt_cCFi.s"
+stage_map_info_class* dStage_stageDt_c::getMapInfo2(int param_0) const {
+ stage_map_info_dummy_class* map_info_p = getMapInfoBase();
+
+ if (map_info_p == NULL || map_info_p->field_0x0 == 0 || map_info_p->mData == NULL) {
+ return NULL;
+ }
+
+ stage_map_info_class* data_p = map_info_p->mData;
+
+ for (int i = 0; i < map_info_p->field_0x0; i++) {
+ if (param_0 == data_p->field_0x35) {
+ return data_p;
+ }
+
+ data_p++;
+ }
+
+ return NULL;
}
-#pragma pop
/* 80025490-80025498 01FDD0 0008+00 1/0 0/0 0/0 .text getMapInfoBase__16dStage_stageDt_cCFv */
stage_map_info_dummy_class* dStage_stageDt_c::getMapInfoBase() const {
@@ -2190,15 +2110,16 @@ static int dStage_filiInfo2Init(dStage_dt_c* stageDt, void* i_data, int entryNum
/* 8002556C-8002558C 01FEAC 0020+00 1/0 0/0 0/0 .text
* dStage_fieldMapFiliInfo2Init__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_fieldMapFiliInfo2Init__FP11dStage_dt_cPviPv.s"
+static int dStage_fieldMapFiliInfo2Init(dStage_dt_c* param_0, void* i_data, int i_entryNum,
+ void* param_3) {
+ if (i_entryNum == 0) {
+ return 1;
+ }
+
+ dStage_nodeHeader* fili_info = (dStage_nodeHeader*)(i_data);
+ ((dMenu_Fmap_data_c*)param_0)->setFileList2((dStage_FileList2_dt_c*)fili_info->m_offset);
+ return 1;
}
-#pragma pop
/* 8002558C-800255E0 01FECC 0054+00 2/0 0/0 0/0 .text dStage_filiInfoInit__FP11dStage_dt_cPviPv */
static int dStage_filiInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
@@ -2450,6 +2371,24 @@ static int dStage_doorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
}
/* 80025DA8-80025E40 0206E8 0098+00 2/0 0/0 0/0 .text dStage_roomReadInit__FP11dStage_dt_cPviPv */
+// close
+#ifdef NONMATCHING
+static int dStage_roomReadInit(dStage_dt_c* param_0, void* i_data, int param_2, void* param_3) {
+ roomRead_class* p_node = (roomRead_class*)((int*)i_data + 1);
+ roomRead_data_class** rtbl = p_node->field_0x4;
+
+ param_0->setRoom(p_node);
+
+ for (int i = 0; i < p_node->field_0x0; i++) {
+ if ((int)rtbl[i] < 0x80000000) {
+ rtbl[i] += (int)param_3;
+ rtbl[i]->field_0x4 += (int)param_3;
+ }
+ }
+
+ return 1;
+}
+#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -2459,6 +2398,7 @@ static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int para
#include "asm/d/d_stage/dStage_roomReadInit__FP11dStage_dt_cPviPv.s"
}
#pragma pop
+#endif
/* 80025E40-80025E70 020780 0030+00 0/0 1/1 0/0 .text
* dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi */
@@ -2477,29 +2417,34 @@ static int dStage_ppntInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum,
}
/* 80025EA4-80025F44 0207E4 00A0+00 1/0 0/0 0/0 .text dStage_pathInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_pathInfoInit__FP11dStage_dt_cPviPv.s"
-}
-#pragma pop
-
-/* static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
- dStage_dPath_c* path_c = ((char*)i_data + 4);
+// close
+#ifdef NONMATCHING
+static int dStage_pathInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
+ dStage_dPath_c* path_c = (dStage_dPath_c*)((char*)i_data + 4);
dPath* path = path_c->m_path;
stageDt->setPathInfo(path_c);
for (int i = 0; i < path_c->m_num; i++) {
if ((u32)path->m_points < 0x80000000) {
- path->m_points += path_c->m_num
+ path->m_points += (int)stageDt->getPntInf();
}
path++;
}
-} */
+
+ return 1;
+}
+#else
+#pragma push
+#pragma optimization_level 0
+#pragma optimizewithasm off
+static asm int dStage_pathInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
+ void* param_3) {
+ nofralloc
+#include "asm/d/d_stage/dStage_pathInfoInit__FP11dStage_dt_cPviPv.s"
+}
+#pragma pop
+#endif
/* 80025F44-80025F78 020884 0034+00 2/0 0/0 0/0 .text dStage_rppnInfoInit__FP11dStage_dt_cPviPv */
static int dStage_rppnInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum, void* param_3) {
@@ -2597,26 +2542,38 @@ static int dStage_floorInfoInit(dStage_dt_c* stageDt, void* i_data, int entryNum
}
/* 80026218-80026298 020B58 0080+00 1/0 0/0 0/9 .text dStage_memaInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_memaInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_memaInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_memaInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
+ dStage_MemoryMap_c* pd = (dStage_MemoryMap_c*)((char*)param_1 + 4);
+ param_0->setMemoryMap(pd);
+
+ if (pd != NULL) {
+ u32* entry_p = pd->field_0x4;
+
+ for (int i = 0; i < pd->m_num; i++) {
+ dStage_roomControl_c::createMemoryBlock(i, *entry_p + 0x380);
+ entry_p++;
+ }
+ }
+
+ return 1;
}
-#pragma pop
/* 80026298-8002631C 020BD8 0084+00 1/0 0/0 0/0 .text dStage_mecoInfoInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_mecoInfoInit__FP11dStage_dt_cPviPv.s"
+static int dStage_mecoInfoInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
+ dStage_MemoryConfig_c* pd = (dStage_MemoryConfig_c*)((char*)param_1 + 4);
+ param_0->setMemoryConfig(pd);
+
+ if (pd != NULL) {
+ dStage_MemoryConfig_data* entry_p = pd->field_0x4;
+
+ for (int i = 0; i < pd->m_num; i++) {
+ dStage_roomControl_c::setMemoryBlockID(entry_p->m_roomNo, entry_p->m_blockID);
+ entry_p++;
+ }
+ }
+
+ return 1;
}
-#pragma pop
/* 8002631C-8002634C 020C5C 0030+00 2/0 0/0 0/0 .text
* dStage_stageKeepTresureInit__FP11dStage_dt_cPviPv */
@@ -2628,61 +2585,52 @@ static int dStage_stageKeepTresureInit(dStage_dt_c* stageDt, void* i_data, int e
/* 8002634C-8002635C 020C8C 0010+00 1/0 0/0 0/0 .text
* dStage_fieldMapTresureInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_fieldMapTresureInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_fieldMapTresureInit__FP11dStage_dt_cPviPv.s"
+static int dStage_fieldMapTresureInit(dStage_dt_c* i_stageDt, void* i_data, int i_entryNum,
+ void* param_3) {
+ ((dMenu_Fmap_data_c*)i_stageDt)->setTresure((dTres_c::list_class*)((char*)i_data + 4));
+ return 1;
}
-#pragma pop
/* 8002635C-800263A0 020C9C 0044+00 4/4 0/0 0/0 .text dStage_dt_c_offsetToPtr__FPv */
static void dStage_dt_c_offsetToPtr(void* i_data) {
- dStage_nodeHeader* p_node = (dStage_nodeHeader*)((int*)i_data + 1);
+ dStage_nodeHeader* p_tno = (dStage_nodeHeader*)((int*)i_data + 1);
for (int i = 0; i < ((dStage_fileHeader*)i_data)->chunkCount; i++) {
- if (p_node->m_offset != 0 && p_node->m_offset < 0x80000000) {
- p_node->m_offset += (u32)i_data;
+ if (p_tno->m_offset != 0 && p_tno->m_offset < 0x80000000) {
+ p_tno->m_offset += (u32)i_data;
}
- p_node++;
+ p_tno++;
}
}
/* 800263A0-800263D0 020CE0 0030+00 1/0 0/0 0/0 .text dStage_mapPathInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_mapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_mapPathInit__FP11dStage_dt_cPviPv.s"
+static int dStage_mapPathInit(dStage_dt_c* param_0, void* param_1, int param_2, void* param_3) {
+ dMpath_c::setPointer(param_0->getRoomNo(), (char*)param_1 + 4, 0);
+ return 1;
}
-#pragma pop
/* 800263D0-80026400 020D10 0030+00 1/0 0/0 0/0 .text
* dStage_mapPathInitCommonLayer__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_mapPathInitCommonLayer(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_mapPathInitCommonLayer__FP11dStage_dt_cPviPv.s"
+static int dStage_mapPathInitCommonLayer(dStage_dt_c* param_0, void* param_1, int param_2,
+ void* param_3) {
+ dMpath_c::setPointer(param_0->getRoomNo(), (char*)param_1 + 4, 1);
+ return 1;
}
-#pragma pop
/* 80026400-8002645C 020D40 005C+00 1/0 0/0 0/0 .text
* dStage_fieldMapMapPathInit__FP11dStage_dt_cPviPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm int dStage_fieldMapMapPathInit(dStage_dt_c* param_0, void* param_1, int param_2,
- void* param_3) {
- nofralloc
-#include "asm/d/d_stage/dStage_fieldMapMapPathInit__FP11dStage_dt_cPviPv.s"
+static int dStage_fieldMapMapPathInit(dStage_dt_c* i_stageDt, void* param_1, int param_2,
+ void* param_3) {
+ dDrawPath_c::room_class* room_p = (dDrawPath_c::room_class*)((dStage_nodeHeader*)param_1)->m_offset;
+ if (room_p == NULL) {
+ return 1;
+ }
+
+ s8 sp8, sp9;
+ dMpath_c::setPointer(room_p, &sp8, &sp9);
+ ((dMenu_Fmap_data_c*)i_stageDt)->setMapPath(room_p);
+ return 1;
}
-#pragma pop
/* 80450D74-80450D7C 000274 0008+00 3/3 0/0 0/0 .sbss m_roomDzs__20dStage_roomControl_c
*/
@@ -2691,11 +2639,25 @@ dStage_roomControl_c::roomDzs_c dStage_roomControl_c::m_roomDzs;
/* 8002645C-800265DC 020D9C 0180+00 1/1 0/0 0/0 .text readMult__FP11dStage_dt_cP14dStage_Multi_cb
*/
static void readMult(dStage_dt_c* stageDt, dStage_Multi_c* multi, bool useOldRes) {
+ static FuncTable l_roomFuncTable[] = {
+ {"TRES", dStage_stageKeepTresureInit},
+ {"FILI", dStage_filiInfo2Init},
+ {"MPAT", dStage_mapPathInitCommonLayer},
+ {"Door", dStage_RoomKeepDoorInit},
+ };
+
+ static FuncTable l_layerFuncTable[] = {
+ {"TRE0", dStage_stageKeepTresureInit},
+ {"MPA0", dStage_mapPathInit},
+ {"Doo0", dStage_RoomKeepDoorInit},
+ };
+
if (multi != NULL) {
dStage_Mult_info* info = multi->mInfo;
if (dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 0 ||
- dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 6) {
+ dStage_stagInfo_GetUpButton(i_dComIfGp_getStage()->getStagInfo()) == 6)
+ {
dStage_roomControl_c::m_roomDzs.create(multi->field_0x0);
}
@@ -2716,9 +2678,10 @@ static void readMult(dStage_dt_c* stageDt, dStage_Multi_c* multi, bool useOldRes
if (dzs != NULL) {
dStage_dt_c_offsetToPtr(dzs);
stageDt->setRoomNo(info->mRoomNo);
- dStage_dt_c_decode(dzs, stageDt, l_roomFuncTable, 4);
- dStage_setLayerTagName(l_layerFuncTable_5053, 3, dComIfG_play_c::getLayerNo(0));
- dStage_dt_c_decode(dzs, stageDt, l_layerFuncTable_5053, 3);
+ dStage_dt_c_decode(dzs, stageDt, l_roomFuncTable, ARRAY_SIZE(l_roomFuncTable));
+ dStage_setLayerTagName(l_layerFuncTable, ARRAY_SIZE(l_layerFuncTable),
+ dComIfG_play_c::getLayerNo(0));
+ dStage_dt_c_decode(dzs, stageDt, l_layerFuncTable, ARRAY_SIZE(l_layerFuncTable));
}
info++;
@@ -2808,20 +2771,35 @@ static void dKankyo_create() {
/* 80026914-80026940 021254 002C+00 1/1 0/0 0/0 .text layerMemoryInfoLoader__FPvP11dStage_dt_ci */
static void layerMemoryInfoLoader(void* i_data, dStage_dt_c* i_stage, int param_2) {
- dStage_dt_c_decode(i_data, i_stage, l_layerFuncTable_5131, 2);
+ static FuncTable l_layerFuncTable[] = {
+ {"MEM0", dStage_memaInfoInit},
+ {"MEC0", dStage_mecoInfoInit},
+ };
+
+ dStage_dt_c_decode(i_data, i_stage, l_layerFuncTable, ARRAY_SIZE(l_layerFuncTable));
}
/* 80026940-800269B4 021280 0074+00 1/1 0/0 0/0 .text
* dStage_dt_c_stageInitLoader__FPvP11dStage_dt_c */
static void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) {
+ static FuncTable l_funcTable[] = {"STAG", dStage_stagInfoInit};
+
dStage_dt_c_offsetToPtr(i_data);
i_stage->init();
- dStage_dt_c_decode(i_data, i_stage, l_funcTable_5136, 1);
+ dStage_dt_c_decode(i_data, i_stage, l_funcTable, ARRAY_SIZE(l_funcTable));
layerMemoryInfoLoader(i_data, i_stage, -1);
}
/* 800269B4-80026AE8 0212F4 0134+00 2/2 0/0 0/0 .text layerTableLoader__FPvP11dStage_dt_ci */
static void layerTableLoader(void* i_data, dStage_dt_c* stageDt, int roomNo) {
+ static FuncTable l_layerFuncTableA[] = {"SON0", dStage_soundInfoInit};
+
+ static FuncTable l_envLayerFuncTable[] = {
+ {"LGT0", dStage_lgtvInfoInit}, {"Env0", dStage_envrInfoInit},
+ {"Col0", dStage_pselectInfoInit}, {"PAL0", dStage_paletteInfoInit},
+ {"VRB0", dStage_vrboxcolInfoInit},
+ };
+
int newRoomNo;
if (roomNo != -1) {
newRoomNo = roomNo;
@@ -2853,14 +2831,37 @@ dStage_Elst_c* dStage_stageDt_c::getElst() {
/* 80026AF0-80026B58 021430 0068+00 2/2 0/0 0/0 .text layerActorLoader__FPvP11dStage_dt_ci */
static void layerActorLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
- dStage_setLayerTagName(l_layerFuncTable_5158, 4, dComIfG_play_c::getLayerNo(0));
- dStage_dt_c_decode(i_data, stageDt, l_layerFuncTable_5158, 4);
+ static FuncTable l_layerFuncTable[] = {
+ {"Doo0", dStage_roomDrtgInfoInit},
+ {"SCO0", dStage_tgscInfoInit},
+ {"ACT0", dStage_actorInit},
+ {"TRE0", dStage_layerTresureInit},
+ };
+
+ dStage_setLayerTagName(l_layerFuncTable, 4, dComIfG_play_c::getLayerNo(0));
+ dStage_dt_c_decode(i_data, stageDt, l_layerFuncTable, ARRAY_SIZE(l_layerFuncTable));
}
/* 80026B58-80026BBC 021498 0064+00 1/1 0/0 0/0 .text dStage_dt_c_stageLoader__FPvP11dStage_dt_c
*/
static void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* stageDt) {
- dStage_dt_c_decode(i_data, stageDt, l_funcTable_5163, 26);
+ static FuncTable l_funcTable[] = {
+ {"EVLY", dStage_elstInfoInit}, {"RPPN", dStage_rppnInfoInit},
+ {"RPAT", dStage_rpatInfoInit}, {"MULT", dStage_multInfoInit},
+ {"PLYR", dStage_playerInit}, {"CAMR", dStage_cameraInit},
+ {"RCAM", dStage_cameraInit}, {"ACTR", dStage_actorInit_always},
+ {"TGOB", dStage_actorInit_always}, {"RTBL", dStage_roomReadInit},
+ {"AROB", dStage_arrowInit}, {"RARO", dStage_arrowInit},
+ {"Virt", dStage_vrboxInfoInit}, {"SCLS", dStage_sclsInfoInit},
+ {"TGSC", dStage_tgscInfoInit}, {"LGHT", dStage_plightInfoInit},
+ {"PPNT", dStage_ppntInfoInit}, {"PATH", dStage_pathInfoInit},
+ {"SCOB", dStage_tgscInfoInit}, {"FILI", dStage_filiInfoInit},
+ {"Door", dStage_stageDrtgInfoInit}, {"FLOR", dStage_floorInfoInit},
+ {"TGDR", dStage_tgscInfoInit}, {"DMAP", dStage_dmapInfoInit},
+ {"REVT", dStage_stEventInfoInit}, {"SOND", dStage_soundInfoInitCL},
+ };
+
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable, ARRAY_SIZE(l_funcTable));
layerTableLoader(i_data, stageDt, -1);
layerActorLoader(i_data, stageDt, -1);
}
@@ -2868,26 +2869,59 @@ static void dStage_dt_c_stageLoader(void* i_data, dStage_dt_c* stageDt) {
/* 80026BBC-80026C34 0214FC 0078+00 0/0 1/1 0/0 .text dStage_dt_c_roomLoader__FPvP11dStage_dt_ci
*/
void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
+ static FuncTable l_funcTable[] = {
+ {"PLYR", dStage_playerInit}, {"RCAM", dStage_RoomCameraInit},
+ {"RARO", dStage_arrowInit}, {"RTBL", dStage_roomReadInit},
+ {"AROB", dStage_arrowInit}, {"Virt", dStage_vrboxInfoInit},
+ {"SCLS", dStage_sclsInfoInit}, {"LGHT", dStage_plightInfoInit},
+ {"RPPN", dStage_rppnInfoInit}, {"RPAT", dStage_rpatInfoInit},
+ {"FILI", dStage_filiInfoInit}, {"FLOR", dStage_floorInfoInit},
+ {"LBNK", dStage_lbnkInfoInit}, {"SOND", dStage_soundInfoInitCL},
+ };
+
dStage_dt_c_offsetToPtr(i_data);
stageDt->init();
- dStage_dt_c_decode(i_data, stageDt, l_funcTable_5168, 14);
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable, ARRAY_SIZE(l_funcTable));
layerTableLoader(i_data, stageDt, param_2);
}
/* 80026C34-80026C8C 021574 0058+00 0/0 1/1 0/0 .text dStage_dt_c_roomReLoader__FPvP11dStage_dt_ci
*/
void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2) {
- dStage_dt_c_decode(i_data, stageDt, l_funcTable_5173, 8);
+ static FuncTable l_funcTable[] = {
+ {"Door", dStage_roomDrtgInfoInit}, {"ACTR", dStage_actorCommonLayerInit},
+ {"TGOB", dStage_actorCommonLayerInit}, {"TRES", dStage_roomTresureInit},
+ {"TGSC", dStage_tgscCommonLayerInit}, {"SCOB", dStage_tgscCommonLayerInit},
+ {"TGDR", dStage_tgscInfoInit}, {"REVT", dStage_mapEventInfoInit},
+ };
+
+ dStage_dt_c_decode(i_data, stageDt, l_funcTable, ARRAY_SIZE(l_funcTable));
layerActorLoader(i_data, stageDt, param_2);
}
/* 80026C8C-80026CDC 0215CC 0050+00 0/0 1/1 0/0 .text
* dStage_dt_c_fieldMapLoader__FPvP11dStage_dt_c */
void dStage_dt_c_fieldMapLoader(void* i_data, dStage_dt_c* i_stage) {
+ static FuncTable l_funcTable[] = {
+ {"TRES", dStage_fieldMapTresureInit},
+ {"FILI", dStage_fieldMapFiliInfo2Init},
+ {"MPAT", dStage_fieldMapMapPathInit},
+ };
+
dStage_dt_c_offsetToPtr(i_data);
- dStage_dt_c_decode(i_data, i_stage, l_funcTable_5178, 3);
+ dStage_dt_c_decode(i_data, i_stage, l_funcTable, ARRAY_SIZE(l_funcTable));
}
+/* ############################################################################################## */
+/* 803A6920-803A696C 003A40 004C+00 3/3 0/0 0/0 .data mMemoryBlock__20dStage_roomControl_c */
+JKRExpHeap* dStage_roomControl_c::mMemoryBlock[19] = {
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+};
+
+/* 803A696C-803A6AAC 003A8C 0140+00 2/2 0/0 0/0 .data mArcBank__20dStage_roomControl_c */
+char dStage_roomControl_c::mArcBank[32][10] = {0};
+
/* 80026CDC-80026D38 02161C 005C+00 0/0 1/1 0/0 .text dStage_infoCreate__Fv */
void dStage_infoCreate() {
void* stageRsrc = dComIfG_getStageRes("stage.dzs");
@@ -2931,7 +2965,8 @@ void dStage_Delete() {
dStage_roomControl_c::removeRoomDzs();
if (mDoRst::isReset() || !dComIfGp_isEnableNextStage() ||
- strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName())) {
+ strcmp(dComIfGp_getNextStageName(), dComIfGp_getStartStageName()))
+ {
dStage_roomControl_c::destroyMemoryBlock();
if (dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) == ST_DUNGEON) {
@@ -2997,7 +3032,7 @@ int dStage_RoomCheck(cBgS_GndChk* gndChk) {
/* 800270FC-80027170 021A3C 0074+00 0/0 1/1 0/0 .text
* dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs */
int dStage_changeSceneExitId(cBgS_PolyInfo& param_0, f32 speed, u32 mode, s8 roomNo, s16 angle) {
- return dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1);
+ return dStage_changeScene(dComIfG_Bgsp().GetExitId(param_0), speed, mode, roomNo, angle, -1);
}
/* ############################################################################################## */
@@ -3042,8 +3077,8 @@ int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no, s16 angle,
dKy_set_nexttime(15.0f * timeH);
}
- dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer, speed,
- mode, 1, wipe == 15 ? 0 : wipe, angle, 1, wipe_time);
+ dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer,
+ speed, mode, 1, wipe == 15 ? 0 : wipe, angle, 1, wipe_time);
return 1;
}
#else
@@ -3080,7 +3115,7 @@ SECTION_DEAD static char const* const stringBase_80378BB3 = "d_stage.cpp";
/* 800272F0-800274B0 021C30 01C0+00 0/0 1/1 0/0 .text dStage_changeScene4Event__FiScibfUlsi */
#ifdef NONMATCHING
int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3, f32 speed,
- u32 mode, s16 angle, int param_7) {
+ u32 mode, s16 angle, int param_7) {
stage_scls_info_dummy_class* scls;
if (room_no == -1) {
@@ -3110,7 +3145,7 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
} else {
wipe_time = 0;
}
-
+
s32 layer = dStage_sclsInfo_getSceneLayer(scls_info);
int timeH = dStage_sclsInfo_getTimeH(scls_info);
@@ -3126,8 +3161,9 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
dKy_set_nexttime(15.0f * timeH);
}
- dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer, speed,
- mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 != false, wipe_time);
+ dComIfGp_setNextStage(scls_info->mStage, scls_info->mStart, (s8)scls_info->mRoom, (s8)layer,
+ speed, mode, 1, wipe == 15 ? 0 : wipe, angle, param_3 != false,
+ wipe_time);
return 1;
}
#else
@@ -3135,7 +3171,7 @@ int dStage_changeScene4Event(int i_exitId, s8 room_no, int i_wipe, bool param_3,
#pragma optimization_level 0
#pragma optimizewithasm off
asm int dStage_changeScene4Event(int param_0, s8 param_1, int param_2, bool param_3, f32 param_4,
- u32 param_5, s16 param_6, int param_7) {
+ u32 param_5, s16 param_6, int param_7) {
nofralloc
#include "asm/d/d_stage/dStage_changeScene4Event__FiScibfUlsi.s"
}