diff options
Diffstat (limited to 'engines/bladerunner/waypoints.cpp')
-rw-r--r-- | engines/bladerunner/waypoints.cpp | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/engines/bladerunner/waypoints.cpp b/engines/bladerunner/waypoints.cpp index 7f709963df..4d80841e50 100644 --- a/engines/bladerunner/waypoints.cpp +++ b/engines/bladerunner/waypoints.cpp @@ -21,71 +21,72 @@ */ #include "bladerunner/waypoints.h" + namespace BladeRunner { Waypoints::Waypoints(BladeRunnerEngine *vm, int count) { _vm = vm; _count = count; - _waypoints = new Waypoint[count]; -} - -Waypoints::~Waypoints() { - delete[] _waypoints; + _waypoints.resize(count); } -void Waypoints::getXYZ(int waypointId, float *x, float *y, float *z) { +void Waypoints::getXYZ(int waypointId, float *x, float *y, float *z) const { *x = 0; *y = 0; *z = 0; - if (waypointId < 0 || waypointId >= _count || !_waypoints[waypointId]._present) + if (waypointId < 0 || waypointId >= _count || !_waypoints[waypointId].present) { return; + } - *x = _waypoints[waypointId]._position.x; - *y = _waypoints[waypointId]._position.y; - *z = _waypoints[waypointId]._position.z; + *x = _waypoints[waypointId].position.x; + *y = _waypoints[waypointId].position.y; + *z = _waypoints[waypointId].position.z; } -int Waypoints::getSetId(int waypointId) { - if (waypointId < 0 || waypointId >= _count || !_waypoints[waypointId]._present) +int Waypoints::getSetId(int waypointId) const { + if (waypointId < 0 || waypointId >= _count || !_waypoints[waypointId].present) { return -1; - return _waypoints[waypointId]._setId; + } + return _waypoints[waypointId].setId; } bool Waypoints::set(int waypointId, int setId, Vector3 position) { - if (waypointId < 0 || waypointId >= _count) + if (waypointId < 0 || waypointId >= _count) { return false; + } - _waypoints[waypointId]._setId = setId; - _waypoints[waypointId]._position = position; - _waypoints[waypointId]._present = true; + _waypoints[waypointId].setId = setId; + _waypoints[waypointId].position = position; + _waypoints[waypointId].present = true; return true; } bool Waypoints::reset(int waypointId) { - if (waypointId < 0 || waypointId >= _count) + if (waypointId < 0 || waypointId >= _count) { return false; + } - _waypoints[waypointId]._setId = -1; - _waypoints[waypointId]._position.x = 0; - _waypoints[waypointId]._position.y = 0; - _waypoints[waypointId]._position.z = 0; - _waypoints[waypointId]._present = false; + _waypoints[waypointId].setId = -1; + _waypoints[waypointId].position.x = 0; + _waypoints[waypointId].position.y = 0; + _waypoints[waypointId].position.z = 0; + _waypoints[waypointId].present = false; return true; } -float Waypoints::getX(int waypointId) { - return _waypoints[waypointId]._position.x; +float Waypoints::getX(int waypointId) const { + return _waypoints[waypointId].position.x; } -float Waypoints::getY(int waypointId) { - return _waypoints[waypointId]._position.y; +float Waypoints::getY(int waypointId) const { + return _waypoints[waypointId].position.y; } -float Waypoints::getZ(int waypointId) { - return _waypoints[waypointId]._position.z; +float Waypoints::getZ(int waypointId) const { + return _waypoints[waypointId].position.z; } } // End of namespace BladeRunner |