summaryrefslogtreecommitdiff
path: root/libghack/include/radar.h
blob: 7a7728ffa3993f94d6434c389746891bdda6d6a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#ifndef __MAIN_H__
#define __MAIN_H__

#include <windows.h>

#define HRADAR_FPS 30
#define HRADAR_FONTSIZ 16

enum radarColor {
    RC_RED,
    RC_BLUE,
    RC_GREEN,
    RC_YELLOW,
    RC_CYAN,
    RC_MAGENTA,
    RC_WHITE,
    RC_DONTDRAW
};

struct radarEntity
{
    UINT64 id;
    BOOL valid;
    BOOL isPlayer;

    struct radarEntity *prev;
    struct radarEntity *next;
    void *__internal;
};

#define INFO_LEN 12

struct radarInfo
{
    char *prefix;
    struct radarInfo *next;
    void *__internal;
};

#define RDR_NAMELEN 32

struct radarConfig
{
    char wnd_name[RDR_NAMELEN+1];
};

extern BOOL radarInit(struct radarConfig *rc);

extern void radarCleanup(void);

extern BOOL radarIsActive(void);

extern void radarExecThread(void);

extern void radarKillThread(void);

extern void radarWaitUntilRdy(void);

extern void radarUpdateResolution(void);

extern unsigned int radarGetWidth(void);

extern unsigned int radarGetHeight(void);

extern FLOAT radarPropX(void);

extern FLOAT radarPropY(void);

extern struct radarInfo *radarAddInfo(char *prefix);

extern void radarSetInfo(struct radarInfo *ri, char *text);

extern void radarSetInfoF(struct radarInfo *ri, const char *fmt, ...);

extern void radarSetDrawDistance(FLOAT vecDist);

extern void radarSetPlayerPosition(FLOAT ppos[3], FLOAT angle);

extern void radarSetAimLine(FLOAT enemy_pos3f[3], BOOL enable);

extern void radarUpdateEntity(UINT64 unique_id, FLOAT pos[3], enum radarColor color, BOOL isPlayer, BOOL valid);

extern void radarInvalidateAll(void);

extern void radarRemoveInvalidEntities(void);

extern void radarDrawEntities(void);

extern int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdParam, int cmdShow);

#ifdef __cplusplus
}
#endif

#endif // __MAIN_H__