-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathCommandClass.h
43 lines (32 loc) · 909 Bytes
/
CommandClass.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
/*
UI Commands
*/
/*
NOTE:
This should NOT become a victim of Operation: The Cleansing, since we actually
derive classes from it!
-pd
*/
#pragma once
#include <GeneralDefinitions.h>
#include <ArrayClasses.h>
#include <Helpers/CompileTime.h>
class NOVTABLE CommandClass
{
public:
// static
static constexpr constant_ptr<DynamicVectorClass<CommandClass*>, 0x87F658u> const Array{};
//CommandClass
virtual ~CommandClass() = default;
virtual const char* GetName() const = 0;
virtual const wchar_t* GetUIName() const = 0;
virtual const wchar_t* GetUICategory() const = 0;
virtual const wchar_t* GetUIDescription() const = 0;
virtual bool vt_entry_14(DWORD dwUnk) const
{ return false; }
virtual bool vt_entry_18(DWORD dwUnk) const
{ return (((~dwUnk) >> 11) & 1) != 0; }
virtual bool vt_entry_1C(DWORD dwUnk) const
{ return false; }
virtual void Execute(DWORD dwUnk) const = 0;
};