[Scummvm-git-logs] scummvm master -> a70206f56f681c3f3d432c64f53ed3b06bc825db
athrxx
athrxx at scummvm.org
Sat Sep 4 16:28:54 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a70206f56f SCUMM: (SCUMM 3) - avoid possible division by 0
Commit: a70206f56f681c3f3d432c64f53ed3b06bc825db
https://github.com/scummvm/scummvm/commit/a70206f56f681c3f3d432c64f53ed3b06bc825db
Author: athrxx (athrxx at scummvm.org)
Date: 2021-09-04T18:28:27+02:00
Commit Message:
SCUMM: (SCUMM 3) - avoid possible division by 0
(I haven't encountered a case where it actually happened, but it looks like it could...)
Changed paths:
engines/scumm/actor.cpp
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index ded3b24538..ad40ff4336 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -553,8 +553,8 @@ int Actor_v3::calcMovementFactor(const Common::Point& next) {
if (diffY < 0)
deltaYFactor = -deltaYFactor;
- _walkdata.xfrac = _walkdata.xAdd = diffX / deltaXFactor;
- _walkdata.yfrac = _walkdata.yAdd = diffY / deltaYFactor;
+ _walkdata.xfrac = _walkdata.xAdd = deltaXFactor ? diffX / deltaXFactor : 0;
+ _walkdata.yfrac = _walkdata.yAdd = deltaYFactor ? diffY / deltaYFactor : 0;
_walkdata.cur = _pos;
_walkdata.next = next;
_walkdata.deltaXFactor = deltaXFactor;
@@ -3818,8 +3818,8 @@ void Actor_v3::saveLoadWithSerializer(Common::Serializer &s) {
_walkdata.deltaXFactor = -_walkdata.deltaXFactor;
if (diffY < 0)
_walkdata.deltaYFactor = -_walkdata.deltaYFactor;
- _walkdata.xfrac = _walkdata.xAdd = diffX / _walkdata.deltaXFactor;
- _walkdata.yfrac = _walkdata.yAdd = diffY / _walkdata.deltaYFactor;
+ _walkdata.xfrac = _walkdata.xAdd = _walkdata.deltaXFactor ? diffX / _walkdata.deltaXFactor : 0;
+ _walkdata.yfrac = _walkdata.yAdd = _walkdata.deltaYFactor ? diffY / _walkdata.deltaYFactor : 0;
} else {
s.syncAsUint16LE(_walkdata.xAdd, VER(rev));
More information about the Scummvm-git-logs
mailing list