[Scummvm-git-logs] scummvm master -> db508e987597cf3f85b8d6a734d251a2162d5a06
sev-
sev at scummvm.org
Mon Aug 3 16:17:01 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
12a35cda57 DIRECTOR: Do not attempt to render cursor from empty sprite
db508e9875 DIRECTOR: LINGO: Implement Director-specific rounding (tested with D3-5)
Commit: 12a35cda57dbcf7e7ae37de7d6c50b15970f15ef
https://github.com/scummvm/scummvm/commit/12a35cda57dbcf7e7ae37de7d6c50b15970f15ef
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-03T17:56:03+02:00
Commit Message:
DIRECTOR: Do not attempt to render cursor from empty sprite
Changed paths:
engines/director/score.cpp
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 7e83ea5d46..9c55ef9429 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -483,6 +483,9 @@ void Score::renderSprites(uint16 frameId, RenderMode mode) {
}
void Score::renderCursor(uint spriteId) {
+ if (!spriteId)
+ return;
+
if (_channels[spriteId]->_cursor.isEmpty()) {
if (_currentCursor) {
_vm->_wm->popCursor();
Commit: db508e987597cf3f85b8d6a734d251a2162d5a06
https://github.com/scummvm/scummvm/commit/db508e987597cf3f85b8d6a734d251a2162d5a06
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-03T17:56:03+02:00
Commit Message:
DIRECTOR: LINGO: Implement Director-specific rounding (tested with D3-5)
Changed paths:
engines/director/lingo/lingo.cpp
engines/director/lingo/tests/math.lingo
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 197dd89a82..0c95b7cc4a 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -20,8 +20,6 @@
*
*/
-#include <math.h>
-
#include "common/file.h"
#include "common/config-manager.h"
@@ -854,10 +852,11 @@ int Datum::asInt() const {
res = u.i;
break;
case FLOAT:
- if (g_director->getVersion() < 4)
+ if (g_director->getVersion() < 5) {
+ res = (int)(u.f + 0.5); // Yes, +0.5 even for negative numbers
+ } else {
res = round(u.f);
- else
- res = (int)u.f;
+ }
break;
default:
warning("Incorrect operation asInt() for type: %s", type2str());
diff --git a/engines/director/lingo/tests/math.lingo b/engines/director/lingo/tests/math.lingo
index f38b061b6a..02b6c764d2 100644
--- a/engines/director/lingo/tests/math.lingo
+++ b/engines/director/lingo/tests/math.lingo
@@ -22,3 +22,28 @@ put (1024/4096)*100.0 -- 0.0
put ((1024*1.0)/4096)*100.0 -- 25.0
put the sqrt of 9
+
+-- Testing rounding
+set save to the scummvmVersion
+set the scummvmVersion to 3
+scummvmAssertEqual(integer(2.5), 3)
+scummvmAssertEqual(integer(2.49), 2)
+scummvmAssertEqual(integer(2.1), 2)
+scummvmAssertEqual(integer(2.0), 2)
+scummvmAssertEqual(integer(1.9), 2)
+scummvmAssertEqual(integer(1.5), 2)
+scummvmAssertEqual(integer(1.49), 1)
+scummvmAssertEqual(integer(1.0), 1)
+scummvmAssertEqual(integer(0.0), 0)
+scummvmAssertEqual(integer(-0.49), 0)
+scummvmAssertEqual(integer(-0.5), 0)
+scummvmAssertEqual(integer(-1.0), 0)
+scummvmAssertEqual(integer(-1.49), 0)
+scummvmAssertEqual(integer(-1.5), -1)
+scummvmAssertEqual(integer(-1.9), -1)
+scummvmAssertEqual(integer(-2.0), -1)
+scummvmAssertEqual(integer(-2.1), -1)
+scummvmAssertEqual(integer(-2.49), -1)
+scummvmAssertEqual(integer(-2.5), -2)
+
+set the scummvmVersion to save
More information about the Scummvm-git-logs
mailing list