From 0cec30add90db6dc4a23392bf6a6978373671b7e Mon Sep 17 00:00:00 2001 From: driAn Date: Sun, 23 Oct 2005 16:59:50 +0000 Subject: [PATCH] *** empty log message *** git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@57 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/clientextras.cpp | 16 ++++++++++++---- source/src/rendergl.cpp | 24 +++++++++++++++++++----- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/source/src/clientextras.cpp b/source/src/clientextras.cpp index c5d8e0f2..6f73f844 100644 --- a/source/src/clientextras.cpp +++ b/source/src/clientextras.cpp @@ -17,13 +17,13 @@ void renderclient(dynent *d, bool team, char *mdlname, bool hellpig, float scale int basetime = -((int)d&0xFFF); if(d->state==CS_DEAD) { - int r; + /*int r; if(hellpig) { n = 2; r = range[3]; } else { n = (int)d%3; r = range[n]; }; basetime = d->lastaction; int t = lastmillis-d->lastaction; if(t<0 || t>20000) return; if(t>(r-1)*100) { n += 4; if(t>(r+10)*100) { t -= (r+10)*100; mz -= t*t/10000000000.0f*t; }; }; - if(mz<-1000) return; + if(mz<-1000) return;*/ //mdl = (((int)d>>6)&1)+1; //mz = d->o.z-d->eyeheight+0.2f; //scale = 1.2f; @@ -47,7 +47,7 @@ void renderclients() loopv(players) if((d = players[i]) && (!demoplayback || i!=democlientnum)) { - if (d->state==CS_DEAD) break; //cheap hack fix of + if (d->state==CS_DEAD) break; //cheap hack fix of if (!strcmp(d->team,"CT")) { @@ -60,7 +60,15 @@ void renderclients() renderclient(d, isteam(player1->team, d->team), "vwep/subgun", false, 1.4f); }; - + if(player1->state==CS_DEAD) + { + if (!strcmp(player1->team,"CT")) + renderclient(player1, true, "playermodels/counterterrorist", false,1.4f); + else + renderclient(player1, true, "playermodels/terrorist", false, 1.4f); + + renderclient(player1, true, "vwep/subgun", false, 1.4f); + }; }; // creation of scoreboard pseudo-menu diff --git a/source/src/rendergl.cpp b/source/src/rendergl.cpp index 71fee7dd..5a71f98b 100644 --- a/source/src/rendergl.cpp +++ b/source/src/rendergl.cpp @@ -245,12 +245,26 @@ VARF(gamma, 30, 100, 300, void transplayer() { glLoadIdentity(); - - glRotated(player1->roll,0.0,0.0,1.0); - glRotated(player1->pitch,-1.0,0.0,0.0); - glRotated(player1->yaw,0.0,1.0,0.0); + + if(player1->state==CS_DEAD) + { + float t = (lastmillis-player1->lastaction)/1000.0f; + if(t >= 1.6f) t = 1.6f; + + player1->pitch = (float) sin(t)*-90.0f; + glRotated(player1->pitch,-1.0,0.0,0.0); + glRotated(player1->yaw,0.0,1.0,0.0); - glTranslated(-player1->o.x, (player1->state==CS_DEAD ? player1->eyeheight-0.2f : 0)-player1->o.z, -player1->o.y); + glTranslated(-player1->o.x, player1->eyeheight-sin(t)*7.0f-player1->o.z, -player1->o.y); + } + else + { + glRotated(player1->roll,0.0,0.0,1.0); + glRotated(player1->pitch,-1.0,0.0,0.0); + glRotated(player1->yaw,0.0,1.0,0.0); + + glTranslated(-player1->o.x, (player1->state==CS_DEAD ? player1->eyeheight-0.2f : 0)-player1->o.z, -player1->o.y); + }; }; VAR(fov, 10, 105, 120);