[Scummvm-git-logs] scummvm master -> 3e1d298a61071709a40a0fd96c774a28602df5d2
dreammaster
dreammaster at scummvm.org
Fri Mar 10 02:51:05 CET 2017
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:
3e1d298a61 TITANIC: Properly implement CBaseStarEntry equality test
Commit: 3e1d298a61071709a40a0fd96c774a28602df5d2
https://github.com/scummvm/scummvm/commit/3e1d298a61071709a40a0fd96c774a28602df5d2
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-03-09T20:50:56-05:00
Commit Message:
TITANIC: Properly implement CBaseStarEntry equality test
Changed paths:
engines/titanic/star_control/base_star.cpp
engines/titanic/star_control/base_star.h
engines/titanic/star_control/star_control_sub7.cpp
diff --git a/engines/titanic/star_control/base_star.cpp b/engines/titanic/star_control/base_star.cpp
index a32263a..552ef17 100644
--- a/engines/titanic/star_control/base_star.cpp
+++ b/engines/titanic/star_control/base_star.cpp
@@ -44,6 +44,15 @@ void CBaseStarEntry::load(Common::SeekableReadStream &s) {
_data[idx] = s.readUint32LE();
}
+bool CBaseStarEntry::operator==(const CBaseStarEntry &s) const {
+ return _field0 == s._field0 && _field1 == s._field1
+ && _field2 == s._field2 && _field3 == s._field3
+ && _value == s._value && _position == s._position
+ && _data[0] == s._data[0] && _data[1] == s._data[1]
+ && _data[2] == s._data[2] && _data[3] == s._data[3]
+ && _data[4] == s._data[4];
+}
+
/*------------------------------------------------------------------------*/
CBaseStar::CBaseStar() : _minVal(0.0), _maxVal(1.0), _range(0.0),
diff --git a/engines/titanic/star_control/base_star.h b/engines/titanic/star_control/base_star.h
index 1450b25..c348b1f 100644
--- a/engines/titanic/star_control/base_star.h
+++ b/engines/titanic/star_control/base_star.h
@@ -44,7 +44,13 @@ struct CBaseStarEntry {
uint _data[5];
CBaseStarEntry();
+
+ /**
+ * Loads the data for a star
+ */
void load(Common::SeekableReadStream &s);
+
+ bool operator==(const CBaseStarEntry &s) const;
};
class CBaseStar {
diff --git a/engines/titanic/star_control/star_control_sub7.cpp b/engines/titanic/star_control/star_control_sub7.cpp
index 4b69481..c2c9030 100644
--- a/engines/titanic/star_control/star_control_sub7.cpp
+++ b/engines/titanic/star_control/star_control_sub7.cpp
@@ -32,7 +32,7 @@ bool CStarControlSub7::addStar(const CBaseStarEntry *entry) {
// iterate through the existing stars
for (uint idx = 0; idx < _data.size(); ++idx) {
CBaseStarEntry &star = _data[idx];
- if (star._position == entry->_position) {
+ if (star == *entry) {
// Found a matching star at the exact same position, so remove it instead
_data.remove_at(idx);
return true;
More information about the Scummvm-git-logs
mailing list