Skip to content

Commit 47da23e

Browse files
authored
Add IDs to SetupMoveCommandPopup (#126)
* add Visual Studio to gitignore * Added IDs for the move trigger popup
1 parent 753f880 commit 47da23e

File tree

2 files changed

+131
-1
lines changed

2 files changed

+131
-1
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,7 @@
5757
/cmake-build-debug/
5858
/cmake-build-minsizerel/
5959
/cmake-build-release/
60-
/cmake-build-relwithdebinfo/
60+
/cmake-build-relwithdebinfo/
61+
62+
# Visual Studio
63+
.vs/

src/SetupMoveCommandPopup.cpp

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
#include <Geode/Geode.hpp>
2+
#include <Geode/modify/SetupMoveCommandPopup.hpp>
3+
#include <Geode/utils/NodeIDs.hpp>
4+
5+
using namespace geode::prelude;
6+
using namespace geode::node_ids;
7+
8+
$register_ids(SetupMoveCommandPopup) {
9+
auto mainLayer = setIDSafe<CCLayer>(this, 0, "main-layer");
10+
if (mainLayer) {
11+
/* Number Input Backgrounds */
12+
setIDSafe<CCScale9Sprite>(mainLayer, 0, "background");
13+
setIDSafe<CCScale9Sprite>(mainLayer, 1, "move-x-background");
14+
setIDSafe<CCScale9Sprite>(mainLayer, 2, "move-y-background");
15+
setIDSafe<CCScale9Sprite>(mainLayer, 3, "mod-x-background");
16+
setIDSafe<CCScale9Sprite>(mainLayer, 4, "mod-y-background");
17+
setIDSafe<CCScale9Sprite>(mainLayer, 5, "center-group-id-background");
18+
setIDSafe<CCScale9Sprite>(mainLayer, 6, "target-pos-group-id-background");
19+
setIDSafe<CCScale9Sprite>(mainLayer, 7, "distance-background");
20+
setIDSafe<CCScale9Sprite>(mainLayer, 8, "move-time-background");
21+
setIDSafe<CCScale9Sprite>(mainLayer, 9, "target-group-id-background");
22+
23+
/* Labels */
24+
setIDSafe<CCLabelBMFont>(mainLayer, 0, "trigger-name-label");
25+
setIDSafe<CCLabelBMFont>(mainLayer, 1, "touch-trigger-label");
26+
setIDSafe<CCLabelBMFont>(mainLayer, 2, "spawn-trigger-label");
27+
setIDSafe<CCLabelBMFont>(mainLayer, 3, "multi-trigger-label");
28+
setIDSafe<CCLabelBMFont>(mainLayer, 4, "move-x-label");
29+
setIDSafe<CCLabelBMFont>(mainLayer, 5, "move-y-label");
30+
setIDSafe<CCLabelBMFont>(mainLayer, 6, "mod-x-label");
31+
setIDSafe<CCLabelBMFont>(mainLayer, 7, "mod-y-label");
32+
setIDSafe<CCLabelBMFont>(mainLayer, 8, "lock-x-header");
33+
setIDSafe<CCLabelBMFont>(mainLayer, 9, "lock-player-x-label");
34+
setIDSafe<CCLabelBMFont>(mainLayer, 10, "lock-camera-x-label");
35+
setIDSafe<CCLabelBMFont>(mainLayer, 11, "lock-y-header");
36+
setIDSafe<CCLabelBMFont>(mainLayer, 12, "lock-player-y-label");
37+
setIDSafe<CCLabelBMFont>(mainLayer, 13, "lock-camera-y-label");
38+
setIDSafe<CCLabelBMFont>(mainLayer, 14, "center-group-id-label");
39+
setIDSafe<CCLabelBMFont>(mainLayer, 15, "target-pos-group-id-label");
40+
setIDSafe<CCLabelBMFont>(mainLayer, 16, "target-pos-p1-label");
41+
setIDSafe<CCLabelBMFont>(mainLayer, 17, "target-pos-p2-label");
42+
setIDSafe<CCLabelBMFont>(mainLayer, 18, "target-x-only-label");
43+
setIDSafe<CCLabelBMFont>(mainLayer, 19, "target-y-only-label");
44+
setIDSafe<CCLabelBMFont>(mainLayer, 20, "distance-label");
45+
setIDSafe<CCLabelBMFont>(mainLayer, 21, "target-mode-label");
46+
setIDSafe<CCLabelBMFont>(mainLayer, 22, "direction-mode-label");
47+
setIDSafe<CCLabelBMFont>(mainLayer, 23, "small-step-label");
48+
setIDSafe<CCLabelBMFont>(mainLayer, 24, "dynamic-mode-label");
49+
setIDSafe<CCLabelBMFont>(mainLayer, 25, "move-time-label");
50+
setIDSafe<CCLabelBMFont>(mainLayer, 26, "easing-mode-label");
51+
setIDSafe<CCLabelBMFont>(mainLayer, 27, "current-easing-mode");
52+
setIDSafe<CCLabelBMFont>(mainLayer, 28, "target-group-id-label");
53+
setIDSafe<CCLabelBMFont>(mainLayer, 29, "silent-label");
54+
55+
/* Sliders */
56+
setIDSafe<Slider>(mainLayer, 0, "move-x-slider");
57+
setIDSafe<Slider>(mainLayer, 1, "move-y-slider");
58+
setIDSafe<Slider>(mainLayer, 2, "mod-x-slider");
59+
setIDSafe<Slider>(mainLayer, 3, "mod-y-slider");
60+
setIDSafe<Slider>(mainLayer, 4, "distance-slider");
61+
setIDSafe<Slider>(mainLayer, 5, "move-time-slider");
62+
63+
/* Text Inputs */
64+
setIDSafe<CCTextInputNode>(mainLayer, 0, "move-x-input");
65+
setIDSafe<CCTextInputNode>(mainLayer, 1, "move-y-input");
66+
setIDSafe<CCTextInputNode>(mainLayer, 2, "mod-x-input");
67+
setIDSafe<CCTextInputNode>(mainLayer, 3, "mod-y-input");
68+
setIDSafe<CCTextInputNode>(mainLayer, 4, "center-group-id-input");
69+
setIDSafe<CCTextInputNode>(mainLayer, 5, "target-pos-group-id-input");
70+
setIDSafe<CCTextInputNode>(mainLayer, 6, "distance-input");
71+
setIDSafe<CCTextInputNode>(mainLayer, 7, "move-time-input");
72+
setIDSafe<CCTextInputNode>(mainLayer, 8, "target-group-id-input");
73+
74+
/* The CCMenu */
75+
auto inputMenu = setIDSafe<CCMenu>(mainLayer, 0, "input-menu");
76+
if (inputMenu) {
77+
setIDSafe<InfoAlertButton>(inputMenu, 0, "info-button");
78+
79+
/* Togglers */
80+
setIDSafe<CCMenuItemToggler>(inputMenu, 0, "touch-trigger-toggle");
81+
setIDSafe<CCMenuItemToggler>(inputMenu, 1, "spawn-trigger-toggle");
82+
setIDSafe<CCMenuItemToggler>(inputMenu, 2, "multi-trigger-toggle");
83+
setIDSafe<CCMenuItemToggler>(inputMenu, 3, "lock-player-x-toggle");
84+
setIDSafe<CCMenuItemToggler>(inputMenu, 4, "lock-camera-x-toggle");
85+
setIDSafe<CCMenuItemToggler>(inputMenu, 5, "lock-player-y-toggle");
86+
setIDSafe<CCMenuItemToggler>(inputMenu, 6, "lock-camera-y-toggle");
87+
setIDSafe<CCMenuItemToggler>(inputMenu, 7, "target-pos-p1-toggle");
88+
setIDSafe<CCMenuItemToggler>(inputMenu, 8, "target-pos-p2-toggle");
89+
setIDSafe<CCMenuItemToggler>(inputMenu, 9, "target-x-only-toggle");
90+
setIDSafe<CCMenuItemToggler>(inputMenu, 10, "target-y-only-toggle");
91+
setIDSafe<CCMenuItemToggler>(inputMenu, 11, "target-mode-toggle");
92+
setIDSafe<CCMenuItemToggler>(inputMenu, 12, "direction-mode-toggle");
93+
setIDSafe<CCMenuItemToggler>(inputMenu, 13, "small-step-toggle");
94+
setIDSafe<CCMenuItemToggler>(inputMenu, 14, "dynamic-mode-toggle");
95+
setIDSafe<CCMenuItemToggler>(inputMenu, 15, "silent-toggle");
96+
97+
/* CCMenuItemSpriteExtra */
98+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 0, "ok-button");
99+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 1, "info-button");
100+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 2, "center-group-id-left");
101+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 3, "center-group-id-right");
102+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 4, "target-pos-group-id-left");
103+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 5, "target-pos-group-id-right");
104+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 6, "edit-easing-rate");
105+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 7, "easing-right");
106+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 8, "easing-left");
107+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 9, "target-group-id-left");
108+
setIDSafe<CCMenuItemSpriteExtra>(inputMenu, 10, "target-group-id-right");
109+
}
110+
}
111+
}
112+
113+
struct SetupMoveCommandPopupIDs : Modify<SetupMoveCommandPopupIDs, SetupMoveCommandPopup> {
114+
static void onModify(auto& self) {
115+
if (!self.setHookPriority("SetupMoveCommandPopup::init", GEODE_ID_PRIORITY)) {
116+
log::warn("Failed to set SetupMoveCommandPopup::init hook priority, node IDs may not work properly");
117+
}
118+
}
119+
120+
bool init(EffectGameObject* p0, CCArray* p1) {
121+
if (!SetupMoveCommandPopup::init(p0, p1)) return false;
122+
123+
NodeIDs::get()->provide(this);
124+
125+
return true;
126+
}
127+
};

0 commit comments

Comments
 (0)