From d547e5ec1a70d20d54082f9dc7c2d20341157e1c Mon Sep 17 00:00:00 2001 From: avolkov Date: Fri, 28 Jan 2005 04:23:33 +0000 Subject: [PATCH] Precision-error correction in degrees to angle macros git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1492 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/units.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sc2/src/sc2code/units.h b/sc2/src/sc2code/units.h index 9924c7ac6..4319e42af 100644 --- a/sc2/src/sc2code/units.h +++ b/sc2/src/sc2code/units.h @@ -145,7 +145,8 @@ universeToLogy (COORD uy) #define NORMALIZE_ANGLE(a) ((COUNT)(a)&(COUNT)(FULL_CIRCLE-1)) #define NORMALIZE_FACING(f) ((COUNT)(f)&((1 << FACING_SHIFT)-1)) -#define DEGREES_TO_ANGLE(d) NORMALIZE_ANGLE(((d) % 360) * FULL_CIRCLE / 360) +#define DEGREES_TO_ANGLE(d) NORMALIZE_ANGLE((((d) % 360) * FULL_CIRCLE \ + + HALF_CIRCLE) / 360) #define ANGLE_TO_DEGREES(d) (NORMALIZE_ANGLE(d) * 360 / FULL_CIRCLE) #define SIN_SHIFT 14