diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 40f17301bbf233a54094430cb459501520bb8edb..b58d5811150ce20047ef2a1fd3ecfd36bd704bfc 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3000,7 +3000,7 @@ static void HWR_SplitSprite(gl_vissprite_t *spr) // co-ordinates memcpy(wallVerts, baseWallVerts, sizeof(baseWallVerts)); - UINT32 newalpha = spr->mobj->alpha; + fixed_t newalpha = spr->mobj->alpha; // if sprite has linkdraw, then dont write to z-buffer (by not using PF_Occlude) // this will result in sprites drawn afterwards to be drawn on top like intended when using linkdraw. @@ -3495,7 +3495,7 @@ static void HWR_DrawSprite(gl_vissprite_t *spr) FBITFIELD blend = 0; FBITFIELD occlusion; boolean use_linkdraw_hack = false; - UINT32 newalpha = spr->mobj->alpha; + fixed_t newalpha = spr->mobj->alpha; // if sprite has linkdraw, then dont write to z-buffer (by not using PF_Occlude) // this will result in sprites drawn afterwards to be drawn on top like intended when using linkdraw. diff --git a/src/r_things.c b/src/r_things.c index 843bf36ee0a8b3403dec067d01cde564963821ca..cede03b80853de926e1b23d151d573a954930f6e 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -763,7 +763,7 @@ UINT8 *R_GetTranslationForThing(mobj_t *mobj, skincolornum_t color, UINT16 trans return NULL; } -transnum_t R_GetTransmapFromAlpha(UINT32 alpha, transnum_t transmap) +transnum_t R_GetTransmapFromAlpha(fixed_t alpha, transnum_t transmap) { INT32 value = 10 - transmap; value = 10 - (FixedCeil(alpha * value)>>FRACBITS); @@ -1276,7 +1276,7 @@ static void R_ProjectDropShadow(mobj_t *thing, vissprite_t *vis, fixed_t scale, floordiff = abs((isflipped ? interp.height : 0) + interp.z - groundz); trans = floordiff / (100*FRACUNIT) + 3; - trans = R_GetTransmapFromAlpha((UINT32)thing->alpha, trans); + trans = R_GetTransmapFromAlpha(thing->alpha, trans); if (trans >= 9) return; scalemul = FixedMul(FRACUNIT - floordiff/640, scale); @@ -1963,9 +1963,9 @@ static void R_ProjectSprite(mobj_t *thing) trans = 0; if ((oldthing->flags2 & MF2_LINKDRAW) && oldthing->tracer) - trans = R_GetTransmapFromAlpha((UINT32)oldthing->tracer->alpha, trans); + trans = R_GetTransmapFromAlpha(oldthing->tracer->alpha, trans); else - trans = R_GetTransmapFromAlpha((UINT32)oldthing->alpha, trans); + trans = R_GetTransmapFromAlpha(oldthing->alpha, trans); // Check if this sprite needs to be rendered like a shadow shadowdraw = (!!(thing->renderflags & RF_SHADOWDRAW) && !(papersprite || splat)); @@ -3428,7 +3428,7 @@ boolean R_ThingVisible (mobj_t *thing) (thing->sprite == SPR_NULL) || // Don't draw null-sprites (thing->flags2 & MF2_DONTDRAW) || // Don't draw MF2_LINKDRAW objects (thing->drawonlyforplayer && thing->drawonlyforplayer != viewplayer) || // Don't draw other players' personal objects - ((rendermode == render_soft && R_GetTransmapFromAlpha((UINT32)thing->alpha, (thing->frame & FF_TRANSMASK)>>FF_TRANSSHIFT) >= 10) || + ((rendermode == render_soft && R_GetTransmapFromAlpha(thing->alpha, (thing->frame & FF_TRANSMASK)>>FF_TRANSSHIFT) >= 10) || (rendermode == render_opengl && thing->alpha == 0)) || (!P_MobjWasRemoved(r_viewmobj) && ( (r_viewmobj == thing) || // Don't draw first-person players or awayviewmobj objects diff --git a/src/r_things.h b/src/r_things.h index 086dd8b55fe5ef5ab51913411a122d236b6cde7a..268e5562bc085fed48706209218647e53a493e50 100644 --- a/src/r_things.h +++ b/src/r_things.h @@ -90,7 +90,7 @@ boolean R_ThingIsFullDark (mobj_t *thing); boolean R_ThingIsFlashing (mobj_t *thing); UINT8 *R_GetTranslationForThing(mobj_t *mobj, skincolornum_t color, UINT16 translation); -transnum_t R_GetTransmapFromAlpha(UINT32 alpha, transnum_t transmap); +transnum_t R_GetTransmapFromAlpha(fixed_t alpha, transnum_t transmap); void R_ThingOffsetOverlay (mobj_t *thing, fixed_t *outx, fixed_t *outy);