diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index f2cb299b0..3941554cb 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5367,25 +5367,31 @@ static void HWR_ProjectPrecipitationSprite(precipmobj_t *thing) // decide which patch to use for sprite relative to player if ((unsigned)thing->sprite >= numsprites) -#ifdef RANGECHECK - I_Error("HWR_ProjectPrecipitationSprite: invalid sprite number %i ", - thing->sprite); -#else + { + CONS_Debug(DBG_RENDER, "R_ProjectPrecipitationSprite: invalid sprite number %d\n", + thing->sprite); return; -#endif + } sprdef = &sprites[thing->sprite]; - if ((size_t)(thing->frame&FF_FRAMEMASK) >= sprdef->numframes) -#ifdef RANGECHECK - I_Error("HWR_ProjectPrecipitationSprite: invalid sprite frame %i : %i for %s", - thing->sprite, thing->frame, sprnames[thing->sprite]); + if ((UINT8)(thing->frame&FF_FRAMEMASK) >= sprdef->numframes) + { + CONS_Debug(DBG_RENDER, "R_ProjectPrecipitationSprite: invalid sprite frame %d : %d for %s\n", + thing->sprite, thing->frame, sprnames[thing->sprite]); + return; + } + + sprframe = &sprdef->spriteframes[ thing->frame & FF_FRAMEMASK]; + + + if (!sprframe) +#ifdef PARANOIA + I_Error("R_ProjectPrecipitationSprite: sprframes NULL for sprite %d\n", thing->sprite); #else return; #endif - sprframe = &sprdef->spriteframes[ thing->frame & FF_FRAMEMASK]; - // use single rotation for all views lumpoff = sprframe->lumpid[0]; flip = sprframe->flip; // Will only be 0x00 or 0xFF diff --git a/src/r_things.cpp b/src/r_things.cpp index 6e292e552..293c9feee 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -2584,9 +2584,11 @@ static void R_ProjectPrecipitationSprite(precipmobj_t *thing) sprframe = &sprdef->spriteframes[thing->frame & FF_FRAMEMASK]; -#ifdef PARANOIA if (!sprframe) +#ifdef PARANOIA I_Error("R_ProjectPrecipitationSprite: sprframes NULL for sprite %d\n", thing->sprite); +#else + return; #endif // use single rotation for all views