Rename actor orig->home and next->old

This commit is contained in:
LagoLunatic
2024-01-16 18:30:05 -05:00
parent fb6939d9cd
commit 4463680333
45 changed files with 225 additions and 232 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ namespace daItem_prm {
inline u32 getAction(daItem_c* item) { return (fopAcM_GetParam(item) & 0xFC000000) >> 0x1A; }
inline u32 getItemNo(daItem_c* item) { return (fopAcM_GetParam(item) & 0x000000FF) >> 0x00; }
inline u32 getItemBitNo(daItem_c* item) { return (fopAcM_GetParam(item) & 0x0000FF00) >> 0x08; }
inline u32 getSwitchNo(daItem_c* item) { return (item->orig.angle.z & 0x00FF) >> 0; }
inline u32 getSwitchNo(daItem_c* item) { return (item->home.angle.z & 0x00FF) >> 0; }
inline u32 getSwitchNo2(daItem_c* item) { return (fopAcM_GetParam(item) & 0x00FF0000) >> 0x10; }
};
+1 -1
View File
@@ -25,7 +25,7 @@ public:
u8 getTboxNo() { return fopAcM_GetParam(this) >> 0x07 & 0x1F; }
int getSwNo() { return fopAcM_GetParam(this) >> 0x0C & 0xFF; }
u8 getItemNo() { return orig.angle.z >> 8 & 0xFF; }
u8 getItemNo() { return home.angle.z >> 8 & 0xFF; }
void flagOn(u16 flag) { mFlags |= flag; }
void flagOff(u16 flag) { mFlags &= ~flag; }
void flagClr() { mFlags = 0; }
+2 -4
View File
@@ -196,8 +196,6 @@ public:
}; // Size = 0x18
struct actor_place {
// void operator=(actor_place const&);
/* 0x00 */ cXyz pos;
/* 0x0C */ csXyz angle;
/* 0x12 */ s8 roomNo;
@@ -261,8 +259,8 @@ public:
/* 0x1C4 */ u32 mStatus;
/* 0x1C8 */ u32 mCondition;
/* 0x1CC */ u32 mParentPcId;
/* 0x1D0 */ actor_place orig;
/* 0x1E4 */ actor_place next;
/* 0x1D0 */ actor_place home;
/* 0x1E4 */ actor_place old;
/* 0x1F8 */ actor_place current;
/* 0x20C */ csXyz shape_angle;
/* 0x214 */ cXyz mScale;
+3 -3
View File
@@ -163,7 +163,7 @@ inline cXyz& fopAcM_GetPosition(fopAc_ac_c* pActor) {
}
inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
return pActor->next.pos;
return pActor->old.pos;
}
inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
@@ -207,11 +207,11 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
}
inline s8 fopAcM_GetHomeRoomNo(fopAc_ac_c* pActor) {
return pActor->orig.roomNo;
return pActor->home.roomNo;
}
inline void fopAcM_SetHomeRoomNo(fopAc_ac_c* pActor, s8 roomNo) {
pActor->orig.roomNo = roomNo;
pActor->home.roomNo = roomNo;
}
inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
+1 -1
View File
@@ -181,7 +181,7 @@ BOOL enemy_ice(enemyice* ei) {
ei->mCyl.SetStts(&ei->mStts);
ei->mCyl.SetR(ei->mWallRadius);
ei->mCyl.SetH(ei->mCylHeight);
ei->mBgAcch.Set(&ac->current.pos, &ac->next.pos, ac, 1, &ei->mBgAcchCir, &ei->mSpeed);
ei->mBgAcch.Set(&ac->current.pos, &ac->old.pos, ac, 1, &ei->mBgAcchCir, &ei->mSpeed);
ei->mBgAcchCir.SetWall(40.0f, ei->mWallRadius);
if (ei->mParticleScale < 0.1f) {
+39 -39
View File
@@ -522,10 +522,10 @@ void daAgb_c::resetCursor(bool param_0) {
if (fopAcM_GetName(player_p) != PROC_NPC_KAM) {
current.pos = player_p->current.pos;
orig.pos = player_p->current.pos;
home.pos = player_p->current.pos;
} else {
current.pos = daPy_getPlayerLinkActorClass()->current.pos;
orig.pos = daPy_getPlayerLinkActorClass()->current.pos;
home.pos = daPy_getPlayerLinkActorClass()->current.pos;
}
field_0x628 = 2.5f;
@@ -1022,53 +1022,53 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
!CPad_CHECK_HOLD_L(mDoGaC_getPortNo())
) {
if (CPad_CHECK_HOLD_LEFT(mDoGaC_getPortNo())) {
actor->orig.pos.x -= f31;
actor->home.pos.x -= f31;
} else if (CPad_CHECK_HOLD_RIGHT(mDoGaC_getPortNo())) {
actor->orig.pos.x += f31;
actor->home.pos.x += f31;
}
if (CPad_CHECK_HOLD_UP(mDoGaC_getPortNo())) {
actor->orig.pos.z -= f31;
actor->home.pos.z -= f31;
} else if (CPad_CHECK_HOLD_DOWN(mDoGaC_getPortNo())) {
actor->orig.pos.z += f31;
actor->home.pos.z += f31;
}
if (stage_type == dSv_save_c::STAGE_WT && field_0x67e == 0) {
if (actor->orig.pos.x < -350000.0f) {
actor->orig.pos.x = -350000.0f;
} else if (actor->orig.pos.x > 350000.0f) {
actor->orig.pos.x = 350000.0f;
if (actor->home.pos.x < -350000.0f) {
actor->home.pos.x = -350000.0f;
} else if (actor->home.pos.x > 350000.0f) {
actor->home.pos.x = 350000.0f;
}
if (actor->orig.pos.z < -350000.0f) {
actor->orig.pos.z = -350000.0f;
} else if (actor->orig.pos.z > 350000.0f) {
actor->orig.pos.z = 350000.0f;
if (actor->home.pos.z < -350000.0f) {
actor->home.pos.z = -350000.0f;
} else if (actor->home.pos.z > 350000.0f) {
actor->home.pos.z = 350000.0f;
}
} else {
int roomNo = dComIfGp_roomControl_getStayNo();
stage_map_info_class* mapInfo = dComIfGp_roomControl_getStatusRoomDt(roomNo)->getMapInfo();
if (mapInfo) {
if (actor->orig.pos.x < mapInfo->field_0x18) {
actor->orig.pos.x = mapInfo->field_0x18;
} else if (actor->orig.pos.x > mapInfo->field_0x20) {
actor->orig.pos.x = mapInfo->field_0x20;
if (actor->home.pos.x < mapInfo->field_0x18) {
actor->home.pos.x = mapInfo->field_0x18;
} else if (actor->home.pos.x > mapInfo->field_0x20) {
actor->home.pos.x = mapInfo->field_0x20;
}
if (actor->orig.pos.z < mapInfo->field_0x1C) {
actor->orig.pos.z = mapInfo->field_0x1C;
} else if (actor->orig.pos.z > mapInfo->field_0x24) {
actor->orig.pos.z = mapInfo->field_0x24;
if (actor->home.pos.z < mapInfo->field_0x1C) {
actor->home.pos.z = mapInfo->field_0x1C;
} else if (actor->home.pos.z > mapInfo->field_0x24) {
actor->home.pos.z = mapInfo->field_0x24;
}
}
}
cLib_chaseF(&actor->current.pos.x, actor->orig.pos.x, f31);
cLib_chaseF(&actor->current.pos.z, actor->orig.pos.z, f31);
cLib_chaseF(&actor->current.pos.x, actor->home.pos.x, f31);
cLib_chaseF(&actor->current.pos.z, actor->home.pos.z, f31);
f32 playerDist = fopAcM_searchPlayerDistanceXZ(actor);
if (playerDist > 212100.0f) {
if (mIsFree || mFollowTarget == 0) {
cXyz r1_50 = player->current.pos - actor->current.pos;
actor->orig.pos.x = player->current.pos.x - r1_50.x * 212100.0f / playerDist;
actor->orig.pos.z = player->current.pos.z - r1_50.z * 212100.0f / playerDist;
actor->home.pos.x = player->current.pos.x - r1_50.x * 212100.0f / playerDist;
actor->home.pos.z = player->current.pos.z - r1_50.z * 212100.0f / playerDist;
} else {
mIsFree = false;
mFollowTarget = 0;
@@ -1077,8 +1077,8 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
}
}
cXyz r1_44 = actor->next.pos;
cXyz r1_38 = actor->next.pos;
cXyz r1_44 = actor->old.pos;
cXyz r1_38 = actor->old.pos;
r1_38.y += 171.0f;
dBgS_LinkLinChk r1_11C;
r1_11C.Set(&r1_44, &r1_38, actor);
@@ -1097,14 +1097,14 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
mAcch.CrrPos(*dComIfG_Bgsp());
{
cXyz r1_2C = actor->next.pos;
cXyz r1_2C = actor->old.pos;
r1_2C.y += f31_2;
cXyz r1_20 = actor->current.pos;
r1_20.y += f31_2;
dBgS_LinkLinChk r1_B0;
r1_B0.Set(&r1_2C, &r1_20, actor);
if (dComIfG_Bgsp()->LineCross(&r1_B0)) {
actor->current.pos = actor->next.pos;
actor->current.pos = actor->old.pos;
}
}
@@ -1117,10 +1117,10 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
field_0x679 = 1;
if (mCrrPos.ChkXCrr()) {
actor->orig.pos.x = actor->current.pos.x;
actor->home.pos.x = actor->current.pos.x;
}
if (mCrrPos.ChkZCrr()) {
actor->orig.pos.z = actor->current.pos.z;
actor->home.pos.z = actor->current.pos.z;
}
cXyz r1_14;
@@ -1144,9 +1144,9 @@ void daAgb_c::CursorMove(fopAc_ac_c* actor, u32 stage_type) {
}
}
cLib_chaseF(&actor->current.pos.y, actor->orig.pos.y, 25.0f);
cLib_chaseF(&actor->current.pos.y, actor->home.pos.y, 25.0f);
if (f30 > actor->current.pos.y && f30 < actor->current.pos.y + 170.0f + 1.0f) {
actor->orig.pos.y = f30;
actor->home.pos.y = f30;
}
}
@@ -1272,7 +1272,7 @@ void daAgb_c::modeMove() {
if (r3) {
if (fopAcM_CheckStatusMap(r3, 0) && !fopAcM_checkStatus(r3, fopAcStts_BOSS_e) && fopAcM_GetName(r3) != PROC_FGANON) {
current.pos = r3->current.pos;
orig.pos = r3->current.pos;
home.pos = r3->current.pos;
field_0x650 = attList->getPid();
mFollowTarget = 1;
}
@@ -1295,12 +1295,12 @@ void daAgb_c::modeMove() {
onFree();
} else {
current.pos = player->current.pos;
orig.pos = player->current.pos;
home.pos = player->current.pos;
}
} else {
fopAc_ac_c* r3 = fopAcM_SearchByID(field_0x650);
current.pos = r3->current.pos;
orig.pos = r3->current.pos;
home.pos = r3->current.pos;
}
shape_angle.setall(0);
@@ -1397,8 +1397,8 @@ static int daAgb_Execute(daAgb_c* i_this) {
if (mDoGaC_GbaLink()) {
if (i_this->isFree()) {
if (i_this->current.pos.x != i_this->next.pos.x ||
i_this->current.pos.z != i_this->next.pos.z)
if (i_this->current.pos.x != i_this->old.pos.x ||
i_this->current.pos.z != i_this->old.pos.z)
{
daAgb_c::mFlags.field_0x5_3 = 1;
} else {
+22 -22
View File
@@ -640,13 +640,13 @@ BOOL daAgbsw0_c::ExeSubF2() {
f32 x = current.pos.x;
agb->current.pos.x = x;
agb->orig.pos.x = x;
agb->home.pos.x = x;
f32 y = current.pos.y + 50.0f;
agb->current.pos.y = y;
agb->orig.pos.y = y;
agb->home.pos.y = y;
f32 z = current.pos.z;
agb->current.pos.z = z;
agb->orig.pos.z = z;
agb->home.pos.z = z;
agb->shape_angle.x = 0x3FFF;
agb->field_0x67f = 1;
mOrigScaleX = mScale.x;
@@ -1304,15 +1304,15 @@ BOOL daAgbsw0_c::ExeSubB() {
f32 rad = mScale.x;
if(xzDiff < rad - 100.0f) {
if(agb->current.pos.y < current.pos.y + mScale.y / 2.0f) {
agb->orig.pos.y = current.pos.y - 6.0f;
agb->home.pos.y = current.pos.y - 6.0f;
}
else {
agb->orig.pos.y = current.pos.y + mScale.y + 6.0f;
agb->home.pos.y = current.pos.y + mScale.y + 6.0f;
}
}
else {
agb->orig.pos.x = current.pos.x - (posDiff.x * (rad + 1.0f) / xzDiff);
agb->orig.pos.z = current.pos.z - (posDiff.z * (mScale.z + 1.0f) / xzDiff);
agb->home.pos.x = current.pos.x - (posDiff.x * (rad + 1.0f) / xzDiff);
agb->home.pos.z = current.pos.z - (posDiff.z * (mScale.z + 1.0f) / xzDiff);
}
}
else {
@@ -1324,30 +1324,30 @@ BOOL daAgbsw0_c::ExeSubB() {
f32 z_diff = mScale.z - fabsf(rel.z);
if(y_diff < x_diff && y_diff < z_diff) {
if(agb->current.pos.y < current.pos.y + mScale.y / 2.0f) {
agb->orig.pos.y = current.pos.y - 6.0f;
agb->home.pos.y = current.pos.y - 6.0f;
}
else {
agb->orig.pos.y = current.pos.y + mScale.y + 6.0f;
agb->home.pos.y = current.pos.y + mScale.y + 6.0f;
}
}
else {
if(x_diff < z_diff) {
if(rel.x >= 0.0f) {
agb->orig.pos.x = (current.pos.x - posDiff.x) + (x_diff + 1.0f) * cM_scos(shape_angle.y);
agb->orig.pos.z = (current.pos.z - posDiff.z) - (x_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->home.pos.x = (current.pos.x - posDiff.x) + (x_diff + 1.0f) * cM_scos(shape_angle.y);
agb->home.pos.z = (current.pos.z - posDiff.z) - (x_diff + 1.0f) * cM_ssin(shape_angle.y);
}
else {
agb->orig.pos.x = (current.pos.x - posDiff.x) - (x_diff + 1.0f) * cM_scos(shape_angle.y);
agb->orig.pos.z = (current.pos.z - posDiff.z) + (x_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->home.pos.x = (current.pos.x - posDiff.x) - (x_diff + 1.0f) * cM_scos(shape_angle.y);
agb->home.pos.z = (current.pos.z - posDiff.z) + (x_diff + 1.0f) * cM_ssin(shape_angle.y);
}
}
else if(rel.z >= 0.0f) {
agb->orig.pos.x = (current.pos.x - posDiff.x) + (z_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->orig.pos.z = (current.pos.z - posDiff.z) + (z_diff + 1.0f) * cM_scos(shape_angle.y);
agb->home.pos.x = (current.pos.x - posDiff.x) + (z_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->home.pos.z = (current.pos.z - posDiff.z) + (z_diff + 1.0f) * cM_scos(shape_angle.y);
}
else {
agb->orig.pos.x = (current.pos.x - posDiff.x) - (z_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->orig.pos.z = (current.pos.z - posDiff.z) - (z_diff + 1.0f) * cM_scos(shape_angle.y);
agb->home.pos.x = (current.pos.x - posDiff.x) - (z_diff + 1.0f) * cM_ssin(shape_angle.y);
agb->home.pos.z = (current.pos.z - posDiff.z) - (z_diff + 1.0f) * cM_scos(shape_angle.y);
}
}
}
@@ -1425,13 +1425,13 @@ BOOL daAgbsw0_c::ExeSubD() {
f32 x = current.pos.x;
agb->current.pos.x = x;
agb->orig.pos.x = x;
agb->home.pos.x = x;
f32 y = current.pos.y;
agb->current.pos.y = y;
agb->orig.pos.y = y;
agb->home.pos.y = y;
f32 z = current.pos.z;
agb->current.pos.z = z;
agb->orig.pos.z = z;
agb->home.pos.z = z;
agb->shape_angle.x = -0x3FFF;
agb->field_0x67f = 1;
mOrigScaleX = mScale.x;
@@ -1446,8 +1446,8 @@ BOOL daAgbsw0_c::ExeSubD() {
MailSend(BigLittleChange(getMsgNo()) >> 0x10, 0xC, getSw1(), 0xFF, 0x1B);
agb->shape_angle.x = 0x3FFF;
agb->orig.pos.y += 50.0f;
agb->current.pos.y = agb->orig.pos.y;
agb->home.pos.y += 50.0f;
agb->current.pos.y = agb->home.pos.y;
agb->field_0x676 = 1;
field_0x299 += 1;
+2 -2
View File
@@ -455,10 +455,10 @@ static void BG_check(am_class* i_this) {
i_this->mAcchCir.SetWall(halfHeight, radius);
i_this->current.pos.y -= i_this->m02EC;
i_this->next.pos.y -= i_this->m02EC;
i_this->old.pos.y -= i_this->m02EC;
i_this->mAcch.CrrPos(*dComIfG_Bgsp());
i_this->current.pos.y += i_this->m02EC;
i_this->next.pos.y += i_this->m02EC;
i_this->old.pos.y += i_this->m02EC;
}
/* 000011E4-00001504 .text Line_check__FP8am_class4cXyz */
+3 -3
View File
@@ -390,10 +390,10 @@ static void BG_check(am2_class* i_this) {
i_this->mAcchCir.SetWall(halfHeight, i_this->mAcchRadius);
i_this->current.pos.y -= i_this->mCorrectionOffsetY;
i_this->next.pos.y -= i_this->mCorrectionOffsetY;
i_this->old.pos.y -= i_this->mCorrectionOffsetY;
i_this->mAcch.CrrPos(*dComIfG_Bgsp());
i_this->current.pos.y += i_this->mCorrectionOffsetY;
i_this->next.pos.y += i_this->mCorrectionOffsetY;
i_this->old.pos.y += i_this->mCorrectionOffsetY;
}
/* 00000FF4-00001344 .text Line_check__FP9am2_class4cXyz */
@@ -718,7 +718,7 @@ static void action_mahi(am2_class* i_this) {
break;
case 0xD:
actor->current.angle.y = player->shape_angle.y;
if (actor->orig.roomNo != actor->current.roomNo) {
if (actor->home.roomNo != actor->current.roomNo) {
i_this->mbNotInHomeRoom = true;
}
if (i_this->mPickedUpYPos + 10.0f <= actor->current.pos.y) {
+3 -3
View File
@@ -78,7 +78,7 @@ static void daAndsw0_check(andsw0_class* i_this) {
break;
case ACT_TIMER:
i_this->mTimer = (i_this->orig.angle.z & 0xFF) * 15;
i_this->mTimer = (i_this->home.angle.z & 0xFF) * 15;
if(fopAcM_isSwitch(i_this, i_this->mSwitchToSet)) {
i_this->mAction = ACT_WAIT;
}
@@ -310,8 +310,8 @@ static s32 daAndsw0_Create(fopAc_ac_c* ac) {
i_this->mBehaviorType = (fopAcM_GetParam(ac) >> 8) & 0xFF;
i_this->mSwitchToSet = (fopAcM_GetParam(ac) >> 24) & 0xFF;
i_this->mFirstSwitchToCheck = (fopAcM_GetParam(ac) >> 16) & 0xFF;
i_this->mTimer = (i_this->orig.angle.z & 0xFF) * 15;
i_this->mEventNo = i_this->orig.angle.x;
i_this->mTimer = (i_this->home.angle.z & 0xFF) * 15;
i_this->mEventNo = i_this->home.angle.x;
i_this->mEventIdx = dComIfGp_evmng_getEventIdx(NULL, i_this->mEventNo);
if (i_this->mBehaviorType == 2)
i_this->mAction = ACT_TIMER;
+2 -2
View File
@@ -25,7 +25,7 @@ enum Type {
/* 00000078-00000084 .text getEventNo__10daAndsw2_cFv */
u8 daAndsw2_c::getEventNo() {
return (orig.angle.x & 0x00FF) >> 0;
return (home.angle.x & 0x00FF) >> 0;
}
/* 00000084-00000090 .text getSwbit__10daAndsw2_cFv */
@@ -47,7 +47,7 @@ u8 daAndsw2_c::getType() {
/* 000000A8-000000B4 .text getTimer__10daAndsw2_cFv */
u8 daAndsw2_c::getTimer() {
return (orig.angle.z & 0x00FF) >> 0;
return (home.angle.z & 0x00FF) >> 0;
}
/* 000000B4-000000C0 .text getNum__10daAndsw2_cFv */
+6 -6
View File
@@ -376,7 +376,7 @@ bool daArrow_c::check_water_in() {
f32 waterY;
fopAcM_getWaterY(&current.pos, &waterY);
f32 deltaY = fabs(next.pos.y - current.pos.y);
f32 deltaY = fabs(old.pos.y - current.pos.y);
f32 waterDist = fabs(waterY - current.pos.y);
cXyz waterHitPos;
if (deltaY < 1.0f) {
@@ -386,7 +386,7 @@ bool daArrow_c::check_water_in() {
if (weight > 1.0f) {
weight = 1.0f;
}
waterHitPos = (next.pos * weight) + (current.pos * (1.0f - weight));
waterHitPos = (old.pos * weight) + (current.pos * (1.0f - weight));
}
mCurrProcFunc = &daArrow_c::procWater;
@@ -631,7 +631,7 @@ BOOL daArrow_c::procMove() {
speedF = 100.0f;
current.pos += speed;
cXyz quarterStepPos = current.pos + speed*0.25f;
mLinChk.Set(&next.pos, &quarterStepPos, this);
mLinChk.Set(&old.pos, &quarterStepPos, this);
field_0x6e6 = shape_angle;
cMtx_copy(mpModel->getBaseTRMtx(), field_0x6b4);
@@ -731,7 +731,7 @@ BOOL daArrow_c::procMove() {
mCurrProcFunc = &daArrow_c::procReturn;
speed *= -0.1f;
speed.y += speed.absXZ();
current.pos = next.pos;
current.pos = old.pos;
field_0x69c = 0x2C00;
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, 0);
@@ -831,7 +831,7 @@ BOOL daArrow_c::procMove() {
fopAcM_SetParam(this, 3);
speed *= -0.1f;
speed.y += speed.absXZ();
current.pos = next.pos;
current.pos = old.pos;
field_0x69c = 0x2C00;
csXyz temp9;
cM3d_CalcVecZAngle(triPla->mNormal, &temp9);
@@ -893,7 +893,7 @@ BOOL daArrow_c::procReturn() {
shape_angle.x += field_0x69c;
cXyz quarterStepPos = current.pos + speed*0.25f;
field_0x699 = daPy_lk_c::setItemWaterEffect(this, field_0x699, 1);
mLinChk.Set(&next.pos, &quarterStepPos, this);
mLinChk.Set(&old.pos, &quarterStepPos, this);
setBlur();
if (dComIfG_Bgsp()->LineCross(&mLinChk)) {
+3 -3
View File
@@ -288,7 +288,7 @@ namespace daBomb2 {
void Act_c::crr_init() {
mCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mCir, &speed, &current.angle, &shape_angle);
mAcch.Set(&current.pos, &old.pos, this, 1, &mCir, &speed, &current.angle, &shape_angle);
mAcch.ClrWaterNone();
mAcch.ClrRoofNone();
mAcch.m_roof_crr_height = 50.0f;
@@ -392,7 +392,7 @@ namespace daBomb2 {
bgCrrPos();
speed.y = 0.0f;
speedF = 0.0f;
current.pos = orig.pos;
current.pos = home.pos;
init_mtx();
field_0x738 = attr().field_0x8;
@@ -524,7 +524,7 @@ namespace daBomb2 {
/* 800DE8A8-800DE914 .text bgCrrPos_lava__Q27daBomb25Act_cFv */
void Act_c::bgCrrPos_lava() {
cXyz temp(current.pos.x, next.pos.y + 1.0f, current.pos.z);
cXyz temp(current.pos.x, old.pos.y + 1.0f, current.pos.z);
mGndChk.SetPos(&temp);
field_0x51C = dComIfG_Bgsp()->GroundCross(&mGndChk);
+2 -2
View File
@@ -491,7 +491,7 @@ void daBomb_c::bgCrrPos() {
}
void daBomb_c::bgCrrPos_lava() {
cXyz temp(current.pos.x, next.pos.y + 1.0f, current.pos.z);
cXyz temp(current.pos.x, old.pos.y + 1.0f, current.pos.z);
mGndChk.SetPos(&temp);
field_0x554.x = dComIfG_Bgsp()->GroundCross(&mGndChk);
@@ -1346,7 +1346,7 @@ static dCcD_SrcSph l_sph_src = {
void daBomb_c::create_init() {
mCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mCir, &speed, &current.angle, &shape_angle);
mAcch.Set(&current.pos, &old.pos, this, 1, &mCir, &speed, &current.angle, &shape_angle);
mAcch.ClrWaterNone();
mAcch.ClrRoofNone();
mAcch.m_roof_crr_height = 50.0f;
+1 -1
View File
@@ -367,7 +367,7 @@ void daDitem_c::set_pos() {
mDoMtx_stack_c::multVec(&offset, &offset);
pos = dComIfGp_getPlayer(0)->current.pos;
} else {
pos = orig.pos;
pos = home.pos;
}
pos += offset;
+1 -1
View File
@@ -87,7 +87,7 @@ int daFloor_c::Execute(Mtx**) {
}
}
if ((dComIfGp_getPlayer(0)->current.pos - dComIfGp_getPlayer(0)->next.pos).absXZ() != 0.0f)
if ((dComIfGp_getPlayer(0)->current.pos - dComIfGp_getPlayer(0)->old.pos).absXZ() != 0.0f)
field_0x2d9 = 0;
return TRUE;
+2 -2
View File
@@ -204,7 +204,7 @@ void daIball_c::checkGeo() {
(this->*mode_proc[mMode])();
dBgS_ObjGndChk_Yogan gnd_chk;
cXyz pos(current.pos.x, next.pos.y + 30.0f + m_data.mYOffset, current.pos.z);
cXyz pos(current.pos.x, old.pos.y + 30.0f + m_data.mYOffset, current.pos.z);
gnd_chk.SetPos(&pos);
f32 groundY = dComIfG_Bgsp()->GroundCross(&gnd_chk);
f32 groundH = mAcch.GetGroundH();
@@ -360,7 +360,7 @@ void daIball_c::CreateInit() {
mCyl.Set(m_cyl_src);
mCyl.SetStts(&mStts);
mAcchCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
mAcch.OnSeaCheckOn();
mAcch.OnSeaWaterHeight();
+3 -3
View File
@@ -134,7 +134,7 @@ void itemGetCallBack(fopAc_ac_c* item_actor, dCcD_GObjInf*, fopAc_ac_c* collided
/* 800F5044-800F53EC .text CreateInit__8daItem_cFv */
void daItem_c::CreateInit() {
mAcchCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &fopAcM_GetSpeed_p(this));
mAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &fopAcM_GetSpeed_p(this));
mAcch.m_flags &= ~0x400;
mAcch.m_flags &= ~0x8;
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
@@ -193,7 +193,7 @@ void daItem_c::CreateInit() {
mActivationSwitch = daItem_prm::getSwitchNo(this);
current.angle.z = 0;
orig.angle.z = 0;
home.angle.z = 0;
initAction();
switch (m_itemNo) {
@@ -1304,7 +1304,7 @@ void daItem_c::mode_wait() {
dBgS_ObjGndChk_Yogan gndChk;
cXyz temp;
temp.set(next.pos.x, next.pos.y, next.pos.z);
temp.set(old.pos.x, old.pos.y, old.pos.z);
gndChk.SetPos(&temp);
f32 groundY = dComIfG_Bgsp()->GroundCross(&gndChk);
if (groundY != -1000000000.0f && groundY > current.pos.y) {
+1 -1
View File
@@ -243,7 +243,7 @@ void wether_tag_efect_move(kytag00_class* i_this) {
g_env_light.mMoyaCount = 100.0f * blend;
break;
case 0x6:
if (i_this->orig.roomNo == dComIfGp_roomControl_getStayNo()) {
if (i_this->home.roomNo == dComIfGp_roomControl_getStayNo()) {
g_env_light.mHousiCount = 300.0f * blend;
} else {
g_env_light.mHousiCount = 0;
+4 -4
View File
@@ -40,7 +40,7 @@ u8 daMbdoor_c::getSwbit() {
/* 00000084-00000090 .text getType__10daMbdoor_cFv */
u8 daMbdoor_c::getType() {
return orig.angle.z & 0x3F;
return home.angle.z & 0x3F;
}
/* 00000090-0000009C .text getShapeType__10daMbdoor_cFv */
@@ -178,7 +178,7 @@ BOOL daMbdoor_c::CreateHeap() {
void daMbdoor_c::calcMtx() {
// Transform the door's frame.
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(orig.angle.y);
mDoMtx_stack_c::YrotM(home.angle.y);
mpFuModel->setBaseTRMtx(mDoMtx_stack_c::now);
cXyz offset;
@@ -214,7 +214,7 @@ void daMbdoor_c::calcMtx() {
// Transform door's bar.
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(orig.angle.y);
mDoMtx_stack_c::YrotM(home.angle.y);
if (field_0x2b0) {
mDoMtx_stack_c::transM(getToOffset(), 231.0f, 0.0f);
mDoMtx_stack_c::ZrotM(field_0x2b0);
@@ -405,7 +405,7 @@ void daMbdoor_c::demoProc() {
/* 00000F78-000010CC .text checkArea__10daMbdoor_cFv */
BOOL daMbdoor_c::checkArea() {
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz relPos1 = player->current.pos - orig.pos;
cXyz relPos1 = player->current.pos - home.pos;
cXyz relPos2 = relPos1;
relPos2.x = relPos1.z * cM_ssin(current.angle.y) - relPos1.x * cM_scos(current.angle.y);
relPos2.z = relPos1.z * cM_scos(current.angle.y) + relPos1.x * cM_ssin(current.angle.y);
+5 -5
View File
@@ -222,7 +222,7 @@ BOOL daNh_c::searchPlayer() {
}
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz playerDelta = player->next.pos - player->current.pos;
cXyz playerDelta = player->old.pos - player->current.pos;
f32 playerDist = fopAcM_searchPlayerDistance(this);
f32 playerDistDelta = mPlayerDist - playerDist;
mPlayerDist = playerDist;
@@ -247,7 +247,7 @@ BOOL daNh_c::moveProc(f32 targetSpeed, f32 speedStep, s16 targetAngle) {
/* 800FA19C-800FA260 .text getHomeDistance__6daNh_cFv */
f32 daNh_c::getHomeDistance() {
cXyz delta = orig.pos - current.pos;
cXyz delta = home.pos - current.pos;
return cXyz(delta.x, 0.0f, delta.z).abs();
}
@@ -306,7 +306,7 @@ BOOL daNh_c::waitAction(void*) {
/* 800FA674-800FA78C .text checkEscapeEnd__6daNh_cFv */
BOOL daNh_c::checkEscapeEnd() {
cXyz homeDelta = orig.pos - current.pos;
cXyz homeDelta = home.pos - current.pos;
if (!isTypeBottle()) {
if (cLib_calcTimer(&mEscapeTimer) == 0) {
setAction(&daNh_c::waitAction, NULL);
@@ -354,8 +354,8 @@ BOOL daNh_c::returnAction(void*) {
if (getHomeDistance() < 50.0f) {
setAction(&daNh_c::waitAction, NULL);
} else {
s16 targetAngle = cLib_targetAngleY(&current.pos, &orig.pos);
cXyz homeDelta = orig.pos - current.pos;
s16 targetAngle = cLib_targetAngleY(&current.pos, &home.pos);
cXyz homeDelta = home.pos - current.pos;
if (homeDelta.abs2XZ() < l_HIO.prm.mMaxHomeDist*l_HIO.prm.mMaxHomeDist) {
s16 angle = targetAngle - fopAcM_searchPlayerAngleY(this);
if (abs(angle) < 0x1000) {
+1 -1
View File
@@ -279,7 +279,7 @@ BOOL daNpc_Btsw2_c::CreateHeap() {
modelData->getJointNodePointer(m_jnt.getBackboneJntNum())->setCallBack(nodeCallBack);
mpMcaMorf->getModel()->setUserArea((u32)this);
mAcchCir.SetWall(30.0f, 0.0f);
mObjAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mObjAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
return TRUE;
}
+9 -9
View File
@@ -205,7 +205,7 @@ void daNpc_kam_c::setAttention(bool param_1, int param_2) {
if (param_2) {
mAttentionInfo.mPosition.set(current.pos.x, current.pos.y, current.pos.z);
} else {
mAttentionInfo.mPosition.set(orig.pos.x, orig.pos.y, orig.pos.z);
mAttentionInfo.mPosition.set(home.pos.x, home.pos.y, home.pos.z);
}
}
}
@@ -408,8 +408,8 @@ BOOL daNpc_kam_c::init() {
mEventState = -1;
mCurrEventIdxIdx = -1;
mScale *= 1000.0f;
mMaxY = orig.pos.y + mScale.y;
mMinY = orig.pos.y - mScale.y;
mMaxY = home.pos.y + mScale.y;
mMinY = home.pos.y - mScale.y;
mTargetSpeedF = l_HIO.mHio1.mSpeedF;
mAngVelY = l_HIO.mHio1.mGlidingAngVelY;
@@ -421,7 +421,7 @@ BOOL daNpc_kam_c::init() {
mAcchCirs[0].SetWall(20.0f, 50.0f);
mAcchCirs[1].SetWall(-20.0f, 50.0f);
mAcch.Set(&current.pos, &next.pos, this, ARRAY_SIZE(mAcchCirs), mAcchCirs, &speed);
mAcch.Set(&current.pos, &old.pos, this, ARRAY_SIZE(mAcchCirs), mAcchCirs, &speed);
mAcch.ClrRoofNone();
mAcch.SetRoofCrrHeight(20.0f);
mAcch.OnLineCheck();
@@ -537,7 +537,7 @@ BOOL daNpc_kam_c::changeAreaCheck() {
}
} else {
// For all other sectors, simple check if Link is within the Hyoi Seagull's moveable range.
delta = player->current.pos - orig.pos;
delta = player->current.pos - home.pos;
if (delta.absXZ() < mScale.x) {
offNpcNotChange();
return TRUE;
@@ -549,7 +549,7 @@ BOOL daNpc_kam_c::changeAreaCheck() {
/* 0000235C-00002450 .text areaOutCheck__11daNpc_kam_cFv */
BOOL daNpc_kam_c::areaOutCheck() {
cXyz delta = (current.pos - orig.pos);
cXyz delta = (current.pos - home.pos);
return delta.absXZ() > mScale.x ? TRUE : FALSE;
}
@@ -680,7 +680,7 @@ int daNpc_kam_c::waitNpcAction(void*) {
}
}
} else if (mActionStatus == ACTION_ONGOING_2) {
targetAngleY = cLib_targetAngleY(&current.pos, &orig.pos);
targetAngleY = cLib_targetAngleY(&current.pos, &home.pos);
if (cLib_calcTimer(&mC08) == 0 && !areaOutCheck()) {
mActionStatus = ACTION_ONGOING_1;
setAnm(ANM_WAIT2);
@@ -703,7 +703,7 @@ int daNpc_kam_c::waitNpcAction(void*) {
fopAcM_seStart(this, JA_SE_CV_KAMOME, 0);
}
if (current.pos.y < orig.pos.y) {
if (current.pos.y < home.pos.y) {
targetAngleX = -l_HIO.mHio1.mGlidingAngVelX;
}
@@ -1089,7 +1089,7 @@ BOOL daNpc_kam_c::actionAreaOutTurn(int evtStaffId) {
onNoBgCheck();
speedF = 0.0f;
s16 targetAngle = cLib_targetAngleY(&current.pos, &orig.pos);
s16 targetAngle = cLib_targetAngleY(&current.pos, &home.pos);
s16 angleDiff = current.angle.y - targetAngle;
if (abs(angleDiff) != 0) {
cLib_addCalcAngleS(&current.angle.y, targetAngle, 16, 0x2000, 0x400);
+1 -1
View File
@@ -892,7 +892,7 @@ BOOL daNpc_Md_c::createHeap() {
mAcchCir[0].SetWall(20.0f, 20.0f);
mAcchCir[1].SetWall(60.0f, 20.0f);
mAcch.Set(&current.pos, &next.pos, this, ARRAY_SIZE(mAcchCir), mAcchCir, &speed);
mAcch.Set(&current.pos, &old.pos, this, ARRAY_SIZE(mAcchCir), mAcchCir, &speed);
mAcch.ClrRoofNone();
mAcch.SetRoofCrrHeight(120.0f);
mAcch.OnLineCheck();
+2 -2
View File
@@ -213,7 +213,7 @@ void daObj_Hole_c::createInit() {
fopAcM_setCullSizeFar(this, 10.0f);
mAcchCir.SetWall(100.0f, 10.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
mAcch.SetWallNone();
mAcch.SetRoofNone();
@@ -243,7 +243,7 @@ void daObj_Hole_c::getArg() {
mExitIdx = param & 0xFF;
mHasModel = param >> 8;
mScaleLocal = orig.angle.z;
mScaleLocal = home.angle.z;
if (mScaleLocal == 0xFFFF) {
mScaleLocal = 0;
}
+15 -15
View File
@@ -190,7 +190,7 @@ namespace daObjMovebox {
f32 maxGroundY = -1000000000.0f;
mDoMtx_stack_c::transS(movebox->current.pos);
mDoMtx_stack_c::YrotM(movebox->orig.angle.y);
mDoMtx_stack_c::YrotM(movebox->home.angle.y);
mMaxGroundIdx = -1;
for (int i = 0; i < bgcSrcCount; i++, bgcSrc++) {
@@ -237,7 +237,7 @@ namespace daObjMovebox {
cXyz temp_2c;
cXyz temp_20;
angle = movebox->orig.angle.y + param_4;
angle = movebox->home.angle.y + param_4;
mWallIdx = -1;
mNearestWallDist = FLOAT_MAX;
mDoMtx_stack_c::YrotS((s16)angle);
@@ -328,7 +328,7 @@ namespace daObjMovebox {
cXyz temp_20;
cXyz direction;
s16 angle = movebox->orig.angle.y + param_3;
s16 angle = movebox->home.angle.y + param_3;
mDoMtx_stack_c::YrotS((s16)angle);
mDoMtx_stack_c::XrotM(0x4000);
offset.set(bgcSrc->m0C, 0.0f, bgcSrc->m08);
@@ -1104,10 +1104,10 @@ namespace daObjMovebox {
// The appearing/disappearing type of box does not take pathId or swSave2 params.
mPrmZ = 0xFFFF;
} else {
mPrmZ = orig.angle.z;
mPrmZ = home.angle.z;
}
orig.angle.z = 0;
home.angle.z = 0;
current.angle.z = 0;
shape_angle.z = 0;
}
@@ -1115,11 +1115,11 @@ namespace daObjMovebox {
/* 00001380-000013B0 .text prmX_init__Q212daObjMovebox5Act_cFv */
void Act_c::prmX_init() {
if (!mbPrmXInitialized) {
mPrmX = orig.angle.x;
mPrmX = home.angle.x;
mbPrmXInitialized = true;
}
orig.angle.x = 0;
home.angle.x = 0;
current.angle.x = 0;
shape_angle.x = 0;
}
@@ -1225,9 +1225,9 @@ namespace daObjMovebox {
pntIdx += 2;
}
mpPath = dPath_GetRoomPath(pathId, orig.roomNo);
mpPath = dPath_GetRoomPath(pathId, home.roomNo);
dPath__Point* pnt = dPath_GetPnt(mpPath, pntIdx);
orig.pos = pnt->mPos;
home.pos = pnt->mPos;
current.pos = pnt->mPos;
}
}
@@ -1344,7 +1344,7 @@ namespace daObjMovebox {
unk = orig_pp_label & dBgW::PP_UNK8_e;
}
if (unk) {
s16 angle = (s16)(pp_label & dBgW::PP_UNK2_e ? rot - 0x8000 : rot) - actor->orig.angle.y;
s16 angle = (s16)(pp_label & dBgW::PP_UNK2_e ? rot - 0x8000 : rot) - actor->home.angle.y;
int pp_field = dBgW::PP_UNK1_e | dBgW::PP_UNK2_e;
JUT_ASSERT(1813, pp_label != pp_field);
@@ -1583,7 +1583,7 @@ namespace daObjMovebox {
cXyz(0.5f, 0.0f, -0.5f)
};
s16 angle = orig.angle.y + M_dir_base[m634];
s16 angle = home.angle.y + M_dir_base[m634];
f32 scale = i_attr()->mScaleXZ;
mDoMtx_stack_c::transS(current.pos);
@@ -1656,8 +1656,8 @@ namespace daObjMovebox {
daObj::posMoveF_stream(this, NULL, &cXyz::Zero, i_attr()->m18, i_attr()->m1C);
mDoMtx_stack_c::transS(orig.pos);
mDoMtx_stack_c::YrotM(orig.angle.y);
mDoMtx_stack_c::transS(home.pos);
mDoMtx_stack_c::YrotM(home.angle.y);
mDoMtx_stack_c::transM(m628 * i_attr()->m0C, 0.0f, m62C * i_attr()->m0C);
cXyz pos;
mDoMtx_stack_c::multVec(&cXyz::Zero, &pos);
@@ -1698,8 +1698,8 @@ namespace daObjMovebox {
bool r28 = --m644 <= 0;
f32 temp = (cM_scos(m644 * m630) + 1.0f) * 0.5f;
mDoMtx_stack_c::transS(orig.pos);
mDoMtx_stack_c::YrotM(orig.angle.y);
mDoMtx_stack_c::transS(home.pos);
mDoMtx_stack_c::YrotM(home.angle.y);
mDoMtx_stack_c::transM(
(m628 + temp * dir_vec[m634].x) * i_attr()->m0C,
0.0f,
+1 -1
View File
@@ -931,7 +931,7 @@ void daObjTpost_c::createInit() {
modeProc(PROC_INIT, 0);
mAcchCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
mAcch.SetRoofNone();
mGravity = -4.5f;
+3 -3
View File
@@ -3176,10 +3176,10 @@ BOOL daPy_lk_c::execute() {
dComIfG_Bgsp()->ChkMoveBG(mAcch.m_gnd)
) {
dComIfG_Bgsp()->MoveBgCrrPos(mAcch.m_gnd, mAcch.ChkGroundHit(), &current.pos, &current.angle, &shape_angle);
dComIfG_Bgsp()->MoveBgCrrPos(mAcch.m_gnd, mAcch.ChkGroundHit(), &next.pos, NULL, NULL);
dComIfG_Bgsp()->MoveBgCrrPos(mAcch.m_gnd, mAcch.ChkGroundHit(), &old.pos, NULL, NULL);
}
cXyz sp20 = next.pos;
cXyz sp20 = old.pos;
m34DE = shape_angle.y;
m35B4 = m35B0;
m34EA = m34DC;
@@ -4068,7 +4068,7 @@ void daPy_lk_c::playerInit() {
m_anm_heap_upper[i].m_buffer = reinterpret_cast<void*>(buffer_start);
}
mAcch.Set(&current.pos, &next.pos, this, ARRAY_SIZE(mAcchCir), mAcchCir, &speed, &current.angle, &shape_angle);
mAcch.Set(&current.pos, &old.pos, this, ARRAY_SIZE(mAcchCir), mAcchCir, &speed, &current.angle, &shape_angle);
mAcch.ClrWaterNone();
mAcch.SetWaterCheckOffset(500.0f);
mAcch.OnLineCheck();
+26 -26
View File
@@ -11,7 +11,7 @@
/* 8015A37C-8015A448 .text check_initialRoom__10daPy_npc_cFv */
int daPy_npc_c::check_initialRoom() {
if (orig.roomNo < 0) {
if (home.roomNo < 0) {
mAcch.CrrPos(*dComIfG_Bgsp());
if (mAcch.GetGroundH() == -1000000000.0f || dComIfG_Bgsp()->GetGroundCode(mAcch.m_gnd) == 4) {
return 0;
@@ -35,8 +35,8 @@ BOOL daPy_npc_c::check_moveStop() {
BOOL hasBgW = dComIfGp_roomControl_checkStatusFlag(roomNo, 0x10);
if ((roomNo < 0 || !hasBgW)) {
if (!hasBgW || m4E8 >= 30) {
current = orig;
shape_angle = orig.angle;
current = home;
shape_angle = home.angle;
speedF = 0.0f;
m4E8 = 0;
}
@@ -64,15 +64,15 @@ void daPy_npc_c::setRestart(s8 option) {
void daPy_npc_c::unconditionalSetRestart(s8 option) {
dComIfGs_setRestartOption(option);
dComIfGs_setPlayerPriest(option, dComIfGs_getRestartOptionPos(), dComIfGs_getRestartOptionAngleY(), dComIfGs_getRestartOptionRoomNo());
orig.pos = dComIfGs_getRestartOptionPos();
orig.angle.y = dComIfGs_getRestartOptionAngleY();
orig.roomNo = dComIfGs_getRestartOptionRoomNo();
home.pos = dComIfGs_getRestartOptionPos();
home.angle.y = dComIfGs_getRestartOptionAngleY();
home.roomNo = dComIfGs_getRestartOptionRoomNo();
}
/* 8015A624-8015A6A4 .text setOffsetHomePos__10daPy_npc_cFv */
void daPy_npc_c::setOffsetHomePos() {
static cXyz l_offsetPos(100.0f, 0.0f, 0.0f);
cLib_offsetPos(&orig.pos, &orig.pos, orig.angle.y, &l_offsetPos);
cLib_offsetPos(&home.pos, &home.pos, home.angle.y, &l_offsetPos);
}
/* 8015A6A4-8015AA0C .text setPointRestart__10daPy_npc_cFsSc */
@@ -105,18 +105,18 @@ void daPy_npc_c::setPointRestart(s16 i_point, s8 option) {
}
JUT_ASSERT(174, i != dComIfGp_getStagePlayerNum());
orig.pos = player_data->mSpawnPos;
orig.angle.y = player_data->mAngle.y;
orig.roomNo = -1;
home.pos = player_data->mSpawnPos;
home.angle.y = player_data->mAngle.y;
home.roomNo = -1;
setOffsetHomePos();
current = orig;
next = orig;
shape_angle = orig.angle;
current = home;
old = home;
shape_angle = home.angle;
rotY = orig.angle.y;
rotY = home.angle.y;
roomNo = -1;
dComIfGs_setRestartOption(&orig.pos, rotY, roomNo, option);
dComIfGs_setPlayerPriest(option, orig.pos, rotY, roomNo);
dComIfGs_setRestartOption(&home.pos, rotY, roomNo, option);
dComIfGs_setPlayerPriest(option, home.pos, rotY, roomNo);
dComIfGs_setPlayerPriest(option, dComIfGs_getRestartOptionPos(), dComIfGs_getRestartOptionAngleY(), dComIfGs_getRestartOptionRoomNo());
fopAcM_setStageLayer(this);
}
@@ -126,12 +126,12 @@ BOOL daPy_npc_c::checkRestart(s8 option) {
if (option == dComIfGs_getRestartOption()) {
s16 option_point = dComIfGs_getRestartOptionPoint();
if (option_point < 0) {
orig.pos = dComIfGs_getRestartOptionPos();
orig.angle.y = dComIfGs_getRestartOptionAngleY();
orig.roomNo = dComIfGs_getRestartOptionRoomNo();
current = orig;
next = orig;
shape_angle = orig.angle;
home.pos = dComIfGs_getRestartOptionPos();
home.angle.y = dComIfGs_getRestartOptionAngleY();
home.roomNo = dComIfGs_getRestartOptionRoomNo();
current = home;
old = home;
shape_angle = home.angle;
} else {
setPointRestart(option_point, 1);
}
@@ -148,9 +148,9 @@ BOOL daPy_npc_c::initialRestartOption(s8 option, int save) {
if (save && option != dComIfGs_getRestartOption()) {
s16 rotY;
s8 roomNo = current.roomNo;
rotY = orig.angle.y;
dComIfGs_setRestartOption(&orig.pos, rotY, roomNo, option);
dComIfGs_setPlayerPriest(option, orig.pos, rotY, roomNo);
rotY = home.angle.y;
dComIfGs_setRestartOption(&home.pos, rotY, roomNo, option);
dComIfGs_setPlayerPriest(option, home.pos, rotY, roomNo);
}
return TRUE;
}
@@ -201,7 +201,7 @@ int daPy_npc_c::chkMoveBlock(cXyz* outBlockVel) {
cXyz blockRelPos;
fopAc_ac_c* block = daPy_npc_SearchAreaByName(this, PROC_Obj_Movebox, 300.0f, &blockRelPos);
if (block) {
cXyz blockVel = block->current.pos - block->next.pos;
cXyz blockVel = block->current.pos - block->old.pos;
if (blockVel.abs() > 0.001f) {
if (outBlockVel) {
*outBlockVel = blockVel;
+1 -1
View File
@@ -94,7 +94,7 @@ BOOL daRaceItem_c::CreateInit() {
mCyl.SetH(height);
mAcchCir.SetWall(30.0f, 30.0f);
mAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
mAcch.ClrWaterNone();
mAcch.ClrRoofNone();
+1 -1
View File
@@ -81,7 +81,7 @@ void daShopItem_c::CreateInit() {
show();
mScale = getData()[m_itemNo].mScale;
orig.pos = current.pos;
home.pos = current.pos;
set_mtx();
if(isDaizaItem(m_itemNo)) {
+6 -6
View File
@@ -97,7 +97,7 @@ s32 daSwhit0_c::getTimer() {
/* 000000B8-000000C4 .text getSwNo2__10daSwhit0_cFv */
s32 daSwhit0_c::getSwNo2() {
return orig.angle.z & 0xFF;
return home.angle.z & 0xFF;
}
/* 000000C4-00000230 .text CreateHeap__10daSwhit0_cFv */
@@ -125,10 +125,10 @@ BOOL daSwhit0_c::CreateHeap() {
/* 00000230-00000270 .text decisionRtType__10daSwhit0_cFv */
void daSwhit0_c::decisionRtType() {
if (orig.angle.x == 0) {
if (home.angle.x == 0) {
mRetType = 0;
}
else if (orig.angle.x < -0x4E20 || orig.angle.x > 0x4E20) {
else if (home.angle.x < -0x4E20 || home.angle.x > 0x4E20) {
mRetType = 2;
return;
}
@@ -145,9 +145,9 @@ s32 daSwhit0_c::CreateInit() {
mColStatus.Init(0xFF, 0xFF, this);
mAttentionInfo.mPosition.x += cM_ssin(orig.angle.x) * 65.0f * cM_ssin(orig.angle.y);
mAttentionInfo.mPosition.y += cM_scos(orig.angle.x) * 65.0f;
mAttentionInfo.mPosition.z += cM_ssin(orig.angle.x) * 65.0f * cM_scos(orig.angle.y);
mAttentionInfo.mPosition.x += cM_ssin(home.angle.x) * 65.0f * cM_ssin(home.angle.y);
mAttentionInfo.mPosition.y += cM_scos(home.angle.x) * 65.0f;
mAttentionInfo.mPosition.z += cM_ssin(home.angle.x) * 65.0f * cM_scos(home.angle.y);
mEyePos = mAttentionInfo.mPosition;
+1 -1
View File
@@ -134,7 +134,7 @@ bool daSwItem_c::_execute() {
itemBitNo = 0x7F;
}
csXyz angle(0, orig.angle.y, 0);
csXyz angle(0, home.angle.y, 0);
u32 itemProcId = fopAcM_createItemFromTable(
&current.pos, itemTbl, itemBitNo,
fopAcM_GetHomeRoomNo(this), 0, &angle, 1
+4 -4
View File
@@ -24,10 +24,10 @@ static BOOL daSwtdoor_Draw(swtdoor_class* i_this) {
/* 000000C4-000001BC .text daSwtdoor_Execute__FP13swtdoor_class */
static BOOL daSwtdoor_Execute(swtdoor_class* i_this) {
g_env_light.settingTevStruct(TEV_TYPE_BG0, &i_this->current.pos, &i_this->mTevStr);
if (dComIfGs_isSwitch(i_this->mSwitchNo, fopAcM_GetRoomNo(i_this)) && i_this->orig.pos.y > -300.0f)
i_this->orig.pos.y -= 10.0f;
if (dComIfGs_isSwitch(i_this->mSwitchNo, fopAcM_GetRoomNo(i_this)) && i_this->home.pos.y > -300.0f)
i_this->home.pos.y -= 10.0f;
MtxTrans(i_this->current.pos.x, i_this->current.pos.y + i_this->orig.pos.y, i_this->current.pos.z, false);
MtxTrans(i_this->current.pos.x, i_this->current.pos.y + i_this->home.pos.y, i_this->current.pos.z, false);
mDoMtx_YrotM(*calc_mtx, i_this->current.angle.y);
mDoMtx_XrotM(*calc_mtx, i_this->current.angle.x);
mDoMtx_ZrotM(*calc_mtx, i_this->current.angle.z);
@@ -81,7 +81,7 @@ static s32 daSwtdoor_Create(fopAc_ac_c* i_ac) {
fopAcM_SetMin(i_this, -2000.0f, -1000.0f, -2000.0f);
fopAcM_SetMax(i_this, 2000.0f, 1000.0f, 2000.0f);
fopAcM_SetMtx(i_this, i_this->model->getBaseTRMtx());
i_this->orig.pos.y = 0.0f;
i_this->home.pos.y = 0.0f;
return cPhs_COMPLEATE_e;
}
+5 -5
View File
@@ -12,7 +12,7 @@
bool daTagKbItem_c::_delete() {
#if VERSION != VERSION_JPN
if (field_0x2a0 != 0xff && field_0x2a4 != 0xff) {
dComIfGs_offSwitch(field_0x2a4, orig.roomNo);
dComIfGs_offSwitch(field_0x2a4, home.roomNo);
}
#endif
return 1;
@@ -35,8 +35,8 @@ int daTagKbItem_c::_create() {
fopAcM_SetupActor(this, daTagKbItem_c);
CreateInit();
if (field_0x29c != 0x1f && dComIfGs_isItem(field_0x29c, orig.roomNo) ||
field_0x2a4 != 0xff && dComIfGs_isSwitch(field_0x2a4, orig.roomNo))
if (field_0x29c != 0x1f && dComIfGs_isItem(field_0x29c, home.roomNo) ||
field_0x2a4 != 0xff && dComIfGs_isSwitch(field_0x2a4, home.roomNo))
{
return cPhs_ERROR_e;
}
@@ -46,8 +46,8 @@ int daTagKbItem_c::_create() {
/* 000001BC-000001C4 .text _execute__13daTagKbItem_cFv */
bool daTagKbItem_c::_execute() {
#if VERSION == VERSION_JPN
if (field_0x29c != 0x1f && dComIfGs_isItem(field_0x29c, orig.roomNo) ||
field_0x2a4 != 0xff && dComIfGs_isSwitch(field_0x2a4, orig.roomNo))
if (field_0x29c != 0x1f && dComIfGs_isItem(field_0x29c, home.roomNo) ||
field_0x2a4 != 0xff && dComIfGs_isSwitch(field_0x2a4, home.roomNo))
{
fopAcM_delete(this);
}
+3 -3
View File
@@ -63,11 +63,11 @@ const char* daTag_Msg_c::myDemoName() {
}
u16 daTag_Msg_c::getMessage() {
return orig.angle.x;
return home.angle.x;
}
u16 daTag_Msg_c::getEventFlag() {
return orig.angle.z;
return home.angle.z;
}
BOOL daTag_Msg_c::arrivalTerms() {
@@ -113,7 +113,7 @@ BOOL daTag_Msg_c::otherCheck() {
}
JUT_ASSERT(0xC8, player);
if (getMessage() == 0x1902) {
s16 diff = targetAngle - orig.angle.y;
s16 diff = targetAngle - home.angle.y;
if (diff < 0) {
diff = -diff;
}
+6 -6
View File
@@ -331,7 +331,7 @@ s32 daTbox_c::bgCheckSet() {
/* 00000BB0-00000C14 .text searchRoomNo__8daTbox_cFv */
void daTbox_c::searchRoomNo() {
if (mRoomNo == -1) {
mRoomNo = orig.angle.x & 0x3F;
mRoomNo = home.angle.x & 0x3F;
}
if (flagCheck(0x02)) {
@@ -600,7 +600,7 @@ void daTbox_c::CreateInit() {
if (funcType == FUNC_TYPE_GRAVITY) {
mAcchCir.SetWall(30.0f, 0.0f);
mObjAcch.Set(&current.pos, &next.pos, this, 1, &mAcchCir, &speed);
mObjAcch.Set(&current.pos, &old.pos, this, 1, &mAcchCir, &speed);
mGravity = -2.5f;
}
@@ -611,7 +611,7 @@ void daTbox_c::CreateInit() {
/* 00001560-00001624 .text boxCheck__8daTbox_cFv */
s32 daTbox_c::boxCheck() {
fopAc_ac_c* player = dComIfGp_getPlayer(0);
cXyz playerChestDiff = player->current.pos - orig.pos;
cXyz playerChestDiff = player->current.pos - home.pos;
if (playerChestDiff.abs2XZ() < 10000.0f) {
if (fopAcM_seenActorAngleY(this, dComIfGp_getPlayer(0)) < 0x2000 && fopAcM_seenActorAngleY(player, this) < 0x2000) {
@@ -910,7 +910,7 @@ void daTbox_c::OpenInit_com() {
dComIfGs_onTbox(tboxNo);
}
s32 openSwNo = orig.angle.z & 0xFF;
s32 openSwNo = home.angle.z & 0xFF;
if (openSwNo != 0xFF) {
dComIfGs_onSwitch(openSwNo, mRoomNo);
@@ -1231,7 +1231,7 @@ BOOL daTbox_c::execute() {
mAttentionInfo.mPosition = current.pos;
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(orig.angle.y);
mDoMtx_stack_c::YrotM(home.angle.y);
mpChestMdl->setBaseTRMtx(mDoMtx_stack_c::get());
mDoMtx_copy(mDoMtx_stack_c::get(), mMtx);
@@ -1300,7 +1300,7 @@ static s32 daTbox_Create(fopAc_ac_c* i_actor) {
result = dComIfG_resLoad(tbox->getPhase(), "Dalways");
if (result == cPhs_COMPLEATE_e) {
tbox->mRoomNo = tbox->orig.angle.x & 0x3F;
tbox->mRoomNo = tbox->home.angle.x & 0x3F;
u32 shapeType = tbox->getShapeType();
u32 heapSize = heapsize_tbl[shapeType];
+1 -1
View File
@@ -66,7 +66,7 @@ BOOL daItem_c::releaseLock() {
/* 800689A8-800689F0 .text checkActionNow__8daItem_cFv */
BOOL daItem_c::checkActionNow() {
if (fabsf(speedF) < 0.1f && fabsf(next.pos.y - current.pos.y) < 1.0f) {
if (fabsf(speedF) < 0.1f && fabsf(old.pos.y - current.pos.y) < 1.0f) {
return FALSE;
}
return TRUE;
+3 -8
View File
@@ -4,20 +4,15 @@
#include "d/actor/d_a_ship.h"
void daShip_c::initStartPos(const cXyz* pos, short rotY) {
current.pos.x = pos->x;
current.pos.y = pos->y;
current.pos.z = pos->z;
next.pos.x = pos->x;
next.pos.y = pos->y;
next.pos.z = pos->z;
current.pos = *pos;
old.pos = *pos;
shape_angle.y = rotY;
current.angle.y = shape_angle.y;
m0358 &= 0xffffffef;
m0358 &= ~0x10;
mGravity = -2.5f;
mWaveL.remove();
mWaveR.remove();
mSplash.remove();
mTrack.remove();
m1970.end();
+1 -1
View File
@@ -252,7 +252,7 @@ void daTagKbItem_c::dig_main() {
}
if (field_0x2a1 != 0xFF) {
mpActor->orig.angle.z = field_0x2a1;
mpActor->home.angle.z = field_0x2a1;
fopAcM_onSwitch(this, field_0x2a4);
fopAcM_delete(this);
r30 = true;
+4 -4
View File
@@ -37,22 +37,22 @@ u8 dDoor_info_c::getEventNo() {
/* 8006B3F8-8006B404 .text getFRoomNo__12dDoor_info_cFv */
u8 dDoor_info_c::getFRoomNo() {
return orig.angle.x & 0x3F;
return home.angle.x & 0x3F;
}
/* 8006B404-8006B410 .text getBRoomNo__12dDoor_info_cFv */
u8 dDoor_info_c::getBRoomNo() {
return (orig.angle.x >> 0x06) & 0x3F;
return (home.angle.x >> 0x06) & 0x3F;
}
/* 8006B410-8006B41C .text getShipId__12dDoor_info_cFv */
u8 dDoor_info_c::getShipId() {
return orig.angle.z & 0x3F;
return home.angle.z & 0x3F;
}
/* 8006B41C-8006B428 .text getArg1__12dDoor_info_cFv */
u8 dDoor_info_c::getArg1() {
return (orig.angle.z >> 0x08) & 0xFF;
return (home.angle.z >> 0x08) & 0xFF;
}
/* 8006B428-8006B4C4 .text adjoinPlayer__12dDoor_info_cFv */
+3 -3
View File
@@ -646,7 +646,7 @@ static fopAc_ac_c* findShutterCallBack(fopAc_ac_c* actor, void* user) {
if (param->profName != fopAcM_GetProfName(actor))
return NULL;
cXyz diff = actor->orig.pos - param->actor->orig.pos;
cXyz diff = actor->home.pos - param->actor->home.pos;
if (diff.x < 10.0f && diff.x > -10.0f && diff.y < 10.0f && diff.y > -10.0f && diff.z < 10.0f && diff.z > -10.0f)
return actor;
@@ -664,8 +664,8 @@ fopAc_ac_c* dEvent_manager_c::specialCast_Shutter(s16 profName, int flag) {
fopAc_ac_c* shutter = (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)findShutterCallBack, &param);
if (shutter != NULL && flag) {
cXyz goal = shutter->orig.pos;
s16 angle = param.actor->orig.angle.y + 0x8000;
cXyz goal = shutter->home.pos;
s16 angle = param.actor->home.angle.y + 0x8000;
goal.x += cM_ssin(angle) * 100.0f;
goal.z += cM_scos(angle) * 100.0f;
dComIfGp_evmng_setGoal(&goal);
+6 -6
View File
@@ -796,14 +796,14 @@ void dNpc_JntCtrl_c::turn_fromHead2Backbone(s16 param_1, s16* param_2, s16* para
}
}
s16 dNpc_JntCtrl_c::follow_current(s16* orig, s16 diff) {
s16 angle = *orig;
*orig -= diff;
s16 dNpc_JntCtrl_c::follow_current(s16* pAngle, s16 diff) {
s16 angle = *pAngle;
*pAngle -= diff;
s16 ret = 0;
if((angle > 0 && *orig < 0) || (angle < 0 && *orig > 0)) {
ret = -*orig;
*orig = 0;
if((angle > 0 && *pAngle < 0) || (angle < 0 && *pAngle > 0)) {
ret = -*pAngle;
*pAngle = 0;
}
return ret;
+6 -6
View File
@@ -1068,7 +1068,7 @@ BOOL ShopItems_c::Item_Select(int idx) {
if (item) {
csXyz* pAngle = item->getRotateP();
cXyz* pPos = item->getPosP();
cXyz temp2 = item->orig.pos;
cXyz temp2 = item->home.pos;
cXyz temp = m30;
temp -= item->getCenter();
if (m3C == 1) {
@@ -1088,9 +1088,9 @@ BOOL ShopItems_c::Item_Select(int idx) {
BOOL ShopItems_c::Item_Wait(int idx) {
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemActorProcessIds[idx]);
if (item) {
cLib_addCalcAngleS(&item->getRotateP()->y, item->orig.angle.y, 0x4, 0x800, 0x80);
cLib_addCalcAngleS(&item->getRotateP()->y, item->home.angle.y, 0x4, 0x800, 0x80);
cXyz* pPos = item->getPosP();
cXyz targetPos = item->orig.pos;
cXyz targetPos = item->home.pos;
cLib_addCalcPos2(pPos, targetPos, 0.5f, 20.0f);
return TRUE;
}
@@ -1148,7 +1148,7 @@ cXyz ShopItems_c::getSelectItemBasePos() {
}
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemActorProcessIds[mSelectedItemIdx]);
if (item) {
return item->orig.pos + item->getCenter();
return item->home.pos + item->getCenter();
} else {
return cXyz::Zero;
}
@@ -1186,8 +1186,8 @@ void ShopItems_c::showItem() {
daShopItem_c* item = (daShopItem_c*)fopAcM_SearchByID(mItemActorProcessIds[i]);
if (item && m28[i] != 1) {
item->show();
item->current.pos = item->orig.pos;
item->getRotateP()->y = item->orig.angle.y;
item->current.pos = item->home.pos;
item->getRotateP()->y = item->home.angle.y;
}
}
mbIsHide = 0;
+9 -9
View File
@@ -98,7 +98,7 @@ s32 fopAc_Execute(void* pProc) {
)
) {
fopAcM_OffCondition(actor, fopAcCnd_NOEXEC_e);
actor->next = actor->current;
actor->old = actor->current;
ret = fpcMtd_Execute((process_method_class*)actor->mSubMtd, actor);
} else {
fopAcM_OnCondition(actor, fopAcCnd_NOEXEC_e);
@@ -157,20 +157,20 @@ s32 fopAc_Create(void* pProc) {
fopAcM_prm_class* prm = fopAcM_GetAppend(actor);
if (prm != NULL) {
fopAcM_SetParam(actor, prm->mParameter);
actor->orig.pos = prm->mPos;
actor->orig.angle = prm->mAngle;
actor->home.pos = prm->mPos;
actor->home.angle = prm->mAngle;
actor->shape_angle = prm->mAngle;
actor->mParentPcId = prm->mParentPcId;
actor->mSubtype = prm->mSubtype;
actor->mGbaName = prm->mGbaName;
actor->mScale.set(prm->mScale.x * 0.1f, prm->mScale.y * 0.1f, prm->mScale.z * 0.1f);
actor->mSetId = prm->mSetId;
actor->orig.roomNo = prm->mRoomNo;
actor->home.roomNo = prm->mRoomNo;
}
actor->next = actor->orig;
actor->current = actor->orig;
actor->mEyePos = actor->orig.pos;
actor->old = actor->home;
actor->current = actor->home;
actor->mEyePos = actor->home.pos;
actor->mMaxFallSpeed = -100.0f;
actor->mAttentionInfo.mDistances[0] = 1;
actor->mAttentionInfo.mDistances[1] = 2;
@@ -180,8 +180,8 @@ s32 fopAc_Create(void* pProc) {
actor->mAttentionInfo.mDistances[7] = 15;
actor->mAttentionInfo.mDistances[5] = 16;
actor->mAttentionInfo.mDistances[6] = 16;
actor->mAttentionInfo.mPosition = actor->orig.pos;
dKy_tevstr_init(&actor->mTevStr, actor->orig.roomNo, 0xFF);
actor->mAttentionInfo.mPosition = actor->home.pos;
dKy_tevstr_init(&actor->mTevStr, actor->home.roomNo, 0xFF);
}
s32 status = fpcMtd_Create((process_method_class*)actor->mSubMtd, actor);