commit ea5f633fe42c7693e30106a306b376ec169a4809
Author: Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Thu Dec 18 10:53:49 2014 +0100
Commit: Fabian Greffrath <fabian@greffrath.com>
CommitDate: Thu Dec 18 10:53:49 2014 +0100
fix a bug that causes monsters to become partly invisible
when walking inside liquids like water -- on big-endian systems
Originally reported by Ronald Lasmanowicz and fixed in his
wii-hexen port: https://code.google.com/p/wii-hexen/source/detail?r=17
---
src/heretic/r_things.c | 2 +-
src/hexen/r_things.c | 2 +-
src/strife/r_things.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/heretic/r_things.c b/src/heretic/r_things.c
index b4cd19af..489c94bc 100644
--- a/src/heretic/r_things.c
+++ b/src/heretic/r_things.c
@@ -417,7 +417,7 @@ void R_DrawVisSprite(vissprite_t * vis, int x1, int x2)
if (vis->footclip && !vis->psprite)
{
- sprbotscreen = sprtopscreen + FixedMul(patch->height << FRACBITS,
+ sprbotscreen = sprtopscreen + FixedMul(SHORT(patch->height) << FRACBITS,
spryscale);
baseclip = (sprbotscreen - FixedMul(vis->footclip << FRACBITS,
spryscale)) >> FRACBITS;
diff --git a/src/hexen/r_things.c b/src/hexen/r_things.c
index 7a05651a..aae6dc60 100644
--- a/src/hexen/r_things.c
+++ b/src/hexen/r_things.c
@@ -426,7 +426,7 @@ void R_DrawVisSprite(vissprite_t * vis, int x1, int x2)
if (vis->floorclip && !vis->psprite)
{
- sprbotscreen = sprtopscreen + FixedMul(patch->height << FRACBITS,
+ sprbotscreen = sprtopscreen + FixedMul(SHORT(patch->height) << FRACBITS,
spryscale);
baseclip = (sprbotscreen - FixedMul(vis->floorclip,
spryscale)) >> FRACBITS;
diff --git a/src/strife/r_things.c b/src/strife/r_things.c
index 2acb238c..6d37ca09 100644
--- a/src/strife/r_things.c
+++ b/src/strife/r_things.c
@@ -470,7 +470,7 @@ R_DrawVisSprite
// villsa [STRIFE] clip sprite's feet if needed
if(vis->mobjflags & MF_FEETCLIPPED)
{
- sprbotscreen = sprtopscreen + FixedMul(spryscale, patch->height << FRACBITS);
+ sprbotscreen = sprtopscreen + FixedMul(spryscale, SHORT(patch->height) << FRACBITS);
clip = (sprbotscreen - FixedMul(10*FRACUNIT, spryscale)) >> FRACBITS;
}
else