NSRenderableEntity: RM_ADDITIVE ignores rendercolor 0 0 0 it appears. (zpo_contingency)

This commit is contained in:
Marco Cawthorne 2024-11-01 03:58:25 -07:00
parent dcb17255a3
commit 0d6d881437

View file

@ -230,14 +230,14 @@ NSRenderableEntity::SendEntity(entity ePEnt, float flChanged)
SENDENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY) SENDENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY)
SENDENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE) SENDENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE)
SENDENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE) SENDENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE)
SENDENTITY_COLOR(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_BYTE(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
SENDENTITY_COLOR(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_BYTE(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
SENDENTITY_COLOR(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_BYTE(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
/* these need more precision for shader hacks... */ /* these need more precision for shader hacks... */
SENDENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR)
SENDENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR)
SENDENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR) SENDENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR)
SENDENTITY_ANGLE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT) SENDENTITY_BYTE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
SENDENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER) SENDENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER)
SENDENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER) SENDENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER)
SENDENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER) SENDENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER)
@ -290,14 +290,14 @@ NSRenderableEntity::ReceiveEntity(float flNew, float flChanged)
READENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY) READENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY)
READENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE) READENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE)
READENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE) READENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE)
READENTITY_COLOR(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR) READENTITY_BYTE(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
READENTITY_COLOR(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR) READENTITY_BYTE(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
READENTITY_COLOR(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR) READENTITY_BYTE(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
/* these need more precision for shader hacks... */ /* these need more precision for shader hacks... */
READENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR) READENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR)
READENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR) READENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR)
READENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR) READENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR)
READENTITY_ANGLE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT) READENTITY_BYTE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
READENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER) READENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER)
READENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER) READENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER)
READENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER) READENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER)
@ -387,6 +387,9 @@ NSRenderableEntity::RenderFXPass(void)
glowmod[0] = 0.5f; glowmod[0] = 0.5f;
break; break;
case RM_ADDITIVE: case RM_ADDITIVE:
if (m_vecRenderColor == g_vec_null)
colormod = [1,1,1];
effects = EF_ADDITIVE; effects = EF_ADDITIVE;
break; break;
case RM_ADDFRAC: /* TODO: Figure out what this does differently */ case RM_ADDFRAC: /* TODO: Figure out what this does differently */