d_stage cleanup (#2392)

This commit is contained in:
LagoLunatic 2025-04-13 23:54:57 -04:00 committed by GitHub
parent 3df5c7bb42
commit f891887626
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
47 changed files with 1184 additions and 1609 deletions

View File

@ -323,7 +323,7 @@ f_pc/f_pc_node_req.cpp:
f_pc/f_pc_priority.cpp:
.text start:0x80023130 end:0x80023564
.bss start:0x803F4E58 end:0x803F4E68
.sdata start:0x804505E8 end:0x804505F8
.sdata start:0x804505E8 end:0x804505F0
f_pc/f_pc_profile.cpp:
.text start:0x80023564 end:0x80023578
@ -364,6 +364,7 @@ d/d_stage.cpp:
.rodata start:0x80378A50 end:0x80378E48
.data start:0x803A3B18 end:0x803A6F08
.bss start:0x803F4E68 end:0x804061A0
.sdata start:0x804505F0 end:0x804505F8
.sbss start:0x80450D58 end:0x80450D80
.sdata2 start:0x80451C90 end:0x80451CA0

View File

@ -21356,7 +21356,7 @@ g_fopDwTg_Queue = .sdata:0x804505D0; // type:object size:0x8 scope:global align:
g_fpcLn_Queue = .sdata:0x804505D8; // type:object size:0x8 scope:global align:4
g_fpcNd_IsCheckOfDeleteTiming = .sdata:0x804505E0; // type:object size:0x4 scope:global align:4 data:4byte
crear$2224 = .sdata:0x804505E8; // type:object size:0x8 scope:local align:4 data:4byte
data_804505F0 = .sdata:0x804505F0; // type:object size:0x1 scope:global align:1 data:byte
mRoomReadId__20dStage_roomControl_c = .sdata:0x804505F0; // type:object size:0x1 scope:global align:1 data:byte
backColor$3972 = .sdata:0x804505F8; // type:object size:0x4 scope:local align:4 data:byte
g_clearColor = .sdata:0x80450600; // type:object size:0x4 scope:global align:4 data:4byte
g_blackColor = .sdata:0x80450604; // type:object size:0x4 scope:global align:4 data:4byte

View File

@ -319,7 +319,7 @@ f_pc/f_pc_node_req.cpp:
f_pc/f_pc_priority.cpp:
.text start:0x80023130 end:0x80023564
.bss start:0x803EEF98 end:0x803EEFA8
.sdata start:0x8044A728 end:0x8044A738
.sdata start:0x8044A728 end:0x8044A730
f_pc/f_pc_profile.cpp:
.text start:0x80023564 end:0x80023578
@ -361,6 +361,7 @@ d/d_stage.cpp:
.data start:0x8039DC78 end:0x803A1068
.bss start:0x803EEFA8 end:0x804002E0
.sbss start:0x8044AE98 end:0x8044AEC0
.sdata start:0x8044A730 end:0x8044A738
.sdata2 start:0x8044BDD0 end:0x8044BDE0
d/d_map.cpp:

View File

@ -21376,7 +21376,7 @@ g_fopDwTg_Queue = .sdata:0x8044A710; // type:object size:0x8 scope:global align:
g_fpcLn_Queue = .sdata:0x8044A718; // type:object size:0x8 scope:global align:4
g_fpcNd_IsCheckOfDeleteTiming = .sdata:0x8044A720; // type:object size:0x4 scope:global align:4 data:4byte
crear$2224 = .sdata:0x8044A728; // type:object size:0x8 scope:local align:4 data:4byte
lbl_8044A730 = .sdata:0x8044A730; // type:object size:0x1 data:byte
mRoomReadId__20dStage_roomControl_c = .sdata:0x8044A730; // type:object size:0x1 data:byte
backColor$3972 = .sdata:0x8044A738; // type:object size:0x4 scope:local align:4 data:byte
g_clearColor = .sdata:0x8044A740; // type:object size:0x4 scope:global align:4 data:4byte
g_blackColor = .sdata:0x8044A744; // type:object size:0x4 scope:global align:4 data:4byte

View File

@ -316,7 +316,7 @@ f_pc/f_pc_node_req.cpp:
f_pc/f_pc_priority.cpp:
.text start:0x800231D8 end:0x8002360C
.bss start:0x803F6DF8 end:0x803F6E08
.sdata start:0x804525A8 end:0x804525B8
.sdata start:0x804525A8 end:0x804525B0
f_pc/f_pc_profile.cpp:
.text start:0x8002360C end:0x80023620
@ -358,6 +358,7 @@ d/d_stage.cpp:
.data start:0x803A57F8 end:0x803A8BE8
.bss start:0x803F6E08 end:0x80408140
.sbss start:0x80452D18 end:0x80452D40
.sdata start:0x804525B0 end:0x804525B8
.sdata2 start:0x80453C50 end:0x80453C60
d/d_map.cpp:

View File

@ -21385,7 +21385,7 @@ g_fopDwTg_Queue = .sdata:0x80452590; // type:object size:0x8 scope:global align:
g_fpcLn_Queue = .sdata:0x80452598; // type:object size:0x8 scope:global align:4
g_fpcNd_IsCheckOfDeleteTiming = .sdata:0x804525A0; // type:object size:0x4 scope:global align:4 data:4byte
crear$2224 = .sdata:0x804525A8; // type:object size:0x8 scope:local align:4 data:4byte
lbl_804525B0 = .sdata:0x804525B0; // type:object size:0x1 data:byte
mRoomReadId__20dStage_roomControl_c = .sdata:0x804525B0; // type:object size:0x1 data:byte
backColor$3972 = .sdata:0x804525B8; // type:object size:0x4 scope:local align:4 data:byte
g_clearColor = .sdata:0x804525C0; // type:object size:0x4 scope:global align:4 data:4byte
g_blackColor = .sdata:0x804525C4; // type:object size:0x4 scope:global align:4 data:4byte

View File

@ -57374,7 +57374,7 @@ g_fpcNd_IsCheckOfDeleteTiming = .sdata:0x8073F9E8; // type:object size:0x4 scope
@124001 = .sdata:0x807402C8; // type:object size:0x7 scope:local data:string hash:0xACC83683
@124026 = .sdata:0x807402D0; // type:object size:0x7 scope:local data:string hash:0xACC83646
@124029 = .sdata:0x807402D8; // type:object size:0x6 scope:local data:string hash:0xACC83649
lbl_807402DE = .sdata:0x807402DE; // type:object size:0x1 data:byte hash:0x1A63BEEE dhash:0x24126ACC
mRoomReadId__20dStage_roomControl_c = .sdata:0x807402DE; // type:object size:0x1 data:byte hash:0x1A63BEEE dhash:0x24126ACC
__RTTI__16dStage_stageDt_c = .sdata:0x807402E0; // type:object size:0x8 scope:global hash:0x17B0566E dhash:0xF078A7E9
__RTTI__15dStage_roomDt_c = .sdata:0x807402E8; // type:object size:0x8 scope:global hash:0x0033F5F6 dhash:0xF77E0AD2
__RTTI__11dStage_dt_c = .sdata:0x807402F0; // type:object size:0x8 scope:global hash:0x5F98966D dhash:0x6874274D
@ -64180,7 +64180,7 @@ mProcID__20dStage_roomControl_c = .sbss:0x8074C578; // type:object size:0x4 scop
lbl_8074C57C = .sbss:0x8074C57C; // type:object size:0x1 data:byte hash:0x87058A4F dhash:0xB3B700CD
lbl_8074C57D = .sbss:0x8074C57D; // type:object size:0x1 data:byte hash:0x5AF37248 dhash:0x1A945A6A
lbl_8074C57E = .sbss:0x8074C57E; // type:object size:0x1 data:byte hash:0xE957ED68 dhash:0x66C51F6A
lbl_8074C57F = .sbss:0x8074C57F; // type:object size:0x1 data:byte hash:0x88D929D5 dhash:0xB0689D17
m_time_pass__20dStage_roomControl_c = .sbss:0x8074C57F; // type:object size:0x1 data:byte hash:0x88D929D5 dhash:0xB0689D17
lbl_8074C580 = .sbss:0x8074C580; // type:object size:0x1 data:byte hash:0x3F91BE16 dhash:0xDD72DA34
mArcBankName__20dStage_roomControl_c = .sbss:0x8074C584; // type:object size:0x4 scope:global data:4byte hash:0x885DF1A0 dhash:0xD2AA5D02
mArcBankData__20dStage_roomControl_c = .sbss:0x8074C588; // type:object size:0x4 scope:global data:4byte hash:0xF1AABD97 dhash:0xD2A70575

View File

@ -493,7 +493,7 @@ config.libs = [
"progress_category": "game",
"host": True,
"objects": [
Object(MatchingFor("GZ2E01"), "d/d_stage.cpp"),
Object(MatchingFor("GZ2E01"), "d/d_stage.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(MatchingFor("GZ2E01"), "d/d_map.cpp"),
Object(MatchingFor("GZ2E01"), "d/d_com_inf_game.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(MatchingFor("GZ2E01"), "d/d_com_static.cpp"),

View File

@ -8,6 +8,7 @@
#include "d/d_event.h"
#include "d/d_event_manager.h"
#include "d/d_particle.h"
#include "d/d_save.h"
#include "f_op/f_op_camera_mng.h"
#include "m_Do/m_Do_controller_pad.h"
#include "global.h"
@ -3338,7 +3339,7 @@ inline int dComIfGp_roomControl_loadRoom(int param_0, u8* param_1, bool param_2)
}
inline void dComIfGp_roomControl_setStayNo(int stayNo) {
g_dComIfG_gameInfo.play.getRoomControl()->setStayNo(stayNo);
g_dComIfG_gameInfo.play.mRoomControl.setStayNo(stayNo);
}
inline void dComIfGp_roomControl_setZoneNo(int roomNo, int zoneNo) {
@ -3370,7 +3371,7 @@ inline void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 flag) {
}
inline void dComIfGp_roomControl_zoneCountCheck(int i_roomNo) {
g_dComIfG_gameInfo.play.mRoomControl.zoneCountCheck(i_roomNo);
g_dComIfG_gameInfo.play.getRoomControl()->zoneCountCheck(i_roomNo);
}
inline u8 dComIfGp_getRStatus() {

View File

@ -4,10 +4,10 @@
#include "dolphin/types.h"
struct color_RGB_class {
u8 r;
u8 g;
u8 b;
};
/* 0x0 */ u8 r;
/* 0x1 */ u8 g;
/* 0x2 */ u8 b;
}; // Size: 0x3
// Invented name; Used as u8 `darkLv` in dKydata_darkworldInfo_c.
enum dKyd_DARKLV {

File diff suppressed because it is too large Load Diff

View File

@ -45,18 +45,21 @@ class JKRHeap;
class cM3dGPla;
struct fopAcM_prmBase_class {
/* 0x00 */ u32 field_0x00;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ csXyz field_0x10;
/* 0x16 */ u16 field_0x16;
}; // Size = 0x18
struct fopAcM_prm_class {
/* 0x00 */ u32 parameters;
/* 0x04 */ cXyz position;
/* 0x10 */ csXyz angle;
/* 0x16 */ u16 setId;
/* 0x18 */ u8 scale[3];
/* 0x16 */ u16 setID;
}; // Size: 0x18
struct fopAcM_prmScale_class {
/* 0x0 */ u8 x;
/* 0x1 */ u8 y;
/* 0x2 */ u8 z;
}; // Size: 0x3
struct fopAcM_prm_class {
/* 0x00 */ fopAcM_prmBase_class base;
/* 0x18 */ fopAcM_prmScale_class scale;
/* 0x1C */ fpc_ProcID parent_id;
/* 0x20 */ s8 subtype;
/* 0x21 */ s8 room_no;
@ -486,6 +489,14 @@ fpc_ProcID fopAcM_create(s16 i_procName, u16 i_setId, u32 i_parameters, const cX
fpc_ProcID fopAcM_create(s16 i_procName, u32 i_parameters, const cXyz* i_pos, int i_roomNo,
const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype);
inline fpc_ProcID fopAcM_create(s16 i_procName, createFunc i_createFunc, void* params) {
return fpcM_Create(i_procName, i_createFunc, params);
}
inline fpc_ProcID fopAcM_Create(s16 i_procName, createFunc i_createFunc, void* params) {
return fpcM_Create(i_procName, i_createFunc,params);
}
fopAc_ac_c* fopAcM_fastCreate(s16 i_procName, u32 i_parameters, const cXyz* i_pos, int i_roomNo,
const csXyz* i_angle, const cXyz* i_scale, s8 i_subtype,
createFunc i_createFunc, void* i_createFuncData);

View File

@ -7,6 +7,10 @@
typedef struct leafdraw_method_class leafdraw_method_class;
struct fopCamM_prm_class {
/* 0x00 */ fopAcM_prmBase_class base;
}; // Size: 0x18
class camera_process_class : public view_class {
public:
/* 0x210 */ create_tag_class create_tag;

View File

@ -6212,7 +6212,7 @@ int daAlink_c::create() {
daTagMhint_c::createPortalWarpMissTag(0xBBE, fopAcM_GetID(this));
}
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == 0x11) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) == 0x11) {
if (!dComIfGs_isItemFirstBit(fpcNm_ITEM_HYLIA_SHIELD) && !dComIfGs_isItemFirstBit(fpcNm_ITEM_SHIELD) &&
!dComIfGs_isItemFirstBit(fpcNm_ITEM_WOOD_SHIELD))
{

View File

@ -75,7 +75,7 @@ BOOL daAlink_c::checkForestOldCentury() {
BOOL daAlink_c::checkCopyRodTopUse() {
// Event flag 0x2580: Dominion Rod power restored
return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) ||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 ||
checkForestOldCentury();
}

View File

@ -32,7 +32,7 @@ void daAlink_c::checkLightSwordMtrl() {
if (checkLightMasterSwordEquip()) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_dStage_stagInfo_GetSaveTbl(stag_info) == 0x17 ||
if (dStage_stagInfo_GetSaveTbl(stag_info) == 0x17 ||
fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchNightStalker, NULL))
{
onNoResetFlg3(FLG3_UNK_100000);

View File

@ -43,8 +43,8 @@ bool daAlink_c::checkSetNpcTks(cXyz* i_basePos, int i_roomNo, int param_2) {
u32 scene_mode = getLastSceneMode();
if (param_2 != 0 && checkDungeon() &&
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17 &&
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x18 &&
dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17 &&
dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x18 &&
(checkItemGet(fpcNm_ITEM_TKS_LETTER, 1) ||
(checkItemGet(fpcNm_ITEM_DUNGEON_BACK, 1) && !checkLv7DungeonShop())) &&
dComIfGs_isDungeonItemWarp())

View File

@ -12,13 +12,13 @@
static bool isLoadRoom(int i_roomNo) {
roomRead_class* room = dComIfGp_getStageRoom();
if (room != NULL && room->field_0x0 > i_roomNo) {
if (room != NULL && room->num > i_roomNo) {
int load_room_index;
int num;
u8* data;
num = room->field_0x4[i_roomNo]->field_0x0;
data = room->field_0x4[i_roomNo]->field_0x4;
num = room->m_entries[i_roomNo]->num;
data = room->m_entries[i_roomNo]->m_rooms;
for (int i = 0; i < num; i++) {
load_room_index = dStage_roomRead_dt_c_GetLoadRoomIndex(data[i]);

View File

@ -2535,11 +2535,11 @@ BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz* o_spawn
csXyz* o_angle) {
BOOL ret = FALSE;
dStage_roomDt_c* room_dt = dComIfGp_roomControl_getStatusRoomDt(i_roomNo);
stage_actor_data_class* entry = room_dt->getPlayer()->mEntries;
stage_actor_data_class* entry = room_dt->getPlayer()->m_entries;
for (int i = 0; i < room_dt->getPlayerNum(); entry++, i++) {
if (param_0 == (entry->mAngle.z & 0xff)) {
*o_spawnPos = entry->mSpawnPos;
*o_angle = entry->mAngle;
if (param_0 == (entry->base.angle.z & 0xff)) {
*o_spawnPos = entry->base.position;
*o_angle = entry->base.angle;
ret = TRUE;
break;
}
@ -5094,12 +5094,12 @@ int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
int rv = 0;
dStage_roomDt_c* roomP = dComIfGp_roomControl_getStatusRoomDt(i_roomNo);
stage_actor_data_class* entries = roomP->getPlayer()->mEntries;
stage_actor_data_class* entries = roomP->getPlayer()->m_entries;
for (int i = 0; i < roomP->getPlayerNum(); entries++, i++) {
if (param_0 == (u8)entries->mAngle.z) {
param_2 = entries->mSpawnPos;
param_3 = entries->mAngle;
if (param_0 == (u8)entries->base.angle.z) {
param_2 = entries->base.position;
param_3 = entries->base.angle;
rv = 1;
break;
}

View File

@ -541,7 +541,7 @@ bool daPy_py_c::checkRoomRestartStart() {
u32 daPy_py_c::checkCarryStartLightBallA() {
if (checkRoomRestartStart() || !dComIfGp_getStage() ||
!dComIfGp_getStage()->getStagInfo() ||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17)
dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17)
{
return FALSE;
}
@ -553,7 +553,7 @@ u32 daPy_py_c::checkCarryStartLightBallA() {
u32 daPy_py_c::checkCarryStartLightBallB() {
if (checkRoomRestartStart() || !dComIfGp_getStage() ||
!dComIfGp_getStage()->getStagInfo() ||
i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17)
dStage_stagInfo_GetSaveTbl(dComIfGp_getStage()->getStagInfo()) != 0x17)
{
return FALSE;
}

View File

@ -63,17 +63,17 @@ s32 daTagChgRestart_c::execute() {
dStage_roomDt_c* roomDt = dComIfGp_roomControl_getStatusRoomDt(fopAcM_GetRoomNo(this));
stage_actor_class* player_data = roomDt->getPlayer();
stage_actor_data_class* entry_p = player_data->mEntries;
for (int i = 0; i < player_data->mEntryNum; i++) {
if ((entry_p->mAngle.z & 0xFF) == playerNo) {
stage_actor_data_class* entry_p = player_data->m_entries;
for (int i = 0; i < player_data->num; i++) {
if ((entry_p->base.angle.z & 0xFF) == playerNo) {
break;
}
entry_p++;
}
restart_pos = entry_p->mSpawnPos;
restart_angle = entry_p->mAngle.y;
restart_pos = entry_p->base.position;
restart_angle = entry_p->base.angle.y;
}
dComIfGs_setRestartRoom(restart_pos, restart_angle, fopAcM_GetRoomNo(player));

View File

@ -50,12 +50,12 @@ int daTagMhint_c::create() {
if (!checkNoAttention()) {
stage_arrow_data_class* arrow_data_p =
&dComIfGp_getRoomArrow(fopAcM_GetRoomNo(this))
->mEntries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))
->mEntries[field_0x56d]
.field_0x10];
->m_entries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))
->m_entries[field_0x56d]
.m_arrow_idx];
eyePos.set(arrow_data_p->mPosition.x, arrow_data_p->mPosition.y,
arrow_data_p->mPosition.z);
eyePos.set(arrow_data_p->position.x, arrow_data_p->position.y,
arrow_data_p->position.z);
attention_info.position = eyePos;
}

View File

@ -32,8 +32,8 @@ int daTagMmsg_c::create() {
s32 roomNo = fopAcM_GetRoomNo(this);
cXyz* tmp =
&dComIfGp_getRoomArrow(roomNo)
->mEntries[dComIfGp_getRoomCamera(roomNo)->mEntries[mAttention].field_0x10]
.mPosition;
->m_entries[dComIfGp_getRoomCamera(roomNo)->m_entries[mAttention].m_arrow_idx]
.position;
eyePos.set(tmp->x, tmp->y, tmp->z);
attention_info.position = eyePos;
}

View File

@ -55,8 +55,8 @@ int daTagMstop_c::create() {
if (!checkNoAttention()) {
s32 room = fopAcM_GetRoomNo(this);
cXyz* pos = &dComIfGp_getRoomArrow(room)
->mEntries[dComIfGp_getRoomCamera(room)->mEntries[idx].field_0x10]
.mPosition;
->m_entries[dComIfGp_getRoomCamera(room)->m_entries[idx].m_arrow_idx]
.position;
eyePos.set(pos->x, pos->y, pos->z);
attention_info.position = eyePos;

View File

@ -1540,18 +1540,18 @@ void daTbox_c::settingDropDemoCamera() {
JUT_ASSERT(0xB8E, roomdt != 0);
stage_camera_class* stage_camera = roomdt->getCamera();
stage_camera2_data_class* stage_camera_data = stage_camera->mEntries;
stage_camera2_data_class* stage_camera_data = stage_camera->m_entries;
stage_camera_data += maptooldata->field_0x16;
stage_arrow_class* stage_arrow = roomdt->getArrow();
stage_arrow_data_class* stage_arrow_data = stage_arrow->mEntries;
stage_arrow_data += stage_camera_data->field_0x10;
stage_arrow_data_class* stage_arrow_data = stage_arrow->m_entries;
stage_arrow_data += stage_camera_data->m_arrow_idx;
cXyz spA0;
cXyz spAC;
spA0.x = stage_arrow_data->mPosition.x;
spA0.z = stage_arrow_data->mPosition.z;
spA0.x = stage_arrow_data->position.x;
spA0.z = stage_arrow_data->position.z;
spAC.x = home.pos.x;
spAC.z = home.pos.z;
f32 var_f30 = spA0.abs(spAC);
@ -1562,16 +1562,16 @@ void daTbox_c::settingDropDemoCamera() {
s16 angle;
getDropSAngle(&angle);
spB8.x = stage_arrow_data->mPosition.x;
spB8.x = stage_arrow_data->position.x;
spB8.y = 0.0f;
spB8.z = stage_arrow_data->mPosition.z;
spB8.z = stage_arrow_data->position.z;
spB8 -= home.pos;
Mtx mtx;
MTXRotAxisRad(mtx, &spC4, cM_s2rad(angle));
mDoMtx_multVec(mtx, &spB8, &spB8);
spB8 += home.pos;
spB8.y = stage_arrow_data->mPosition.y;
spB8.y = stage_arrow_data->position.y;
cXyz cam_eye;
cXyz cam_center;
@ -1579,10 +1579,10 @@ void daTbox_c::settingDropDemoCamera() {
cam_eye = spB8;
cam_center = home.pos;
f32 var_f29 = cM_ssin(stage_arrow_data->mAngle.x);
f32 var_f28 = cM_scos(stage_arrow_data->mAngle.x);
f32 var_f29 = cM_ssin(stage_arrow_data->angle.x);
f32 var_f28 = cM_scos(stage_arrow_data->angle.x);
f32 dist = var_f30 * (var_f29 / var_f28);
if (stage_arrow_data->mAngle.x > 0) {
if (stage_arrow_data->angle.x > 0) {
dist = -dist;
}

View File

@ -563,10 +563,10 @@ int dCamMapToolData::Set(s32 param_0, s32 roomNo, fopAc_ac_c* param_2, u16 param
stage_camera_class* room_cam = dComIfGp_getRoomCamera(roomNo);
stage_arrow_class* room_arrow = dComIfGp_getRoomArrow(roomNo);
if (room_cam != NULL && param_0 >= 0 && param_0 < room_cam->field_0x0) {
if (room_cam != NULL && param_0 >= 0 && param_0 < room_cam->num) {
Clr();
field_0x30 = param_0;
field_0x0 = room_cam->mEntries[field_0x30];
field_0x0 = room_cam->m_entries[field_0x30];
field_0x3a = (field_0x0.field_0x14 >> 0xE) & 3;
if (param_3 & 0x8000) {
@ -579,10 +579,10 @@ int dCamMapToolData::Set(s32 param_0, s32 roomNo, fopAc_ac_c* param_2, u16 param
field_0x0.field_0x14 &= ~0xC000;
}
field_0x2c = field_0x0.field_0x10;
field_0x2c = field_0x0.m_arrow_idx;
if (room_arrow != NULL && field_0x2c >= 0 && field_0x2c < room_arrow->mNum) {
field_0x18 = room_arrow->mEntries[field_0x2c];
if (room_arrow != NULL && field_0x2c >= 0 && field_0x2c < room_arrow->num) {
field_0x18 = room_arrow->m_entries[field_0x2c];
}
field_0x34 = param_2;
@ -1904,9 +1904,9 @@ void dCamera_c::setStageMapToolData() {
var_r28 = dStage_stagInfo_DefaultCameraType(staginfo);
}
if (camera != NULL && var_r28 >= 0 && var_r28 < camera->field_0x0) {
if (camera != NULL && var_r28 >= 0 && var_r28 < camera->num) {
field_0x7e8.field_0x30 = var_r28;
field_0x7e8.field_0x0 = camera->mEntries[var_r28];
field_0x7e8.field_0x0 = camera->m_entries[var_r28];
field_0x7e8.field_0x3a = (field_0x7e8.field_0x0.field_0x14 >> 0xE) & 3;
if (field_0x7e8.field_0x0.field_0x14 & 0x2000) {
@ -1915,10 +1915,10 @@ void dCamera_c::setStageMapToolData() {
field_0x7e8.field_0x0.field_0x14 &= ~0xC000;
}
int var_r27 = field_0x7e8.field_0x0.field_0x10;
if (arrow != NULL && var_r27 >= 0 && var_r27 < arrow->mNum) {
int var_r27 = field_0x7e8.field_0x0.m_arrow_idx;
if (arrow != NULL && var_r27 >= 0 && var_r27 < arrow->num) {
field_0x7e8.field_0x2c = var_r27;
field_0x7e8.field_0x18 = arrow->mEntries[var_r27];
field_0x7e8.field_0x18 = arrow->m_entries[var_r27];
}
}
}
@ -2446,10 +2446,10 @@ int dCamera_c::GetCameraTypeFromMapToolID(s32 param_0, s32 i_roomNo) {
}
}
if (param_0 < 0 || camera == NULL || (camera != NULL && param_0 >= camera->field_0x0)) {
if (param_0 < 0 || camera == NULL || (camera != NULL && param_0 >= camera->num)) {
int sp28;
if (camera != NULL) {
sp28 = camera->field_0x0;
sp28 = camera->num;
} else {
sp28 = -99;
}
@ -2461,7 +2461,7 @@ int dCamera_c::GetCameraTypeFromMapToolID(s32 param_0, s32 i_roomNo) {
i = 0;
while (i < mCamTypeNum) {
if (strcmp((char*)&camera->mEntries[param_0].field_0x0.field_0x0, mCamTypeData[i].name) ==
if (strcmp(camera->m_entries[param_0].m_cam_type, mCamTypeData[i].name) ==
0)
{
break;
@ -2471,11 +2471,11 @@ int dCamera_c::GetCameraTypeFromMapToolID(s32 param_0, s32 i_roomNo) {
}
if (i == mCamTypeNum) {
OS_REPORT("camera: type \'%s\' not found\n", camera->mEntries[param_0].field_0x0.field_0x0);
OS_REPORT("camera: type \'%s\' not found\n", camera->m_entries[param_0].m_cam_type);
return 0xFF;
}
field_0x7ac.field_0x0 = camera->mEntries[param_0];
field_0x7ac.field_0x0 = camera->m_entries[param_0];
field_0x7ac.field_0x30 = param_0;
field_0x7ac.field_0x3a = (field_0x7ac.field_0x0.field_0x14 >> 0xE) & 3;
@ -2485,10 +2485,10 @@ int dCamera_c::GetCameraTypeFromMapToolID(s32 param_0, s32 i_roomNo) {
field_0x7ac.field_0x0.field_0x14 &= ~0xC000;
}
field_0x7ac.field_0x2c = field_0x7ac.field_0x0.field_0x10;
field_0x7ac.field_0x2c = field_0x7ac.field_0x0.m_arrow_idx;
if (field_0x7ac.field_0x2c != -1 && field_0x7ac.field_0x2c < arrow->mNum) {
field_0x7ac.field_0x18 = arrow->mEntries[field_0x7ac.field_0x2c];
if (field_0x7ac.field_0x2c != -1 && field_0x7ac.field_0x2c < arrow->num) {
field_0x7ac.field_0x18 = arrow->m_entries[field_0x7ac.field_0x2c];
} else {
field_0x7ac.field_0x2c = 0xFF;
}
@ -2527,7 +2527,7 @@ int dCamera_c::GetCameraTypeFromToolData(stage_camera2_data_class* i_data) {
return i_data->field_0x16;
}
int type = GetCameraTypeFromCameraName((char*)&i_data->field_0x0.field_0x0);
int type = GetCameraTypeFromCameraName(i_data->m_cam_type);
if (type < 0xFFFF) {
i_data->field_0x16 = type;
}
@ -7130,9 +7130,9 @@ bool dCamera_c::colosseumCamera(s32 param_0) {
mWork.colosseum.field_0x14 = 0.0f;
mWork.colosseum.field_0x18 = 40;
if (field_0x7ac.field_0x30 != 0xff && mCamParam.Flag(param_0, 0x200)) {
mWork.colosseum.field_0x8.x = field_0x7ac.field_0x18.mPosition.x;
mWork.colosseum.field_0x8.y = field_0x7ac.field_0x18.mPosition.y;
mWork.colosseum.field_0x8.z = field_0x7ac.field_0x18.mPosition.z;
mWork.colosseum.field_0x8.x = field_0x7ac.field_0x18.position.x;
mWork.colosseum.field_0x8.y = field_0x7ac.field_0x18.position.y;
mWork.colosseum.field_0x8.z = field_0x7ac.field_0x18.position.z;
} else if (mCamParam.Flag(param_0, 0x2000)) {
fopAc_ac_c* target = getParamTargetActor(mCurType);
mWork.colosseum.field_0x8.x = positionOf(target).x;
@ -7262,10 +7262,10 @@ bool dCamera_c::towerCamera(s32 param_0) {
dComIfGp_getAttention();
if (mCurCamStyleTimer == 0) {
mWork.tower.field_0x54.x = field_0x7ac.field_0x18.mPosition.x;
mWork.tower.field_0x54.y = field_0x7ac.field_0x18.mPosition.y;
mWork.tower.field_0x54.z = field_0x7ac.field_0x18.mPosition.z;
mWork.tower.field_0x60 = field_0x7ac.field_0x18.mAngle.y;
mWork.tower.field_0x54.x = field_0x7ac.field_0x18.position.x;
mWork.tower.field_0x54.y = field_0x7ac.field_0x18.position.y;
mWork.tower.field_0x54.z = field_0x7ac.field_0x18.position.z;
mWork.tower.field_0x60 = field_0x7ac.field_0x18.angle.y;
mWork.tower.field_0x64 = stack_454 <= cSAngle::_90 ? 1 : 0;
}

View File

@ -1156,8 +1156,8 @@ bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_ang
return false;
}
dStage_Mult_info* info = multi->mInfo;
for (int i = 0; i < multi->field_0x0; i++) {
dStage_Mult_info* info = multi->m_entries;
for (int i = 0; i < multi->num; i++) {
if (i_roomNo == info->mRoomNo) {
*o_transX = info->mTransX;
*o_transY = info->mTransY;
@ -1262,7 +1262,7 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
return dComIfGs_isTbox(i_no);
} else {
return dComIfGs_isSaveTbox(i_stageNo, i_no);
@ -1272,7 +1272,7 @@ BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no) {
void dComIfGs_onStageSwitch(int i_stageNo, int i_no) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
dComIfGs_onSwitch(i_no, -1);
}
@ -1282,7 +1282,7 @@ void dComIfGs_onStageSwitch(int i_stageNo, int i_no) {
void dComIfGs_offStageSwitch(int i_stageNo, int i_no) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
dComIfGs_offSwitch(i_no, -1);
}
@ -1292,7 +1292,7 @@ void dComIfGs_offStageSwitch(int i_stageNo, int i_no) {
BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
return dComIfGs_isSwitch(i_no, -1);
} else {
return dComIfGs_isSaveSwitch(i_stageNo, i_no);
@ -1302,7 +1302,7 @@ BOOL dComIfGs_isStageSwitch(int i_stageNo, int i_no) {
void dComIfGs_onStageBossEnemy(int i_stageNo) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
dComIfGs_onStageBossEnemy();
}
@ -1312,7 +1312,7 @@ void dComIfGs_onStageBossEnemy(int i_stageNo) {
s32 dComIfGs_isDungeonItemWarp(int i_stageNo) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
return dComIfGs_isDungeonItemWarp();
} else {
return g_dComIfG_gameInfo.info.getSavedata()
@ -2189,7 +2189,7 @@ void dComIfGs_setKeyNum(int i_stageNo, u8 i_keyNum) {
if (dComIfGp_getStageStagInfo()) {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
if (i_stageNo == i_dStage_stagInfo_GetSaveTbl(stag_info)) {
if (i_stageNo == dStage_stagInfo_GetSaveTbl(stag_info)) {
dComIfGs_setKeyNum(i_keyNum);
}
}

View File

@ -201,8 +201,8 @@ extern "C" u8 _90__7cSAngle[2 + 2 /* padding */];
static bool func_800889F8(int param_0) {
dStage_MapEventInfo_c* info = dComIfGp_getStage()->getMapEventInfo();
if (info != NULL) {
for (int i = 0; i < info->mCount; i++) {
if (param_0 == info->mData[i].field_0x4) {
for (int i = 0; i < info->num; i++) {
if (param_0 == info->m_entries[i].field_0x4) {
return true;
}
}

View File

@ -1129,9 +1129,9 @@ dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID, s32 roomN
dStage_MapEventInfo_c* roomInfo = room_dt->getMapEventInfo();
if (roomInfo != NULL) {
for (int i = 0; i < roomInfo->mCount; i++) {
if (mapToolID == roomInfo->mData[i].field_0x4) {
return &roomInfo->mData[i];
for (int i = 0; i < roomInfo->num; i++) {
if (mapToolID == roomInfo->m_entries[i].field_0x4) {
return &roomInfo->m_entries[i];
}
}
}
@ -1139,9 +1139,9 @@ dStage_MapEvent_dt_c* dEvt_control_c::searchMapEventData(u8 mapToolID, s32 roomN
dStage_MapEventInfo_c* stageInfo = dComIfGp_getStage()->getMapEventInfo();
if (stageInfo != NULL) {
for (int i = 0; i < stageInfo->mCount; i++) {
if (mapToolID == stageInfo->mData[i].field_0x4) {
return &stageInfo->mData[i];
for (int i = 0; i < stageInfo->num; i++) {
if (mapToolID == stageInfo->m_entries[i].field_0x4) {
return &stageInfo->m_entries[i];
}
}
}

View File

@ -149,8 +149,8 @@ static int dEvDt_Next_Stage(int index, int wipe_type) {
info = dComIfGp_roomControl_getStatusRoomDt(room_no)->getSclsInfo();
}
if (info != NULL && id >= 0 && id < info->numEntries) {
stage_scls_info_class* stgInfo = &info->mEntries[id];
if (info != NULL && id >= 0 && id < info->num) {
stage_scls_info_class* stgInfo = &info->m_entries[id];
stage = stgInfo->mStage;
point = stgInfo->mStart;
roomNo = (s8)stgInfo->mRoom;
@ -739,7 +739,7 @@ void dEvDtStaff_c::specialProcDirector() {
if (switchTableP != NULL) {
switchTable = *switchTableP;
} else {
switchTable = i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
switchTable = dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
}
int* switchBitP = dComIfGp_evmng_getMyIntegerP(staffId, "SwitchBit");

View File

@ -60,11 +60,11 @@ const char* dEvent_exception_c::getEventName() {
return "(!NO INFO!)";
}
if (mEventInfoIdx < 0 || mEventInfoIdx > eventInfo->mCount) {
if (mEventInfoIdx < 0 || mEventInfoIdx > eventInfo->num) {
return "(!BAD NUMBER!)";
}
dStage_MapEvent_dt_c* revt = &eventInfo->mData[mEventInfoIdx];
dStage_MapEvent_dt_c* revt = &eventInfo->m_entries[mEventInfoIdx];
switch (revt->mType) {
case 1:
case 2:

View File

@ -675,7 +675,7 @@ void item_func_UTUWA_HEART() {
dComIfGp_setItemLifeCount(max_life, 0);
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
int tmp = i_dStage_stagInfo_GetSaveTbl(stag_info);
int tmp = dStage_stagInfo_GetSaveTbl(stag_info);
dComIfGs_onStageLife();
}

View File

@ -1020,7 +1020,9 @@ static void plight_set() {
for (int i = 0; i < dComIfGp_getStagePlightNumInfo(); i++) {
if (plight_no < 30) {
g_env_light.mLightInfluence[plight_no].mPosition = plight_info[i].position;
g_env_light.mLightInfluence[plight_no].mPosition.x = plight_info[i].position.x;
g_env_light.mLightInfluence[plight_no].mPosition.y = plight_info[i].position.y;
g_env_light.mLightInfluence[plight_no].mPosition.z = plight_info[i].position.z;
g_env_light.mLightInfluence[plight_no].mColor.r = plight_info[i].color.r;
g_env_light.mLightInfluence[plight_no].mColor.g = plight_info[i].color.g;
g_env_light.mLightInfluence[plight_no].mColor.b = plight_info[i].color.b;

View File

@ -489,9 +489,9 @@ static void wether_move_sun() {
s32 sunVisible = false;
if (dComIfGp_checkStatus(1) && !g_env_light.hide_vrbox) {
roomRead_class* room = dComIfGp_getStageRoom();
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
if (room != NULL && room->num > dComIfGp_roomControl_getStayNo()) {
sunVisible = dStage_roomRead_dt_c_GetVrboxswitch(
*room->field_0x4[dComIfGp_roomControl_getStayNo()]);
*room->m_entries[dComIfGp_roomControl_getStayNo()]);
}
// Stage is Hero Shade arena
@ -661,9 +661,9 @@ static void wether_move_star() {
!strcmp(dComIfGp_getStartStageName(), "F_SP200"))
{
roomRead_class* room = dComIfGp_getStageRoom();
if (room != NULL && room->field_0x0 > dComIfGp_roomControl_getStayNo()) {
if (room != NULL && room->num > dComIfGp_roomControl_getStayNo()) {
starsVisible = dStage_roomRead_dt_c_GetVrboxswitch(
*room->field_0x4[dComIfGp_roomControl_getStayNo()]);
*room->m_entries[dComIfGp_roomControl_getStayNo()]);
}
// Stage is Hero Shade arena
@ -951,9 +951,9 @@ static void wether_move_vrkumo() {
}
roomRead_class* room_p = dComIfGp_getStageRoom();
if (room_p != NULL && room_p->field_0x0 > dComIfGp_roomControl_getStayNo()) {
if (room_p != NULL && room_p->num > dComIfGp_roomControl_getStayNo()) {
var_r31 = dStage_roomRead_dt_c_GetVrboxswitch(
*room_p->field_0x4[dComIfGp_roomControl_getStayNo()]);
*room_p->m_entries[dComIfGp_roomControl_getStayNo()]);
}
if (strcmp(dComIfGp_getStartStageName(), "F_SP200") == 0) {

View File

@ -512,17 +512,12 @@ int dMpath_c::setPointer(dDrawPath_c::room_class* i_room, s8* param_1, s8* param
return var_r6;
}
struct map_path_class {
int field_0x0;
dDrawPath_c::room_class* field_0x4;
};
/* 8003FA40-8003FB70 03A380 0130+00 0/0 2/2 0/0 .text setPointer__8dMpath_cFScPvi */
#pragma push
#pragma optimization_level 2
void dMpath_c::setPointer(s8 i_roomNo, void* i_data, int i_mapLayerNo) {
s32 roomNo;
dDrawPath_c::room_class* room = ((map_path_class*)i_data)->field_0x4;
dDrawPath_c::room_class* room = ((map_path_class*)i_data)->m_entries;
if (room != NULL) {
roomNo = i_roomNo;
@ -924,10 +919,10 @@ void renderingPlusDoor_c::drawDoorCommon(stage_tgsc_data_class const* i_doorData
setTevSettingIntensityTextureToCI();
for (int i = 0; i < i_dataNum; i++, i_doorData++) {
prm0 = (i_doorData->mParameter >> 0xD) & 0x3F;
prm1 = (i_doorData->mParameter >> 0x13) & 0x3F;
prm0 = (i_doorData->base.parameters >> 0xD) & 0x3F;
prm1 = (i_doorData->base.parameters >> 0x13) & 0x3F;
if (checkDispDoorS(prm0, prm1, i_doorData->mSpawnPos.y)) {
if (checkDispDoorS(prm0, prm1, i_doorData->base.position.y)) {
GXLoadTexObj(dMpath_n::m_texObjAgg.getTexObjPointer(0), GX_TEXMAP0);
drawNormalDoorS(i_doorData, prm0, prm1, param_2);
}
@ -978,16 +973,16 @@ void renderingPlusDoor_c::drawNormalDoorS(stage_tgsc_data_class const* i_doorDat
}
Vec spC;
spC.x = i_doorData->mSpawnPos.x;
spC.y = i_doorData->mSpawnPos.y;
spC.z = i_doorData->mSpawnPos.z;
spC.x = i_doorData->base.position.x;
spC.y = i_doorData->base.position.y;
spC.z = i_doorData->base.position.z;
if (param_3) {
dMapInfo_n::correctionOriginPos(i_roomNo, &spC);
}
mDoMtx_stack_c::transS(spC.x, spC.z, 0.0f);
mDoMtx_stack_c::ZrotM(i_doorData->mAngle.y);
mDoMtx_stack_c::ZrotM(i_doorData->base.angle.y);
mDoMtx_stack_c::scaleM(6.0f, 6.0f, 1.0f);
Vec sp18[4];

View File

@ -369,7 +369,7 @@ bool dMenuFmapIconPointer_c::init(dMenu_Fmap_region_data_c* i_regionData,
return false;
}
mSaveTbl = i_dStage_stagInfo_GetSaveTbl(stag_info);
mSaveTbl = dStage_stagInfo_GetSaveTbl(stag_info);
mpRegionData = i_regionData;
mpStageData = i_stageData;
mType = dTres_c::getTypeGroupNoToType(i_typeGroupNo);

View File

@ -1280,9 +1280,9 @@ void dMenu_Dmap_c::screenInit() {
field_0x88[0] = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'map000', 3, NULL);
field_0x88[1] = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'con000', 3, NULL);
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
field_0x88[2] = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'i_key_n', 3, NULL);
} else if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
} else if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
field_0x88[2] = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'lv5_k_n', 3, NULL);
} else {
field_0x88[2] = new CPaneMgr(mpDrawBg[0]->mBaseScreen, 'nor_k_n', 3, NULL);
@ -1290,7 +1290,7 @@ void dMenu_Dmap_c::screenInit() {
for (int i = 0; i < 3; i++) {
field_0x88[i]->scale(0.9f, 0.9f);
}
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
mpDrawBg[0]->mBaseScreen->search('lv5_k_n')->hide();
mpDrawBg[0]->mBaseScreen->search('nor_k_n')->hide();
u8 local_13f = 0;
@ -1325,7 +1325,7 @@ void dMenu_Dmap_c::screenInit() {
((J2DPicture*)mpDrawBg[0]->mBaseScreen->search('c_n_1_s'))->changeTexture(uVar20, 0);
((J2DPicture*)mpDrawBg[0]->mBaseScreen->search('c_n_1'))->changeTexture(uVar20, 0);
}
} else if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
} else if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
mpDrawBg[0]->mBaseScreen->search('i_key_n')->hide();
mpDrawBg[0]->mBaseScreen->search('nor_k_n')->hide();
mpDrawBg[0]->mBaseScreen->search('key_n_n')->hide();

View File

@ -1025,7 +1025,7 @@ void dMenu_Fmap_c::portal_warp_map_proc() {
}
} else if (mPortalNo == 3) {
if ((dMeter2Info_getMapStatus() == 3
&& i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 2
&& dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 2
&& dComIfGs_isOneZoneSwitch(0xf, -1))
|| dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x33]))
{

View File

@ -366,7 +366,7 @@ void dMenu_ItemExplain_c::open_init() {
u8 itemNo = field_0xe1;
s32 iVar = -1;
if (itemNo == 0x26) {
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11) {
s32 itemsObtained = 0;
for (int i = 0; i < 3; i++) {
if (checkItemGet(i + fpcNm_ITEM_L2_KEY_PIECES1, 1) != 0) {
@ -383,7 +383,7 @@ void dMenu_ItemExplain_c::open_init() {
itemNo = 0xfd;
}
} else {
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14) {
itemNo = 0xf6;
}
}
@ -646,7 +646,7 @@ u8 dMenu_ItemExplain_c::openExplainDmap(u8 param_0, u8 param_1, u8 param_2, bool
u8 ret = 0;
s32 itemsObtained = 0;
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11 && param_0 == 0x26) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x11 && param_0 == 0x26) {
for (int i = 0; i < 3; i++) {
if (checkItemGet(i + fpcNm_ITEM_L2_KEY_PIECES1, 1) != 0) {
itemsObtained++;
@ -668,7 +668,7 @@ u8 dMenu_ItemExplain_c::openExplainDmap(u8 param_0, u8 param_1, u8 param_2, bool
mStatus = 1;
field_0xe1 = param_0;
field_0xcc = itemNo + 0x165;
if (i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14 && itemNo == 0x23) {
if (dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x14 && itemNo == 0x23) {
field_0xcc = 0x5bf;
}
if (itemNo == 0x25 && dComIfGs_isDungeonItemWarp(0x16)) {

View File

@ -1350,7 +1350,7 @@ void dMenu_save_c::memCardDataLoadWait() {
/* 801F2840-801F28E4 1ED180 00A4+00 2/2 0/0 0/0 .text dataWrite__12dMenu_save_cFv */
void dMenu_save_c::dataWrite() {
int stageNo = i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
int stageNo = dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo());
dComIfGs_putSave(stageNo);
dComIfGs_setMemoryToCard(mSaveBuffer, mSelectedFile);

View File

@ -352,7 +352,7 @@ void dMeter2Info_c::warpInProc() {
/* 8021CA70-8021CC00 2173B0 0190+00 0/0 1/1 0/0 .text warpOutProc__13dMeter2Info_cFv */
void dMeter2Info_c::warpOutProc() {
stage_stag_info_class* stag_info = dComIfGp_getStageStagInfo();
s32 saveTbl = i_dStage_stagInfo_GetSaveTbl(stag_info);
s32 saveTbl = dStage_stagInfo_GetSaveTbl(stag_info);
dComIfGs_setLastWarpAcceptStage(saveTbl);
cXyz warpPos(dComIfGs_getRestartRoomPos());

View File

@ -1611,11 +1611,11 @@ int dMsgFlow_c::event020(mesg_flow_node_event* flow_node, fopAc_ac_c* actor) {
int prm0 = getParam(flow_node->params);
daPy_py_c* player = daPy_getPlayerActorClass();
dStage_roomDt_c* room = dComIfGp_roomControl_getStatusRoomDt(fopAcM_GetRoomNo(actor));
stage_actor_data_class* actor_data = room->getPlayer()->mEntries;
stage_actor_data_class* actor_data = room->getPlayer()->m_entries;
for (int i = 0; i < room->getPlayerNum(); i++, actor_data++) {
if ((u8)actor_data->mAngle.z == prm0) {
player->setPlayerPosAndAngle(&actor_data->mSpawnPos, player->current.angle.y, 0);
if ((u8)actor_data->base.angle.z == prm0) {
player->setPlayerPosAndAngle(&actor_data->base.position, player->current.angle.y, 0);
break;
}
}

View File

@ -266,14 +266,14 @@ static bool isReadRoom(int param_0) {
return false;
}
if (room->field_0x0 <= param_0) {
if (room->num <= param_0) {
return false;
}
roomRead_data_class* roomData = room->field_0x4[dComIfGp_getNextStageRoomNo()];
u8* tmp = roomData->field_0x4;
roomRead_data_class* roomData = room->m_entries[dComIfGp_getNextStageRoomNo()];
u8* tmp = roomData->m_rooms;
for (int i = 0; i < roomData->field_0x0; i++) {
for (int i = 0; i < roomData->num; i++) {
if (dStage_roomRead_dt_c_ChkBg(*tmp) &&
param_0 == dStage_roomRead_dt_c_GetLoadRoomIndex(*tmp))
{

File diff suppressed because it is too large Load Diff

View File

@ -146,15 +146,15 @@ static int fopAc_Create(void* i_this) {
fopAcM_prm_class* append = fopAcM_GetAppend(a_this);
if (append != NULL) {
fopAcM_SetParam(a_this, append->parameters);
a_this->home.pos = append->position;
a_this->home.angle = append->angle;
a_this->shape_angle = append->angle;
fopAcM_SetParam(a_this, append->base.parameters);
a_this->home.pos = append->base.position;
a_this->home.angle = append->base.angle;
a_this->shape_angle = append->base.angle;
a_this->parentActorID = append->parent_id;
a_this->subtype = append->subtype;
a_this->scale.set(append->scale[0] * 0.1f, append->scale[1] * 0.1f,
append->scale[2] * 0.1f);
a_this->setID = append->setId;
a_this->scale.set(append->scale.x * 0.1f, append->scale.y * 0.1f,
append->scale.z * 0.1f);
a_this->setID = append->base.setID;
a_this->home.roomNo = append->room_no;
}
@ -216,11 +216,6 @@ static int fopAc_Create(void* i_this) {
return ret;
}
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
return mFileListInfo;
}
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
bool fopEn_enemy_c::initBallModel() {
void* objRes = dComIfG_getObjectRes("Alink", daAlink_c::getBallModelIdx());
@ -314,4 +309,5 @@ extern actor_method_class g_fopAc_Method = {
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
class JAUSectionHeap;
template<>
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;

View File

@ -76,11 +76,11 @@ fopAcM_prm_class* fopAcM_CreateAppend() {
fopAcM_prm_class* append = (fopAcM_prm_class*)cMl::memalignB(-4, sizeof(fopAcM_prm_class));
if (append != NULL) {
cLib_memSet(append, 0, sizeof(fopAcM_prm_class));
append->setId = 0xFFFF;
append->base.setID = 0xFFFF;
append->room_no = -1;
append->scale[0] = 10;
append->scale[1] = 10;
append->scale[2] = 10;
append->scale.x = 10;
append->scale.y = 10;
append->scale.z = 10;
append->parent_id = fpcM_ERROR_PROCESS_ID_e;
append->subtype = -1;
}
@ -97,33 +97,33 @@ fopAcM_prm_class* createAppend(u16 i_setId, u32 i_parameters, const cXyz* i_pos,
return NULL;
}
append->setId = i_setId;
append->base.setID = i_setId;
if (i_pos != NULL) {
append->position = *i_pos;
append->base.position = *i_pos;
} else {
append->position = cXyz::Zero;
append->base.position = cXyz::Zero;
}
append->room_no = i_roomNo;
if (i_angle != NULL) {
append->angle = *i_angle;
append->base.angle = *i_angle;
} else {
append->angle = csXyz::Zero;
append->base.angle = csXyz::Zero;
}
if (i_scale != NULL) {
append->scale[0] = 10.0f * i_scale->x;
append->scale[1] = 10.0f * i_scale->y;
append->scale[2] = 10.0f * i_scale->z;
append->scale.x = 10.0f * i_scale->x;
append->scale.y = 10.0f * i_scale->y;
append->scale.z = 10.0f * i_scale->z;
} else {
append->scale[0] = 10;
append->scale[1] = 10;
append->scale[2] = 10;
append->scale.x = 10;
append->scale.y = 10;
append->scale.z = 10;
}
append->parameters = i_parameters;
append->base.parameters = i_parameters;
append->parent_id = i_parentId;
append->subtype = i_subtype;

View File

@ -159,6 +159,3 @@ s32 fpcPi_Init(process_priority_class* i_procPriority, void* i_data, fpc_ProcID
fpcMtdTg_Init(&i_procPriority->method_tag, (process_method_tag_func)fpcPi_Delete, i_procPriority);
return 1;
}
/* 804505F0-804505F8 0008+00 s=0 e=5 z=1 None .sdata None */
s8 data_804505F0 = 0xFF;