-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathObjectToolbox.cpp
86 lines (78 loc) · 2.64 KB
/
ObjectToolbox.cpp
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
#include "ObjectToolbox.h"
#include "pch.h"
#include "state.h"
#include "GameVariables.hpp"
void objectAdd(int id)
{
__asm {
push ecx
push 0x4
push id
mov ecx, ebx
call gd::EditorUI::getCreateBtn
push eax
mov ecx, esi
call edi
}
}
void __fastcall ObjectToolbox::rampTab_H() {
objectAdd(0x173);
objectAdd(0x174);
objectAdd(0x175);
objectAdd(0x176);
ObjectToolbox::rampTab();
}
void __fastcall ObjectToolbox::spikesTab_H() {
objectAdd(0x1A5);
objectAdd(0x1A6);
ObjectToolbox::spikesTab();
}
void __fastcall ObjectToolbox::decoSpikesTab_H() {
objectAdd(0x1A3);
objectAdd(0x1A4);
ObjectToolbox::decoSpikesTab();
}
void __fastcall ObjectToolbox::chainTab_H() {
objectAdd(0x1d2); // another bushes that don't overlaps player
objectAdd(0x1cd);
objectAdd(0x1ce);
objectAdd(0x1cf);
objectAdd(0x1d0);
objectAdd(0x1d1);
objectAdd(0x196); // grass
objectAdd(0x197);
objectAdd(0x198);
objectAdd(0x2D5); // dot
ObjectToolbox::chainTab();
}
void __fastcall ObjectToolbox::triggerTab_H() {
objectAdd(0x37);
objectAdd(0x8E);
ObjectToolbox::triggerTab();
}
void __fastcall ObjectToolbox::gridNodeSizeForKeyH(gd::ObjectToolbox* self, void*, int objectID) {
if (roundf(setting().gridSize) == 30.f) return ObjectToolbox::gridNodeSizeForKey(self, objectID);
}
void ObjectToolbox::mem_init() {
MH_CreateHook(
reinterpret_cast<void*>(gd::base + 0x44964),
reinterpret_cast<void*>(&ObjectToolbox::rampTab_H),
reinterpret_cast<void**>(&ObjectToolbox::rampTab));
MH_CreateHook(
reinterpret_cast<void*>(gd::base + 0x44f99),
reinterpret_cast<void*>(&ObjectToolbox::spikesTab_H),
reinterpret_cast<void**>(&ObjectToolbox::spikesTab));
MH_CreateHook(
reinterpret_cast<void*>(gd::base + 0x45f4b),
reinterpret_cast<void*>(&ObjectToolbox::decoSpikesTab_H),
reinterpret_cast<void**>(&ObjectToolbox::decoSpikesTab));
MH_CreateHook(
reinterpret_cast<void*>(gd::base + 0x464d6),
reinterpret_cast<void*>(&ObjectToolbox::chainTab_H),
reinterpret_cast<void**>(&ObjectToolbox::chainTab));
MH_CreateHook(
reinterpret_cast<void*>(gd::base + 0x46d37),
reinterpret_cast<void*>(&ObjectToolbox::triggerTab_H),
reinterpret_cast<void**>(&ObjectToolbox::triggerTab));
MH_CreateHook(reinterpret_cast<void*>(gd::base + 0xcfc90), reinterpret_cast<void*>(&ObjectToolbox::gridNodeSizeForKeyH), reinterpret_cast<void**>(&ObjectToolbox::gridNodeSizeForKey));
}