[Scummvm-git-logs] scummvm master -> 665bd9ce845cba6ec63807eacd02a53dffa9a2d7
sev-
sev at scummvm.org
Mon Dec 17 19:27:32 CET 2018
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:
665bd9ce84 BLADERUNNER: Rect -> RectFloat
Commit: 665bd9ce845cba6ec63807eacd02a53dffa9a2d7
https://github.com/scummvm/scummvm/commit/665bd9ce845cba6ec63807eacd02a53dffa9a2d7
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2018-12-17T19:27:03+01:00
Commit Message:
BLADERUNNER: Rect -> RectFloat
Changed paths:
A engines/bladerunner/rect_float.h
R engines/bladerunner/rect.h
engines/bladerunner/obstacles.cpp
engines/bladerunner/obstacles.h
diff --git a/engines/bladerunner/obstacles.cpp b/engines/bladerunner/obstacles.cpp
index 06c19ad..62bb210b 100644
--- a/engines/bladerunner/obstacles.cpp
+++ b/engines/bladerunner/obstacles.cpp
@@ -247,7 +247,7 @@ bool Obstacles::mergePolygons(Polygon &polyA, Polygon &polyB) {
return flagDidMergePolygons;
}
-void Obstacles::add(Rect rect) {
+void Obstacles::add(RectFloat rect) {
int polygonIndex = findEmptyPolygon();
if (polygonIndex < 0) {
return;
diff --git a/engines/bladerunner/obstacles.h b/engines/bladerunner/obstacles.h
index 2512490..f133fe0 100644
--- a/engines/bladerunner/obstacles.h
+++ b/engines/bladerunner/obstacles.h
@@ -23,7 +23,7 @@
#ifndef BLADERUNNER_OBSTACLES_H
#define BLADERUNNER_OBSTACLES_H
-#include "bladerunner/rect.h"
+#include "bladerunner/rect_float.h"
#include "bladerunner/vector.h"
namespace BladeRunner {
@@ -52,7 +52,7 @@ class Obstacles {
struct Polygon {
bool isPresent;
int verticeCount;
- Rect rect;
+ RectFloat rect;
Vector2 vertices[kPolygonVertexCount];
VertexType vertexType[kPolygonVertexCount];
@@ -79,8 +79,8 @@ public:
~Obstacles();
void clear();
- void add(Rect rect);
- void add(float x0, float z0, float x1, float z1) { add(Rect(x0, z0, x1, z1)); }
+ void add(RectFloat rect);
+ void add(float x0, float z0, float x1, float z1) { add(RectFloat(x0, z0, x1, z1)); }
int findEmptyPolygon() const;
static float getLength(float x0, float z0, float x1, float z1);
bool find(const Vector3 &from, const Vector3 &to, Vector3 *next) const;
diff --git a/engines/bladerunner/rect.h b/engines/bladerunner/rect.h
deleted file mode 100644
index a44ad87..0000000
--- a/engines/bladerunner/rect.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef BLADERUNNER_RECT_H
-#define BLADERUNNER_RECT_H
-
-#include "common/debug.h"
-#include "common/types.h"
-#include "common/util.h"
-
-namespace BladeRunner {
-
-struct Rect {
- float x0;
- float y0;
- float x1;
- float y1;
-
- Rect()
- : x0(0.0f), y0(0.0f), x1(0.0f), y1(0.0f)
- {}
- Rect(float x0_, float y0_, float x1_, float y1_)
- : x0(x0_), y0(y0_), x1(x1_), y1(y1_)
- {}
-
- void expand(float d) {
- x0 -= d;
- y0 -= d;
- x1 += d;
- y1 += d;
- }
-
- void trunc_2_decimals() {
- x0 = truncf(x0 * 100.0f) / 100.0f;
- y0 = truncf(y0 * 100.0f) / 100.0f;
- x1 = truncf(x1 * 100.0f) / 100.0f;
- y1 = truncf(y1 * 100.0f) / 100.0f;
- }
-};
-
-inline bool overlaps(const Rect &a, const Rect &b) {
- return !(a.y1 < b.y0 || a.y0 > b.y1 || a.x0 > b.x1 || a.x1 < b.x0);
-}
-
-inline Rect merge(const Rect &a, const Rect &b) {
- Rect c;
- c.x0 = MIN(a.x0, b.x0);
- c.y0 = MIN(a.y0, b.y0);
- c.x1 = MAX(a.x1, b.x1);
- c.y1 = MAX(a.y1, b.y1);
- return c;
-}
-
-} // End of namespace BladeRunner
-
-#endif
diff --git a/engines/bladerunner/rect_float.h b/engines/bladerunner/rect_float.h
new file mode 100644
index 0000000..4b7fea3
--- /dev/null
+++ b/engines/bladerunner/rect_float.h
@@ -0,0 +1,75 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef BLADERUNNER_RECT_FLOAT_H
+#define BLADERUNNER_RECT_FLOAT_H
+
+#include "common/debug.h"
+#include "common/types.h"
+#include "common/util.h"
+
+namespace BladeRunner {
+
+struct RectFloat {
+ float x0;
+ float y0;
+ float x1;
+ float y1;
+
+ RectFloat()
+ : x0(0.0f), y0(0.0f), x1(0.0f), y1(0.0f)
+ {}
+ RectFloat(float x0_, float y0_, float x1_, float y1_)
+ : x0(x0_), y0(y0_), x1(x1_), y1(y1_)
+ {}
+
+ void expand(float d) {
+ x0 -= d;
+ y0 -= d;
+ x1 += d;
+ y1 += d;
+ }
+
+ void trunc_2_decimals() {
+ x0 = truncf(x0 * 100.0f) / 100.0f;
+ y0 = truncf(y0 * 100.0f) / 100.0f;
+ x1 = truncf(x1 * 100.0f) / 100.0f;
+ y1 = truncf(y1 * 100.0f) / 100.0f;
+ }
+};
+
+inline bool overlaps(const RectFloat &a, const RectFloat &b) {
+ return !(a.y1 < b.y0 || a.y0 > b.y1 || a.x0 > b.x1 || a.x1 < b.x0);
+}
+
+inline RectFloat merge(const RectFloat &a, const RectFloat &b) {
+ RectFloat c;
+ c.x0 = MIN(a.x0, b.x0);
+ c.y0 = MIN(a.y0, b.y0);
+ c.x1 = MAX(a.x1, b.x1);
+ c.y1 = MAX(a.y1, b.y1);
+ return c;
+}
+
+} // End of namespace BladeRunner
+
+#endif
More information about the Scummvm-git-logs
mailing list