Client: viewmodel and player model weapon now inherit the rendermode of the player.
This commit is contained in:
parent
e482cb0103
commit
706241a7b6
3 changed files with 26 additions and 12 deletions
|
@ -24,11 +24,13 @@ View_Init(void)
|
||||||
pSeat = &g_seats[s];
|
pSeat = &g_seats[s];
|
||||||
if(!pSeat->m_eViewModel) {
|
if(!pSeat->m_eViewModel) {
|
||||||
/* right side */
|
/* right side */
|
||||||
pSeat->m_eViewModel = spawn();
|
pSeat->m_eViewModel = spawn(NSRenderableEntity);
|
||||||
pSeat->m_eViewModel.classname = "vm";
|
pSeat->m_eViewModel.classname = "vm";
|
||||||
pSeat->m_eViewModel.renderflags = RF_DEPTHHACK | RF_FIRSTPERSON;
|
pSeat->m_eViewModel.renderflags = RF_DEPTHHACK | RF_FIRSTPERSON;
|
||||||
pSeat->m_eViewModel.effects |= EF_NOSHADOW;
|
pSeat->m_eViewModel.effects |= EF_NOSHADOW;
|
||||||
pSeat->m_eViewModel.alpha = 1.0f;
|
pSeat->m_eViewModel.alpha = 1.0f;
|
||||||
|
pSeat->m_eViewModel.drawmask = 0;
|
||||||
|
|
||||||
setsize(pSeat->m_eViewModel, [0,0,0], [0,0,0]);
|
setsize(pSeat->m_eViewModel, [0,0,0], [0,0,0]);
|
||||||
|
|
||||||
pSeat->m_eMuzzleflash = spawn();
|
pSeat->m_eMuzzleflash = spawn();
|
||||||
|
@ -38,11 +40,12 @@ View_Init(void)
|
||||||
setsize(pSeat->m_eMuzzleflash, [0,0,0], [0,0,0]);
|
setsize(pSeat->m_eMuzzleflash, [0,0,0], [0,0,0]);
|
||||||
|
|
||||||
/* left side */
|
/* left side */
|
||||||
pSeat->m_eViewModelL = spawn();
|
pSeat->m_eViewModelL = spawn(NSRenderableEntity);
|
||||||
pSeat->m_eViewModelL.classname = "vm";
|
pSeat->m_eViewModelL.classname = "vm";
|
||||||
pSeat->m_eViewModelL.renderflags = RF_DEPTHHACK | RF_FIRSTPERSON;
|
pSeat->m_eViewModelL.renderflags = RF_DEPTHHACK | RF_FIRSTPERSON;
|
||||||
pSeat->m_eViewModelL.effects |= EF_NOSHADOW;
|
pSeat->m_eViewModelL.effects |= EF_NOSHADOW;
|
||||||
pSeat->m_eViewModelL.alpha = 1.0f;
|
pSeat->m_eViewModelL.alpha = 1.0f;
|
||||||
|
pSeat->m_eViewModelL.drawmask = 0;
|
||||||
setsize(pSeat->m_eViewModelL, [0,0,0], [0,0,0]);
|
setsize(pSeat->m_eViewModelL, [0,0,0], [0,0,0]);
|
||||||
|
|
||||||
pSeat->m_eMuzzleflashL = spawn();
|
pSeat->m_eMuzzleflashL = spawn();
|
||||||
|
@ -135,9 +138,9 @@ muzzleflash, dynamic lights and so on appear
|
||||||
void
|
void
|
||||||
View_DrawViewModel(void)
|
View_DrawViewModel(void)
|
||||||
{
|
{
|
||||||
entity m_eViewModel = pSeat->m_eViewModel;
|
NSRenderableEntity m_eViewModel = pSeat->m_eViewModel;
|
||||||
entity m_eMuzzleflash = pSeat->m_eMuzzleflash;
|
entity m_eMuzzleflash = pSeat->m_eMuzzleflash;
|
||||||
entity m_eViewModelL = pSeat->m_eViewModelL;
|
NSRenderableEntity m_eViewModelL = pSeat->m_eViewModelL;
|
||||||
entity m_eMuzzleflashL = pSeat->m_eMuzzleflashL;
|
entity m_eMuzzleflashL = pSeat->m_eMuzzleflashL;
|
||||||
|
|
||||||
player pl = __NULL__;
|
player pl = __NULL__;
|
||||||
|
@ -172,6 +175,11 @@ View_DrawViewModel(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_eViewModel.SetRenderMode(pl.GetRenderMode());
|
||||||
|
m_eViewModel.SetRenderFX(pl.GetRenderFX());
|
||||||
|
m_eViewModel.SetRenderColor(pl.GetRenderColor());
|
||||||
|
m_eViewModel.SetRenderAmt(pl.GetRenderAmt());
|
||||||
|
|
||||||
View_UpdateWeapon(pl, m_eViewModel, m_eMuzzleflash);
|
View_UpdateWeapon(pl, m_eViewModel, m_eMuzzleflash);
|
||||||
float fBaseTime2 = m_eViewModel.frame1time;
|
float fBaseTime2 = m_eViewModel.frame1time;
|
||||||
float fBaseTime = m_eViewModel.frame1time;
|
float fBaseTime = m_eViewModel.frame1time;
|
||||||
|
@ -278,8 +286,13 @@ View_DrawViewModel(void)
|
||||||
}
|
}
|
||||||
setorigin(m_eViewModel, m_eViewModel.origin);
|
setorigin(m_eViewModel, m_eViewModel.origin);
|
||||||
setorigin(m_eViewModelL, m_eViewModel.origin);
|
setorigin(m_eViewModelL, m_eViewModel.origin);
|
||||||
addentity(m_eViewModel);
|
m_eViewModel.RenderFXPass();
|
||||||
addentity(m_eViewModelL);
|
m_eViewModelL.RenderFXPass();
|
||||||
|
|
||||||
|
if (m_eViewModel.GetRenderMode() != RM_DONTRENDER)
|
||||||
|
addentity(m_eViewModel);
|
||||||
|
if (m_eViewModelL.GetRenderMode() != RM_DONTRENDER)
|
||||||
|
addentity(m_eViewModelL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -297,8 +297,10 @@ NSClientPlayer::predraw(void)
|
||||||
g_view.SetDrawLocalPlayer(true);
|
g_view.SetDrawLocalPlayer(true);
|
||||||
|
|
||||||
/* sucks we can't draw a shadow on this thing, maybe in the future when FTEQW allows it */
|
/* sucks we can't draw a shadow on this thing, maybe in the future when FTEQW allows it */
|
||||||
if (p_model)
|
if (p_model) {
|
||||||
addentity(p_model);
|
if (p_model.GetRenderMode() != RM_DONTRENDER)
|
||||||
|
addentity(p_model);
|
||||||
|
}
|
||||||
} else { /* we're doing first person stuff */
|
} else { /* we're doing first person stuff */
|
||||||
/* flags that the model appear in mirrors only */
|
/* flags that the model appear in mirrors only */
|
||||||
renderflags |= RF_EXTERNALMODEL;
|
renderflags |= RF_EXTERNALMODEL;
|
||||||
|
@ -318,7 +320,8 @@ NSClientPlayer::predraw(void)
|
||||||
|
|
||||||
/* this needs to be called absolutely last */
|
/* this needs to be called absolutely last */
|
||||||
/* we're calling this so that the shadow can still be drawn */
|
/* we're calling this so that the shadow can still be drawn */
|
||||||
addentity(this);
|
if (GetRenderMode() != RM_DONTRENDER)
|
||||||
|
addentity(this);
|
||||||
|
|
||||||
return (PREDRAW_NEXT);
|
return (PREDRAW_NEXT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -371,8 +371,6 @@ NSRenderableEntity::RenderFXPass(void)
|
||||||
abslight = 128;
|
abslight = 128;
|
||||||
break;
|
break;
|
||||||
case RM_DONTRENDER:
|
case RM_DONTRENDER:
|
||||||
/* prevent addentity() from being called */
|
|
||||||
alpha = 0.0f;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -555,7 +553,7 @@ NSRenderableEntity::predraw(void)
|
||||||
float dim = ((sin(time * autocvar(rfx_q2pulse_speed, 4)) + (M_PI/2)) * autocvar(rfx_q2pulse_intensity, 1.0));
|
float dim = ((sin(time * autocvar(rfx_q2pulse_speed, 4)) + (M_PI/2)) * autocvar(rfx_q2pulse_intensity, 1.0));
|
||||||
dim += 1.0f;
|
dim += 1.0f;
|
||||||
addentity_lighting(this, [0,0,0], [dim, dim, dim], [0,0,0], 0, 0);
|
addentity_lighting(this, [0,0,0], [dim, dim, dim], [0,0,0], 0, 0);
|
||||||
} else {
|
} else if (m_iRenderMode != RM_DONTRENDER) {
|
||||||
addentity(this);
|
addentity(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue