move game to c++

This commit is contained in:
gmueller
2011-01-18 21:52:05 +01:00
parent bf00db6c68
commit 1d0dd12b2e
11 changed files with 492 additions and 489 deletions

View File

@@ -10,7 +10,7 @@
#include <iostream>
#include <cmath>
Network::Network(game_t *game) :
Network::Network(Game *game) :
game(game), client_peer(0) {
}
@@ -108,25 +108,25 @@ void Network::dispatch(enet_uint8 *data, size_t length) {
switch (msg->msg_id) {
case MESSAGE_PLAYER_SPAWN: {
player_spawn_message_t *sm = (player_spawn_message_t *) data;
team_t *team = game_team(game, sm->team_id);
player_t *player = game_spawn_player_id(game, team, sm->player_id);
team_t *team = game->getTeam(sm->team_id);
player_t *player = game->spawn_player_id(team, sm->player_id);
break;
}
case MESSAGE_PLAYER_KILL: {
player_kill_message_t *sm = (player_kill_message_t *) data;
player_t *player = game_player(game, sm->player_id);
player_t *player = game->getPlayer(sm->player_id);
player->status = 0;
player->team = 0;
break;
}
case MESSAGE_ACCEPT: {
accept_message_t *am = (accept_message_t *) data;
game->local_player = game_player(game, am->player_id);
game->local_player = game->getPlayer(am->player_id);
break;
}
case MESSAGE_PLAYER_UPDATE: {
player_update_message_t *um = (player_update_message_t *) data;
player_t *player = game_player(game, um->player_id);
player_t *player = game->getPlayer(um->player_id);
if (player != game->local_player) {
player->x = um->x + um->vx * 0.0001;
player->y = um->y + um->vy * 0.0001;
@@ -168,7 +168,7 @@ void Network::dispatch(enet_uint8 *data, size_t length) {
}
case MESSAGE_PLAYER_ACCELERATE: {
player_accelerate_message_t *um = (player_accelerate_message_t *) data;
player_t *player = game_player(game, um->player_id);
player_t *player = game->getPlayer(um->player_id);
player->vx += um->x;
player->vy += um->y;
player->vz += um->z;
@@ -176,7 +176,7 @@ void Network::dispatch(enet_uint8 *data, size_t length) {
}
case MESSAGE_BOMB_DROP: {
bomb_drop_meesage_t *m = (bomb_drop_meesage_t *) data;
bomb_t *bomb = game_spawn_bomb(game);
bomb_t *bomb = game->spawn_bomb();
if (bomb == NULL)
return;
bomb->x = m->x + m->vx * 0.0001;
@@ -195,7 +195,7 @@ void Network::dispatch(enet_uint8 *data, size_t length) {
}
case MESSAGE_TEAM_UPDATE: {
team_update_message_t *m = (team_update_message_t *) data;
team_t *team = game_team(game, m->team_id);
team_t *team = game->getTeam(m->team_id);
if (team == NULL)
return;
team->points = m->points;
@@ -249,8 +249,8 @@ void Network::service(uint32_t timeout) {
enet_peer_send(event.peer, 0, packet);
}
team_t *team = game_team_with_least_players(game);
player_t *player = game_spawn_player(game, team);
team_t *team = game->team_with_least_players();
player_t *player = game->spawn_player(team);
event.peer->data = player;
// send player spawn message