forked from Ares-Developers/YRpp
-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathBeaconManagerClass.h
39 lines (29 loc) · 1.14 KB
/
BeaconManagerClass.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
#include <GeneralStructures.h>
#include <BeaconClass.h>
#include <FileFormats/SHP.h>
#include <Surface.h>
class __declspec(align(4)) BeaconManagerClass
{
public:
DEFINE_REFERENCE(BeaconManagerClass, Instance, 0x89C3B0)
DEFINE_REFERENCE(SHPStruct*, BeaconArt, 0x89C474)
DEFINE_REFERENCE(SHPStruct*, RadarBeaconArt, 0x89C478)
BeaconManagerClass() JMP_THIS(0x430910)
~BeaconManagerClass() JMP_THIS(0x430930) // just an inlined Reset
void Reset() JMP_THIS(0x430980)
void LoadArt() JMP_THIS(0x4309D0)
void Draw(Surface* pSurface, RectangleStruct bounds) JMP_THIS(0x430AC0)
void PlaceBeacon(int houseId, CoordStruct coord, int houseBeaconId = -1) JMP_THIS(0x430BA0)
bool CanPlaceBeacon(int houseId) JMP_THIS(0x430F30)
// TODO rest of the functions
void DrawRadar(Surface* surface, RectangleStruct bounds) JMP_THIS(0x431700)
// TODO rest of the functions
BeaconClass* Beacons[8][3];
int AllocatedCount;
Point2D BeaconSize;
int BeaconFrameCount;
Point2D RadarBeaconSize;
int RadarBeaconFrameCount;
int RadarBeaconAnimPeriod;
};
static_assert(sizeof(BeaconManagerClass) == 0x80, "BeaconManagerClass is the wrong size.");