diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-11-26 20:19:59 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-11-26 20:19:59 +0000 |
| commit | 263001dceca3cf95ae42d110a7fe46245428e89a (patch) | |
| tree | 907774e717ea7042caa4fd18c51edbe4dc68a8bb /src/game/server | |
| parent | 7715ab0059fbfb44af8a448ba3605e1d6a8b58f3 (diff) | |
| download | zcatch-263001dceca3cf95ae42d110a7fe46245428e89a.tar.gz zcatch-263001dceca3cf95ae42d110a7fe46245428e89a.zip | |
fixed spectator and dead physics
Diffstat (limited to 'src/game/server')
| -rw-r--r-- | src/game/server/game_server.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/game/server/game_server.cpp b/src/game/server/game_server.cpp index 9b2e358e..b8b23960 100644 --- a/src/game/server/game_server.cpp +++ b/src/game/server/game_server.cpp @@ -929,12 +929,15 @@ void player::tick() } } + // enable / disable physics + if(team == -1 || dead) + world->core.players[client_id] = 0; + else + world->core.players[client_id] = &core; + + // spectator if(team == -1) - { - // spectator return; - } - if(spawning) try_respawn(); @@ -985,6 +988,12 @@ void player::tick_defered() core.quantize(); //dbg_msg("", "%d %.0f,%.0f -> %.0f,%.0f", client_id, pos.x, pos.y, core.pos.x, core.pos.y); pos = core.pos; + + if(team == -1) + { + pos.x = input.target_x; + pos.y = input.target_y; + } // apply the new position //pos = defered_pos; @@ -1689,10 +1698,7 @@ void mods_init() // setup core world for(int i = 0; i < MAX_CLIENTS; i++) - { players[i].core.world = &world->core; - world->core.players[i] = &players[i].core; - } // int start, num; |