diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 9fabe59b0..7ea454b30 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1362,7 +1362,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) if (!lightset) HWR_ObjectLightLevelPost(spr, sector, &lightlevel, true); - HWR_Lighting(&Surf, lightlevel, colormap, P_SectorUsesDirectionalLighting(sector) && !R_ThingIsFullBright(spr->mobj)); + HWR_Lighting(&Surf, lightlevel, colormap, P_SectorUsesDirectionalLighting(sector) && !R_ThingIsFullBright(spr->mobj) && R_ThingModelUsesDirectionalLightning(spr->mobj)); } else Surf.PolyColor.rgba = 0xFFFFFFFF; diff --git a/src/r_things.cpp b/src/r_things.cpp index 49a2a3480..108b305f1 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -3871,6 +3871,15 @@ boolean R_ThingIsFullDark(mobj_t *thing) return ((thing->frame & FF_BRIGHTMASK) == FF_FULLDARK); } +boolean R_ThingModelUsesDirectionalLightning(mobj_t *thing) +{ + if (thing->type == MT_ARKARROW) + { + return false; + } + return true; +} + // // R_DrawMasked // diff --git a/src/r_things.h b/src/r_things.h index 7148caacc..71819de47 100644 --- a/src/r_things.h +++ b/src/r_things.h @@ -91,6 +91,7 @@ boolean R_ThingIsFloorSprite (mobj_t *thing); boolean R_ThingIsFullBright (mobj_t *thing); boolean R_ThingIsSemiBright (mobj_t *thing); boolean R_ThingIsFullDark (mobj_t *thing); +boolean R_ThingModelUsesDirectionalLightning(mobj_t *mobj); boolean R_ThingIsFlashing(mobj_t *thing);