Fix demo version diffs in gameinfo/save/stage/etc

This commit is contained in:
LagoLunatic
2025-05-21 00:49:35 -04:00
parent e7fc0a2992
commit 86c96002bc
9 changed files with 156 additions and 33 deletions
+4 -4
View File
@@ -399,7 +399,7 @@ config.libs = [
Object(Matching, "f_op/f_op_view.cpp"),
Object(Matching, "f_op/f_op_kankyo.cpp"),
Object(Matching, "f_op/f_op_msg.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "f_op/f_op_kankyo_mng.cpp"),
Object(Matching, "f_op/f_op_kankyo_mng.cpp"),
Object(NonMatching, "f_op/f_op_msg_mng.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(Matching, "f_op/f_op_draw_iter.cpp"),
Object(Matching, "f_op/f_op_draw_tag.cpp"),
@@ -482,7 +482,7 @@ config.libs = [
Object(NonMatching, "d/d_tree.cpp"),
Object(NonMatching, "d/d_particle.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_particle_name.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_path.cpp"),
Object(Matching, "d/d_path.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_drawlist.cpp", extra_cflags=['-sym off']),
Object(Matching, "d/d_kankyo_data.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_kankyo_wether.cpp"),
@@ -1390,7 +1390,7 @@ config.libs = [
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_barrel", extra_cflags=['-pragma "nosyminline on"']),
ActorRel(NonMatching, "d_a_obj_barrel2"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_bscurtain", extra_cflags=['-pragma "nosyminline on"']),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_cafelmp"),
ActorRel(Matching, "d_a_obj_cafelmp"),
ActorRel(NonMatching, "d_a_obj_coming"),
ActorRel(NonMatching, "d_a_obj_demo_barrel"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_doguu", extra_cflags=['-pragma "nosyminline on"']),
@@ -1713,7 +1713,7 @@ config.libs = [
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_vgnfd", extra_cflags=[ '-pragma "nosyminline on"']),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_vmc", extra_cflags=["-sym off"]),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_vmsdz"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_obj_vmsms"),
ActorRel(Matching, "d_a_obj_vmsms"),
ActorRel(NonMatching, "d_a_obj_volcano"),
ActorRel(NonMatching, "d_a_obj_vtil"),
ActorRel(NonMatching, "d_a_obj_vyasi"),
+28 -16
View File
@@ -562,10 +562,13 @@ public:
#endif
void setMsgArchive(JKRArchive * pArc) { mpMsgArchive = pArc; }
JKRArchive* getMsgArchive() { return mpMsgArchive; }
#if VERSION > VERSION_DEMO
void setDmsgArchive(JKRArchive * pArc) { mpDmsgArchive = pArc; }
JKRArchive* getDmsgArchive() { return mpDmsgArchive; }
void setTmsgArchive(JKRArchive * pArc) { mpTmsgArchive = pArc; }
JKRArchive* getTmsgArchive() { return mpTmsgArchive; }
#endif
void setTactMsgArchive(JKRArchive * pArc) { mTactMsgArchive = pArc; }
JKRArchive* getTactMsgArchive() { return mTactMsgArchive; }
void setMenuArchive(JKRArchive * pArc) { mpMenuArchive = pArc; }
JKRArchive* getMenuArchive() { return mpMenuArchive; }
void setFont0Archive(JKRArchive * pArc) { mpFont0Archive = pArc; }
@@ -577,10 +580,10 @@ public:
void setLkDArc(JKRArchive * pArc) { mpLkDArc = pArc; }
void setFmapArchive(JKRArchive * pArc) { mpFmapArchive = pArc; }
void setItemResArchive(JKRArchive * pArc) { mpItemResArchive = pArc; }
void setClctResArchive(JKRArchive * pArc) { mpClctResArchive = pArc; }
void setCollectResArchive(JKRArchive * pArc) { mpCollectResArchive = pArc; }
void setFmapResArchive(JKRArchive * pArc) { mpFmapResArchive = pArc; }
void setDmapResArchive(JKRArchive * pArc) { mpDmapResArchive = pArc; }
void setOptResArchive(JKRArchive * pArc) { mpOptResArchive = pArc; }
void setOptionResArchive(JKRArchive * pArc) { mpOptionResArchive = pArc; }
JKRArchive* getClothResArchive() { return mpClothResArchive; }
void setClothResArchive(JKRArchive * pArc) { mpClothResArchive = pArc; }
void setSaveResArchive(JKRArchive * pArc) { mpSaveResArchive = pArc; }
@@ -591,7 +594,7 @@ public:
void setActionIconArchive(JKRArchive * pArc) { mpActionIconArchive = pArc; }
JKRArchive* getActionIconArchive() { return mpActionIconArchive; }
void setScopeResArchive(JKRArchive * pArc) { mpScopeResArchive = pArc; }
void setCamResArchive(JKRArchive * pArc) { mpCamResArchive = pArc; }
void setCameraResArchive(JKRArchive * pArc) { mpCameraResArchive = pArc; }
void setSwimResArchive(JKRArchive * pArc) { mpSwimResArchive = pArc; }
void setWindResArchive(JKRArchive * pArc) { mpWindResArchive = pArc; }
void setFontArchive(JKRArchive * pArc) { mpFont0Archive = pArc; }
@@ -676,8 +679,12 @@ public:
/* 0x4700 */ dVibration_c mVibration;
/* 0x4784 */ dDetect_c mDetect;
/* 0x4798 */ JKRArchive* mpMsgArchive;
#if VERSION > VERSION_DEMO
/* 0x479C */ JKRArchive* mpDmsgArchive;
/* 0x47A0 */ JKRArchive* mpTmsgArchive;
#endif
/* Offsets below are for retail JPN/USA/PAL */
/* 0x47A0 */ JKRArchive* mTactMsgArchive;
/* 0x47A4 */ JKRArchive* mpMenuArchive;
/* 0x47A8 */ JKRArchive* mpFont0Archive;
/* 0x47AC */ JKRArchive* mpFont1Archive;
@@ -685,10 +692,10 @@ public:
/* 0x47B4 */ JKRArchive* mpLkDArc;
/* 0x47B8 */ JKRArchive* mpFmapArchive;
/* 0x47BC */ JKRArchive* mpItemResArchive;
/* 0x47C0 */ JKRArchive* mpClctResArchive;
/* 0x47C0 */ JKRArchive* mpCollectResArchive;
/* 0x47C4 */ JKRArchive* mpFmapResArchive;
/* 0x47C8 */ JKRArchive* mpDmapResArchive;
/* 0x47CC */ JKRArchive* mpOptResArchive;
/* 0x47CC */ JKRArchive* mpOptionResArchive;
/* 0x47D0 */ JKRArchive* mpClothResArchive;
/* 0x47D4 */ JKRArchive* mpSaveResArchive;
/* 0x47D8 */ JKRArchive* mpItemIconArchive;
@@ -696,7 +703,7 @@ public:
/* 0x47E0 */ JKRArchive* mpErrorResArchive;
/* 0x47E4 */ JKRArchive* mpActionIconArchive;
/* 0x47E8 */ JKRArchive* mpScopeResArchive;
/* 0x47EC */ JKRArchive* mpCamResArchive;
/* 0x47EC */ JKRArchive* mpCameraResArchive;
/* 0x47F0 */ JKRArchive* mpSwimResArchive;
/* 0x47F4 */ JKRArchive* mpWindResArchive;
/* 0x47F8 */ JKRArchive* mpEnglishTextArchive;
@@ -1351,6 +1358,7 @@ inline s16 dComIfGs_getTurnRestartShipAngleY() {
return g_dComIfG_gameInfo.save.getTurnRestart().getShipAngleY();
}
#if VERSION > VERSION_DEMO
// The "HasShip" name is fake. These inlines don't exist in the demo, but must exist in the final release.
inline BOOL dComIfGs_getTurnRestartHasShip() {
return g_dComIfG_gameInfo.save.getTurnRestart().getHasShip();
@@ -1359,6 +1367,7 @@ inline BOOL dComIfGs_getTurnRestartHasShip() {
inline void dComIfGs_setTurnRestartHasShip(BOOL hasShip) {
g_dComIfG_gameInfo.save.getTurnRestart().setHasShip(hasShip);
}
#endif
inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_param) {
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_pos, i_angle, FALSE);
@@ -2005,7 +2014,7 @@ inline s8 dComIfGp_getStartStageLayer() {
return g_dComIfG_gameInfo.play.getStartStageLayer();
}
inline s32 dComIfGp_getStartStagePoint() {
inline s16 dComIfGp_getStartStagePoint() {
return g_dComIfG_gameInfo.play.getStartStagePoint();
}
@@ -2235,7 +2244,7 @@ inline u8 dComIfGp_getShipId() {
return g_dComIfG_gameInfo.play.getShipId();
}
inline u8 dComIfGp_getShipRoomId() {
inline int dComIfGp_getShipRoomId() {
return g_dComIfG_gameInfo.play.getShipRoomId();
}
@@ -3498,10 +3507,13 @@ inline void dComIfGd_reset() { g_dComIfG_gameInfo.drawlist.reset(); }
inline void dComIfGp_setAnmArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setAnmArchive(pArc); }
inline JKRArchive* dComIfGp_getAnmArchive() { return g_dComIfG_gameInfo.play.getAnmArchive(); }
inline void dComIfGp_setMsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgArchive(pArc); }
inline JKRArchive* dComIfGp_getMsgArchive() { return g_dComIfG_gameInfo.play.getMsgArchive(); }
#if VERSION > VERSION_DEMO
inline void dComIfGp_setDmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setDmsgArchive(pArc); }
inline JKRArchive* dComIfGp_getDmsgArchive() { return g_dComIfG_gameInfo.play.getDmsgArchive(); }
inline void dComIfGp_setTmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setTmsgArchive(pArc); }
inline JKRArchive* dComIfGp_getTmsgArchive() { return g_dComIfG_gameInfo.play.getTmsgArchive(); }
#endif
inline void dComIfGp_setTactMsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setTactMsgArchive(pArc); }
inline JKRArchive* dComIfGp_getTactMsgArchive() { return g_dComIfG_gameInfo.play.getTactMsgArchive(); }
inline void dComIfGp_setMenuArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMenuArchive(pArc); }
inline JKRArchive* dComIfGp_getMenuArchive() { return g_dComIfG_gameInfo.play.getMenuArchive(); }
inline void dComIfGp_setFont0Archive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFont0Archive(pArc); }
@@ -3511,10 +3523,10 @@ inline JKRArchive* dComIfGp_getRubyArchive() { return g_dComIfG_gameInfo.play.ge
inline void dComIfGp_setLkDArc(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setLkDArc(pArc); }
inline void dComIfGp_setFmapArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFmapArchive(pArc); }
inline void dComIfGp_setItemResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setItemResArchive(pArc); }
inline void dComIfGp_setClctResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setClctResArchive(pArc); }
inline void dComIfGp_setCollectResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setCollectResArchive(pArc); }
inline void dComIfGp_setFmapResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFmapResArchive(pArc); }
inline void dComIfGp_setDmapResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setDmapResArchive(pArc); }
inline void dComIfGp_setOptResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setOptResArchive(pArc); }
inline void dComIfGp_setOptionResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setOptionResArchive(pArc); }
inline JKRArchive* dComIfGp_getClothResArchive() { return g_dComIfG_gameInfo.play.getClothResArchive(); }
inline void dComIfGp_setClothResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setClothResArchive(pArc); }
inline void dComIfGp_setSaveResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setSaveResArchive(pArc); }
@@ -3525,7 +3537,7 @@ inline void dComIfGp_setErrorResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.
inline void dComIfGp_setActionIconArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setActionIconArchive(pArc); }
inline JKRArchive* dComIfGp_getActionIconArchive() { return g_dComIfG_gameInfo.play.getActionIconArchive(); }
inline void dComIfGp_setScopeResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setScopeResArchive(pArc); }
inline void dComIfGp_setCamResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setCamResArchive(pArc); }
inline void dComIfGp_setCameraResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setCameraResArchive(pArc); }
inline void dComIfGp_setSwimResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setSwimResArchive(pArc); }
inline void dComIfGp_setWindResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setWindResArchive(pArc); }
inline void dComIfGp_setFontArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFontArchive(pArc); }
+6
View File
@@ -819,9 +819,11 @@ public:
s8 getRoomNo() { return mRoomNo; }
cXyz& getShipPos() { return mShipPos; }
s16 getShipAngleY() { return mShipAngleY; }
#if VERSION > VERSION_DEMO
// The "HasShip" name is fake. These inlines don't exist in the demo, but probably do in the final release.
BOOL getHasShip() { return mHasShip; }
void setHasShip(BOOL hasShip) { mHasShip = hasShip; }
#endif
/* 0x00 */ cXyz mPosition;
/* 0x0C */ u32 mParam;
@@ -831,7 +833,9 @@ public:
/* 0x14 */ u8 field_0x14[0x24 - 0x14];
/* 0x24 */ cXyz mShipPos;
/* 0x30 */ s16 mShipAngleY;
#if VERSION > VERSION_DEMO
/* 0x34 */ BOOL mHasShip;
#endif
}; // Size: 0x38
class dSv_save_c {
@@ -955,7 +959,9 @@ public:
/* 0x1298 */ s64 field_0x1298;
}; // Size: 0x12A0
#if VERSION > VERSION_DEMO
STATIC_ASSERT(sizeof(dSv_info_c) == 0x12A0);
#endif
#include "d/d_save_event_bit.inc"
+16
View File
@@ -1327,7 +1327,11 @@ void dMesg_screenDataTalk_c::createScreen() {
JUtility::TColor black(30, 30, 75, 0);
scrn = new J2DScreen();
JUT_ASSERT(2145, scrn != NULL);
#if VERSION == VERSION_DEMO
scrn->set("hukidashi_d00.blo", dComIfGp_getMsgArchive());
#else
scrn->set("hukidashi_d00.blo", dComIfGp_getDmsgArchive());
#endif
fopMsgM_setPaneData(&field_0x18, scrn->search('dt00'));
fopMsgM_setPaneData(&field_0x50, scrn->search('yz00'));
fopMsgM_setPaneData(&field_0x88[0], scrn->search('tx02'));
@@ -1489,7 +1493,11 @@ void dMesg_screenDataItem_c::createScreen() {
JUT_ASSERT(2424, texBuffer != NULL);
field_0x3e4 = NULL;
#if VERSION == VERSION_DEMO
scrn->set("hukidashi_d09.blo", dComIfGp_getMsgArchive());
#else
scrn->set("hukidashi_d09.blo", dComIfGp_getDmsgArchive());
#endif
fopMsgM_setPaneData(&field_0x18, scrn->search('dt90'));
fopMsgM_setPaneData(&field_0x50, scrn->search('yz90'));
fopMsgM_setPaneData(&field_0x88[0], scrn->search('tx92'));
@@ -2084,7 +2092,11 @@ void dMesg_closeProc(sub_mesg_class* i_Msg) {
JKRHeap* oldHeap = mDoExt_setCurrentHeap(i_Msg->field_0x100);
if (i_Msg->screen->closeAnime()) {
delete i_Msg->screen->scrn;
#if VERSION == VERSION_DEMO
dComIfGp_getMsgArchive()->removeResourceAll();
#else
dComIfGp_getDmsgArchive()->removeResourceAll();
#endif
delete (void*)i_Msg->screen;
i_Msg->screen = NULL;
dMesg_reset();
@@ -2163,7 +2175,11 @@ static BOOL dMsg_Delete(sub_mesg_class* i_Msg) {
mDoExt_setCurrentHeap(i_Msg->field_0x100);
if (i_Msg->screen) {
delete i_Msg->screen->scrn;
#if VERSION == VERSION_DEMO
dComIfGp_getMsgArchive()->removeResourceAll();
#else
dComIfGp_getDmsgArchive()->removeResourceAll();
#endif
delete (void*)i_Msg->screen;
i_Msg->screen = NULL;
}
+2 -2
View File
@@ -508,7 +508,7 @@ void dMetronome_c::initialize() {
void dMetronome_c::_create() {
scrn = new J2DScreen();
JUT_ASSERT(0x2db, scrn != NULL);
scrn->set("baton_input.blo", dComIfGp_getTmsgArchive());
scrn->set("baton_input.blo", dComIfGp_getTactMsgArchive());
screenSet();
initialize();
}
@@ -516,7 +516,7 @@ void dMetronome_c::_create() {
/* 8022319C-802231F4 .text _delete__12dMetronome_cFv */
void dMetronome_c::_delete() {
delete scrn;
dComIfGp_getTmsgArchive()->removeResourceAll();
dComIfGp_getTactMsgArchive()->removeResourceAll();
}
/* 802231F4-80223314 .text _move__12dMetronome_cFv */
+39 -5
View File
@@ -49,7 +49,9 @@ mDoDvdThd_mountXArchive_c * l_swimResCommand;
mDoDvdThd_mountXArchive_c * l_windResCommand;
mDoDvdThd_mountXArchive_c * l_nameResCommand;
mDoDvdThd_mountXArchive_c * l_tmsgCommand;
#if VERSION > VERSION_DEMO
mDoDvdThd_mountXArchive_c * l_dmsgCommand;
#endif
mDoDvdThd_mountXArchive_c * l_errorResCommand;
mDoDvdThd_mountXArchive_c * l_msgDtCommand;
#if VERSION > VERSION_JPN
@@ -63,7 +65,11 @@ mDoDvdThd_toMainRam_c * l_particleCommand;
mDoDvdThd_toMainRam_c * l_itemTableCommand;
mDoDvdThd_toMainRam_c * l_ActorDataCommand;
mDoDvdThd_toMainRam_c * l_FmapDataCommand;
#if VERSION == VERSION_DEMO
mDoDvdThd_mountXArchive_c * l_DmcMountCommand;
#else
mDoDvdThd_mountXArchive_c * l_lodCommand;
#endif
enum {
ACT_nintendoInDraw = 0,
@@ -416,7 +422,9 @@ BOOL dvdWaitDraw(dScnLogo_c* i_this) {
&& l_windResCommand->sync()
&& l_nameResCommand->sync()
&& l_tmsgCommand->sync()
#if VERSION > VERSION_DEMO
&& l_dmsgCommand->sync()
#endif
&& l_errorResCommand->sync()
&& l_msgDtCommand->sync()
#if VERSION > VERSION_JPN
@@ -430,7 +438,10 @@ BOOL dvdWaitDraw(dScnLogo_c* i_this) {
&& l_itemTableCommand->sync()
&& l_ActorDataCommand->sync()
&& l_FmapDataCommand->sync()
&& l_lodCommand->sync() && !mDoRst::isReset()) {
#if VERSION > VERSION_DEMO
&& l_lodCommand->sync() && !mDoRst::isReset()
#endif
) {
dComIfG_changeOpeningScene(i_this, PROC_OPENING_SCENE);
}
@@ -491,19 +502,21 @@ static BOOL dScnLogo_Delete(dScnLogo_c* i_this) {
dComIfGp_setItemResArchive(l_itemResCommand->getArchive());
dComIfGp_setFmapResArchive(l_fmapResCommand->getArchive());
dComIfGp_setDmapResArchive(l_dmapResCommand->getArchive());
dComIfGp_setClctResArchive(l_clctResCommand->getArchive());
dComIfGp_setOptResArchive(l_optResCommand->getArchive());
dComIfGp_setCollectResArchive(l_clctResCommand->getArchive());
dComIfGp_setOptionResArchive(l_optResCommand->getArchive());
dComIfGp_setSaveResArchive(l_saveResCommand->getArchive());
dComIfGp_setClothResArchive(l_clothResCommand->getArchive());
dComIfGp_setItemIconArchive(l_itemiconCommand->getArchive());
dComIfGp_setActionIconArchive(l_actioniconCommand->getArchive());
dComIfGp_setScopeResArchive(l_scopeResCommand->getArchive());
dComIfGp_setCamResArchive(l_camResCommand->getArchive());
dComIfGp_setCameraResArchive(l_camResCommand->getArchive());
dComIfGp_setSwimResArchive(l_swimResCommand->getArchive());
dComIfGp_setWindResArchive(l_windResCommand->getArchive());
dComIfGp_setNameResArchive(l_nameResCommand->getArchive());
dComIfGp_setTmsgArchive(l_tmsgCommand->getArchive());
dComIfGp_setTactMsgArchive(l_tmsgCommand->getArchive());
#if VERSION > VERSION_DEMO
dComIfGp_setDmsgArchive(l_dmsgCommand->getArchive());
#endif
dComIfGp_setErrorResArchive(l_errorResCommand->getArchive());
dComIfGp_setMsgDtArchive(l_msgDtCommand->getArchive());
#if VERSION > VERSION_JPN
@@ -531,7 +544,9 @@ static BOOL dScnLogo_Delete(dScnLogo_c* i_this) {
delete l_windResCommand;
delete l_nameResCommand;
delete l_tmsgCommand;
#if VERSION > VERSION_DEMO
delete l_dmsgCommand;
#endif
delete l_errorResCommand;
delete l_msgDtCommand;
#if VERSION > VERSION_JPN
@@ -561,7 +576,11 @@ static BOOL dScnLogo_Delete(dScnLogo_c* i_this) {
delete l_ActorDataCommand;
delete l_FmapDataCommand;
#if VERSION == VERSION_DEMO
delete l_DmcMountCommand;
#else
delete l_lodCommand;
#endif
ResTIMG * timg = (ResTIMG *)dComIfG_getObjectRes("Always", ALWAYS_I4_BALL128B);
dDlst_shadowControl_c::setSimpleTex(timg);
@@ -581,10 +600,16 @@ static BOOL dScnLogo_Delete(dScnLogo_c* i_this) {
g_dComIfG_gameInfo.play.field_0x4820 = JKRAllocFromAram(0xB000, JKRAramHeap::HEAD);
#endif
#if VERSION == VERSION_DEMO
mDoRst::offReset();
#endif
#if VERSION > VERSION_DEMO
mDoExt_setSafeGameHeapSize();
mDoExt_setSafeZeldaHeapSize();
mDoExt_setSafeCommandHeapSize();
mDoExt_setSafeArchiveHeapSize();
#endif
return TRUE;
}
@@ -804,13 +829,17 @@ cPhs_State phase_2(dScnLogo_c* i_this) {
JKRHeap::free(i_this->field_0x1f8, NULL);
#if VERSION > VERSION_DEMO
l_lodCommand = aramMount("/res/Stage/sea/LODALL.arc");
JUT_ASSERT(VERSION_SELECT(1346, 1346, 1645, 1685), l_lodCommand != NULL);
#endif
rt = dComIfG_setObjectRes("Always", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1351, 1351, 1650, 1690), rt == 1);
#if VERSION > VERSION_DEMO
archiveHeap->dump_sort();
#endif
rt = dComIfG_setObjectRes("Link", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1356, 1356, 1655, 1695), rt == 1);
@@ -843,7 +872,9 @@ cPhs_State phase_2(dScnLogo_c* i_this) {
l_windResCommand = aramMount("/res/Msg/windres.arc");
l_nameResCommand = aramMount("/res/Msg/nameres.arc");
l_tmsgCommand = aramMount("/res/Msg/tmsgres.arc");
#if VERSION > VERSION_DEMO
l_dmsgCommand = aramMount("/res/Msg/dmsgres.arc");
#endif
l_errorResCommand = aramMount("/res/Msg/errorres.arc");
l_saveResCommand = aramMount("/res/Msg/saveres.arc");
@@ -884,8 +915,11 @@ cPhs_State phase_2(dScnLogo_c* i_this) {
mDoRst::offResetPrepare();
#endif
#if VERSION > VERSION_DEMO
JUTGamePad::clearResetOccurred();
JUTGamePad::setResetCallback(mDoRst_resetCallBack, NULL);
#endif
return cPhs_COMPLEATE_e;
}
+2
View File
@@ -1336,7 +1336,9 @@ void dSv_turnRestart_c::set(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_p
field_0x13 = 0;
mShipPos = i_shipPos;
mShipAngleY = i_shipAngle;
#if VERSION > VERSION_DEMO
mHasShip = i_hasShip;
#endif
}
/* 8005D604-8005D660 .text init__10dSv_info_cFv */
+53 -6
View File
@@ -354,7 +354,9 @@ u32 dStage_roomControl_c::getDarkMode() {
/* 80041370-800413D4 .text createMemoryBlock__20dStage_roomControl_cFiUl */
JKRExpHeap* dStage_roomControl_c::createMemoryBlock(int i_blockIdx, u32 i_heapSize) {
#if VERSION > VERSION_DEMO
archiveHeap->getCurrentGroupId();
#endif
mMemoryBlock[i_blockIdx] = JKRExpHeap::create(i_heapSize, mDoExt_getArchiveHeap(), false);
return mMemoryBlock[i_blockIdx];
}
@@ -720,7 +722,11 @@ dStage_objectNameInf l_objectName[] = {
OBJNAME("Bmcon2", PROC_NPC_BMCON1, 1, 0),
OBJNAME("Bmsw", PROC_NPC_BMSW, 255, 0),
OBJNAME("Btsw", PROC_NPC_BTSW, 255, 0),
#if VERSION == VERSION_DEMO
OBJNAME("Btsw2", PROC_NPC_BTSW2, 255, 0),
#else
OBJNAME("Btsw2", PROC_NPC_BTSW2, 255, 59),
#endif
OBJNAME("Zk1", PROC_NPC_ZK1, 255, 59),
OBJNAME("Zl1", PROC_NPC_ZL1, 255, 60),
OBJNAME("Ob1", PROC_NPC_OB1, 255, 60),
@@ -1016,7 +1022,11 @@ dStage_objectNameInf l_objectName[] = {
OBJNAME("UkD2", PROC_NPC_UK, 7, 0),
OBJNAME("Co1", PROC_NPC_CO1, 255, 59),
OBJNAME("Mt", PROC_NPC_MT, 255, 0),
#if VERSION == VERSION_DEMO
OBJNAME("Mn", PROC_NPC_MN, 255, 0),
#else
OBJNAME("Mn", PROC_NPC_MN, 255, 59),
#endif
OBJNAME("Ah", PROC_NPC_AH, 255, 0),
OBJNAME("Hyuf1", PROC_Hmlif, 255, 61),
OBJNAME("Hyuf2", PROC_Hmlif, 255, 61),
@@ -1830,6 +1840,32 @@ int dStage_mecoInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
return 1;
}
#if VERSION == VERSION_DEMO
bool dStage_setShipPos(int param_0, int i_roomNo) {
/* Nonmatching */
i_roomNo = i_roomNo == 0xFF ? dComIfGp_roomControl_getStayNo() : i_roomNo;
if (param_0 != 0xFF) {
dStage_Ship_dt_c* ship_data_p = dComIfGp_getShip(i_roomNo, param_0);
if (ship_data_p != NULL) {
daShip_c* ship_p = (daShip_c*)fopAcM_SearchByName(PROC_SHIP);
if (ship_p != NULL) {
if (dComIfGp_getStartStagePoint() == -3 ) {
if (dComIfGs_getTurnRestartParam() & 0x100) {
ship_p = (daShip_c*)fopAcM_SearchByName(PROC_SHIP);
if (ship_p != NULL) {
ship_p->initStartPos(&dComIfGs_getTurnRestartShipPos(), dComIfGs_getTurnRestartShipAngleY());
}
}
} else {
ship_p->initStartPos(&ship_data_p->m_pos, ship_data_p->m_angle);
}
return true;
}
}
}
return false;
}
#else
/* 800429C0-80042B10 .text dStage_setShipPos__Fii */
bool dStage_setShipPos(int param_0, int i_roomNo) {
if (strcmp(dComIfGp_getStartStageName(), "GanonM") == 0 && !dComIfGs_isEventBit(0x3D02)) {
@@ -1862,6 +1898,7 @@ bool dStage_setShipPos(int param_0, int i_roomNo) {
return false;
}
#endif
/* 80042B10-80042B70 .text dStage_chkTaura__Fi */
bool dStage_chkTaura(int i_roomNo) {
@@ -1874,19 +1911,28 @@ bool dStage_chkTaura(int i_roomNo) {
/* 80042B70-80042C38 .text dStage_shipInfoInit__FP11dStage_dt_cPviPv */
int dStage_shipInfoInit(dStage_dt_c* i_stage, void* i_data, int i_num, void*) {
i_stage->setShip((dStage_Ship_c*)((char*)i_data + 4));
dStage_Ship_c* ship_p = (dStage_Ship_c*)((char*)i_data + 4);
i_stage->setShip(ship_p);
s32 shipId = dComIfGp_getShipId();
s32 roomId = dComIfGp_getShipRoomId();
int shipId = dComIfGp_getShipId();
int roomId = dComIfGp_getShipRoomId();
if (dStage_chkTaura(roomId)) {
if (!dComIfGs_isEventBit(dSv_evtBit_c::RODE_KORL) && dStage_setShipPos(0x80, roomId)) {
if (dStage_chkTaura(roomId) && !dComIfGs_isEventBit(dSv_evtBit_c::RODE_KORL)) {
if (dStage_setShipPos(0x80, roomId)) {
shipId = 0xFF;
roomId = 0xFF;
dComIfGp_setShipId(0xFF);
dComIfGp_setShipRoomId(0xFF);
}
}
#if VERSION == VERSION_DEMO
else if (strcmp(dComIfGp_getStartStageName(), "GanonM") == 0 && !dComIfGs_isEventBit(0x3D02)) {
shipId = 0xFF;
roomId = 0xFF;
dComIfGp_setShipId(0xFF);
dComIfGp_setShipRoomId(0xFF);
}
#endif
if (dStage_setShipPos(shipId, roomId)) {
dComIfGp_setShipId(0xFF);
@@ -2345,7 +2391,8 @@ void dStage_escapeRestart() {
/* 80043C84-80043CD0 .text dStage_checkRestart__Fv */
BOOL dStage_checkRestart() {
if (dComIfGp_isEnableNextStage()) {
if (dComIfGp_getStartStagePoint() == -2 || dComIfGp_getStartStagePoint() == -3) {
int point = dComIfGp_getStartStagePoint();
if (point == -2 || point == -3) {
return FALSE;
}
+6
View File
@@ -2454,8 +2454,14 @@ s32 mDoExt_font0_getCount;
/* 80016884-800168E0 .text mDoExt_initFont0__Fv */
void mDoExt_initFont0() {
#if VERSION == VERSION_DEMO
int r30 = g_msgDHIO.field_0x08;
static const char fontdata[] = "rock_24_20_4i_usa.bfn";
mDoExt_initFontCommon(&mDoExt_font0, &mDoExt_resfont0, mDoExt_getZeldaHeap(), fontdata, dComIfGp_getFontArchive(), r30, 0xB4, 0x800);
#else
static const char fontdata[] = "rock_24_20_4i_usa.bfn";
mDoExt_initFontCommon(&mDoExt_font0, &mDoExt_resfont0, mDoExt_getZeldaHeap(), fontdata, dComIfGp_getFontArchive(), 1, 0, 0);
#endif
}
/* 800168E0-8001691C .text mDoExt_getMesgFont__Fv */