1 #include "game/game_player.h"
2 #include <stdlib.h>
3 
game_player_create(game_player * gp)4 void 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)23 void 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)29 void game_player_set_har(game_player *gp, object *har) {
30     gp->har = har;
31 }
32 
game_player_get_har(game_player * gp)33 object* game_player_get_har(game_player *gp) {
34     return gp->har;
35 }
36 
game_player_set_ctrl(game_player * gp,controller * ctrl)37 void 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)51 controller* game_player_get_ctrl(game_player *gp) {
52     return gp->ctrl;
53 }
54 
game_player_set_portrait(game_player * gp,surface * portrait)55 void game_player_set_portrait(game_player *gp, surface *portrait) {
56     gp->portrait = portrait;
57 }
58 
game_player_get_portrait(game_player * gp)59 surface* game_player_get_portrait(game_player *gp) {
60     return gp->portrait;
61 }
62 
game_player_set_selectable(game_player * gp,int selectable)63 void game_player_set_selectable(game_player *gp, int selectable) {
64     gp->selectable = selectable;
65 }
66 
game_player_get_selectable(game_player * gp)67 int game_player_get_selectable(game_player *gp) {
68     return gp->selectable;
69 }
70 
game_player_get_score(game_player * gp)71 chr_score* game_player_get_score(game_player *gp) {
72     return &gp->score;
73 }
74