mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
More demo work
This commit is contained in:
+2
-2
@@ -453,7 +453,7 @@ config.libs = [
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_lib.cpp"),
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_save.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(Matching, "d/d_save_init.cpp"),
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_shop.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(Matching, "d/d_shop.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_jnt_hit.cpp"),
|
||||
Object(Matching, "d/d_chain.cpp"),
|
||||
Object(NonMatching, "d/d_cloth_packet.cpp"),
|
||||
@@ -468,7 +468,7 @@ config.libs = [
|
||||
Object(Matching, "d/d_a_item_static.cpp"),
|
||||
Object(Matching, "d/d_a_shop_item_static.cpp"),
|
||||
Object(Matching, "d/d_a_race_item_static.cpp"),
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_a_leaflift_static.cpp"),
|
||||
Object(Matching, "d/d_a_leaflift_static.cpp"),
|
||||
Object(NonMatching, "d/d_demo.cpp"),
|
||||
Object(Equivalent, "d/d_door.cpp", extra_cflags=['-pragma "nosyminline on"']), # weak func order
|
||||
Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_resorce.cpp", extra_cflags=['-pragma "nosyminline on"']),
|
||||
|
||||
@@ -571,8 +571,7 @@ struct J3DZMode {
|
||||
u8 getUpdateEnable() const { return j3dZModeTable[mZModeID * 3 + 2]; }
|
||||
|
||||
void setZModeInfo(const J3DZModeInfo& info) {
|
||||
u8 compareEn = info.mCompareEnable;
|
||||
mZModeID = calcZModeID(compareEn, info.mFunc, info.mUpdateEnable);
|
||||
mZModeID = calcZModeID(info.mCompareEnable, info.mFunc, info.mUpdateEnable);
|
||||
}
|
||||
|
||||
void load() const {
|
||||
|
||||
+22
-10
@@ -117,6 +117,12 @@ BOOL daVrbox2_color_set(vrbox2_class* i_this) {
|
||||
windNrmVec = *windVec;
|
||||
|
||||
if (dStage_stagInfo_GetSTType(dComIfGp_getStageStagInfo()) == dStageType_MISC_e) {
|
||||
#if VERSION == VERSION_DEMO
|
||||
int windX;
|
||||
int windY;
|
||||
windX = g_env_light.mWind.mTactWindAngleX;
|
||||
windY = g_env_light.mWind.mTactWindAngleY;
|
||||
#else
|
||||
s16 stageWindY = 0;
|
||||
if (strcmp(dComIfGp_getStartStageName(), "LinkRM") == 0)
|
||||
stageWindY = 0x4000;
|
||||
@@ -129,23 +135,24 @@ BOOL daVrbox2_color_set(vrbox2_class* i_this) {
|
||||
else if (strcmp(dComIfGp_getStartStageName(), "Onobuta") == 0)
|
||||
stageWindY = 0x4000;
|
||||
|
||||
s32 windY2;
|
||||
s16 windY;
|
||||
s32 windX;
|
||||
s16 windY_s16; // Fakematch?
|
||||
int windX;
|
||||
int windY;
|
||||
if (dComIfGs_getWindX() == -1 && dComIfGs_getWindY() == -1) {
|
||||
windX = 0;
|
||||
windY = 0;
|
||||
windY_s16 = 0;
|
||||
} else {
|
||||
windX = g_env_light.mWind.mTactWindAngleX;
|
||||
windY = g_env_light.mWind.mTactWindAngleY;
|
||||
windY_s16 = g_env_light.mWind.mTactWindAngleY;
|
||||
}
|
||||
|
||||
windY += stageWindY;
|
||||
windY2 = windY;
|
||||
windY_s16 += stageWindY;
|
||||
windY = windY_s16;
|
||||
#endif
|
||||
|
||||
windNrmVec.x = cM_scos(windX) * cM_scos(windY2);
|
||||
windNrmVec.x = cM_scos(windX) * cM_scos(windY);
|
||||
windNrmVec.y = cM_ssin(windX);
|
||||
windNrmVec.z = cM_scos(windX) * cM_ssin(windY2);
|
||||
windNrmVec.z = cM_scos(windX) * cM_ssin(windY);
|
||||
windPow = 0.6f;
|
||||
}
|
||||
|
||||
@@ -257,7 +264,7 @@ static BOOL daVrbox2_solidHeapCB(fopAc_ac_c* i_actor) {
|
||||
vrbox2_class* i_this = static_cast<vrbox2_class*>(i_actor);
|
||||
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getStageRes("Stage", "vr_back_cloud.bdl");
|
||||
JUT_ASSERT(0x211, modelData != NULL);
|
||||
JUT_ASSERT(VERSION_SELECT(511, 529, 529, 529), modelData != NULL);
|
||||
i_this->mpBackCloud = mDoExt_J3DModel__create(modelData, 0x80000, 0x11020202);
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getStageRes("Stage", "vr_kasumi_mae.bdl");
|
||||
@@ -279,9 +286,14 @@ static cPhs_State daVrbox2_Create(fopAc_ac_c* i_actor) {
|
||||
fopAcM_SetupActor(i_actor, vrbox2_class);
|
||||
vrbox2_class* i_this = static_cast<vrbox2_class*>(i_actor);
|
||||
|
||||
#if VERSION == VERSION_DEMO
|
||||
fopAcM_entrySolidHeap(i_this, daVrbox2_solidHeapCB, 0x21a0);
|
||||
cPhs_State phase_state = cPhs_COMPLEATE_e;
|
||||
#else
|
||||
cPhs_State phase_state = cPhs_COMPLEATE_e;
|
||||
if (!fopAcM_entrySolidHeap(i_this, daVrbox2_solidHeapCB, 0x21a0))
|
||||
phase_state = cPhs_ERROR_e;
|
||||
#endif
|
||||
|
||||
return phase_state;
|
||||
}
|
||||
|
||||
@@ -18,13 +18,15 @@ BOOL daLlift_c::checkEndDownLift() {
|
||||
|
||||
/* 80069100-800692C4 .text MoveUpLift__9daLlift_cFv */
|
||||
BOOL daLlift_c::MoveUpLift() {
|
||||
f32 max_speed = m_max_speed;
|
||||
f32 min_speed = m_min_speed;
|
||||
cXyz upLiftPos;
|
||||
bool res = FALSE;
|
||||
mEmitterTimer++;
|
||||
if (current.pos.y != home.pos.y + m_height) {
|
||||
m43D = TRUE;
|
||||
}
|
||||
float upVel = cLib_addCalc(¤t.pos.y, home.pos.y + m_height, 0.1f, m_max_speed, m_min_speed);
|
||||
f32 upVel = cLib_addCalc(¤t.pos.y, home.pos.y + m_height, 0.1f, max_speed, min_speed);
|
||||
if (upVel == 0.0f) {
|
||||
mbIsAscending = FALSE;
|
||||
res = TRUE;
|
||||
|
||||
+24
-21
@@ -141,38 +141,41 @@ namespace daObj {
|
||||
}
|
||||
|
||||
/* 80066D6C-8006700C .text posMoveF_grade__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzffPC4cXyzffPC4cXyz */
|
||||
void posMoveF_grade(fopAc_ac_c* pActor, const cXyz* pAddVel, const cXyz* stream_spd, f32 param_4, f32 param_5, const cXyz* pNorm, f32 friction, f32 no_grade_cos, const cXyz* pAddAccel) {
|
||||
/* Nonmatching */
|
||||
JUT_ASSERT(0x118, stream_spd != NULL)
|
||||
void posMoveF_grade(fopAc_ac_c* i_actor, const cXyz* p_add_vel, const cXyz* stream_spd, f32 param_4,
|
||||
f32 param_5, const cXyz* pNorm, f32 friction, f32 no_grade_cos, const cXyz* p_add_accel
|
||||
) {
|
||||
JUT_ASSERT(280, stream_spd != NULL)
|
||||
|
||||
cXyz resist_accel;
|
||||
posMoveF_resist_acc(&resist_accel, pActor, stream_spd, param_4, param_5);
|
||||
posMoveF_resist_acc(&resist_accel, i_actor, stream_spd, param_4, param_5);
|
||||
|
||||
JUT_ASSERT(0x121, (friction >= 0.0f) && (friction < 1.0f) && (no_grade_cos >= 0.0f) && (no_grade_cos <= 1.0f))
|
||||
JUT_ASSERT(289, (friction >= 0.0f) && (friction < 1.0f) && (no_grade_cos >= 0.0f) && (no_grade_cos <= 1.0f))
|
||||
|
||||
cXyz vel;
|
||||
posMoveF_grade_acc(&vel, pActor, pNorm, param_5, param_4, &resist_accel, pAddAccel);
|
||||
posMoveF_grade_acc(&vel, i_actor, pNorm, friction, no_grade_cos, &resist_accel, p_add_accel);
|
||||
|
||||
f32 spf = pActor->speedF;
|
||||
f32 grav = pActor->gravity;
|
||||
f32 speedF = fopAcM_GetSpeedF(i_actor);
|
||||
f32 gravity = fopAcM_GetGravity(i_actor);
|
||||
cXyz* speed_p = fopAcM_GetSpeed_p(i_actor);
|
||||
|
||||
f32 x = spf * cM_ssin(pActor->current.angle.y) + resist_accel.x + vel.x;
|
||||
f32 y = pActor->speed.y + grav + resist_accel.y + vel.y;
|
||||
f32 z = spf * cM_scos(pActor->current.angle.y) + resist_accel.z + vel.z;
|
||||
if(pAddAccel) {
|
||||
x += pAddAccel->x;
|
||||
y += pAddAccel->y;
|
||||
z += pAddAccel->z;
|
||||
f32 speed_x = vel.x + (resist_accel.x + (speedF * cM_ssin(i_actor->current.angle.y)));
|
||||
f32 speed_y = vel.y + (resist_accel.y + (speed_p->y + gravity));
|
||||
f32 speed_z = vel.z + (resist_accel.z + (speedF * cM_scos(i_actor->current.angle.y)));
|
||||
|
||||
if(p_add_accel) {
|
||||
speed_x += p_add_accel->x;
|
||||
speed_y += p_add_accel->y;
|
||||
speed_z += p_add_accel->z;
|
||||
}
|
||||
|
||||
if(y < pActor->maxFallSpeed) {
|
||||
y = pActor->maxFallSpeed;
|
||||
if(speed_y < fopAcM_GetMaxFallSpeed(i_actor)) {
|
||||
speed_y = fopAcM_GetMaxFallSpeed(i_actor);
|
||||
}
|
||||
|
||||
pActor->speed.set(x, y, z);
|
||||
pActor->speedF = std::sqrtf(x * x + z * z);
|
||||
pActor->current.angle.y = cM_atan2s(spf, grav);
|
||||
fopAcM_posMove(pActor, pAddVel);
|
||||
fopAcM_SetSpeed(i_actor, speed_x, speed_y, speed_z);
|
||||
i_actor->speedF = std::sqrtf(speed_x * speed_x + speed_z * speed_z);
|
||||
i_actor->current.angle.y = cM_atan2s(speed_x, speed_z);
|
||||
fopAcM_posMove(i_actor, p_add_vel);
|
||||
}
|
||||
|
||||
/* 8006700C-800671D4 .text quat_rotBaseY__5daObjFP10QuaternionRC4cXyz */
|
||||
|
||||
+13
-4
@@ -89,7 +89,11 @@ s32 dDoor_info_c::frontCheckOld() {
|
||||
cSAngle angle1;
|
||||
angle1 = (globe.U() - current.angle.y);
|
||||
s16 angle = angle1.Abs();
|
||||
#if VERSION == VERSION_DEMO
|
||||
if (angle < 0x4000)
|
||||
#else
|
||||
if (angle < 0x4000 && angle >= 0)
|
||||
#endif
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
@@ -200,14 +204,19 @@ void dDoor_info_c::makeEventId(int spl) {
|
||||
mEventIdx[i] = dComIfGp_evmng_getEventIdx(table[i], mToolId[i]);
|
||||
}
|
||||
|
||||
s16 r27;
|
||||
switch (spl) {
|
||||
case 1:
|
||||
mEventIdx[2] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_10", mToolId[2]);
|
||||
mEventIdx[3] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_10", mToolId[3]);
|
||||
r27 = 2;
|
||||
mEventIdx[r27] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_10", mToolId[r27]);
|
||||
r27 = 3;
|
||||
mEventIdx[r27] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_10", mToolId[r27]);
|
||||
break;
|
||||
case 2:
|
||||
mEventIdx[2] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_12", mToolId[2]);
|
||||
mEventIdx[3] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_12", mToolId[3]);
|
||||
r27 = 2;
|
||||
mEventIdx[r27] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_12", mToolId[r27]);
|
||||
r27 = 3;
|
||||
mEventIdx[r27] = dComIfGp_evmng_getEventIdx("DEFAULT_SHUTTER_DOOR_12", mToolId[r27]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+99
-87
@@ -41,7 +41,9 @@ void dSv_player_status_a_c::init() {
|
||||
mMagic = 0;
|
||||
field_0x15 = 0;
|
||||
field_0x6 = 0;
|
||||
#if VERSION > VERSION_DEMO
|
||||
field_0x16 = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80058B54-80058B84 .text init__21dSv_player_status_b_cFv */
|
||||
@@ -51,7 +53,9 @@ void dSv_player_status_b_c::init() {
|
||||
mTime = 165.0f;
|
||||
mDate = 0;
|
||||
mDateIPL = 0;
|
||||
#if VERSION > VERSION_DEMO
|
||||
field_0x8 = 0.0f;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 80058B84-80058BC8 .text init__25dSv_player_return_place_cFv */
|
||||
@@ -63,7 +67,7 @@ void dSv_player_return_place_c::init() {
|
||||
|
||||
/* 80058BC8-80058C60 .text set__25dSv_player_return_place_cFPCcScUc */
|
||||
void dSv_player_return_place_c::set(const char* i_name, s8 i_roomNo, u8 i_status) {
|
||||
JUT_ASSERT(179, strlen(i_name) <= 7);
|
||||
JUT_ASSERT(VERSION_SELECT(173, 179, 179, 179), strlen(i_name) <= 7);
|
||||
|
||||
strcpy(mName, i_name);
|
||||
mRoomNo = i_roomNo;
|
||||
@@ -197,14 +201,14 @@ void dSv_player_get_item_c::init() {
|
||||
|
||||
/* 800594C4-8005955C .text onItem__21dSv_player_get_item_cFiUc */
|
||||
void dSv_player_get_item_c::onItem(int i_field, u8 i_item) {
|
||||
JUT_ASSERT(399, 0 <= i_item && i_item < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(393, 399, 399, 399), 0 <= i_item && i_item < 8);
|
||||
|
||||
mItemFlags[i_field] |= (u8)(1 << i_item);
|
||||
}
|
||||
|
||||
/* 8005955C-800595F8 .text isItem__21dSv_player_get_item_cFiUc */
|
||||
BOOL dSv_player_get_item_c::isItem(int i_field, u8 i_item) {
|
||||
JUT_ASSERT(429, 0 <= i_item && i_item < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(423, 429, 429, 429), 0 <= i_item && i_item < 8);
|
||||
|
||||
return mItemFlags[i_field] & (u8)(1 << i_item) ? TRUE : FALSE;
|
||||
}
|
||||
@@ -663,37 +667,37 @@ void dSv_player_get_bag_item_c::init() {
|
||||
|
||||
/* 8005A8CC-8005A960 .text onBeast__25dSv_player_get_bag_item_cFUc */
|
||||
void dSv_player_get_bag_item_c::onBeast(u8 i_no) {
|
||||
JUT_ASSERT(1235, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1229, 1235, 1235, 1235), 0 <= i_no && i_no < 8);
|
||||
mBeastFlags |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005A960-8005A9F8 .text isBeast__25dSv_player_get_bag_item_cFUc */
|
||||
BOOL dSv_player_get_bag_item_c::isBeast(u8 i_no) {
|
||||
JUT_ASSERT(1265, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1259, 1265, 1265, 1265), 0 <= i_no && i_no < 8);
|
||||
return mBeastFlags & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005A9F8-8005AA8C .text onBait__25dSv_player_get_bag_item_cFUc */
|
||||
void dSv_player_get_bag_item_c::onBait(u8 i_no) {
|
||||
JUT_ASSERT(1280, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1274, 1280, 1280, 1280), 0 <= i_no && i_no < 8);
|
||||
mBaitFlags |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005AA8C-8005AB24 .text isBait__25dSv_player_get_bag_item_cFUc */
|
||||
BOOL dSv_player_get_bag_item_c::isBait(u8 i_no) {
|
||||
JUT_ASSERT(1310, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1304, 1310, 1310, 1310), 0 <= i_no && i_no < 8);
|
||||
return mBaitFlags & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005AB24-8005ABB4 .text onReserve__25dSv_player_get_bag_item_cFUc */
|
||||
void dSv_player_get_bag_item_c::onReserve(u8 i_no) {
|
||||
JUT_ASSERT(1325, 0 <= i_no && i_no < 32);
|
||||
JUT_ASSERT(VERSION_SELECT(1319, 1325, 1325, 1325), 0 <= i_no && i_no < 32);
|
||||
mReserveFlags |= (1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005ABB4-8005AC48 .text isReserve__25dSv_player_get_bag_item_cFUc */
|
||||
BOOL dSv_player_get_bag_item_c::isReserve(u8 i_no) {
|
||||
JUT_ASSERT(1355, 0 <= i_no && i_no < 32);
|
||||
JUT_ASSERT(VERSION_SELECT(1349, 1355, 1355, 1355), 0 <= i_no && i_no < 32);
|
||||
return mReserveFlags & (1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -727,55 +731,55 @@ void dSv_player_collect_c::init() {
|
||||
|
||||
/* 8005ACE0-8005AD78 .text onCollect__20dSv_player_collect_cFiUc */
|
||||
void dSv_player_collect_c::onCollect(int i_idx, u8 i_item) {
|
||||
JUT_ASSERT(1412, 0 <= i_item && i_item < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1406, 1412, 1412, 1412), 0 <= i_item && i_item < 8);
|
||||
mCollect[i_idx] |= (u8)(1 << i_item);
|
||||
}
|
||||
|
||||
/* 8005AD78-8005AE10 .text offCollect__20dSv_player_collect_cFiUc */
|
||||
void dSv_player_collect_c::offCollect(int i_idx, u8 i_item) {
|
||||
JUT_ASSERT(1427, 0 <= i_item && i_item < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1421, 1427, 1427, 1427), 0 <= i_item && i_item < 8);
|
||||
mCollect[i_idx] &= ~(u8)(1 << i_item);
|
||||
}
|
||||
|
||||
/* 8005AE10-8005AEAC .text isCollect__20dSv_player_collect_cFiUc */
|
||||
BOOL dSv_player_collect_c::isCollect(int i_idx, u8 i_item) {
|
||||
JUT_ASSERT(1442, 0 <= i_item && i_item < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1436, 1442, 1442, 1442), 0 <= i_item && i_item < 8);
|
||||
return mCollect[i_idx] & (u8)(1 << i_item) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005AEAC-8005AF40 .text onTact__20dSv_player_collect_cFUc */
|
||||
void dSv_player_collect_c::onTact(u8 i_no) {
|
||||
JUT_ASSERT(1502, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1496, 1502, 1502, 1502), 0 <= i_no && i_no < 8);
|
||||
mTact |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005AF40-8005AFD8 .text isTact__20dSv_player_collect_cFUc */
|
||||
BOOL dSv_player_collect_c::isTact(u8 i_no) {
|
||||
JUT_ASSERT(1532, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1526, 1532, 1532, 1532), 0 <= i_no && i_no < 8);
|
||||
return mTact & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005AFD8-8005B06C .text onTriforce__20dSv_player_collect_cFUc */
|
||||
void dSv_player_collect_c::onTriforce(u8 i_no) {
|
||||
JUT_ASSERT(1547, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1541, 1547, 1547, 1547), 0 <= i_no && i_no < 8);
|
||||
mTriforce |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005B06C-8005B104 .text isTriforce__20dSv_player_collect_cFUc */
|
||||
BOOL dSv_player_collect_c::isTriforce(u8 i_no) {
|
||||
JUT_ASSERT(1577, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1571, 1577, 1577, 1577), 0 <= i_no && i_no < 8);
|
||||
return mTriforce & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005B104-8005B198 .text onSymbol__20dSv_player_collect_cFUc */
|
||||
void dSv_player_collect_c::onSymbol(u8 i_no) {
|
||||
JUT_ASSERT(1592, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1586, 1592, 1592, 1592), 0 <= i_no && i_no < 8);
|
||||
mSymbol |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005B198-8005B230 .text isSymbol__20dSv_player_collect_cFUc */
|
||||
BOOL dSv_player_collect_c::isSymbol(u8 i_no) {
|
||||
JUT_ASSERT(1622, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1616, 1622, 1622, 1622), 0 <= i_no && i_no < 8);
|
||||
return mSymbol & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -805,7 +809,9 @@ void dSv_player_map_c::init() {
|
||||
mFmapBits[i] = 0;
|
||||
}
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
field_0x81 = 0;
|
||||
#endif
|
||||
mFmapBits[dIsleIdx_ForsakenFortress_e] = 1 | 2;
|
||||
mFmapBits[dIsleIdx_OutsetIsland_e] = 1 | 2;
|
||||
mFmapBits[dIsleIdx_WindfallIsland_e] = 1 | 2;
|
||||
@@ -817,67 +823,67 @@ void dSv_player_map_c::init() {
|
||||
|
||||
/* 8005B320-8005B3CC .text onGetMap__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onGetMap(int i_no) {
|
||||
JUT_ASSERT(1690, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1680, 1690, 1690, 1690), 0 <= i_no && i_no < 128);
|
||||
field_0x0[1][i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005B3CC-8005B47C .text isGetMap__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isGetMap(int i_no) {
|
||||
JUT_ASSERT(1718, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1708, 1718, 1718, 1718), 0 <= i_no && i_no < 128);
|
||||
return field_0x0[1][i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005B47C-8005B528 .text onOpenMap__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onOpenMap(int i_no) {
|
||||
JUT_ASSERT(1751, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1741, 1751, 1751, 1751), 0 <= i_no && i_no < 128);
|
||||
field_0x0[2][i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005B528-8005B5D4 .text offOpenMap__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::offOpenMap(int i_no) {
|
||||
JUT_ASSERT(1765, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(0, 1765, 1765, 1765), 0 <= i_no && i_no < 128);
|
||||
field_0x0[2][i_no >> 5] &= ~(1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005B5D4-8005B684 .text isOpenMap__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isOpenMap(int i_no) {
|
||||
JUT_ASSERT(1779, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1769, 1779, 1779, 1779), 0 <= i_no && i_no < 128);
|
||||
return field_0x0[2][i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005B684-8005B730 .text onCompleteMap__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onCompleteMap(int i_no) {
|
||||
JUT_ASSERT(1812, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1802, 1812, 1812, 1812), 0 <= i_no && i_no < 128);
|
||||
field_0x0[3][i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005B730-8005B7DC .text offCompleteMap__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::offCompleteMap(int i_no) {
|
||||
JUT_ASSERT(1826, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(0, 1826, 1826, 1826), 0 <= i_no && i_no < 128);
|
||||
field_0x0[3][i_no >> 5] &= ~(1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005B7DC-8005B88C .text isCompleteMap__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isCompleteMap(int i_no) {
|
||||
JUT_ASSERT(1840, 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(1830, 1840, 1840, 1840), 0 <= i_no && i_no < 128);
|
||||
return field_0x0[3][i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005B88C-8005B92C .text onTriforce__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onTriforce(int i_no) {
|
||||
JUT_ASSERT(1874, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1864, 1874, 1874, 1874), 0 <= i_no && i_no < 8);
|
||||
field_0x81 |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005B92C-8005B9CC .text offTriforce__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::offTriforce(int i_no) {
|
||||
JUT_ASSERT(1888, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(0, 1888, 1888, 1888), 0 <= i_no && i_no < 8);
|
||||
field_0x81 &= ~(u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005B9CC-8005BA70 .text isTriforce__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isTriforce(int i_no) {
|
||||
JUT_ASSERT(1902, 0 <= i_no && i_no < 8);
|
||||
JUT_ASSERT(VERSION_SELECT(1892, 1902, 1902, 1902), 0 <= i_no && i_no < 8);
|
||||
return field_0x81 & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -895,37 +901,37 @@ 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);
|
||||
JUT_ASSERT(VERSION_SELECT(1947, 1957, 1957, 1957), 0 <= i_no && i_no < 8);
|
||||
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);
|
||||
JUT_ASSERT(VERSION_SELECT(1977, 1987, 1987, 1987), 0 <= i_no && i_no < 8);
|
||||
return mFmapBits[i_idx] & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005BC24-8005BCBC .text onSaveArriveGrid__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onSaveArriveGrid(int no) {
|
||||
JUT_ASSERT(1996, (no >= 0) && (no < 49));
|
||||
JUT_ASSERT(VERSION_SELECT(1986, 1996, 1996, 1996), (no >= 0) && (no < 49));
|
||||
onFmapBit(no, 0);
|
||||
}
|
||||
|
||||
/* 8005BCBC-8005BD54 .text isSaveArriveGrid__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isSaveArriveGrid(int no) {
|
||||
JUT_ASSERT(2010, (no >= 0) && (no < 49));
|
||||
JUT_ASSERT(VERSION_SELECT(2000, 2010, 2010, 2010), (no >= 0) && (no < 49));
|
||||
return isFmapBit(no, 0);
|
||||
}
|
||||
|
||||
/* 8005BD54-8005BDEC .text onSaveArriveGridForAgb__16dSv_player_map_cFi */
|
||||
void dSv_player_map_c::onSaveArriveGridForAgb(int no) {
|
||||
JUT_ASSERT(2017, (no >= 0) && (no < 49));
|
||||
JUT_ASSERT(VERSION_SELECT(2007, 2017, 2017, 2017), (no >= 0) && (no < 49));
|
||||
onFmapBit(no, 1);
|
||||
}
|
||||
|
||||
/* 8005BDEC-8005BE84 .text isSaveArriveGridForAgb__16dSv_player_map_cFi */
|
||||
BOOL dSv_player_map_c::isSaveArriveGridForAgb(int no) {
|
||||
JUT_ASSERT(2029, (no >= 0) && (no < 49));
|
||||
JUT_ASSERT(VERSION_SELECT(2019, 2029, 2029, 2029), (no >= 0) && (no < 49));
|
||||
return isFmapBit(no, 1);
|
||||
}
|
||||
|
||||
@@ -1037,37 +1043,37 @@ void dSv_memBit_c::init() {
|
||||
|
||||
/* 8005C0EC-8005C188 .text onTbox__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::onTbox(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2225, 2225, 2252, 2252), 0 <= i_no && i_no < 32);
|
||||
JUT_ASSERT(VERSION_SELECT(2197, 2225, 2252, 2252), 0 <= i_no && i_no < 32);
|
||||
mTbox |= (1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005C188-8005C228 .text isTbox__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::isTbox(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2253, 2253, 2280, 2280), 0 <= i_no && i_no < 32);
|
||||
JUT_ASSERT(VERSION_SELECT(2225, 2253, 2280, 2280), 0 <= i_no && i_no < 32);
|
||||
return mTbox & (1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005C228-8005C2D4 .text onSwitch__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::onSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2284, 2284, 2311, 2311), 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(2256, 2284, 2311, 2311), 0 <= i_no && i_no < 128);
|
||||
mSwitch[i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005C2D4-8005C380 .text offSwitch__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::offSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2298, 2298, 2325, 2325), 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(2270, 2298, 2325, 2325), 0 <= i_no && i_no < 128);
|
||||
mSwitch[i_no >> 5] &= ~(1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005C380-8005C430 .text isSwitch__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::isSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2312, 2312, 2339, 2339), 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(2284, 2312, 2339, 2339), 0 <= i_no && i_no < 128);
|
||||
return mSwitch[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005C430-8005C4EC .text revSwitch__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::revSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2326, 2326, 2353, 2353), 0 <= i_no && i_no < 128);
|
||||
JUT_ASSERT(VERSION_SELECT(2298, 2326, 2353, 2353), 0 <= i_no && i_no < 128);
|
||||
|
||||
u32 idx = i_no >> 5;
|
||||
u32 sw = 1 << (i_no & 0x1F);
|
||||
@@ -1077,37 +1083,37 @@ BOOL dSv_memBit_c::revSwitch(int i_no) {
|
||||
|
||||
/* 8005C4EC-8005C598 .text onItem__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::onItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2345, 2345, 2372, 2372), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2317, 2345, 2372, 2372), 0 <= i_no && i_no < 64);
|
||||
mItem[i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005C598-8005C648 .text isItem__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::isItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2373, 2373, 2400, 2400), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2345, 2373, 2400, 2400), 0 <= i_no && i_no < 64);
|
||||
return mItem[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005C648-8005C6F4 .text onVisitedRoom__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::onVisitedRoom(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2405, 2405, 2432, 2432), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2377, 2405, 2432, 2432), 0 <= i_no && i_no < 64);
|
||||
mVisitedRoom[i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005C6F4-8005C7A4 .text isVisitedRoom__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::isVisitedRoom(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2433, 2433, 2460, 2460), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2405, 2433, 2460, 2460), 0 <= i_no && i_no < 64);
|
||||
return mVisitedRoom[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005C7A4-8005C844 .text onDungeonItem__12dSv_memBit_cFi */
|
||||
void dSv_memBit_c::onDungeonItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2465, 2465, 2492, 2492), 0 <= i_no && i_no < 6);
|
||||
JUT_ASSERT(VERSION_SELECT(2437, 2465, 2492, 2492), 0 <= i_no && i_no < 6);
|
||||
mDungeonItem |= (u8)(1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005C844-8005C8E8 .text isDungeonItem__12dSv_memBit_cFi */
|
||||
BOOL dSv_memBit_c::isDungeonItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2494, 2494, 2521, 2521), 0 <= i_no && i_no < 6);
|
||||
JUT_ASSERT(VERSION_SELECT(2466, 2494, 2521, 2521), 0 <= i_no && i_no < 6);
|
||||
return mDungeonItem & (u8)(1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -1124,15 +1130,15 @@ void dSv_ocean_c::init() {
|
||||
|
||||
/* 8005C908-8005C9E8 .text onOceanSvBit__11dSv_ocean_cFUcUs */
|
||||
void dSv_ocean_c::onOceanSvBit(u8 i_grid, u16 i_bit) {
|
||||
JUT_ASSERT(VERSION_SELECT(2613, 2613, 2640, 2640), (0 <= i_grid) && (i_grid <= 0x31));
|
||||
JUT_ASSERT(VERSION_SELECT(2614, 2614, 2641, 2641), (0 <= i_bit) && (i_bit < 16));
|
||||
JUT_ASSERT(VERSION_SELECT(2585, 2613, 2640, 2640), (0 <= i_grid) && (i_grid <= 0x31));
|
||||
JUT_ASSERT(VERSION_SELECT(2586, 2614, 2641, 2641), (0 <= i_bit) && (i_bit < 16));
|
||||
field_0x0[i_grid] |= (u16)(1 << i_bit);
|
||||
}
|
||||
|
||||
/* 8005C9E8-8005CACC .text isOceanSvBit__11dSv_ocean_cFUcUs */
|
||||
BOOL dSv_ocean_c::isOceanSvBit(u8 i_grid, u16 i_bit) {
|
||||
JUT_ASSERT(VERSION_SELECT(2645, 2645, 2672, 2672), (0 <= i_grid) && (i_grid <= 0x31));
|
||||
JUT_ASSERT(VERSION_SELECT(2646, 2646, 2673, 2673), (0 <= i_bit) && (i_bit < 16));
|
||||
JUT_ASSERT(VERSION_SELECT(2617, 2645, 2672, 2672), (0 <= i_grid) && (i_grid <= 0x31));
|
||||
JUT_ASSERT(VERSION_SELECT(2618, 2646, 2673, 2673), (0 <= i_bit) && (i_bit < 16));
|
||||
return field_0x0[i_grid] & (u16)(1 << i_bit) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -1198,25 +1204,25 @@ int dSv_danBit_c::init(s8 i_stageNo) {
|
||||
|
||||
/* 8005CC08-8005CCB4 .text onSwitch__12dSv_danBit_cFi */
|
||||
void dSv_danBit_c::onSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2790, 2790, 2817, 2817), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2762, 2790, 2817, 2817), 0 <= i_no && i_no < 64);
|
||||
mSwitch[i_no >> 5] |= (1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005CCB4-8005CD60 .text offSwitch__12dSv_danBit_cFi */
|
||||
void dSv_danBit_c::offSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2804, 2804, 2831, 2831), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2776, 2804, 2831, 2831), 0 <= i_no && i_no < 64);
|
||||
mSwitch[i_no >> 5] &= ~(1 << (i_no & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005CD60-8005CE10 .text isSwitch__12dSv_danBit_cFi */
|
||||
BOOL dSv_danBit_c::isSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2818, 2818, 2845, 2845), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2790, 2818, 2845, 2845), 0 <= i_no && i_no < 64);
|
||||
return mSwitch[i_no >> 5] & (1 << (i_no & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005CE10-8005CECC .text revSwitch__12dSv_danBit_cFi */
|
||||
BOOL dSv_danBit_c::revSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2832, 2832, 2859, 2859), 0 <= i_no && i_no < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(2804, 2832, 2859, 2859), 0 <= i_no && i_no < 64);
|
||||
|
||||
int sw = 1 << (i_no & 0x1F);
|
||||
mSwitch[i_no >> 5] ^= sw;
|
||||
@@ -1239,25 +1245,25 @@ void dSv_zoneBit_c::clearRoomSwitch() {
|
||||
|
||||
/* 8005CF00-8005CFAC .text onSwitch__13dSv_zoneBit_cFi */
|
||||
void dSv_zoneBit_c::onSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2876, 2876, 2903, 2903), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(2848, 2876, 2903, 2903), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
mSwitch[i_no >> 4] |= (u16)(1 << (i_no & 0xF));
|
||||
}
|
||||
|
||||
/* 8005CFAC-8005D054 .text offSwitch__13dSv_zoneBit_cFi */
|
||||
void dSv_zoneBit_c::offSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2890, 2890, 2917, 2917), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(2862, 2890, 2917, 2917), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
mSwitch[i_no >> 4] &= ~(1 << (i_no & 0xF));
|
||||
}
|
||||
|
||||
/* 8005D054-8005D100 .text isSwitch__13dSv_zoneBit_cFi */
|
||||
BOOL dSv_zoneBit_c::isSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2904, 2904, 2931, 2931), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(2876, 2904, 2931, 2931), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
return mSwitch[i_no >> 4] & 1 << (i_no & 0xF) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8005D100-8005D1B8 .text revSwitch__13dSv_zoneBit_cFi */
|
||||
BOOL dSv_zoneBit_c::revSwitch(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2918, 2918, 2945, 2945), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(2890, 2918, 2945, 2945), 0 <= i_no && i_no < SWITCH_MAX);
|
||||
|
||||
u32 idx = i_no >> 4;
|
||||
int sw = 1 << (i_no & 0xF);
|
||||
@@ -1267,13 +1273,13 @@ BOOL dSv_zoneBit_c::revSwitch(int i_no) {
|
||||
|
||||
/* 8005D1B8-8005D254 .text onItem__13dSv_zoneBit_cFi */
|
||||
void dSv_zoneBit_c::onItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2937, 2937, 2964, 2964), 0 <= i_no && i_no < 16);
|
||||
JUT_ASSERT(VERSION_SELECT(2909, 2937, 2964, 2964), 0 <= i_no && i_no < 16);
|
||||
mItem |= (1 << i_no);
|
||||
}
|
||||
|
||||
/* 8005D254-8005D2F4 .text isItem__13dSv_zoneBit_cFi */
|
||||
BOOL dSv_zoneBit_c::isItem(int i_no) {
|
||||
JUT_ASSERT(VERSION_SELECT(2965, 2965, 2992, 2992), 0 <= i_no && i_no < 16);
|
||||
JUT_ASSERT(VERSION_SELECT(2937, 2965, 2992, 2992), 0 <= i_no && i_no < 16);
|
||||
return mItem & (1 << i_no) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -1286,13 +1292,13 @@ void dSv_zoneActor_c::init() {
|
||||
|
||||
/* 8005D314-8005D3BC .text on__15dSv_zoneActor_cFi */
|
||||
void dSv_zoneActor_c::on(int i_id) {
|
||||
JUT_ASSERT(VERSION_SELECT(3010, 3010, 3037, 3037), 0 <= i_id && i_id < ACTOR_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(2982, 3010, 3037, 3037), 0 <= i_id && i_id < ACTOR_MAX);
|
||||
mActorFlags[i_id >> 5] |= (1 << (i_id & 0x1F));
|
||||
}
|
||||
|
||||
/* 8005D3BC-8005D468 .text is__15dSv_zoneActor_cFi */
|
||||
BOOL dSv_zoneActor_c::is(int i_id) {
|
||||
JUT_ASSERT(VERSION_SELECT(3038, 3038, 3065, 3065), 0 <= i_id && i_id < ACTOR_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3010, 3038, 3065, 3065), 0 <= i_id && i_id < ACTOR_MAX);
|
||||
return mActorFlags[i_id >> 5] & (1 << (i_id & 0x1F)) ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
@@ -1380,7 +1386,9 @@ void dSv_info_c::reinit() {
|
||||
|
||||
u8 pictureNum = dComIfGs_getPictureNum();
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
u8 r27 = dComIfGs_getEventReg(0x89FF);
|
||||
#endif
|
||||
|
||||
init();
|
||||
|
||||
@@ -1392,7 +1400,9 @@ void dSv_info_c::reinit() {
|
||||
dComIfGs_onEventBit(l_onEventBit[i]);
|
||||
}
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
dComIfGs_setEventReg(0xC407, 7);
|
||||
#endif
|
||||
|
||||
dComIfGs_setClearCount(clearCount);
|
||||
|
||||
@@ -1412,12 +1422,14 @@ void dSv_info_c::reinit() {
|
||||
dComIfGs_setItem(dInvSlot_CAMERA_e, CAMERA2);
|
||||
dComIfGp_setItem(dInvSlot_CAMERA_e, CAMERA2);
|
||||
|
||||
#if VERSION > VERSION_DEMO
|
||||
dComIfGs_onGetItem(dInvSlot_CAMERA_e, 0);
|
||||
dComIfGs_onGetItem(dInvSlot_CAMERA_e, 1);
|
||||
|
||||
dComIfGs_setPictureNum(pictureNum);
|
||||
|
||||
dComIfGs_setEventReg(0x89FF, r27);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* 8005D860-8005D8C8 .text init__10dSv_save_cFv */
|
||||
@@ -1434,13 +1446,13 @@ void dSv_save_c::init() {
|
||||
|
||||
/* 8005D8C8-8005D988 .text getSave__10dSv_info_cFi */
|
||||
void dSv_info_c::getSave(int i_stageNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3308, 3308, 3335, 3335), 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3271, 3308, 3335, 3335), 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
mMemory = mSavedata.getSave(i_stageNo);
|
||||
}
|
||||
|
||||
/* 8005D988-8005DA70 .text putSave__10dSv_info_cFi */
|
||||
void dSv_info_c::putSave(int i_stageNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3324, 3324, 3351, 3351), 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3287, 3324, 3351, 3351), 0 <= i_stageNo && i_stageNo < dSv_save_c::STAGE_MAX);
|
||||
mSavedata.putSave(i_stageNo, mMemory);
|
||||
}
|
||||
|
||||
@@ -1468,7 +1480,7 @@ int dSv_info_c::createZone(int i_roomNo) {
|
||||
|
||||
/* 8005DB24-8005DCD0 .text onSwitch__10dSv_info_cFii */
|
||||
void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3384, 3384, 3411, 3411),
|
||||
JUT_ASSERT(VERSION_SELECT(3347, 3384, 3411, 3411),
|
||||
(0 <= i_no && i_no < (MEMORY_SWITCH+ DAN_SWITCH+ ZONE_SWITCH)) || i_no == -1 || i_no == 255);
|
||||
|
||||
if (i_no == -1 || i_no == 255) {
|
||||
@@ -1480,10 +1492,10 @@ void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
mDan.onSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3397, 3397, 3424, 3424), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3360, 3397, 3424, 3424), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneId = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3399, 3399, 3426, 3426), 0 <= zoneId && zoneId < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3362, 3399, 3426, 3426), 0 <= zoneId && zoneId < ZONE_MAX);
|
||||
|
||||
mZone[zoneId].getZoneBit().onSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
}
|
||||
@@ -1491,7 +1503,7 @@ void dSv_info_c::onSwitch(int i_no, int i_roomNo) {
|
||||
|
||||
/* 8005DCEC-8005DE98 .text offSwitch__10dSv_info_cFii */
|
||||
void dSv_info_c::offSwitch(int i_no, int i_roomNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3421, 3421, 3448, 3448),
|
||||
JUT_ASSERT(VERSION_SELECT(3384, 3421, 3448, 3448),
|
||||
(0 <= i_no && i_no < (MEMORY_SWITCH+ DAN_SWITCH+ ZONE_SWITCH)) || i_no == -1 || i_no == 255);
|
||||
|
||||
if (i_no == -1 || i_no == 255) {
|
||||
@@ -1503,10 +1515,10 @@ void dSv_info_c::offSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
mDan.offSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3434, 3434, 3461, 3461), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3397, 3434, 3461, 3461), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3436, 3436, 3463, 3463), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3399, 3436, 3463, 3463), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
mZone[zoneNo].getZoneBit().offSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
}
|
||||
@@ -1523,10 +1535,10 @@ BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
return mDan.isSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3482, 3482, 3509, 3509), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3445, 3482, 3509, 3509), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3484, 3484, 3511, 3511), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3447, 3484, 3511, 3511), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
return mZone[zoneNo].getZoneBit().isSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
}
|
||||
@@ -1534,7 +1546,7 @@ BOOL dSv_info_c::isSwitch(int i_no, int i_roomNo) {
|
||||
|
||||
/* 8005DFE0-8005E190 .text revSwitch__10dSv_info_cFii */
|
||||
BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3505, 3505, 3532, 3532),
|
||||
JUT_ASSERT(VERSION_SELECT(3468, 3505, 3532, 3532),
|
||||
(0 <= i_no && i_no < (MEMORY_SWITCH+ DAN_SWITCH+ ZONE_SWITCH)) || i_no == -1 || i_no == 255);
|
||||
|
||||
if (i_no == -1 || i_no == 255) {
|
||||
@@ -1546,10 +1558,10 @@ BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
|
||||
} else if (i_no < (MEMORY_SWITCH + DAN_SWITCH)) {
|
||||
return mDan.revSwitch(i_no - MEMORY_SWITCH);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3517, 3517, 3544, 3544), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3480, 3517, 3544, 3544), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3519, 3519, 3546, 3546), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3482, 3519, 3546, 3546), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
return mZone[zoneNo].getZoneBit().revSwitch(i_no - (MEMORY_SWITCH + DAN_SWITCH));
|
||||
}
|
||||
@@ -1557,7 +1569,7 @@ BOOL dSv_info_c::revSwitch(int i_no, int i_roomNo) {
|
||||
|
||||
/* 8005E190-8005E324 .text onItem__10dSv_info_cFii */
|
||||
void dSv_info_c::onItem(int i_no, int i_roomNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3538, 3538, 3565, 3565),
|
||||
JUT_ASSERT(VERSION_SELECT(3501, 3538, 3565, 3565),
|
||||
(0 <= i_no && i_no < (MEMORY_ITEM+ZONE_ITEM)) || i_no == -1 || i_no == 127);
|
||||
|
||||
if (i_no == -1 || i_no == 127) {
|
||||
@@ -1567,10 +1579,10 @@ void dSv_info_c::onItem(int i_no, int i_roomNo) {
|
||||
if (i_no < MEMORY_ITEM) {
|
||||
mMemory.getBit().onItem(i_no);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3548, 3548, 3575, 3575), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3511, 3548, 3575, 3575), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3550, 3550, 3577, 3577), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3513, 3550, 3577, 3577), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
mZone[zoneNo].getZoneBit().onItem(i_no - MEMORY_ITEM);
|
||||
}
|
||||
@@ -1578,7 +1590,7 @@ void dSv_info_c::onItem(int i_no, int i_roomNo) {
|
||||
|
||||
/* 8005E324-8005E4BC .text isItem__10dSv_info_cFii */
|
||||
BOOL dSv_info_c::isItem(int i_no, int i_roomNo) {
|
||||
JUT_ASSERT(VERSION_SELECT(3602, 3602, 3629, 3629),
|
||||
JUT_ASSERT(VERSION_SELECT(3565, 3602, 3629, 3629),
|
||||
(0 <= i_no && i_no < (MEMORY_ITEM+ZONE_ITEM)) || i_no == -1 || i_no == 127);
|
||||
|
||||
if (i_no == -1 || i_no == 127) {
|
||||
@@ -1588,10 +1600,10 @@ BOOL dSv_info_c::isItem(int i_no, int i_roomNo) {
|
||||
if (i_no < MEMORY_ITEM) {
|
||||
return mMemory.getBit().isItem(i_no);
|
||||
} else {
|
||||
JUT_ASSERT(VERSION_SELECT(3611, 3611, 3638, 3638), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3574, 3611, 3638, 3638), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3613, 3613, 3640, 3640), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3576, 3613, 3640, 3640), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
return mZone[zoneNo].getZoneBit().isItem(i_no - MEMORY_ITEM);
|
||||
}
|
||||
@@ -1603,10 +1615,10 @@ void dSv_info_c::onActor(int i_id, int i_roomNo) {
|
||||
return;
|
||||
}
|
||||
|
||||
JUT_ASSERT(VERSION_SELECT(3666, 3666, 3693, 3693), (0 <= i_id && i_id < dSv_zoneActor_c::ACTOR_MAX) && (0 <= i_roomNo && i_roomNo < 64));
|
||||
JUT_ASSERT(VERSION_SELECT(3629, 3666, 3693, 3693), (0 <= i_id && i_id < dSv_zoneActor_c::ACTOR_MAX) && (0 <= i_roomNo && i_roomNo < 64));
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3668, 3668, 3695, 3695), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3631, 3668, 3695, 3695), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
mZone[zoneNo].getActor().on(i_id);
|
||||
}
|
||||
@@ -1618,13 +1630,13 @@ BOOL dSv_info_c::isActor(int i_id, int i_roomNo) {
|
||||
}
|
||||
|
||||
if (0 > i_id || i_id >= dSv_zoneActor_c::ACTOR_MAX) {
|
||||
JUT_ASSERT(VERSION_SELECT(3717, 3717, 3744, 3744), 0 <= i_id && i_id < dSv_zoneActor_c::ACTOR_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3680, 3717, 3744, 3744), 0 <= i_id && i_id < dSv_zoneActor_c::ACTOR_MAX);
|
||||
}
|
||||
|
||||
JUT_ASSERT(VERSION_SELECT(3719, 3719, 3746, 3746), 0 <= i_roomNo && i_roomNo < 64);
|
||||
JUT_ASSERT(VERSION_SELECT(3682, 3719, 3746, 3746), 0 <= i_roomNo && i_roomNo < 64);
|
||||
|
||||
int zoneNo = dComIfGp_roomControl_getZoneNo(i_roomNo);
|
||||
JUT_ASSERT(VERSION_SELECT(3721, 3721, 3748, 3748), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
JUT_ASSERT(VERSION_SELECT(3684, 3721, 3748, 3748), 0 <= zoneNo && zoneNo < ZONE_MAX);
|
||||
|
||||
return mZone[zoneNo].getActor().is(i_id);
|
||||
}
|
||||
|
||||
+17
-13
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "d/d_shop.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include "d/d_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
@@ -994,9 +995,9 @@ int ShopCam_action_c::ds_normal_cam_action() {
|
||||
void ShopCam_action_c::Save() {
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
if (camera) {
|
||||
mOrigCenter = camera->mLookat.mCenter;
|
||||
mOrigEye = camera->mLookat.mEye;
|
||||
mOrigFovy = camera->mFovy;
|
||||
mOrigCenter = *fopCamM_GetCenter_p(camera);
|
||||
mOrigEye = *fopCamM_GetEye_p(camera);
|
||||
mOrigFovy = fopCamM_GetFovy(camera);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1006,7 +1007,7 @@ void ShopCam_action_c::Reset() {
|
||||
camera->mCamera.Set(mOrigCenter, mOrigEye, mOrigFovy, 0);
|
||||
camera->mCamera.Stay();
|
||||
camera->mCamera.Reset(mOrigCenter, mOrigEye, mOrigFovy, 0);
|
||||
setCamAction(NULL);
|
||||
mCurrActionFunc = NULL;
|
||||
}
|
||||
|
||||
/* 8005F6C4-8005F708 .text move__16ShopCam_action_cFv */
|
||||
@@ -1073,10 +1074,12 @@ BOOL ShopItems_c::Item_Select(int idx) {
|
||||
temp -= item->getCenter();
|
||||
if (m3C == 1) {
|
||||
cXyz temp3 = temp - temp2;
|
||||
cLib_addCalcPos2(pPos, temp, 0.5f, temp3.abs() * 0.05f);
|
||||
f32 f2 = temp3.abs() * 0.05f;
|
||||
cLib_addCalcPos2(pPos, temp, 0.5f, f2);
|
||||
} else {
|
||||
cXyz temp3 = temp - temp2;
|
||||
cLib_addCalcPos2(pPos, temp2, 0.5f, temp3.abs() * 0.1f);
|
||||
f32 f2 = temp3.abs() * 0.1f;
|
||||
cLib_addCalcPos2(pPos, temp2, 0.5f, f2);
|
||||
}
|
||||
pAngle->y += 0x400;
|
||||
return TRUE;
|
||||
@@ -1337,7 +1340,8 @@ BOOL dShop_maxCheck(int itemNo, int) {
|
||||
|
||||
/* 8006044C-800606A8 .text dShop_BoughtErrorStatus__FP11ShopItems_cii */
|
||||
u8 dShop_BoughtErrorStatus(ShopItems_c* shopItems, int param_2, int param_3) {
|
||||
ShopItems_c__ItemData* itemData = shopItems->mpItemSetList[shopItems->mSelectedItemIdx]->mpItemData;
|
||||
s16 selectedItemIdx = shopItems->mSelectedItemIdx;
|
||||
ShopItems_c__ItemData* itemData = shopItems->mpItemSetList[selectedItemIdx]->mpItemData;
|
||||
u8 buyCond = itemData->mBuyConditions;
|
||||
u32 itemNo = itemData->mItemNo;
|
||||
u8 errorStatus = 0x00;
|
||||
@@ -1418,8 +1422,10 @@ ShopCursor_c::ShopCursor_c(J3DModelData* modelData, J3DAnmTevRegKey* brkData, f3
|
||||
m40 = m38;
|
||||
m44 = 15;
|
||||
m48 = param_2;
|
||||
#if VERSION > VERSION_DEMO
|
||||
m4C = 1.0f;
|
||||
m50 = 1.0f;
|
||||
#endif
|
||||
m54 = 0;
|
||||
}
|
||||
|
||||
@@ -1428,8 +1434,7 @@ void ShopCursor_c::anm_play() {
|
||||
mBrkAnm.play();
|
||||
if (m44-- <= 0) {
|
||||
m44 = 15 + (s16)cM_rndF(5.0f);
|
||||
f32 temp = (m38 + m3C) * 0.5f;
|
||||
if (m40 > temp) {
|
||||
if (m40 > (m38 + m3C) * 0.5f) {
|
||||
m40 = m3C;
|
||||
} else {
|
||||
m40 = m38;
|
||||
@@ -1440,16 +1445,15 @@ void ShopCursor_c::anm_play() {
|
||||
/* 80060960-80060B2C .text draw__12ShopCursor_cFv */
|
||||
void ShopCursor_c::draw() {
|
||||
camera_class* camera = dComIfGp_getCamera(0);
|
||||
s16 angleY = cLib_targetAngleY(&camera->mLookat.mCenter, &camera->mLookat.mEye);
|
||||
s16 angleX = -cLib_targetAngleX(&camera->mLookat.mCenter, &camera->mLookat.mEye);
|
||||
s16 angleY = cLib_targetAngleY(fopCamM_GetCenter_p(camera), fopCamM_GetEye_p(camera));
|
||||
s16 angleX = -cLib_targetAngleX(fopCamM_GetCenter_p(camera), fopCamM_GetEye_p(camera));
|
||||
|
||||
if (m54 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
f32 temp2;
|
||||
f32 temp = (m38 + m3C) * 0.5f;
|
||||
if (m40 > temp) {
|
||||
if (m40 > (m38 + m3C) * 0.5f) {
|
||||
temp2 = m4C;
|
||||
} else {
|
||||
temp2 = m50;
|
||||
|
||||
Reference in New Issue
Block a user