AVALANCHE: Use degree conversion common math funcs

Noted an atan maybe should be an atan2.

For the atan call I casted the numerator and denominator
separately instead of after they are divided.
This commit is contained in:
David Fioramonti 2018-05-24 19:01:51 -07:00 committed by Thierry Crozat
parent e00881804f
commit 503f0c8f0b
2 changed files with 5 additions and 4 deletions

View file

@ -28,6 +28,7 @@
#include "avalanche/avalanche.h"
#include "avalanche/graphics.h"
#include "common/math.h"
#include "common/system.h"
#include "engines/util.h"
#include "graphics/palette.h"
@ -199,7 +200,6 @@ void GraphicManager::drawToolbar() {
Common::Point GraphicManager::drawArc(Graphics::Surface &surface, int16 x, int16 y, int16 stAngle, int16 endAngle, uint16 radius, Color color) {
Common::Point endPoint;
const float convfac = (float)M_PI / 180.0f;
int32 xRadius = radius;
int32 yRadius = radius * kScreenWidth / (8 * kScreenHeight); // Just don't ask why...
@ -243,7 +243,7 @@ Common::Point GraphicManager::drawArc(Graphics::Surface &surface, int16 x, int16
uint16 deltaEnd = 91;
// Set the end point.
float tempTerm = endAngle * convfac;
float tempTerm = Common::deg2rad<float>(endAngle);
endPoint.x = (int16)floor(xRadius * cos(tempTerm) + 0.5) + x;
endPoint.y = (int16)floor(yRadius * sin(tempTerm + M_PI) + 0.5) + y;
@ -254,7 +254,7 @@ Common::Point GraphicManager::drawArc(Graphics::Surface &surface, int16 x, int16
int16 xTemp = xNext;
int16 yTemp = yNext;
// This is used by both sin and cos.
tempTerm = (j + delta) * convfac;
tempTerm = Common::deg2rad<float>(j + delta);
xNext = (int16)floor(xRadius * cos(tempTerm) + 0.5);
yNext = (int16)floor(yRadius * sin(tempTerm + M_PI) + 0.5);