NSRenderableEntity: various tweaks to networking, env_glow
This commit is contained in:
parent
b7126fbadb
commit
d9d3220833
13 changed files with 256 additions and 95 deletions
|
@ -150,6 +150,7 @@ env_beam::Respawn(void)
|
|||
|
||||
/* keep it simple */
|
||||
m_iBeamFlags = spawnflags | BEAM_SHADEEND;
|
||||
pvsflags = PVSF_IGNOREPVS;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -428,12 +429,7 @@ float
|
|||
env_beam::predraw(void)
|
||||
{
|
||||
vector vecPlayer;
|
||||
NSClientPlayer pl;
|
||||
|
||||
int s = (float)getproperty(VF_ACTIVESEAT);
|
||||
pSeat = &g_seats[s];
|
||||
pl = (NSClientPlayer)pSeat->m_ePlayer;
|
||||
vecPlayer = pl.GetEyePos();
|
||||
vecPlayer = g_view.GetCameraOrigin();
|
||||
|
||||
/* only draw when active. */
|
||||
if (!m_iActive)
|
||||
|
|
|
@ -102,11 +102,11 @@ env_glow::Respawn(void)
|
|||
SetOrigin(GetSpawnOrigin());
|
||||
AddEffects(EF_NOSHADOW);
|
||||
|
||||
if (GetRenderColor() == g_vec_null)
|
||||
SetRenderColor([1.0, 1.0, 1.0]);
|
||||
SetRenderFX(GetSpawnRenderFX());
|
||||
SetRenderMode(GetSpawnRenderMode());
|
||||
SetRenderAmt(GetSpawnRenderAmt());
|
||||
SetRenderColor(GetSpawnRenderColor());
|
||||
|
||||
if (GetRenderMode() == RM_NORMAL)
|
||||
SetRenderAmt(1.0);
|
||||
/*
|
||||
if (HasSpawnFlags(1)) {
|
||||
hitcontentsmaski = CONTENTBIT_SOLID;
|
||||
|
@ -216,33 +216,36 @@ env_glow::RendererRestarted(void)
|
|||
void
|
||||
env_glow::RenderGlow(vector forg, vector fsize)
|
||||
{
|
||||
float alphaTint = GetRenderAmt();
|
||||
vector renderColor = m_vecRenderColor;
|
||||
|
||||
#ifndef FTE_QUADFIX
|
||||
R_BeginPolygon(m_strMaterial, 1, 0);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] - v_up * fsize[1],
|
||||
[1,1], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[1,1], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,1], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,0], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] + v_up * fsize[1],
|
||||
[1,0], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[1,0], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_EndPolygon();
|
||||
#else
|
||||
R_BeginPolygon(m_strMaterial, 1, 0);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] - v_up * fsize[1],
|
||||
[1,1], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[1,1], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,1], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,0], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_EndPolygon();
|
||||
R_BeginPolygon(m_strMaterial, 1, 0);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,1], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[0,0], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] + v_up * fsize[1],
|
||||
[1,0], m_vecRenderColor * m_flRenderAmt, m_flMaxAlpha);
|
||||
[1,0], renderColor * alphaTint, m_flMaxAlpha);
|
||||
R_EndPolygon();
|
||||
#endif
|
||||
}
|
||||
|
@ -250,33 +253,36 @@ env_glow::RenderGlow(vector forg, vector fsize)
|
|||
void
|
||||
env_glow::RenderNormal(vector forg, vector fsize)
|
||||
{
|
||||
float alphaTint = GetRenderAmt();
|
||||
vector renderColor = GetRenderColor();
|
||||
|
||||
#ifndef FTE_QUADFIX
|
||||
R_BeginPolygon(m_strMaterial, 0, 0);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] - v_up * fsize[1],
|
||||
[1,1], m_vecRenderColor, m_flRenderAmt);
|
||||
[1,1], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,1], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,0], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] + v_up * fsize[1],
|
||||
[1,0], m_vecRenderColor, m_flRenderAmt);
|
||||
[1,0], renderColor, alphaTint);
|
||||
R_EndPolygon();
|
||||
#else
|
||||
R_BeginPolygon(m_strMaterial, 0, 0);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] - v_up * fsize[1],
|
||||
[1,1], m_vecRenderColor, m_flRenderAmt);
|
||||
[1,1], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,1], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,0], renderColor, alphaTint);
|
||||
R_EndPolygon();
|
||||
R_BeginPolygon(m_strMaterial, 0, 0);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] - v_up * fsize[1],
|
||||
[0,1], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,1], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg - v_right * fsize[0] + v_up * fsize[1],
|
||||
[0,0], m_vecRenderColor, m_flRenderAmt);
|
||||
[0,0], renderColor, alphaTint);
|
||||
R_PolygonVertex(forg + v_right * fsize[0] + v_up * fsize[1],
|
||||
[1,0], m_vecRenderColor, m_flRenderAmt);
|
||||
[1,0], renderColor, alphaTint);
|
||||
R_EndPolygon();
|
||||
#endif
|
||||
}
|
||||
|
@ -290,6 +296,9 @@ env_glow::predraw(void)
|
|||
vector vecAngle = g_view.GetCameraAngle();
|
||||
float flDist = vlen(vecPlayer - origin);
|
||||
|
||||
if (GetRenderMode() == RM_GLOW)
|
||||
scale = 1.0f;
|
||||
|
||||
if (GetRenderMode() == RM_GLOW) {
|
||||
if (IsVisible(vecPlayer) == false)
|
||||
return (PREDRAW_NEXT);
|
||||
|
|
|
@ -125,8 +125,9 @@ NSIO::CreateOutput(string outmsg)
|
|||
string outname = "";
|
||||
float c;
|
||||
|
||||
if not (outmsg)
|
||||
if not (outmsg) {
|
||||
error("Cannot assign EMPTY contents to CreateOutput!");
|
||||
}
|
||||
|
||||
outname = sprintf("output_%i", outcount);
|
||||
outcount++;
|
||||
|
@ -190,11 +191,11 @@ NSIO::Input(entity eAct, string strInput, string strData)
|
|||
break;
|
||||
default:
|
||||
if (strData != "")
|
||||
print(sprintf("^2%s::^3Input^7: Receives input %s from %s with data %s\n",
|
||||
this.classname, strInput, eAct.classname, strData));
|
||||
NSLog("^2%s::^3Input^7: Receives input %s from %s with data %s\n",
|
||||
this.classname, strInput, eAct.classname, strData);
|
||||
else
|
||||
print(sprintf("^2%s::^3Input^7: Receives input %s from %s\n",
|
||||
this.classname, strInput, eAct.classname));
|
||||
NSLog("^2%s::^3Input^7: Receives input %s from %s\n",
|
||||
this.classname, strInput, eAct.classname);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1962,10 +1962,10 @@ NSMonster::SendEntity(entity ePEnt, float flChanged)
|
|||
SENDENTITY_COORD(velocity[2], MONFL_CHANGED_VELOCITY)
|
||||
SENDENTITY_BYTE(m_iRenderMode, MONFL_CHANGED_RENDERMODE)
|
||||
SENDENTITY_BYTE(m_iRenderFX, MONFL_CHANGED_RENDERMODE)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
SENDENTITY_FLOAT(bonecontrol1, MONFL_CHANGED_HEADYAW)
|
||||
SENDENTITY_FLOAT(subblendfrac, MONFL_CHANGED_HEADYAW)
|
||||
SENDENTITY_FLOAT(frame1time, MONFL_CHANGED_HEADYAW)
|
||||
|
@ -2045,10 +2045,10 @@ NSMonster::ReceiveEntity(float flNew, float flChanged)
|
|||
READENTITY_COORD(velocity[2], MONFL_CHANGED_VELOCITY)
|
||||
READENTITY_BYTE(m_iRenderMode, MONFL_CHANGED_RENDERMODE)
|
||||
READENTITY_BYTE(m_iRenderFX, MONFL_CHANGED_RENDERMODE)
|
||||
READENTITY_ANGLE(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
READENTITY_COLOR(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
READENTITY_FLOAT(bonecontrol1, MONFL_CHANGED_HEADYAW)
|
||||
READENTITY_FLOAT(subblendfrac, MONFL_CHANGED_HEADYAW)
|
||||
READENTITY_FLOAT(frame1time, MONFL_CHANGED_HEADYAW)
|
||||
|
@ -2111,7 +2111,7 @@ NSMonster_AlertEnemyAlliance(vector pos, float radius, int alliance)
|
|||
return;
|
||||
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("AI alert from %v with radius %f and alliance %i\n", pos, radius, alliance));
|
||||
NSMonster_Log("AI alert from %v with radius %f and alliance %i\n", pos, radius, alliance);
|
||||
|
||||
for (entity w = world; (w = findfloat(w, ::takedamage, DAMAGE_YES));) {
|
||||
/* out of radius */
|
||||
|
@ -2122,7 +2122,7 @@ NSMonster_AlertEnemyAlliance(vector pos, float radius, int alliance)
|
|||
/* only target monsters */
|
||||
if (!(w.flags & FL_MONSTER)) {
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("\t%S is not a monster\n", w.classname));
|
||||
NSMonster_Log("\t%S is not a monster\n", w.classname);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2131,26 +2131,26 @@ NSMonster_AlertEnemyAlliance(vector pos, float radius, int alliance)
|
|||
/* they already got a target of some kind */
|
||||
if (f.m_eEnemy) {
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("\t%S already has a target\n", w.classname));
|
||||
NSMonster_Log("\t%S already has a target\n", w.classname);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* if they're our friend... ignore*/
|
||||
if (f.IsFriend(alliance)) {
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("\t%S is friend of alliance %i\n", w.classname, alliance));
|
||||
NSMonster_Log("\t%S is friend of alliance %i\n", w.classname, alliance);
|
||||
continue;
|
||||
}
|
||||
|
||||
/* if the monster is dead... ignore */
|
||||
if (f.health <= 0) {
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("\t%S is dead, cannot be alerted\n", w.classname));
|
||||
NSMonster_Log("\t%S is dead, cannot be alerted\n", w.classname);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (autocvar_ai_alertdebug)
|
||||
print(sprintf("\twe're alerting %S to go to %v\n", w.classname, pos));
|
||||
NSMonster_Log("\twe're alerting %S to go to %v\n", w.classname, pos);
|
||||
|
||||
/* we've heard a noise. investigate the location */
|
||||
f.RouteClear();
|
||||
|
|
|
@ -213,7 +213,7 @@ NSMoverEntity::MoveAndRotateToPosition(vector vecDest, vector vecAngle, float fl
|
|||
|
||||
/* abort if no speed is defined whatsoever */
|
||||
if (!flSpeed) {
|
||||
objerror("NSMoverEntity::MoveToPosition: No speed defined!");
|
||||
NSEntWarning("NSMoverEntity::MoveToPosition: No speed defined!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -282,6 +282,6 @@ NSNavAI::RouteClear(void)
|
|||
m_iCurNode = BOTROUTE_END;
|
||||
m_iNodes = 0;
|
||||
memfree(m_pRoute);
|
||||
print(sprintf("%s cleared his route.\n", netname));
|
||||
NSNavAI_Log("Actor %S (%s) cleared their route.", netname, classname);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -214,14 +214,14 @@ NSPhysicsEntity::SendEntity(entity ePEnt, float flChanged)
|
|||
SENDENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY)
|
||||
SENDENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE)
|
||||
SENDENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
/* these need more precision for shader hacks... */
|
||||
SENDENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
|
||||
SENDENTITY_COLOR(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
|
||||
SENDENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER)
|
||||
SENDENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER)
|
||||
SENDENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER)
|
||||
|
@ -275,14 +275,14 @@ NSPhysicsEntity::ReceiveEntity(float flNew, float flChanged)
|
|||
READENTITY_COORD(avelocity[2], RDENT_CHANGED_ANGULARVELOCITY)
|
||||
READENTITY_BYTE(m_iRenderMode, RDENT_CHANGED_RENDERMODE)
|
||||
READENTITY_BYTE(m_iRenderFX, RDENT_CHANGED_RENDERMODE)
|
||||
READENTITY_ANGLE(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
/* these need more precision for shader hacks... */
|
||||
READENTITY_FLOAT(glowmod[0], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_FLOAT(glowmod[1], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_FLOAT(glowmod[2], RDENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
|
||||
READENTITY_COLOR(m_flRenderAmt, RDENT_CHANGED_RENDERAMT)
|
||||
READENTITY_ANGLE(m_flBoneControl1, RDENT_CHANGED_CONTROLLER)
|
||||
READENTITY_ANGLE(m_flBoneControl2, RDENT_CHANGED_CONTROLLER)
|
||||
READENTITY_ANGLE(m_flBoneControl3, RDENT_CHANGED_CONTROLLER)
|
||||
|
|
|
@ -806,10 +806,10 @@ NSProjectile::SendEntity(entity ePEnt, float flChanged)
|
|||
SENDENTITY_FLOAT(traileffectnum, PROJ_CHANGED_MODELINDEX)
|
||||
SENDENTITY_BYTE(m_iRenderMode, PROJ_CHANGED_RENDERMODE)
|
||||
SENDENTITY_BYTE(m_iRenderFX, PROJ_CHANGED_RENDERMODE)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[0], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[1], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[2], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_flRenderAmt, PROJ_CHANGED_RENDERAMT)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[0], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[1], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[2], PROJ_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_flRenderAmt, PROJ_CHANGED_RENDERAMT)
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
@ -831,10 +831,10 @@ NSProjectile::ReceiveEntity(float flNew, float flChanged)
|
|||
READENTITY_FLOAT(traileffectnum, PROJ_CHANGED_MODELINDEX)
|
||||
READENTITY_BYTE(m_iRenderMode, PROJ_CHANGED_RENDERMODE)
|
||||
READENTITY_BYTE(m_iRenderFX, PROJ_CHANGED_RENDERMODE)
|
||||
READENTITY_ANGLE(m_vecRenderColor[0], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[1], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[2], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_flRenderAmt, PROJ_CHANGED_RENDERAMT)
|
||||
READENTITY_COLOR(m_vecRenderColor[0], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[1], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[2], PROJ_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_flRenderAmt, PROJ_CHANGED_RENDERAMT)
|
||||
setmodelindex(this, modelindex);
|
||||
setorigin(this, origin);
|
||||
}
|
||||
|
|
|
@ -142,6 +142,7 @@ public:
|
|||
virtual void RenderDebugSkeleton(void);
|
||||
virtual void ReceiveEntity(float,float);
|
||||
virtual float predraw(void);
|
||||
virtual void postdraw(void);
|
||||
virtual void RendererRestarted();
|
||||
#endif
|
||||
|
||||
|
@ -177,6 +178,13 @@ public:
|
|||
/** Sets the axial, anisotropic scale of an entity, affecting the individual axis (forward, right, up). */
|
||||
nonvirtual void SetAxialScale(vector);
|
||||
|
||||
#ifdef SERVER
|
||||
nonvirtual vector GetSpawnRenderColor(void);
|
||||
nonvirtual float GetSpawnRenderAmt(void);
|
||||
nonvirtual int GetSpawnRenderFX(void);
|
||||
nonvirtual int GetSpawnRenderMode(void);
|
||||
#endif
|
||||
|
||||
/** Returns the bodygroup of the entity. */
|
||||
nonvirtual int GetBody(void);
|
||||
/** Returns the body within a given group. */
|
||||
|
|
|
@ -626,6 +626,119 @@ NSRenderableEntity::predraw(void)
|
|||
|
||||
return (PREDRAW_NEXT);
|
||||
}
|
||||
|
||||
void
|
||||
NSRenderableEntity::postdraw(void)
|
||||
{
|
||||
if not (autocvar(r_showRenderInfo, 0))
|
||||
return;
|
||||
|
||||
if not (PointMessage_Visible(origin, g_view.GetCameraOrigin(), g_view.GetCameraAngle()))
|
||||
return;
|
||||
|
||||
string renderMode;
|
||||
string renderFX;
|
||||
|
||||
switch (GetRenderMode()) {
|
||||
case RM_NORMAL:
|
||||
renderMode = "RM_NORMAL";
|
||||
break;
|
||||
case RM_COLOR:
|
||||
renderMode = "RM_COLOR";
|
||||
break;
|
||||
case RM_TEXTURE:
|
||||
renderMode = "RM_TEXTURE";
|
||||
break;
|
||||
case RM_GLOW:
|
||||
renderMode = "RM_GLOW";
|
||||
break;
|
||||
case RM_SOLID:
|
||||
renderMode = "RM_SOLID";
|
||||
break;
|
||||
case RM_ADDITIVE:
|
||||
renderMode = "RM_ADDITIVE";
|
||||
break;
|
||||
case RM_FULLBRIGHT:
|
||||
renderMode = "RM_FULLBRIGHT";
|
||||
break;
|
||||
case RM_ADDFRAC:
|
||||
renderMode = "RM_ADDFRAC";
|
||||
break;
|
||||
case RM_WORLDGLOW:
|
||||
renderMode = "RM_WORLDGLOW";
|
||||
break;
|
||||
case RM_DONTRENDER:
|
||||
renderMode = "RM_DONTRENDER";
|
||||
break;
|
||||
}
|
||||
|
||||
switch (GetRenderFX()) {
|
||||
case RFX_NORMAL:
|
||||
renderFX = "RFX_NORMAL";
|
||||
break;
|
||||
case RFX_SLOWPULSE:
|
||||
renderFX = "RFX_SLOWPULSE";
|
||||
break;
|
||||
case RFX_FASTPULSE:
|
||||
renderFX = "RFX_FASTPULSE";
|
||||
break;
|
||||
case RFX_SLOWWIDEPULSE:
|
||||
renderFX = "RFX_SLOWWIDEPULSE";
|
||||
break;
|
||||
case RFX_FASTWIDEPULSE:
|
||||
renderFX = "RFX_FASTWIDEPULSE";
|
||||
break;
|
||||
case RFX_SLOWFADEAWAY:
|
||||
renderFX = "RFX_SLOWFADEAWAY";
|
||||
break;
|
||||
case RFX_FASTFADEAWAY:
|
||||
renderFX = "RFX_FASTFADEAWAY";
|
||||
break;
|
||||
case RFX_SLOWBECOMESOLID:
|
||||
renderFX = "RFX_SLOWBECOMESOLID";
|
||||
break;
|
||||
case RFX_FASTBECOMESOLID:
|
||||
renderFX = "RFX_FASTBECOMESOLID";
|
||||
break;
|
||||
case RFX_SLOWSTROBE:
|
||||
renderFX = "RFX_SLOWSTROBE";
|
||||
break;
|
||||
case RFX_FASTSTROBE:
|
||||
renderFX = "RFX_FASTSTROBE";
|
||||
break;
|
||||
case RFX_FASTERSTROBE:
|
||||
renderFX = "RFX_FASTERSTROBE";
|
||||
break;
|
||||
case RFX_SLOWFLICKER:
|
||||
renderFX = "RFX_SLOWFLICKER";
|
||||
break;
|
||||
case RFX_FASTFLICKER:
|
||||
renderFX = "RFX_FASTFLICKER";
|
||||
break;
|
||||
case RFX_CONSTANTGLOW:
|
||||
renderFX = "RFX_CONSTANTGLOW";
|
||||
break;
|
||||
case RFX_DISTORT:
|
||||
renderFX = "RFX_DISTORT";
|
||||
break;
|
||||
case RFX_HOLOGRAM:
|
||||
renderFX = "RFX_HOLOGRAM";
|
||||
break;
|
||||
case RFX_GLOWSHELL:
|
||||
renderFX = "RFX_GLOWSHELL";
|
||||
break;
|
||||
case RFX_GLOWSHELL2:
|
||||
renderFX = "RFX_GLOWSHELL2";
|
||||
break;
|
||||
case RFX_Q2PULSE:
|
||||
renderFX = "RFX_Q2PULSE";
|
||||
break;
|
||||
}
|
||||
string renderString = sprintf("RC: %v\nRA: %f\nRM: %s\nRFX: %s",
|
||||
m_vecRenderColor, m_flRenderAmt, renderMode, renderFX);
|
||||
|
||||
PointMessage_StringAtPos(WorldSpaceCenter(), renderString);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SERVER
|
||||
|
@ -634,16 +747,10 @@ NSRenderableEntity::Respawn(void)
|
|||
{
|
||||
super::Respawn();
|
||||
|
||||
SetRenderFX(m_oldiRenderFX);
|
||||
SetRenderMode(m_oldiRenderMode);
|
||||
SetRenderAmt(m_oldflRenderAmt);
|
||||
SetRenderColor(m_oldvecRenderColor);
|
||||
|
||||
if (GetRenderColor() == g_vec_null)
|
||||
SetRenderColor([1.0, 1.0, 1.0]);
|
||||
|
||||
if (GetRenderMode() == RM_NORMAL)
|
||||
SetRenderAmt(1.0);
|
||||
SetRenderFX(GetSpawnRenderFX());
|
||||
SetRenderMode(GetSpawnRenderMode());
|
||||
SetRenderAmt(GetSpawnRenderAmt());
|
||||
SetRenderColor(GetSpawnRenderColor());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -686,6 +793,10 @@ NSRenderableEntity::SetRenderAmt(float newAmt)
|
|||
void
|
||||
NSRenderableEntity::SetRenderColor(vector newColor)
|
||||
{
|
||||
/* rendercolor can NEVER be pitch black. */
|
||||
if (newColor == g_vec_null)
|
||||
m_vecRenderColor = [1.0, 1.0, 1.0];
|
||||
|
||||
m_vecRenderColor = newColor;
|
||||
}
|
||||
|
||||
|
@ -737,6 +848,32 @@ NSRenderableEntity::GetBodyInGroup(int bodyGroup)
|
|||
return m_iBody;
|
||||
}
|
||||
|
||||
#ifdef SERVER
|
||||
vector
|
||||
NSRenderableEntity::GetSpawnRenderColor(void)
|
||||
{
|
||||
return m_oldvecRenderColor;
|
||||
}
|
||||
|
||||
float
|
||||
NSRenderableEntity::GetSpawnRenderAmt(void)
|
||||
{
|
||||
return m_oldflRenderAmt;
|
||||
}
|
||||
|
||||
int
|
||||
NSRenderableEntity::GetSpawnRenderMode(void)
|
||||
{
|
||||
return m_oldiRenderMode;
|
||||
}
|
||||
|
||||
int
|
||||
NSRenderableEntity::GetSpawnRenderFX(void)
|
||||
{
|
||||
return m_oldiRenderFX;
|
||||
}
|
||||
#endif
|
||||
|
||||
float
|
||||
NSRenderableEntity::GetRenderMode(void)
|
||||
{
|
||||
|
@ -752,12 +889,22 @@ NSRenderableEntity::GetRenderFX(void)
|
|||
float
|
||||
NSRenderableEntity::GetRenderAmt(void)
|
||||
{
|
||||
if (m_iRenderMode == RM_NORMAL)
|
||||
return 1.0f;
|
||||
else if (m_iRenderMode == RM_GLOW && m_flRenderAmt == 0.0)
|
||||
return 1.0f;
|
||||
|
||||
return m_flRenderAmt;
|
||||
}
|
||||
|
||||
vector
|
||||
NSRenderableEntity::GetRenderColor(void)
|
||||
{
|
||||
if (m_iRenderMode == RM_NORMAL)
|
||||
return [1.0, 1.0, 1.0];
|
||||
else if (m_iRenderMode == RM_GLOW)
|
||||
return [1.0, 1.0, 1.0];
|
||||
|
||||
return m_vecRenderColor;
|
||||
}
|
||||
|
||||
|
|
|
@ -185,7 +185,7 @@ NSSquadMonster::AddToSquad(NSSquadMonster addMember)
|
|||
m_eSquadLeader = this;
|
||||
startMember = this;
|
||||
m_inSquad = true;
|
||||
print(sprintf("%s (%d) became squad leader\n", classname, num_for_edict(this)));
|
||||
NSMonster_Log("%s (%d) became squad leader\n", classname, num_for_edict(this));
|
||||
//SetBody(GetBody() | m_iSquadLeaderBody);
|
||||
|
||||
/* apply the squad leader body */
|
||||
|
@ -211,7 +211,7 @@ NSSquadMonster::AddToSquad(NSSquadMonster addMember)
|
|||
addMember.m_eSquadLeader = startMember;
|
||||
addMember.m_inSquad = true;
|
||||
addMember.HasJoinedSquad();
|
||||
print(sprintf("%s (%d) added to squad, member %i\n", classname, num_for_edict(this), i));
|
||||
NSMonster_Log("%s (%d) added to squad, member %i\n", classname, num_for_edict(this), i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -312,10 +312,10 @@ NSSurfacePropEntity::SendEntity(entity ePEnt, float flChanged)
|
|||
SENDENTITY_COORD(avelocity[2], SRFENT_CHANGED_ANGULARVELOCITY)
|
||||
SENDENTITY_BYTE(m_iRenderMode, SRFENT_CHANGED_RENDERMODE)
|
||||
SENDENTITY_BYTE(m_iRenderFX, SRFENT_CHANGED_RENDERMODE)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[0], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[1], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[2], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_flRenderAmt, SRFENT_CHANGED_RENDERAMT)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[0], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[1], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[2], SRFENT_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_flRenderAmt, SRFENT_CHANGED_RENDERAMT)
|
||||
SENDENTITY_ANGLE(m_flBoneControl1, SRFENT_CHANGED_CONTROLLER)
|
||||
SENDENTITY_ANGLE(m_flBoneControl2, SRFENT_CHANGED_CONTROLLER)
|
||||
SENDENTITY_ANGLE(m_flBoneControl3, SRFENT_CHANGED_CONTROLLER)
|
||||
|
@ -367,10 +367,10 @@ NSSurfacePropEntity::ReceiveEntity(float flNew, float flChanged)
|
|||
READENTITY_COORD(avelocity[2], SRFENT_CHANGED_ANGULARVELOCITY)
|
||||
READENTITY_BYTE(m_iRenderMode, SRFENT_CHANGED_RENDERMODE)
|
||||
READENTITY_BYTE(m_iRenderFX, SRFENT_CHANGED_RENDERMODE)
|
||||
READENTITY_ANGLE(m_vecRenderColor[0], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[1], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[2], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_flRenderAmt, SRFENT_CHANGED_RENDERAMT)
|
||||
READENTITY_COLOR(m_vecRenderColor[0], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[1], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[2], SRFENT_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_flRenderAmt, SRFENT_CHANGED_RENDERAMT)
|
||||
READENTITY_ANGLE(m_flBoneControl1, SRFENT_CHANGED_CONTROLLER)
|
||||
READENTITY_ANGLE(m_flBoneControl2, SRFENT_CHANGED_CONTROLLER)
|
||||
READENTITY_ANGLE(m_flBoneControl3, SRFENT_CHANGED_CONTROLLER)
|
||||
|
|
|
@ -812,10 +812,10 @@ NSTalkMonster::SendEntity(entity ePEnt, float flChanged)
|
|||
SENDENTITY_COORD(velocity[2], MONFL_CHANGED_VELOCITY)
|
||||
SENDENTITY_BYTE(m_iRenderMode, MONFL_CHANGED_RENDERMODE)
|
||||
SENDENTITY_BYTE(m_iRenderFX, MONFL_CHANGED_RENDERMODE)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_ANGLE(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
SENDENTITY_COLOR(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
SENDENTITY_FLOAT(bonecontrol1, MONFL_CHANGED_HEADYAW)
|
||||
SENDENTITY_FLOAT(subblendfrac, MONFL_CHANGED_HEADYAW)
|
||||
SENDENTITY_FLOAT(frame1time, MONFL_CHANGED_HEADYAW)
|
||||
|
@ -1009,10 +1009,10 @@ NSTalkMonster::ReceiveEntity(float flNew, float flChanged)
|
|||
READENTITY_COORD(velocity[2], MONFL_CHANGED_VELOCITY)
|
||||
READENTITY_BYTE(m_iRenderMode, MONFL_CHANGED_RENDERMODE)
|
||||
READENTITY_BYTE(m_iRenderFX, MONFL_CHANGED_RENDERMODE)
|
||||
READENTITY_ANGLE(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_ANGLE(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
READENTITY_COLOR(m_vecRenderColor[0], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[1], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_vecRenderColor[2], MONFL_CHANGED_RENDERCOLOR)
|
||||
READENTITY_COLOR(m_flRenderAmt, MONFL_CHANGED_RENDERAMT)
|
||||
READENTITY_FLOAT(bonecontrol1, MONFL_CHANGED_HEADYAW)
|
||||
READENTITY_FLOAT(subblendfrac, MONFL_CHANGED_HEADYAW)
|
||||
READENTITY_FLOAT(frame1time, MONFL_CHANGED_HEADYAW)
|
||||
|
|
Loading…
Reference in a new issue