summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_obj_cwall.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_cwall.cpp
parent9f340b604b5ac3d19d330b7bd6a2d7355c58bc27 (diff)
Fix a bunch of compiler warnings and document several more bugs (#3130)
Diffstat (limited to 'src/d/actor/d_a_obj_cwall.cpp')
-rw-r--r--src/d/actor/d_a_obj_cwall.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/d/actor/d_a_obj_cwall.cpp b/src/d/actor/d_a_obj_cwall.cpp
index 600f433c1a..9d48a90c3e 100644
--- a/src/d/actor/d_a_obj_cwall.cpp
+++ b/src/d/actor/d_a_obj_cwall.cpp
@@ -333,6 +333,10 @@ void daObjCwall_c::getChainBasePos(cXyz* pBasePos) {
void daObjCwall_c::setChainMtx() {
chain_s* pChain = mChains;
s16 sVar7 = home.angle.y;
+
+ // !@bug The variable is promoted to a 32-bit signed integer prior
+ // to being compared to 0xC000, so the compared value can never
+ // exceed SHORT_MAX and the subcondition fails.
if (sVar7 == 0x4000 || sVar7 == 0xc000) {
sVar7 += 0x4000;
}