mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-07 13:23:27 -04:00
Add enums for island room numbers and indexes
This commit is contained in:
+114
-3
@@ -283,6 +283,115 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(dSv_player_collect_c) == 0xD);
|
||||
|
||||
enum dIslandRoomNo_e {
|
||||
// Room 0 on the sea is not an island, it's the sea floor, used to load islands as you sail.
|
||||
dIsleRoom_SeaFloor_e = 0,
|
||||
|
||||
/* 0x01 */ dIsleRoom_ForsakenFortress_e = 1,
|
||||
/* 0x02 */ dIsleRoom_StarIsland_e = 2,
|
||||
/* 0x03 */ dIsleRoom_NorthernFairyIsland_e = 3,
|
||||
/* 0x04 */ dIsleRoom_GaleIsle_e = 4,
|
||||
/* 0x05 */ dIsleRoom_CrescentMoonIsland_e = 5,
|
||||
/* 0x06 */ dIsleRoom_SevenStarIsles_e = 6,
|
||||
/* 0x07 */ dIsleRoom_OverlookIsland_e = 7,
|
||||
/* 0x08 */ dIsleRoom_FourEyeReef_e = 8,
|
||||
/* 0x09 */ dIsleRoom_MotherandChildIsles_e = 9,
|
||||
/* 0x0A */ dIsleRoom_SpectacleIsland_e = 10,
|
||||
/* 0x0B */ dIsleRoom_WindfallIsland_e = 11,
|
||||
/* 0x0C */ dIsleRoom_PawprintIsle_e = 12,
|
||||
/* 0x0D */ dIsleRoom_DragonRoostIsland_e = 13,
|
||||
/* 0x0E */ dIsleRoom_FlightControlPlatform_e = 14,
|
||||
/* 0x0F */ dIsleRoom_WesternFairyIsland_e = 15,
|
||||
/* 0x10 */ dIsleRoom_RockSpireIsle_e = 16,
|
||||
/* 0x11 */ dIsleRoom_TingleIsland_e = 17,
|
||||
/* 0x12 */ dIsleRoom_NorthernTriangleIsland_e = 18,
|
||||
/* 0x13 */ dIsleRoom_EasternFairyIsland_e = 19,
|
||||
/* 0x14 */ dIsleRoom_FireMountain_e = 20,
|
||||
/* 0x15 */ dIsleRoom_StarBeltArchipelago_e = 21,
|
||||
/* 0x16 */ dIsleRoom_ThreeEyeReef_e = 22,
|
||||
/* 0x17 */ dIsleRoom_GreatfishIsle_e = 23,
|
||||
/* 0x18 */ dIsleRoom_CyclopsReef_e = 24,
|
||||
/* 0x19 */ dIsleRoom_SixEyeReef_e = 25,
|
||||
/* 0x1A */ dIsleRoom_ToweroftheGods_e = 26,
|
||||
/* 0x1B */ dIsleRoom_EasternTriangleIsland_e = 27,
|
||||
/* 0x1C */ dIsleRoom_ThornedFairyIsland_e = 28,
|
||||
/* 0x1D */ dIsleRoom_NeedleRockIsle_e = 29,
|
||||
/* 0x1E */ dIsleRoom_IsletofSteel_e = 30,
|
||||
/* 0x1F */ dIsleRoom_StoneWatcherIsland_e = 31,
|
||||
/* 0x20 */ dIsleRoom_SouthernTriangleIsland_e = 32,
|
||||
/* 0x21 */ dIsleRoom_PrivateOasis_e = 33,
|
||||
/* 0x22 */ dIsleRoom_BombIsland_e = 34,
|
||||
/* 0x23 */ dIsleRoom_BirdsPeakRock_e = 35,
|
||||
/* 0x24 */ dIsleRoom_DiamondSteppeIsland_e = 36,
|
||||
/* 0x25 */ dIsleRoom_FiveEyeReef_e = 37,
|
||||
/* 0x26 */ dIsleRoom_SharkIsland_e = 38,
|
||||
/* 0x27 */ dIsleRoom_SouthernFairyIsland_e = 39,
|
||||
/* 0x28 */ dIsleRoom_IceRingIsle_e = 40,
|
||||
/* 0x29 */ dIsleRoom_ForestHaven_e = 41,
|
||||
/* 0x2A */ dIsleRoom_CliffPlateauIsles_e = 42,
|
||||
/* 0x2B */ dIsleRoom_HorseshoeIsland_e = 43,
|
||||
/* 0x2C */ dIsleRoom_OutsetIsland_e = 44,
|
||||
/* 0x2D */ dIsleRoom_HeadstoneIsland_e = 45,
|
||||
/* 0x2E */ dIsleRoom_TwoEyeReef_e = 46,
|
||||
/* 0x2F */ dIsleRoom_AngularIsles_e = 47,
|
||||
/* 0x30 */ dIsleRoom_BoatingCourse_e = 48,
|
||||
/* 0x31 */ dIsleRoom_FiveStarIsles_e = 49,
|
||||
};
|
||||
|
||||
enum dIslandIndex_e {
|
||||
dIsleIdx_ForsakenFortress_e = 0,
|
||||
dIsleIdx_StarIsland_e = 1,
|
||||
dIsleIdx_NorthernFairyIsland_e = 2,
|
||||
dIsleIdx_GaleIsle_e = 3,
|
||||
dIsleIdx_CrescentMoonIsland_e = 4,
|
||||
dIsleIdx_SevenStarIsles_e = 5,
|
||||
dIsleIdx_OverlookIsland_e = 6,
|
||||
dIsleIdx_FourEyeReef_e = 7,
|
||||
dIsleIdx_MotherandChildIsles_e = 8,
|
||||
dIsleIdx_SpectacleIsland_e = 9,
|
||||
dIsleIdx_WindfallIsland_e = 10,
|
||||
dIsleIdx_PawprintIsle_e = 11,
|
||||
dIsleIdx_DragonRoostIsland_e = 12,
|
||||
dIsleIdx_FlightControlPlatform_e = 13,
|
||||
dIsleIdx_WesternFairyIsland_e = 14,
|
||||
dIsleIdx_RockSpireIsle_e = 15,
|
||||
dIsleIdx_TingleIsland_e = 16,
|
||||
dIsleIdx_NorthernTriangleIsland_e = 17,
|
||||
dIsleIdx_EasternFairyIsland_e = 18,
|
||||
dIsleIdx_FireMountain_e = 19,
|
||||
dIsleIdx_StarBeltArchipelago_e = 20,
|
||||
dIsleIdx_ThreeEyeReef_e = 21,
|
||||
dIsleIdx_GreatfishIsle_e = 22,
|
||||
dIsleIdx_CyclopsReef_e = 23,
|
||||
dIsleIdx_SixEyeReef_e = 24,
|
||||
dIsleIdx_ToweroftheGods_e = 25,
|
||||
dIsleIdx_EasternTriangleIsland_e = 26,
|
||||
dIsleIdx_ThornedFairyIsland_e = 27,
|
||||
dIsleIdx_NeedleRockIsle_e = 28,
|
||||
dIsleIdx_IsletofSteel_e = 29,
|
||||
dIsleIdx_StoneWatcherIsland_e = 30,
|
||||
dIsleIdx_SouthernTriangleIsland_e = 31,
|
||||
dIsleIdx_PrivateOasis_e = 32,
|
||||
dIsleIdx_BombIsland_e = 33,
|
||||
dIsleIdx_BirdsPeakRock_e = 34,
|
||||
dIsleIdx_DiamondSteppeIsland_e = 35,
|
||||
dIsleIdx_FiveEyeReef_e = 36,
|
||||
dIsleIdx_SharkIsland_e = 37,
|
||||
dIsleIdx_SouthernFairyIsland_e = 38,
|
||||
dIsleIdx_IceRingIsle_e = 39,
|
||||
dIsleIdx_ForestHaven_e = 40,
|
||||
dIsleIdx_CliffPlateauIsles_e = 41,
|
||||
dIsleIdx_HorseshoeIsland_e = 42,
|
||||
dIsleIdx_OutsetIsland_e = 43,
|
||||
dIsleIdx_HeadstoneIsland_e = 44,
|
||||
dIsleIdx_TwoEyeReef_e = 45,
|
||||
dIsleIdx_AngularIsles_e = 46,
|
||||
dIsleIdx_BoatingCourse_e = 47,
|
||||
dIsleIdx_FiveStarIsles_e = 48,
|
||||
|
||||
dIsleIdx_COUNT_e = 49,
|
||||
};
|
||||
|
||||
class dSv_player_map_c {
|
||||
public:
|
||||
void init();
|
||||
@@ -306,7 +415,7 @@ public:
|
||||
BOOL isSaveArriveGridForAgb(int);
|
||||
|
||||
/* 0x00 */ u32 field_0x0[4][4];
|
||||
/* 0x40 */ u8 field_0x40[49];
|
||||
/* 0x40 */ u8 mFmapBits[dIsleIdx_COUNT_e];
|
||||
/* 0x71 */ u8 field_0x71[16];
|
||||
/* 0x81 */ u8 field_0x81;
|
||||
/* 0x82 */ u8 field_0x82[0x84 - 0x82];
|
||||
@@ -454,6 +563,8 @@ public:
|
||||
|
||||
dSv_player_status_c_c* getpPlayerStatusC(int i_idx) { return &mStatusC[i_idx]; }
|
||||
|
||||
static const int PLAYER_STATUS_C_COUNT = 4;
|
||||
|
||||
static const int PACKED_STRUCT_SIZE =
|
||||
sizeof(dSv_player_status_a_c) +
|
||||
sizeof(dSv_player_status_b_c) +
|
||||
@@ -470,7 +581,7 @@ public:
|
||||
sizeof(dSv_player_info_c) +
|
||||
sizeof(dSv_player_config_c) +
|
||||
sizeof(dSv_player_priest_c) +
|
||||
sizeof(dSv_player_status_c_c) * 4;
|
||||
sizeof(dSv_player_status_c_c) * PLAYER_STATUS_C_COUNT;
|
||||
|
||||
/* 0x000 */ dSv_player_status_a_c mPlayerStatusA;
|
||||
/* 0x018 */ dSv_player_status_b_c mPlayerStatusB;
|
||||
@@ -490,7 +601,7 @@ public:
|
||||
/* 0x1A4 */ dSv_player_config_c mConfig;
|
||||
/* 0x1A9 */ /* 3 bytes of alignment padding */
|
||||
/* 0x1AC */ dSv_player_priest_c mPriest;
|
||||
/* 0x1BC */ dSv_player_status_c_c mStatusC[4];
|
||||
/* 0x1BC */ dSv_player_status_c_c mStatusC[PLAYER_STATUS_C_COUNT];
|
||||
/* 0x37C */ /* 4 bytes of alignment padding */
|
||||
}; // Size: 0x380
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ JAIZelBasic::JAIZelBasic() {
|
||||
field_0x00c9 = 0;
|
||||
field_0x00ca = 0;
|
||||
mCameraSeaFloorGroupInfo = 0;
|
||||
mIslandRoomNo = 0;
|
||||
mIslandRoomNo = dIsleRoom_SeaFloor_e;
|
||||
mLinkSeaFloorGroupInfo = 0;
|
||||
field_0x021e = 0;
|
||||
field_0x00cb = -1;
|
||||
@@ -222,7 +222,7 @@ void JAIZelBasic::resetRecover() {
|
||||
data->field_0x48->stop(0);
|
||||
}
|
||||
}
|
||||
setScene(0, 0, 0, -1);
|
||||
setScene(0, dIsleRoom_SeaFloor_e, 0, -1);
|
||||
load1stDynamicWave();
|
||||
sceneBgmStart();
|
||||
load2ndDynamicWave();
|
||||
@@ -1022,7 +1022,7 @@ void JAIZelBasic::setCameraGroupInfo(u8 param_1) {
|
||||
}
|
||||
} else if (mCameraSeaFloorGroupInfo & 0x80) {
|
||||
OSReport("[JAIZelBasic::setCameraGroupInfo] Outer Edge -> Outer Sea\n");
|
||||
mIslandRoomNo = 0;
|
||||
mIslandRoomNo = dIsleRoom_SeaFloor_e;
|
||||
} else if ((mCameraSeaFloorGroupInfo & 0x40) == 0 && mCameraSeaFloorGroupInfo) {
|
||||
OSReport("[JAIZelBasic::setCameraGroupInfo] Inner Edge -> Inner Sea\n");
|
||||
}
|
||||
@@ -1034,7 +1034,7 @@ void JAIZelBasic::setCameraGroupInfo(u8 param_1) {
|
||||
/* 802A9F60-802AA2B8 .text changeSeaBgm__11JAIZelBasicFv */
|
||||
void JAIZelBasic::changeSeaBgm() {
|
||||
if (field_0x0224 != 0x12) { return; }
|
||||
if (mIslandRoomNo == 0) { return; }
|
||||
if (mIslandRoomNo == dIsleRoom_SeaFloor_e) { return; }
|
||||
if (mMainBgmNum == JA_BGM_DIE_LINK) { return; }
|
||||
if (!checkEventBit(dSv_evtBit_c::MET_KORL)) { return; }
|
||||
if (mAudioCamera->field_0x0 == NULL) { return; }
|
||||
@@ -1099,7 +1099,7 @@ void JAIZelBasic::startIsleBgm() {
|
||||
return;
|
||||
}
|
||||
u32 bgmNum;
|
||||
if (mIslandRoomNo == 44 && checkEventBit(0xe20) == 1) {
|
||||
if (mIslandRoomNo == dIsleRoom_OutsetIsland_e && checkEventBit(0xe20) == 1) {
|
||||
bgmNum = JA_BGM_ISLAND_LINK_3;
|
||||
} else {
|
||||
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
||||
@@ -1113,7 +1113,7 @@ void JAIZelBasic::setLinkGroupInfo(u8 param_1) {
|
||||
if (field_0x0224 != 0x12) {
|
||||
return;
|
||||
}
|
||||
if (mIslandRoomNo == 0) {
|
||||
if (mIslandRoomNo == dIsleRoom_SeaFloor_e) {
|
||||
return;
|
||||
}
|
||||
if (param_1 == mLinkSeaFloorGroupInfo) {
|
||||
@@ -1159,7 +1159,7 @@ void JAIZelBasic::setScene(s32 sceneNum, s32 roomNo, s32 param_3, s32 layerNo) {
|
||||
}
|
||||
OSReport(" --- Isle = %d\n", mIslandRoomNo);
|
||||
if (param_3 != 1) {
|
||||
if (mIslandRoomNo == 44) {
|
||||
if (mIslandRoomNo == dIsleRoom_OutsetIsland_e) {
|
||||
if (layerNo == 10) {
|
||||
bgmNum = 0;
|
||||
} else if (checkEventBit(0x3510) == 0) {
|
||||
@@ -1174,21 +1174,21 @@ void JAIZelBasic::setScene(s32 sceneNum, s32 roomNo, s32 param_3, s32 layerNo) {
|
||||
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
||||
bgmNum = expandSceneBgmNum(bgmNum);
|
||||
}
|
||||
} else if (mIslandRoomNo == 11) {
|
||||
} else if (mIslandRoomNo == dIsleRoom_WindfallIsland_e) {
|
||||
if (checkEventBit(0x2e01) == 0) {
|
||||
bgmNum = 0;
|
||||
} else {
|
||||
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
||||
bgmNum = expandSceneBgmNum(bgmNum);
|
||||
}
|
||||
} else if (mIslandRoomNo == 13) {
|
||||
} else if (mIslandRoomNo == dIsleRoom_DragonRoostIsland_e) {
|
||||
if (layerNo == 8 || layerNo == 10 || layerNo == 11) {
|
||||
bgmNum = 0;
|
||||
} else {
|
||||
bgmNum = m_isle_info[mIslandRoomNo].bgmNum;
|
||||
bgmNum = expandSceneBgmNum(bgmNum);
|
||||
}
|
||||
} else if (mIslandRoomNo == 14) {
|
||||
} else if (mIslandRoomNo == dIsleRoom_FlightControlPlatform_e) {
|
||||
if (layerNo == 2 || layerNo == 3) {
|
||||
bgmNum = 0;
|
||||
field_0x00bd = 1;
|
||||
@@ -1204,7 +1204,7 @@ void JAIZelBasic::setScene(s32 sceneNum, s32 roomNo, s32 param_3, s32 layerNo) {
|
||||
var1 = m_isle_info[mIslandRoomNo].field_0x2;
|
||||
var2 = m_isle_info[mIslandRoomNo].field_0x3;
|
||||
} else {
|
||||
mIslandRoomNo = 0;
|
||||
mIslandRoomNo = dIsleRoom_SeaFloor_e;
|
||||
if (sceneNum == 16 && checkEventBit(0x280) == 0) {
|
||||
bgmNum = JA_BGM_FIND_TETRA;
|
||||
} else if (sceneNum == 19 && checkEventBit(0x801) == 0) {
|
||||
@@ -1372,7 +1372,7 @@ u32 JAIZelBasic::expandSceneBgmNum(u32 bgmNum) {
|
||||
/* 802AAD0C-802AAD48 .text checkLinkOnSea__11JAIZelBasicFv */
|
||||
BOOL JAIZelBasic::checkLinkOnSea() {
|
||||
if (field_0x0224 == 0x12) {
|
||||
if (mIslandRoomNo == 0) {
|
||||
if (mIslandRoomNo == dIsleRoom_SeaFloor_e) {
|
||||
return TRUE;
|
||||
} else if (mLinkSeaFloorGroupInfo != 0) {
|
||||
return TRUE;
|
||||
@@ -1643,7 +1643,7 @@ int JAIZelBasic::checkOnOuterSea(f32* r4) {
|
||||
if (field_0x0224 != 0x12) {
|
||||
return -1;
|
||||
}
|
||||
if (mIslandRoomNo == 0) {
|
||||
if (mIslandRoomNo == dIsleRoom_SeaFloor_e) {
|
||||
return 4;
|
||||
}
|
||||
isle_area_s sp0C = mIsleArea[mIslandRoomNo];
|
||||
|
||||
@@ -907,7 +907,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x21 ? 0x30A : 0x30B;
|
||||
return roomNo == dIsleRoom_PrivateOasis_e ? 0x30A : 0x30B;
|
||||
}
|
||||
else {
|
||||
u8 num = dComIfGs_checkGetItemNum(dItem_JOY_PENDANT_e);
|
||||
@@ -922,7 +922,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x23 ? 0x311 : 0x310;
|
||||
return roomNo == dIsleRoom_BirdsPeakRock_e ? 0x311 : 0x310;
|
||||
}
|
||||
else {
|
||||
return 0x30F;
|
||||
@@ -1021,7 +1021,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x1D ? 0x31C : 0x31D;
|
||||
return roomNo == dIsleRoom_NeedleRockIsle_e ? 0x31C : 0x31D;
|
||||
}
|
||||
}
|
||||
if(!dComIfGs_isCollect(2, 0)) {
|
||||
@@ -1039,7 +1039,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x2C ? 0x325 : 0x324;
|
||||
return roomNo == dIsleRoom_OutsetIsland_e ? 0x325 : 0x324;
|
||||
}
|
||||
if(!dComIfGs_isGetCollectMap(7)) {
|
||||
#if VERSION == VERSION_JPN
|
||||
@@ -1047,7 +1047,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x1F ? 0x327 : 0x326;
|
||||
return roomNo == dIsleRoom_StoneWatcherIsland_e ? 0x327 : 0x326;
|
||||
}
|
||||
if(dComIfGs_checkGetItem(dItem_HOOKSHOT_e)) {
|
||||
#if VERSION == VERSION_JPN
|
||||
@@ -1055,7 +1055,7 @@ u32 daAgbsw0_c::TriforceCheck(daAgb_c* agb)
|
||||
#else
|
||||
int roomNo = agb->field_0x66d;
|
||||
#endif
|
||||
return roomNo == 0x7 ? 0x32C : 0x32D;
|
||||
return roomNo == dIsleRoom_OverlookIsland_e ? 0x32C : 0x32D;
|
||||
}
|
||||
|
||||
return 0x32B;
|
||||
|
||||
@@ -153,10 +153,10 @@ BOOL daLodbg_c::createModelData() {
|
||||
if (!loadModelData(resPath, mModelData, mDataHeap, mDataSize))
|
||||
return FALSE;
|
||||
|
||||
if (getRoomNo() == 11) { // windfall
|
||||
if (getRoomNo() == dIsleRoom_WindfallIsland_e) {
|
||||
if (!loadModelData("/lod11/bdl/shikari.bdl", mModelData2, mDataHeap2, mDataSize2))
|
||||
return FALSE;
|
||||
} else if (getRoomNo() == 1 && !dComIfGs_isEventBit(0x1820)) { // forsaken
|
||||
} else if (getRoomNo() == dIsleRoom_ForsakenFortress_e && !dComIfGs_isEventBit(0x1820)) {
|
||||
if (!loadModelData("/lod01/bdl/model1.bdl", mModelData2, mDataHeap2, mDataSize2))
|
||||
return FALSE;
|
||||
}
|
||||
@@ -170,7 +170,7 @@ BOOL daLodbg_c::createHeap() {
|
||||
mModel = mDoExt_J3DModel__create(mModelData, 0x80000, 0x11000022);
|
||||
if (mModel == NULL)
|
||||
return FALSE;
|
||||
if (getRoomNo() == 11) { // windfall
|
||||
if (getRoomNo() == dIsleRoom_WindfallIsland_e) {
|
||||
JUT_ASSERT(0x1bf, mModelData2 != NULL);
|
||||
for (s32 i = 0; i < 2; i++) {
|
||||
mModel2[i] = mDoExt_J3DModel__create(mModelData2, 0x80000, 0x11000022);
|
||||
@@ -180,7 +180,7 @@ BOOL daLodbg_c::createHeap() {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
} else if (getRoomNo() == 1 && mModelData2 != NULL) { // forsaken
|
||||
} else if (getRoomNo() == dIsleRoom_ForsakenFortress_e && mModelData2 != NULL) {
|
||||
mModel2[0] = mDoExt_J3DModel__create(mModelData2, 0x80000, 0x11000022);
|
||||
if (mModel2[0] == NULL) {
|
||||
mModel = NULL;
|
||||
@@ -267,7 +267,7 @@ BOOL daLodbg_c::execDeleteWait() {
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
if (mModel2[0] != NULL) {
|
||||
if (roomNo == 11) { // windfall
|
||||
if (roomNo == dIsleRoom_WindfallIsland_e) {
|
||||
mDrawModel2 = daObjLight::Act_c::renew_light_angle();
|
||||
if (mDrawModel2) {
|
||||
mDoMtx_stack_c::transS(630.46338f, y + 4044.508f, -202724.0f);
|
||||
@@ -276,7 +276,7 @@ BOOL daLodbg_c::execDeleteWait() {
|
||||
mDoMtx_stack_c::YrotM(-0x8000);
|
||||
mModel2[1]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
} else if (roomNo == 1) { // forsaken
|
||||
} else if (roomNo == dIsleRoom_ForsakenFortress_e) {
|
||||
mModel2[0]->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
mDrawModel2 = true;
|
||||
}
|
||||
@@ -303,7 +303,7 @@ BOOL daLodbg_c::draw() {
|
||||
return TRUE;
|
||||
|
||||
s32 roomNo = getRoomNo();
|
||||
if (roomNo == 26 && !dComIfGs_isEventBit(0x1e40)) // totg
|
||||
if (roomNo == dIsleRoom_ToweroftheGods_e && !dComIfGs_isEventBit(0x1e40))
|
||||
return TRUE;
|
||||
|
||||
g_env_light.settingTevStruct(TEV_TYPE_BG0, NULL, &tevStr);
|
||||
@@ -317,7 +317,7 @@ BOOL daLodbg_c::draw() {
|
||||
mDoExt_modelEntryDL(mModel);
|
||||
|
||||
if (mModel2[0] != NULL && mDrawModel2) {
|
||||
if (roomNo == 11) { // windfall
|
||||
if (roomNo == dIsleRoom_WindfallIsland_e) {
|
||||
J3DModelData* modelData = mModel2[0]->getModelData();
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++)
|
||||
modelData->getMaterialNodePointer(i)->getTevKColor(3)->mColor.a = mAlpha;
|
||||
@@ -327,7 +327,7 @@ BOOL daLodbg_c::draw() {
|
||||
mDoLib_clipper::clip(mModel2[i]);
|
||||
mDoExt_modelEntryDL(mModel2[i]);
|
||||
}
|
||||
} else if (roomNo == 1) { // forsaken
|
||||
} else if (roomNo == dIsleRoom_ForsakenFortress_e) {
|
||||
g_env_light.setLightTevColorType(mModel2[0], &tevStr);
|
||||
J3DModelData* modelData = mModel2[0]->getModelData(); // ??? was this supposed to modify mModel2?
|
||||
for (u16 i = 0; i < modelData->getMaterialNum(); i++)
|
||||
|
||||
@@ -261,7 +261,7 @@ s32 daObjTpost_c::getReadableLetterNum() {
|
||||
|
||||
/* 00000750-000007B8 .text checkSendPrice__12daObjTpost_cFv */
|
||||
u8 daObjTpost_c::checkSendPrice() {
|
||||
static const u8 pay_type[49] = {
|
||||
static const u8 pay_type[dIsleIdx_COUNT_e] = {
|
||||
02,
|
||||
01,
|
||||
01,
|
||||
|
||||
@@ -3135,7 +3135,8 @@ BOOL daPy_lk_c::startRestartRoom(u32 mode, int eventInfoIdx, f32 param_3, int i_
|
||||
mTinkleShieldTimer = 0;
|
||||
|
||||
if (stageType == dStageType_SEA_e && !dComIfGs_isEventBit(dSv_evtBit_c::RODE_KORL) &&
|
||||
(current.roomNo == 11 || current.roomNo == 44) && dStage_chkPlayerId(0x80, current.roomNo))
|
||||
(current.roomNo == dIsleRoom_WindfallIsland_e || current.roomNo == dIsleRoom_OutsetIsland_e) &&
|
||||
dStage_chkPlayerId(0x80, current.roomNo))
|
||||
{
|
||||
dComIfGp_setNextStage(dComIfGp_getStartStageName(), 0x80, current.roomNo, -1, 0.0f, mode);
|
||||
u32 roomParam = setParamData(-1, 0, eventInfoIdx, 0);
|
||||
|
||||
@@ -31,7 +31,7 @@ s32 daTagvolcano::Act_c::_create() {
|
||||
field_0x2a0 = 0;
|
||||
|
||||
if (mType == 0) {
|
||||
if (current.roomNo == 20) {
|
||||
if (current.roomNo == dIsleRoom_FireMountain_e) {
|
||||
if (dComIfGs_isEventBit(0x1902)) {
|
||||
fopAcM_onSwitch(this, prm_get_swSave());
|
||||
} else if (dComIfGs_getStartPoint() == 2 && current.roomNo == dComIfGs_getRestartRoomNo()) {
|
||||
@@ -113,7 +113,7 @@ bool daTagvolcano::Act_c::_execute() {
|
||||
}
|
||||
} else {
|
||||
u16 timer = prm_get_timer() * 10;
|
||||
if (current.roomNo == 20) {
|
||||
if (current.roomNo == dIsleRoom_FireMountain_e) {
|
||||
if (dComIfGp_evmng_endCheck("FREEZE_VOLCANO")) {
|
||||
dTimer_createTimer(3, timer, 1, 0, 221.0f, 439.0f, 32.0f, 419.0f);
|
||||
field_0x298 = 1;
|
||||
|
||||
@@ -193,7 +193,7 @@ int dComIfG_play_c::getLayerNo(int i_roomNo) {
|
||||
}
|
||||
|
||||
if (strcmp(dComIfGp_getStartStageName(), "sea") == 0) {
|
||||
if (i_roomNo == 44) {
|
||||
if (i_roomNo == dIsleRoom_OutsetIsland_e) {
|
||||
if (dComIfGs_isEventBit(0x520)) {
|
||||
return layer | 4;
|
||||
} else if (dComIfGs_isEventBit(0xE20)) {
|
||||
@@ -201,13 +201,13 @@ int dComIfG_play_c::getLayerNo(int i_roomNo) {
|
||||
} else if (dComIfGs_isEventBit(0x101)) {
|
||||
return 9;
|
||||
}
|
||||
} else if (i_roomNo == 11) {
|
||||
} else if (i_roomNo == dIsleRoom_WindfallIsland_e) {
|
||||
if (dComIfGs_isEventBit(0x2D01)) {
|
||||
return layer | 4;
|
||||
} else if (dKy_checkEventNightStop()) {
|
||||
return layer | 2;
|
||||
}
|
||||
} else if (i_roomNo == 1) {
|
||||
} else if (i_roomNo == dIsleRoom_ForsakenFortress_e) {
|
||||
return dComIfGs_isEventBit(0x1820) ? 3 : 1;
|
||||
}
|
||||
} else if (strcmp(dComIfGp_getStartStageName(), "A_mori") == 0) {
|
||||
@@ -1211,7 +1211,7 @@ void dComIfGs_setGameStartStage() {
|
||||
point = 0;
|
||||
} else {
|
||||
strcpy(stage_name, "sea");
|
||||
room_no = 11;
|
||||
room_no = dIsleRoom_WindfallIsland_e;
|
||||
point = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+7
-4
@@ -2065,10 +2065,13 @@ BOOL phantomship_wether() {
|
||||
|
||||
if (cur_time > 285.0f || cur_time < 90.0f) {
|
||||
s32 roomNo = dComIfGp_roomControl_getStayNo();
|
||||
if ((roomNo == 5 && weekday == 0) || (roomNo == 36 && weekday == 1) ||
|
||||
(roomNo == 34 && weekday == 2) || (roomNo == 10 && weekday == 3) ||
|
||||
(roomNo == 49 && weekday == 4) || (roomNo == 21 && weekday == 5) ||
|
||||
(roomNo == 23 && weekday == 6))
|
||||
if ((roomNo == dIsleRoom_CrescentMoonIsland_e && weekday == 0) ||
|
||||
(roomNo == dIsleRoom_DiamondSteppeIsland_e && weekday == 1) ||
|
||||
(roomNo == dIsleRoom_BombIsland_e && weekday == 2) ||
|
||||
(roomNo == dIsleRoom_SpectacleIsland_e && weekday == 3) ||
|
||||
(roomNo == dIsleRoom_FiveStarIsles_e && weekday == 4) ||
|
||||
(roomNo == dIsleRoom_StarBeltArchipelago_e && weekday == 5) ||
|
||||
(roomNo == dIsleRoom_GreatfishIsle_e && weekday == 6))
|
||||
{
|
||||
rt = true;
|
||||
}
|
||||
|
||||
+3
-1
@@ -275,7 +275,9 @@ s32 phase_4(room_of_scene_class* i_this) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "Omori") == 0 && dComIfGs_checkGetItem(dItem_PEARL_FARORE_e))
|
||||
i_this->field_0x1dc = 2;
|
||||
|
||||
if (roomNo == 13) {
|
||||
// Bug? The game seems to set these flags for DRI even when you're not on the sea stage.
|
||||
// TODO: Look into this more.
|
||||
if (roomNo == dIsleRoom_DragonRoostIsland_e) {
|
||||
dComIfGs_setEventReg(0xb8ff, 0);
|
||||
if (dComIfGs_isEventBit(0x3f02))
|
||||
dComIfGs_onEventBit(0x1580);
|
||||
|
||||
+11
-11
@@ -56,7 +56,7 @@ void dSv_player_status_b_c::init() {
|
||||
/* 80058B84-80058BC8 .text init__25dSv_player_return_place_cFv */
|
||||
void dSv_player_return_place_c::init() {
|
||||
strcpy(mName, "sea");
|
||||
mRoomNo = 44;
|
||||
mRoomNo = dIsleRoom_OutsetIsland_e;
|
||||
mPoint = 206;
|
||||
}
|
||||
|
||||
@@ -793,23 +793,23 @@ int dSv_player_collect_c::getTriforceNum() {
|
||||
|
||||
/* 8005B290-8005B320 .text init__16dSv_player_map_cFv */
|
||||
void dSv_player_map_c::init() {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int i = 0; i < ARRAY_SIZE(field_0x0[0]); i++) {
|
||||
field_0x0[0][i] = 0;
|
||||
field_0x0[1][i] = 0;
|
||||
field_0x0[2][i] = 0;
|
||||
field_0x0[3][i] = 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < 49; i++) {
|
||||
field_0x40[i] = 0;
|
||||
for (int i = 0; i < ARRAY_SIZE(mFmapBits); i++) {
|
||||
mFmapBits[i] = 0;
|
||||
}
|
||||
|
||||
field_0x81 = 0;
|
||||
field_0x40[0] = 3;
|
||||
field_0x40[43] = 3;
|
||||
field_0x40[10] = 3;
|
||||
mFmapBits[dIsleIdx_ForsakenFortress_e] = 1 | 2;
|
||||
mFmapBits[dIsleIdx_OutsetIsland_e] = 1 | 2;
|
||||
mFmapBits[dIsleIdx_WindfallIsland_e] = 1 | 2;
|
||||
|
||||
for (int i = 0; i < 16; i++) {
|
||||
for (int i = 0; i < ARRAY_SIZE(field_0x71); i++) {
|
||||
field_0x71[i] = 0;
|
||||
}
|
||||
}
|
||||
@@ -895,13 +895,13 @@ int dSv_player_map_c::getCollectMapNum() {
|
||||
/* 8005BAE8-8005BB84 .text onFmapBit__16dSv_player_map_cFiUc */
|
||||
void dSv_player_map_c::onFmapBit(int i_idx, u8 i_no) {
|
||||
JUT_ASSERT(1957, 0 <= i_no && i_no < 8);
|
||||
field_0x40[i_idx] |= (u8)(1 << i_no);
|
||||
mFmapBits[i_idx] |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005BB84-8005BC24 .text isFmapBit__16dSv_player_map_cFiUc */
|
||||
BOOL dSv_player_map_c::isFmapBit(int i_idx, u8 i_no) {
|
||||
JUT_ASSERT(1987, 0 <= i_no && i_no < 8);
|
||||
return field_0x40[i_idx] & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
return mFmapBits[i_idx] & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005BC24-8005BCBC .text onSaveArriveGrid__16dSv_player_map_cFi */
|
||||
@@ -1693,7 +1693,7 @@ int dSv_info_c::memory_to_card(char* i_cardPtr, int i_dataNum) {
|
||||
memcpy(buffer, dComIfGs_getpPriest(), sizeof(dSv_player_priest_c));
|
||||
buffer += sizeof(dSv_player_priest_c);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
for (int i = 0; i < dSv_player_c::PLAYER_STATUS_C_COUNT; i++) {
|
||||
memcpy(buffer, dComIfGs_getpPlayerStatusC(i), sizeof(dSv_player_status_c_c));
|
||||
buffer += sizeof(dSv_player_status_c_c);
|
||||
}
|
||||
|
||||
+2
-2
@@ -1866,8 +1866,8 @@ bool dStage_setShipPos(int param_0, int i_roomNo) {
|
||||
}
|
||||
|
||||
/* 80042B10-80042B70 .text dStage_chkTaura__Fi */
|
||||
bool dStage_chkTaura(int param_0) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "sea") == 0 && param_0 == 11) {
|
||||
bool dStage_chkTaura(int i_roomNo) {
|
||||
if (strcmp(dComIfGp_getStartStageName(), "sea") == 0 && i_roomNo == dIsleRoom_WindfallIsland_e) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -219,9 +219,9 @@ int mDoAud_getTactDirection(int stick, int ret) {
|
||||
}
|
||||
|
||||
/* 800073D8-80007424 .text mDoAud_setSceneName__FPCcll */
|
||||
void mDoAud_setSceneName(const char* i_name, s32 i_point, s32 i_layer) {
|
||||
void mDoAud_setSceneName(const char* i_name, s32 i_roomNo, s32 i_layer) {
|
||||
if (mDoAud_zelAudio_c::getLoadTimer() == 0) {
|
||||
mDoAud_zelAudio_c::getInterface()->setSceneName((char*)i_name, i_point, i_layer);
|
||||
mDoAud_zelAudio_c::getInterface()->setSceneName((char*)i_name, i_roomNo, i_layer);
|
||||
mDoAud_zelAudio_c::setLoadTimer(36);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user