Project

General

Profile

Statistics
| Revision:

root / proj / include / proj_func.h @ 229

History | View | Annotate | Download (1.42 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);
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
} keys_t;
31

    
32
void update_mouse_position(struct packet *p);
33

    
34
void update_scale(void);
35

    
36
int32_t get_mouse_X(void);
37

    
38
int32_t get_mouse_Y(void);
39

    
40
/**
41
 * @brief
42
 * @param
43
 * @param
44
 * @param
45
 * @return Angle
46
 */
47
double get_mouse_angle(gunner_t *p);
48

    
49
/**
50
 * @brief Get horizontal movement direction.
51
 * @return Horizontal movement direction (-1 -> heading LEFT; 0 -> not moving horizontally; 1 -> heading RIGHT)
52
 */
53
int get_hor_movement(void);
54

    
55
/**
56
 * @brief Get vertical movement direction.
57
 * @return Vertical movement direction (-1 -> heading UP; 0 -> not moving vertically; 1 -> heading DOWN)
58
 */
59
int get_ver_movement(void);
60

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