Project

General

Profile

Statistics
| Revision:

root / proj / include / proj_func.h @ 234

History | View | Annotate | Download (1.64 KB)

1
#ifndef PROJ_FUNC_H_INCLUDED
2
#define PROJ_FUNC_H_INCLUDED
3

    
4
#include "ent.h"
5

    
6
#include <stdint.h>
7

    
8
/**
9
 * @brief Cleans up all memory, unsubscribes interrupts.
10
 * @return ERROR_CODE code representing the result of the operation, SUCCESS code is returned if everything is OK
11
 * @see {_ERRORS_H_::errors}
12
 */
13
int cleanup(void);
14

    
15
void update_key_presses(void);
16

    
17
/**
18
 * @brief Updates movement variables.
19
 */
20
void update_movement(const map_t *map, gunner_t *p, gunner_t *p2);
21

    
22
typedef struct keys {
23
    uint8_t w_pressed       : 1;
24
    uint8_t a_pressed       : 1;
25
    uint8_t s_pressed       : 1;
26
    uint8_t d_pressed       : 1;
27
    uint8_t ctrl_pressed    : 1;
28
    uint8_t plus_pressed    : 1;
29
    uint8_t minus_pressed   : 1;
30
    uint8_t lb_pressed      : 1;
31
} keys_t;
32

    
33
void update_mouse(struct packet *p);
34

    
35
keys_t* (get_key_presses)(void);
36

    
37
void (shoot_bullet)(const gunner_t *shooter, list_t *bullet_list);
38

    
39
void (update_game_state)(const map_t *map, gunner_t *shooter, list_t *bullet_list);
40

    
41
void update_scale(void);
42

    
43
int32_t get_mouse_X(void);
44

    
45
int32_t get_mouse_Y(void);
46

    
47
/**
48
 * @brief
49
 * @param
50
 * @param
51
 * @param
52
 * @return Angle
53
 */
54
double get_mouse_angle(gunner_t *p);
55

    
56
/**
57
 * @brief Get horizontal movement direction.
58
 * @return Horizontal movement direction (-1 -> heading LEFT; 0 -> not moving horizontally; 1 -> heading RIGHT)
59
 */
60
int get_hor_movement(void);
61

    
62
/**
63
 * @brief Get vertical movement direction.
64
 * @return Vertical movement direction (-1 -> heading UP; 0 -> not moving vertically; 1 -> heading DOWN)
65
 */
66
int get_ver_movement(void);
67

    
68
#endif /* end of include guard: PROJ_FUNC_H_INCLUDED */