*** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@61 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
@@ -481,6 +481,7 @@ void selfdamage(int damage, int actor, dynent *act)
|
||||
player1->lifesequence++;
|
||||
player1->attacking = false;
|
||||
player1->state = CS_DEAD;
|
||||
player1->oldpitch = player1->pitch;
|
||||
player1->pitch = 0;
|
||||
player1->roll = 60;
|
||||
playsound(S_DIE1+rnd(2));
|
||||
|
||||
@@ -132,6 +132,7 @@ struct dynent // players & monsters
|
||||
{
|
||||
vec o, vel; // origin, velocity
|
||||
float yaw, pitch, roll; // used as vec in one place
|
||||
float oldpitch;
|
||||
float maxspeed; // cubes per second, 24 for player
|
||||
bool outsidemap; // from his eyes
|
||||
bool inwater;
|
||||
|
||||
@@ -182,6 +182,9 @@ int main(int argc, char **argv)
|
||||
exec("config/autoexec.cfg");
|
||||
//exec("config/default_map_settings.cfg");
|
||||
|
||||
log("base models");
|
||||
loadweapons();
|
||||
|
||||
log("localconnect");
|
||||
localconnect();
|
||||
changemap("maps/ac_complex"); // if this map is changed, also change depthcorrect()
|
||||
|
||||
@@ -202,6 +202,7 @@ extern mapmodelinfo &getmminfo(int i);
|
||||
|
||||
// rendermd3
|
||||
extern void rendermd3gun();
|
||||
extern void loadweapons();
|
||||
|
||||
// server
|
||||
extern void initserver(bool dedicated, bool listen, int uprate, char *sdesc, char *ip, char *master, char *passwd);
|
||||
@@ -231,6 +232,7 @@ extern void moveprojectiles(float time);
|
||||
extern void projreset();
|
||||
extern dynent *playerincrosshair();
|
||||
extern int reloadtime(int gun);
|
||||
extern int attackdelay(int gun);
|
||||
extern int kick_rot(int gun);
|
||||
extern int kick_back(int gun);
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ void transplayer()
|
||||
float t = (lastmillis-player1->lastaction)/1000.0f;
|
||||
if(t >= 1.6f) t = 1.6f;
|
||||
|
||||
player1->pitch = (float) sin(t)*-90.0f;
|
||||
player1->pitch = (float) sin(t)*(-45.0f-player1->oldpitch)+player1->oldpitch;
|
||||
glRotated(player1->pitch,-1.0,0.0,0.0);
|
||||
glRotated(player1->yaw,0.0,1.0,0.0);
|
||||
|
||||
|
||||
@@ -394,8 +394,6 @@ void loadweapons()
|
||||
}
|
||||
};
|
||||
|
||||
COMMAND(loadweapons, ARG_NONE);
|
||||
|
||||
void rendermd3gun()
|
||||
{
|
||||
if(firstweapon >= 0)
|
||||
@@ -406,16 +404,18 @@ void rendermd3gun()
|
||||
{
|
||||
weapon->animstate = new md3state();
|
||||
weapon->animstate->anim = MDL_GUN_RELOAD;
|
||||
float percent_done = (float)(lastmillis-player1->lastaction)*100.0f/reloadtime(player1->gunselect);
|
||||
if(percent_done >= 100) percent_done = 100;
|
||||
weapon->draw(player1->o.x, player1->o.z, player1->o.y, player1->yaw + 90, player1->pitch-(sin((float)(percent_done*2/100.0f*90.0f)*PI/180.0f)*90), 1.0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
weapon->animstate = new md3state();
|
||||
weapon->animstate->anim = MDL_GUN_IDLE;
|
||||
};
|
||||
float kick = 0.0f;
|
||||
if(player1->gunselect==player1->lastattackgun)
|
||||
{
|
||||
int percent_done = (lastmillis-player1->lastaction)*100/reloadtime(player1->gunselect);
|
||||
int percent_done = (lastmillis-player1->lastaction)*100/attackdelay(player1->gunselect);
|
||||
if(percent_done > 100) percent_done = 100.0;
|
||||
// f(x) = -sin(x-1.5)^3
|
||||
kick = -sin(pow((1.5f/100*percent_done)-1.5f,3));
|
||||
@@ -426,6 +426,7 @@ void rendermd3gun()
|
||||
float k_back = kick_back(player1->gunselect)*kick/10;
|
||||
weapon->draw(player1->o.x-unitv.x*k_back, player1->o.z-unitv.z*k_back, player1->o.y-unitv.y*k_back, player1->yaw + 90, player1->pitch+k_rot, 1.0f);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
void rendermd3player(dynent *d)
|
||||
|
||||
@@ -148,7 +148,8 @@ void reload()
|
||||
|
||||
COMMAND(reload,ARG_NONE);
|
||||
|
||||
int reloadtime(int gun) { return guns[gun].attackdelay; };
|
||||
int reloadtime(int gun) { return guns[gun].reloadtime; };
|
||||
int attackdelay(int gun) { return guns[gun].attackdelay; };
|
||||
int kick_rot(int gun) { return guns[gun].mdl_kick_rot; };
|
||||
int kick_back(int gun) { return guns[gun].mdl_kick_back; };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user