d_file_select matching for JPN and demo

This commit is contained in:
LagoLunatic
2025-06-14 19:09:05 -04:00
parent 3fbb9b5e74
commit 92a094ef6d
8 changed files with 591 additions and 225 deletions
+1 -1
View File
@@ -559,7 +559,7 @@ config.libs = [
Object(NonMatching, "d/d_camera.cpp"),
Object(Matching, "d/d_envse.cpp"),
Object(NonMatching, "d/d_file_error.cpp"),
Object(MatchingFor("GZLE01"), "d/d_file_select.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(MatchingFor("D44J01", "GZLJ01", "GZLE01"), "d/d_file_select.cpp", extra_cflags=['-pragma "nosyminline on"']),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_gameover.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_kankyo.cpp"),
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_kyeff.cpp"),
+16
View File
@@ -903,6 +903,10 @@ inline void dComIfGs_init() {
g_dComIfG_gameInfo.save.init();
}
inline void dComIfGs_reinit() {
g_dComIfG_gameInfo.save.reinit();
}
inline u8 dComIfGs_checkReserveItem(u8 i_itemNo) {
return g_dComIfG_gameInfo.save.getPlayer().getBagItem().checkReserveItem(i_itemNo);
}
@@ -1400,6 +1404,14 @@ inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo,
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_shipPos, i_shipAngle, i_hasShip);
}
inline void dComIfGs_setMemoryToCard(u8* i_cardPtr, int i_dataNum) {
g_dComIfG_gameInfo.save.memory_to_card((char*)i_cardPtr, i_dataNum);
}
inline void dComIfGs_setInitDataToCard(u8* i_cardPtr, int i_dataNum) {
g_dComIfG_gameInfo.save.initdata_to_card((char*)i_cardPtr, i_dataNum);
}
inline u8 dComIfGs_getDataNum() {
return g_dComIfG_gameInfo.save.getDataNum();
}
@@ -1424,6 +1436,10 @@ inline u8 dComIfGs_getNewFile() {
return g_dComIfG_gameInfo.save.getNewFile();
}
inline void dComIfGs_setNewFile(u8 file) {
g_dComIfG_gameInfo.save.setNewFile(file);
}
inline void dComIfGs_setMemCardCheckID(u64 id) {
g_dComIfG_gameInfo.save.setMemCardCheckID(id);
}
+4 -1
View File
@@ -14,7 +14,7 @@ public:
dFs_HIO_c();
virtual ~dFs_HIO_c() {}
/* 0x04 */ s8 field_0x04;
/* 0x04 */ s8 mNo;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ u8 field_0x06;
/* 0x07 */ u8 field_0x07;
@@ -109,6 +109,9 @@ public:
dFile_select_c() {}
void _create();
void initial();
#if VERSION == VERSION_DEMO
void _deleteSp();
#endif
void _delete();
void _move();
bool _open();
+9 -9
View File
@@ -931,13 +931,13 @@ public:
void initDan(s8 i_stage) { mDan.init(i_stage); }
u8 getDataNum() { return mDataNum; }
u64 getMemCardCheckID() { return field_0x1298; }
u8 getNewFile() { return field_0x1292; }
u8 getNoFile() { return field_0x1291; }
void setDataNum(u8 num) { mDataNum = num; }
void setMemCardCheckID(u64 id) { field_0x1298 = id; }
void setNewFile(u8) {}
void setNoFile(u8 no) { field_0x1291 = no; }
u8 getNoFile() { return mNoFile; }
void setNoFile(u8 no) { mNoFile = no; }
u8 getNewFile() { return mNewFile; }
void setNewFile(u8 file) {mNewFile = file; }
u64 getMemCardCheckID() { return mMemCardCheckID; }
void setMemCardCheckID(u64 id) { mMemCardCheckID = id; }
static const int MEMORY_SWITCH = 0x80;
static const int DAN_SWITCH = 0x40;
@@ -956,9 +956,9 @@ public:
/* 0x1158 */ dSv_event_c mTmp;
/* 0x1258 */ dSv_turnRestart_c mTurnRestart;
/* 0x1290 */ u8 mDataNum;
/* 0x1291 */ u8 field_0x1291;
/* 0x1292 */ u8 field_0x1292;
/* 0x1298 */ u64 field_0x1298;
/* 0x1291 */ u8 mNoFile;
/* 0x1292 */ u8 mNewFile;
/* 0x1298 */ u64 mMemCardCheckID;
}; // Size: 0x12A0
#if VERSION > VERSION_DEMO
+33 -1
View File
@@ -50,6 +50,7 @@ public:
u8 getNowSlot() { return mCardSlot; }
u8* getPictDataPtr() { return mPictDataPtr; }
u8* getPictWriteDataPtr() { return mPictDataWritePtr; }
void setPictWriteDataPtr(u8* v) { mPictDataWritePtr = v; }
void setPictDataPtr(u8* v) { mPictDataPtr = v; }
void setCardSerialNo(u64 v) { mCardSerialNo = v; }
void setDataVersion(u32 v) { mDataVersion = v; }
@@ -60,7 +61,6 @@ public:
u64 getCardSerialNo() { return mCardSerialNo; }
void getDataVersion() {}
void getProbeStat() {}
void setPictWriteDataPtr(u8*) {}
/* 0x0000 */ u8 mData[3 * sizeof(card_gamedata)];
/* 0x1650 */ u8* mPictDataPtr;
@@ -99,6 +99,10 @@ inline u8 mDoMemCd_getNowSlot() {
return g_mDoMemCd_control.getNowSlot();
}
inline u64 mDoMemCd_getCardSerialNo() {
return g_mDoMemCd_control.getCardSerialNo();
}
inline void mDoMemCd_setCardSerialNo(u64 v) {
g_mDoMemCd_control.setCardSerialNo(v);
}
@@ -119,6 +123,10 @@ inline u8* mDoMemCd_getPictWriteDataPtr() {
return g_mDoMemCd_control.getPictWriteDataPtr();
}
inline void mDoMemCd_setPictWriteDataPtr(u8* v) {
g_mDoMemCd_control.setPictWriteDataPtr(v);
}
inline u8 mDoMemCd_getCopyToPos() {
return g_mDoMemCd_control.getCopyToPos();
}
@@ -127,4 +135,28 @@ inline void mDoMemCd_setCopyToPos(u8 pos) {
g_mDoMemCd_control.setCopyToPos(pos);
}
inline s32 mDoMemCd_SaveSync() {
return g_mDoMemCd_control.SaveSync();
}
inline s32 mDoMemCd_FormatSync() {
return g_mDoMemCd_control.FormatSync();
}
inline void mDoMemCd_UpDate() {
g_mDoMemCd_control.update();
}
inline u32 mDoMemCd_getStatus(u32 status) {
return g_mDoMemCd_control.getStatus(status);
}
inline void mDoMemCd_Format() {}
inline void mDoMemCd_Load() {}
inline void mDoMemCd_LoadSync(void*, u32, u32) {}
inline void mDoMemCd_Save(void*, u32, u32) {}
inline void mDoMemCd_clearProbeStat() {}
inline void mDoMemCd_getDataVersion() {}
inline void mDoMemCd_getProbeStat() {}
#endif /* M_DO_M_DO_MEMCARD_H */
+523 -207
View File
File diff suppressed because it is too large Load Diff
+4 -5
View File
@@ -130,8 +130,8 @@ cPhs_State dScnName_c::create() {
JUT_ASSERT(489, dFe_c != NULL);
dFe_c->_create();
dMs_c = NULL;
g_dComIfG_gameInfo.save.field_0x1291 = 0;
g_dComIfG_gameInfo.save.field_0x1292 = 0;
dComIfGs_setNoFile(0);
dComIfGs_setNewFile(0);
}
if (fpcM_GetName(this) == PROC_NAMEEX_SCENE) {
dComIfGs_setClearCount(1);
@@ -442,8 +442,7 @@ void dScnName_c::MemCardErrMsgWaitFormatSel2() {
/* 8023106C-802310C0 .text MemCardFormat__10dScnName_cFv */
void dScnName_c::MemCardFormat() {
/* Nonmatching */
field_0x1bbc = g_mDoMemCd_control.FormatSync();
field_0x1bbc = mDoMemCd_FormatSync();
if (field_0x1bbc != 0) {
dFe_c->closeMessage();
field_0x556 = 8;
@@ -462,7 +461,7 @@ void dScnName_c::MemCardMakeGameFileSel() {
/* 80231284-802312D8 .text MemCardMakeGameFile__10dScnName_cFv */
void dScnName_c::MemCardMakeGameFile() {
field_0x1bbc = g_mDoMemCd_control.SaveSync();
field_0x1bbc = mDoMemCd_SaveSync();
if (field_0x1bbc != 0) {
dFe_c->closeMessage();
field_0x556 = 11;
+1 -1
View File
@@ -427,7 +427,7 @@ void main01() {
}
if (mDoDvdThd::SyncWidthSound) {
g_mDoMemCd_control.update();
mDoMemCd_UpDate();
}
mDoCPd_Read(); // read controller input