-
Notifications
You must be signed in to change notification settings - Fork 38
/
TacticalClass.h
130 lines (114 loc) · 2.85 KB
/
TacticalClass.h
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#pragma once
#include <GeneralDefinitions.h>
#include <GeneralStructures.h>
#include <AbstractClass.h>
#include <ColorScheme.h>
#include <Helpers/CompileTime.h>
class NOVTABLE TacticalClass : public AbstractClass
{
public:
static constexpr reference<TacticalClass*, 0x887324u> const Instance{};
// returns whether coords are visible at the moment
bool CoordsToClient(CoordStruct const& coords, Point2D* pOutClient) const
{ JMP_THIS(0x6D2140); }
CoordStruct* ClientToCoords(CoordStruct* pOutBuffer, Point2D const& client) const
{ JMP_THIS(0x6D2280); }
CoordStruct ClientToCoords(Point2D const& client) const {
CoordStruct buffer;
this->ClientToCoords(&buffer, client);
return buffer;
}
int GetOcclusion(const CellStruct& cell, bool fog) const
{ JMP_THIS(0x6D8700); }
Point2D * AdjustForZShapeMove(Point2D* pDest, Point2D* pClient)
{ JMP_THIS(0x6D1FE0); }
// convert xyz height to xy height?
static int __fastcall AdjustForZ(int Height)
{ JMP_STD(0x6D20E0); }
void FocusOn(CoordStruct* pDest, int Velocity)
{ JMP_THIS(0x6D2420); }
// called when area needs to be marked for redrawing due to external factors
// - alpha lights, terrain changes like cliff destruction, etc
void RegisterDirtyArea(RectangleStruct Area, bool bUnk)
{ JMP_THIS(0x6D2790); }
void RegisterCellAsVisible(CellClass* pCell)
{ JMP_THIS(0x6DA7D0) };
static int DrawTimer(int index, ColorScheme *Scheme, int Time, wchar_t *Text, Point2D *someXY1, Point2D *someXY2)
{ JMP_STD(0x64DB50); }
public:
DWORD field_24;
DWORD field_28;
DWORD field_2C;
DWORD field_30;
DWORD field_34;
DWORD field_38;
DWORD field_3C;
DWORD field_40;
DWORD field_44;
DWORD field_48;
DWORD field_4C;
DWORD field_50;
DWORD field_54;
DWORD field_58;
DWORD field_5C;
DWORD field_60;
DWORD field_64;
DWORD field_68;
DWORD field_6C;
DWORD field_70;
DWORD field_74;
DWORD field_78;
DWORD field_7C;
DWORD field_80;
DWORD field_84;
DWORD field_88;
DWORD field_8C;
DWORD field_90;
DWORD field_94;
DWORD field_98;
DWORD field_9C;
DWORD field_A0;
DWORD field_A4;
DWORD field_A8;
bool field_AC;
bool field_AD;
RectangleStruct VisibleArea;
double ZoomInFactor;
DWORD field_C8;
DWORD field_CC;
DWORD field_D0;
DWORD field_D4;
DWORD field_D8;
DWORD field_DC;
DWORD VisibleCellCount;
CellClass * VisibleCells [800];
DWORD field_D64;
DWORD field_D68;
DWORD field_D6C;
DWORD field_D70;
DWORD field_D74;
DWORD field_D78;
bool field_D7C;
bool Redrawing; // set while redrawing - cheap mutex
DWORD field_D80;
DWORD field_D84;
DWORD field_D88;
DWORD field_D8C;
DWORD field_D90;
DWORD field_D94;
DWORD field_D98;
DWORD field_D9C;
DWORD MouseFrameIndex;
DWORD StartTime;
DWORD field_DA8;
DWORD field_DAC;
float Floats [12];
RectangleStruct field_DE4;
DWORD field_DF4;
double field_DF8;
DWORD field_E00;
DWORD field_E04;
double field_E08;
DWORD field_E10;
DWORD field_E14;
};