diff --git a/src/r_patch.c b/src/r_patch.c index 7c9d0ea83b837a163541417dd2a95872e7a371e5..69d5ad1a2a9301ec02e167a1dd354f494243488e 100644 --- a/src/r_patch.c +++ b/src/r_patch.c @@ -1180,8 +1180,7 @@ void R_CacheRotSprite(spritenum_t sprnum, UINT8 frame, spriteinfo_t *sprinfo, sp leftoffset = width - leftoffset; } - // Don't cache angle = 0 - for (angle = 1; angle < ROTANGLES; angle++) + for (angle = 0; angle < ROTANGLES; angle++) { INT32 newwidth, newheight; diff --git a/src/r_things.c b/src/r_things.c index aa2a73515adfd2d75d450e18b6d9d10c9b050f34..d29baa711b98fd8956df7a6f59b5602bfbc4a2ad 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -500,7 +500,7 @@ void R_InitSprites(void) { size_t i; #ifdef ROTSPRITE - INT32 angle, realangle = 0; + INT32 angle, ra; float fa; #endif @@ -510,10 +510,12 @@ void R_InitSprites(void) #ifdef ROTSPRITE for (angle = 0; angle < ROTANGLES; angle++) { - fa = ANG2RAD(FixedAngle(realangle<<FRACBITS)); + ra = (ROTANGDIFF * angle); + if (!ra) + ra = (ROTANGDIFF / 2) + 1; + fa = ANG2RAD(FixedAngle(ra<<FRACBITS)); cosang2rad[angle] = FLOAT_TO_FIXED(cos(-fa)); sinang2rad[angle] = FLOAT_TO_FIXED(sin(-fa)); - realangle += ROTANGDIFF; } #endif