[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