forked from Phobos-developers/YRpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DropPodLocomotionClass.h
59 lines (48 loc) · 1.58 KB
/
DropPodLocomotionClass.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
#pragma once
#include <LocomotionClass.h>
class NOVTABLE DropPodLocomotionClass : public LocomotionClass, public IPiggyback
{
public:
static constexpr uintptr_t ILocoVTable = 0x7E8278;
//IUnknown
virtual HRESULT __stdcall QueryInterface(REFIID iid, void** ppvObject) R0;
virtual ULONG __stdcall AddRef() R0;
virtual ULONG __stdcall Release() R0;
//IPiggyback
virtual HRESULT __stdcall Begin_Piggyback(ILocomotion* pointer) R0;
virtual HRESULT __stdcall End_Piggyback(ILocomotion** pointer) R0;
virtual bool __stdcall Is_Ok_To_End() R0;
virtual HRESULT __stdcall Piggyback_CLSID(GUID* classid) R0;
virtual bool __stdcall Is_Piggybacking() R0;
//ILocomotion
virtual bool __stdcall Is_Moving() R0;
virtual CoordStruct* __stdcall Destination(CoordStruct* pcoord) R0;
virtual bool __stdcall Process() R0;
virtual void __stdcall Move_To(CoordStruct to) RX;
virtual void __stdcall Stop_Moving() RX;
virtual int __stdcall Drawing_Code() R0;
//IPersist
virtual HRESULT __stdcall GetClassID(CLSID* pClassID) R0;
//IPersistStream
virtual HRESULT __stdcall Load(IStream* pStm) R0;
virtual HRESULT __stdcall Save(IStream* pStm, BOOL fClearDirty) R0;
//Destructor
virtual ~DropPodLocomotionClass() RX;
//LocomotionClass
virtual int Size() R0;
//Constructor
DropPodLocomotionClass()
: DropPodLocomotionClass(noinit_t())
{
JMP_THIS(0x4B5AB0);
}
protected:
explicit __forceinline DropPodLocomotionClass(noinit_t)
: LocomotionClass(noinit_t())
{}
public:
bool OutOfMap;
CoordStruct DestinationCoords;
ILocomotionPtr Piggybackee;
};
static_assert(sizeof(DropPodLocomotionClass) == 0x30);