move game to c++
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user