summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_obj_gra2.cpp
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2026-03-18 01:38:05 -0400
committerGitHub <noreply@github.com>2026-03-17 22:38:05 -0700
commit6694c1b281a142972fce587bd20cd82ee65ab38f (patch)
tree2537d09d5ab3d270eaca5143a4f2f2f65f4ecb49 /src/d/actor/d_a_obj_gra2.cpp
parent9f340b604b5ac3d19d330b7bd6a2d7355c58bc27 (diff)
Fix a bunch of compiler warnings and document several more bugs (#3130)
Diffstat (limited to 'src/d/actor/d_a_obj_gra2.cpp')
-rw-r--r--src/d/actor/d_a_obj_gra2.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/d/actor/d_a_obj_gra2.cpp b/src/d/actor/d_a_obj_gra2.cpp
index a5d3c5fb69..58802a63ea 100644
--- a/src/d/actor/d_a_obj_gra2.cpp
+++ b/src/d/actor/d_a_obj_gra2.cpp
@@ -277,7 +277,10 @@ cPhs_Step daObj_GrA_c::create() {
}
}
- field_0x848 = ((int)home.angle.x == 0xFFFF) ? -1 : home.angle.x;
+ // !@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 fails.
+ mFlowID = home.angle.x == 0xFFFF ? -1 : home.angle.x;
field_0x1fe8 = (fopAcM_GetParam(this) & 0xC0000000) >> 30;
field_0xa7f = home.angle.z & 0xFF;
@@ -1435,7 +1438,7 @@ int daObj_GrA_c::talk(void* param_1) {
int iVar1, iVar2;
int rv = 0;
int iVar3;
- int iVar4 = field_0x848;
+ int iVar4 = mFlowID;
s16 sVar1;
switch (field_0xa7c) {
case 0:
@@ -2013,7 +2016,7 @@ int daObj_GrA_c::face999(int param_1) {
}
int daObj_GrA_c::evtcutTalk(int param_1, int param_2) {
- s32 sVar1 = field_0x848;
+ s32 sVar1 = mFlowID;
if (param_2 != 0) {
mMsgFlow.init(this, sVar1, 0, NULL);
field_0xaa0 = 0;