From 7efefe27163548b7f61c516d6b650258a3c7d033 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Sun, 11 Nov 2007 21:02:36 +0000 Subject: many smaller changes. changed how projectiles are handled. fixed joining bug --- src/game/client/game_client.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/game/client/game_client.cpp') diff --git a/src/game/client/game_client.cpp b/src/game/client/game_client.cpp index f04d7712..7d01311e 100644 --- a/src/game/client/game_client.cpp +++ b/src/game/client/game_client.cpp @@ -932,9 +932,17 @@ static void render_projectile(const obj_projectile *prev, const obj_projectile * gfx_texture_set(data->images[IMAGE_GAME].id); gfx_quads_begin(); + // get positions + float gravity = -400; + float ct = (client_tick()-current->start_tick)/(float)SERVER_TICK_SPEED + client_intratick()*1/(float)SERVER_TICK_SPEED; + vec2 startpos(current->x, current->y); + vec2 startvel(current->vx, current->vy); + vec2 pos = calc_pos(startpos, startvel, gravity, ct); + vec2 prevpos = calc_pos(startpos, startvel, gravity, ct-0.001f); + select_sprite(data->weapons[current->type%data->num_weapons].sprite_proj); - vec2 vel = mix(vec2(prev->vx, prev->vy), vec2(current->vx, current->vy), client_intratick()); - vec2 pos = mix(vec2(prev->x, prev->y), vec2(current->x, current->y), client_intratick()); + vec2 vel = pos-prevpos; + //vec2 pos = mix(vec2(prev->x, prev->y), vec2(current->x, current->y), client_intratick()); // add particle for this projectile proj_particles.addparticle(current->type, itemid, pos, vel); -- cgit 1.4.1