-
-
Notifications
You must be signed in to change notification settings - Fork 137
Expand file tree
/
Copy pathCommands.cpp
More file actions
104 lines (89 loc) · 3.21 KB
/
Copy pathCommands.cpp
File metadata and controls
104 lines (89 loc) · 3.21 KB
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
#include "Commands.h"
#include "ObjectInfo.h"
#include "NextIdleHarvester.h"
#include "QuickSave.h"
#include "DamageDisplay.h"
#include "FrameByFrame.h"
#include "FrameStep.h"
#include "ToggleDigitalDisplay.h"
#include "ToggleDesignatorRange.h"
#include "SaveVariablesToFile.h"
#include "ToggleSWSidebar.h"
#include "FireTacticalSW.h"
#include "ToggleMessageList.h"
#include "BuildLastOfTab.h"
#include "RebuildTab3Subtypes.h"
#include <CCINIClass.h>
#include <Ext/Sidebar/SWSidebar/SWSidebarClass.h>
#include <Misc/MessageColumn.h>
DEFINE_HOOK(0x533066, CommandClassCallback_Register, 0x6)
{
// Load it after Ares'
MakeCommand<NextIdleHarvesterCommandClass>();
MakeCommand<QuickSaveCommandClass>();
MakeCommand<ToggleDigitalDisplayCommandClass>();
MakeCommand<ToggleDesignatorRangeCommandClass>();
MakeCommand<ToggleMessageListCommandClass>();
MakeCommand<ToggleSWSidebar>();
MakeCommand<BuildLastOfTabCommandClass<0>>();
MakeCommand<BuildLastOfTabCommandClass<1>>();
MakeCommand<BuildLastOfTabCommandClass<2>>();
MakeCommand<RebuildVehicleCommandClass>();
MakeCommand<RebuildAircraftCommandClass>();
MakeCommand<RebuildNavalCommandClass>();
if (Phobos::Config::SuperWeaponSidebarCommands)
{
SWSidebarClass::Commands[0] = MakeCommand<FireTacticalSWCommandClass<0>>();
SWSidebarClass::Commands[1] = MakeCommand<FireTacticalSWCommandClass<1>>();
SWSidebarClass::Commands[2] = MakeCommand<FireTacticalSWCommandClass<2>>();
SWSidebarClass::Commands[3] = MakeCommand<FireTacticalSWCommandClass<3>>();
SWSidebarClass::Commands[4] = MakeCommand<FireTacticalSWCommandClass<4>>();
SWSidebarClass::Commands[5] = MakeCommand<FireTacticalSWCommandClass<5>>();
SWSidebarClass::Commands[6] = MakeCommand<FireTacticalSWCommandClass<6>>();
SWSidebarClass::Commands[7] = MakeCommand<FireTacticalSWCommandClass<7>>();
SWSidebarClass::Commands[8] = MakeCommand<FireTacticalSWCommandClass<8>>();
SWSidebarClass::Commands[9] = MakeCommand<FireTacticalSWCommandClass<9>>();
}
if (Phobos::Config::DevelopmentCommands)
{
MakeCommand<DamageDisplayCommandClass>();
MakeCommand<SaveVariablesToFileCommandClass>();
MakeCommand<ObjectInfoCommandClass>();
MakeCommand<FrameByFrameCommandClass>();
MakeCommand<FrameStepCommandClass<1>>(); // Single step in
MakeCommand<FrameStepCommandClass<5>>(); // Speed 1
MakeCommand<FrameStepCommandClass<10>>(); // Speed 2
MakeCommand<FrameStepCommandClass<15>>(); // Speed 3
MakeCommand<FrameStepCommandClass<30>>(); // Speed 4
MakeCommand<FrameStepCommandClass<60>>(); // Speed 5
}
return 0;
}
static void MouseWheelDownCommand()
{
if (MessageColumnClass::Instance.IsHovering())
MessageColumnClass::Instance.ScrollDown();
}
static void MouseWheelUpCommand()
{
if (MessageColumnClass::Instance.IsHovering())
MessageColumnClass::Instance.ScrollUp();
}
DEFINE_HOOK(0x777998, Game_WndProc_ScrollMouseWheel, 0x6)
{
GET(const WPARAM, WParam, ECX);
if (WParam & 0x80000000u)
MouseWheelDownCommand();
else
MouseWheelUpCommand();
return 0;
}
static inline bool CheckSkipScrollSidebar()
{
return MessageColumnClass::Instance.IsHovering();
}
DEFINE_HOOK(0x533F50, Game_ScrollSidebar_Skip, 0x5)
{
enum { SkipScrollSidebar = 0x533FC3 };
return CheckSkipScrollSidebar() ? SkipScrollSidebar : 0;
}