summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_npc_gra.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/d/actor/d_a_npc_gra.cpp')
-rw-r--r--src/d/actor/d_a_npc_gra.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/d/actor/d_a_npc_gra.cpp b/src/d/actor/d_a_npc_gra.cpp
index 9f303d8f3f..364b4b0fc6 100644
--- a/src/d/actor/d_a_npc_gra.cpp
+++ b/src/d/actor/d_a_npc_gra.cpp
@@ -343,10 +343,13 @@ BOOL daNpc_grA_c::create() {
mType = getTypeFromParam();
mMode = getMode();
mSwBit = getSwBit();
+ // !@bug home.angle.x is promoted to a 32-bit signed integer prior
+ // to being compared, so the compared value can never exceed
+ // SHORT_MAX and the condition always passes.
if (home.angle.x != 0xffff) {
- field_0x146C = home.angle.x;
+ mFlowID = home.angle.x;
} else{
- field_0x146C = -1;
+ mFlowID = -1;
}
if (isDelete()) {
return cPhs_ERROR_e;
@@ -2146,7 +2149,7 @@ BOOL daNpc_grA_c::ECut_talkSpa(int i_staffID) {
setLookMode(5);
break;
case 1:
- initTalk(field_0x146C, arr);
+ initTalk(mFlowID, arr);
break;
case 2:
if (daNpcF_chkEvtBit(6) && daNpcF_chkEvtBit(0x3e) == FALSE) {
@@ -3020,7 +3023,7 @@ BOOL daNpc_grA_c::ECut_rollRockCrash(int i_staffID) {
break;
case 0x14: {
setLookMode(0);
- initTalk(field_0x146C, NULL);
+ initTalk(mFlowID, NULL);
cXyz c(200.0f, 100.0f, 0.0f);
mDoMtx_stack_c::YrotS(home.angle.y);
mDoMtx_stack_c::multVec(&c, &c);
@@ -3588,7 +3591,7 @@ BOOL daNpc_grA_c::waitSpaWater(void*) {
}
setLookMode(0);
mTurnMode = 0;
- field_0x146C = 0x28;
+ mFlowID = 0x28;
field_0x1472 = 2;
field_0x9ea = 1;
// fallthrough
@@ -3968,7 +3971,7 @@ BOOL daNpc_grA_c::talk(void*) {
setGateWalk();
}
} else {
- r27 = field_0x146C;
+ r27 = mFlowID;
}
initTalk(r27, NULL);
field_0x1484 = fopAcM_searchPlayerAngleY(this);