From f6c1c0e2df82657c4b290d8e2ac3fb810aefc220 Mon Sep 17 00:00:00 2001 From: Randy Heit Date: Tue, 28 Feb 2012 03:05:31 +0000 Subject: [PATCH] - Truncate rotating polyobjects to 7 bits of fractional precision per vertex. Fixes known cases of freezing. SVN r3399 (trunk) --- src/po_man.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/po_man.cpp b/src/po_man.cpp index d5219e51c..981b39f67 100644 --- a/src/po_man.cpp +++ b/src/po_man.cpp @@ -1148,8 +1148,8 @@ static void RotatePt (int an, fixed_t *x, fixed_t *y, fixed_t startSpotX, fixed_ fixed_t tr_x = *x; fixed_t tr_y = *y; - *x = DMulScale16 (tr_x, finecosine[an], -tr_y, finesine[an])+startSpotX; - *y = DMulScale16 (tr_x, finesine[an], tr_y, finecosine[an])+startSpotY; + *x = (DMulScale16 (tr_x, finecosine[an], -tr_y, finesine[an]) & 0xFFFFFE00) + startSpotX; + *y = (DMulScale16 (tr_x, finesine[an], tr_y, finecosine[an]) & 0xFFFFFE00) + startSpotY; } //==========================================================================