1 #include "game/game_player.h" 2 #include <stdlib.h> 3 game_player_create(game_player * gp)4void game_player_create(game_player *gp) { 5 gp->har_id = 0; 6 gp->pilot_id = 0; 7 gp->har = NULL; 8 gp->ctrl = NULL; 9 gp->portrait = NULL; 10 gp->selectable = 0; 11 // default to grey 12 gp->colors[0] = 8; 13 gp->colors[1] = 8; 14 gp->colors[2] = 8; 15 chr_score_create(&gp->score); 16 har_screencaps_create(&gp->screencaps); 17 sd_pilot_create(&gp->pilot); 18 gp->god = 0; 19 gp->ez_destruct = 0; 20 gp->sp_wins = 0; 21 } 22 game_player_free(game_player * gp)23void game_player_free(game_player *gp) { 24 chr_score_free(&gp->score); 25 har_screencaps_free(&gp->screencaps); 26 sd_pilot_free(&gp->pilot); 27 } 28 game_player_set_har(game_player * gp,object * har)29void game_player_set_har(game_player *gp, object *har) { 30 gp->har = har; 31 } 32 game_player_get_har(game_player * gp)33object* game_player_get_har(game_player *gp) { 34 return gp->har; 35 } 36 game_player_set_ctrl(game_player * gp,controller * ctrl)37void game_player_set_ctrl(game_player *gp, controller *ctrl) { 38 if(gp->ctrl != NULL) { 39 if(gp->ctrl->type == CTRL_TYPE_KEYBOARD) { 40 keyboard_free(gp->ctrl); 41 } else if(gp->ctrl->type == CTRL_TYPE_NETWORK) { 42 net_controller_free(gp->ctrl); 43 } else if(gp->ctrl->type == CTRL_TYPE_AI) { 44 ai_controller_free(gp->ctrl); 45 } 46 free(gp->ctrl); 47 } 48 gp->ctrl = ctrl; 49 } 50 game_player_get_ctrl(game_player * gp)51controller* game_player_get_ctrl(game_player *gp) { 52 return gp->ctrl; 53 } 54 game_player_set_portrait(game_player * gp,surface * portrait)55void game_player_set_portrait(game_player *gp, surface *portrait) { 56 gp->portrait = portrait; 57 } 58 game_player_get_portrait(game_player * gp)59surface* game_player_get_portrait(game_player *gp) { 60 return gp->portrait; 61 } 62 game_player_set_selectable(game_player * gp,int selectable)63void game_player_set_selectable(game_player *gp, int selectable) { 64 gp->selectable = selectable; 65 } 66 game_player_get_selectable(game_player * gp)67int game_player_get_selectable(game_player *gp) { 68 return gp->selectable; 69 } 70 game_player_get_score(game_player * gp)71chr_score* game_player_get_score(game_player *gp) { 72 return &gp->score; 73 } 74