improve mount direction enum

This commit is contained in:
LagoLunatic
2024-05-10 01:06:16 -04:00
parent 2870b39dd3
commit 4805f9b38d
6 changed files with 32 additions and 22 deletions
+1 -1
View File
@@ -89,7 +89,7 @@ public:
};
enum EMountDirection {
UNKNOWN_MOUNT_DIRECTION = 0,
DEFAULT_MOUNT_DIRECTION = 0,
MOUNT_DIRECTION_HEAD = 1,
MOUNT_DIRECTION_TAIL = 2,
};
+1 -1
View File
@@ -29,7 +29,7 @@ public:
static bool errorRetry;
enum EAllocDirection {
UNKNOWN_EALLOC_DIRECTION = 0,
DEFAULT_EALLOC_DIRECTION = 0,
ALLOC_DIRECTION_FORWARD = 1,
ALLOC_DIRECTION_BACKWARD = 2,
};
+1 -1
View File
@@ -506,7 +506,7 @@ int dComIfG_resetToOpening(scene_class* i_scene) {
/* 800532D8-80053330 .text phase_1__FPc */
static int phase_1(char* i_arcName) {
return !dComIfG_setObjectRes(i_arcName, (u8)0, NULL) ? cPhs_ERROR_e : cPhs_NEXT_e;
return !dComIfG_setObjectRes(i_arcName, JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL) ? cPhs_ERROR_e : cPhs_NEXT_e;
}
/* 80053330-80053388 .text phase_2__FPc */
+10 -10
View File
@@ -634,7 +634,7 @@ s32 phase_0(dScnLogo_c* i_this) {
s32 rt;
rt = dComIfG_setObjectRes("System", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
rt = dComIfG_setObjectRes("System", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1169, 1350, 1378), rt == 1);
@@ -691,12 +691,12 @@ s32 phase_1(dScnLogo_c* i_this) {
/* 8022DC58-8022DC80 .text aramMount__FPCc */
mDoDvdThd_mountXArchive_c * aramMount(const char* pArc) {
return mDoDvdThd_mountXArchive_c::create(pArc, JKRArchive::UNKNOWN_MOUNT_DIRECTION, JKRArchive::MOUNT_ARAM);
return mDoDvdThd_mountXArchive_c::create(pArc, JKRArchive::DEFAULT_MOUNT_DIRECTION, JKRArchive::MOUNT_ARAM);
}
/* 8022DC80-8022DCA8 .text onMemMount__FPCc */
mDoDvdThd_mountXArchive_c * onMemMount(const char* pArc) {
return mDoDvdThd_mountXArchive_c::create(pArc, JKRArchive::UNKNOWN_MOUNT_DIRECTION, JKRArchive::MOUNT_MEM);
return mDoDvdThd_mountXArchive_c::create(pArc, JKRArchive::DEFAULT_MOUNT_DIRECTION, JKRArchive::MOUNT_MEM);
}
/* 8022DCA8-8022E9B4 .text phase_2__FP10dScnLogo_c */
@@ -827,15 +827,15 @@ s32 phase_2(dScnLogo_c* i_this) {
l_lodCommand = aramMount("/res/Stage/sea/LODALL.arc");
JUT_ASSERT(VERSION_SELECT(1346, 1645, 1685), l_lodCommand != 0);
rt = dComIfG_setObjectRes("Always", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
rt = dComIfG_setObjectRes("Always", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1351, 1650, 1690), rt == 1);
archiveHeap->dump_sort();
rt = dComIfG_setObjectRes("Link", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
rt = dComIfG_setObjectRes("Link", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1356, 1655, 1695), rt == 1);
rt = dComIfG_setObjectRes("Agb", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
rt = dComIfG_setObjectRes("Agb", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1360, 1659, 1699), rt == 1);
l_anmCommand = aramMount("/res/Object/LkAnm.arc");
@@ -885,12 +885,12 @@ s32 phase_2(dScnLogo_c* i_this) {
l_fontCommand = onMemMount("/res/Msg/fontres.arc");
#endif
l_rubyCommand = onMemMount("/res/Msg/rubyres.arc");
l_particleCommand = mDoDvdThd_toMainRam_c::create("/res/Particle/common.jpc", JKRArchive::UNKNOWN_MOUNT_DIRECTION, dComIfGp_particle_getCommonHeap());
l_itemTableCommand = mDoDvdThd_toMainRam_c::create("/res/ItemTable/item_table.bin", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
l_particleCommand = mDoDvdThd_toMainRam_c::create("/res/Particle/common.jpc", JKRArchive::DEFAULT_MOUNT_DIRECTION, dComIfGp_particle_getCommonHeap());
l_itemTableCommand = mDoDvdThd_toMainRam_c::create("/res/ItemTable/item_table.bin", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1418, 1743, 1783), l_itemTableCommand != 0);
l_ActorDataCommand = mDoDvdThd_toMainRam_c::create("/res/ActorDat/ActorDat.bin", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
l_ActorDataCommand = mDoDvdThd_toMainRam_c::create("/res/ActorDat/ActorDat.bin", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1422, 1747, 1787), l_ActorDataCommand != 0);
l_FmapDataCommand = mDoDvdThd_toMainRam_c::create("/res/FmapDat/FmapDat.bin", JKRArchive::UNKNOWN_MOUNT_DIRECTION, NULL);
l_FmapDataCommand = mDoDvdThd_toMainRam_c::create("/res/FmapDat/FmapDat.bin", JKRArchive::DEFAULT_MOUNT_DIRECTION, NULL);
JUT_ASSERT(VERSION_SELECT(1426, 1751, 1791), l_FmapDataCommand != 0);
JAIZelBasic::getInterface()->loadStaticWaves();
+1 -1
View File
@@ -42,7 +42,7 @@ base_process_class* fpcFCtRq_Request(layer_class* i_layer, s16 i_procTypeID,
proc->mpCtRq = (struct create_request*)request;
request->base.mpRes = proc;
request->base.mBsPcId = proc->mBsPcId;
if (fpcBs_SubCreate(proc) == 2) {
if (fpcBs_SubCreate(proc) == cPhs_NEXT_e) {
request->mpFastCreateFunc = i_createFunc;
request->mpFastCreateData = i_createData;
return proc;
+18 -8
View File
@@ -17,8 +17,8 @@ static u8 dummy[0x0c];
OSThread mDoDvdThd::l_thread;
mDoDvdThdStack mDoDvdThd::l_threadStack;
mDoDvdThd_param_c mDoDvdThd::l_param;
bool mDoDvdThd::SyncWidthSound;
u8 mDoDvdThd::sDefaultDirection;
bool mDoDvdThd::SyncWidthSound = false;
u8 mDoDvdThd::sDefaultDirection = JKRArchive::DEFAULT_MOUNT_DIRECTION;
/* 80017EF8-80017F54 .text main__9mDoDvdThdFPv */
s32 mDoDvdThd::main(void* userData) {
@@ -158,7 +158,7 @@ mDoDvdThd_mountArchive_c::mDoDvdThd_mountArchive_c(u8 direction) {
mEntryNum = -1;
mArchive = NULL;
mHeap = NULL;
if (direction == 0)
if (direction == JKRArchive::DEFAULT_MOUNT_DIRECTION)
mMountDirection = mDoDvdThd::sDefaultDirection;
}
@@ -186,7 +186,7 @@ BOOL mDoDvdThd_mountArchive_c::execute() {
while (true) {
JKRMemArchive* arc;
if (mMountDirection == 0) {
if (mMountDirection == JKRArchive::DEFAULT_MOUNT_DIRECTION) {
arc = new (heap, 0) JKRMemArchive(mEntryNum, JKRArchive::MOUNT_DIRECTION_HEAD);
} else {
arc = new (heap, -4) JKRMemArchive(mEntryNum, JKRArchive::MOUNT_DIRECTION_TAIL);
@@ -225,7 +225,7 @@ mDoDvdThd_mountXArchive_c::mDoDvdThd_mountXArchive_c(u8 direction, JKRArchive::E
mEntryNum = -1;
mArchive = NULL;
mMountMode = mountMode;
if (direction == 0)
if (direction == JKRArchive::DEFAULT_MOUNT_DIRECTION)
mMountDirection = mDoDvdThd::sDefaultDirection;
}
@@ -248,7 +248,12 @@ mDoDvdThd_mountXArchive_c* mDoDvdThd_mountXArchive_c::create(const char* path, u
/* 8001890C-80018984 .text execute__25mDoDvdThd_mountXArchive_cFv */
BOOL mDoDvdThd_mountXArchive_c::execute() {
JKRArchive::EMountDirection mountDir = mMountDirection == 0 ? JKRArchive::MOUNT_DIRECTION_HEAD : JKRArchive::MOUNT_DIRECTION_TAIL;
JKRArchive::EMountDirection mountDir;
if (mMountDirection == JKRArchive::DEFAULT_MOUNT_DIRECTION) {
mountDir = JKRArchive::MOUNT_DIRECTION_HEAD;
} else {
mountDir = JKRArchive::MOUNT_DIRECTION_TAIL;
}
mArchive = JKRArchive::mount(mEntryNum, mMountMode, mDoExt_getArchiveHeap(), mountDir);
BOOL ret = getArchive() != NULL;
mIsDone = true;
@@ -258,7 +263,7 @@ BOOL mDoDvdThd_mountXArchive_c::execute() {
/* 80018984-800189E0 .text __ct__21mDoDvdThd_toMainRam_cFUc */
mDoDvdThd_toMainRam_c::mDoDvdThd_toMainRam_c(u8 direction) {
mAllocDirection = direction;
if (direction == 0)
if (direction == JKRArchive::DEFAULT_MOUNT_DIRECTION)
mAllocDirection = mDoDvdThd::sDefaultDirection;
}
@@ -293,7 +298,12 @@ BOOL mDoDvdThd_toMainRam_c::execute() {
heap = mDoExt_getArchiveHeap();
}
JKRDvdRipper::EAllocDirection allocDir = mAllocDirection == 0 ? JKRDvdRipper::ALLOC_DIRECTION_FORWARD : JKRDvdRipper::ALLOC_DIRECTION_BACKWARD;
JKRDvdRipper::EAllocDirection allocDir;
if (mAllocDirection == JKRDvdRipper::DEFAULT_EALLOC_DIRECTION) {
allocDir = JKRDvdRipper::ALLOC_DIRECTION_FORWARD;
} else {
allocDir = JKRDvdRipper::ALLOC_DIRECTION_BACKWARD;
}
mData = JKRDvdRipper::loadToMainRAM(mEntryNum, NULL, EXPAND_SWITCH_UNKNOWN1, 0, heap, allocDir, 0, NULL);
if (mData != NULL)
mDataSize = heap->getSize(mData);