summaryrefslogtreecommitdiff
path: root/csgo_wh/include/Game.h
blob: 554ae9ff0fe2bdd533706f49529f0835296a2570 (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
#ifndef GAME_H_INCLUDED
#define GAME_H_INCLUDED

#include <cstdio>
#include <windows.h>
#include <psapi.h>

#define OFF_ENTITIES 0x49EE2E4
#define OFF_LOCALPLAYER 0xA4CA5C

#define MAXPLAYER 32
#define ENTLOOP   0x10
#define ENTPOS    0x134
#define ENTAIMX   0xC0
#define ENTAIMY   0x438
#define ENTVANGL  0x158C
#define ENTTEAM   0xF0
#define PLYFOV    0x159C

#define TEAM_COUNTER 0x3
#define TEAM_TERROR  0x2


#ifdef ENABLE_DEBUG
#define DEBUG_VAR Game::pLogFile
#define DEBUG_FILE "./log.txt"
#define DEBUG_INIT DEBUG_VAR = fopen(DEBUG_FILE,"a+");
#define DEBUG_FLUSH fflush(DEBUG_VAR);
#define DEBUG_CLOSE fclose(DEBUG_VAR);
#define DEBUG_LOG(msg, ...) fprintf(DEBUG_VAR, "[%s:%d] ", __FILE__, __LINE__); fprintf(DEBUG_VAR, msg, __VA_ARGS__); fprintf(DEBUG_VAR, "%s", "\r\n"); DEBUG_FLUSH;
#define WDEBUG_LOG(msg, ...) fwprintf(DEBUG_VAR, L"[%hs:%d] ", __FILE__, __LINE__); fwprintf(DEBUG_VAR, msg, __VA_ARGS__);
#else
#define DEBUG_VAR
#define DEBUG_FILE
#define DEBUG_INIT
#define DEBUG_LOG(msg, ...)
#define WDEBUG_LOG(msg, ...)
#define DEBUG_FLUSH
#define DEBUG_CLOSE
#endif // ENABLE_DEBUG


typedef struct _entitiy
{
    PVOID p_adr;
    FLOAT p_pos[3];
    FLOAT p_aim[2];
    BYTE p_team;
} ENTITY;

class Game
{

private:
    bool init = false;

public:
    HMODULE h_clientDLL, h_shaderapiDLL;
    MODULEINFO m_client, m_shaderapi;
    UINT32 dwWidth;
    UINT32 dwHeight;
    UINT32 dwFov;
    UINT32 dwPlayerCount = 0;
    ENTITY *g_localPlayer;
    ENTITY g_entities[MAXPLAYER];

#ifdef ENABLE_DEBUG
    static FILE* pLogFile;
#endif

    bool Init(void);

    bool Reset(void);

    bool ReadEntities(void);

    void ReadCVars(void);

    static FLOAT calcVecDist(float v1[3], float v2[3]);

};

#endif // GAME_H_INCLUDED