Skip to content

Commit b276532

Browse files
committed
fuck arm
1 parent e0f240b commit b276532

File tree

6 files changed

+15
-25
lines changed

6 files changed

+15
-25
lines changed

changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 2.0.11
2+
- Fix a crash when pressing buttons
3+
14
# 2.0.10
25
- Actually fix a crash
36

mod.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"mac": "2.2074",
77
"ios": "2.2074"
88
},
9-
"version": "v2.0.10",
9+
"version": "v2.0.11",
1010
"id": "alphalaneous.happy_textures",
1111
"name": "Happy Textures :3",
1212
"developer": "Alphalaneous",

src/UIModding.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "FileWatcher.hpp"
44
#include "Utils.hpp"
55
#include "nodes/CCLabelBMFont.hpp"
6-
#include "nodes/CCMenuItem.hpp"
6+
#include "nodes/CCMenuItemSpriteExtra.hpp"
77
#include "nodes/FLAlertLayer.hpp"
88
#include "nodes/CCNode.hpp"
99
#include "UIModding.hpp"
@@ -906,7 +906,7 @@ void UIModding::setColor(CCNode* node, const matjson::Value& attributes) {
906906
std::string colorStr = color.asString().unwrapOr("");
907907

908908
if (colorStr == "reset") {
909-
if (auto node1 = static_cast<EventCCMenuItem*>(node)) {
909+
if (auto node1 = static_cast<EventCCMenuItemSpriteExtra*>(typeinfo_cast<CCMenuItemSpriteExtra*>(node))) {
910910
auto originalColor = node1->m_fields->originalColor;
911911
node1->setColor(originalColor);
912912
if (auto buttonNode = node1->getChildByType<ButtonSprite>(0)) {
@@ -1187,7 +1187,7 @@ void UIModding::setOpacity(CCNode* node, const matjson::Value& attributes) {
11871187
}
11881188

11891189
if (opacity.isString() && opacity.asString().unwrapOr("") == "reset") {
1190-
if (auto node1 = static_cast<EventCCMenuItem*>(node)) {
1190+
if (auto node1 = static_cast<EventCCMenuItemSpriteExtra*>(typeinfo_cast<CCMenuItemSpriteExtra*>(node))) {
11911191
auto original = node1->m_fields->originalOpacity;
11921192
node1->setOpacity(original);
11931193
if (auto node2 = node1->getChildByType<ButtonSprite>(0)) {
@@ -1444,7 +1444,7 @@ void UIModding::handleAttributes(CCNode* node, const matjson::Value& attributes)
14441444
}
14451445

14461446
void UIModding::handleEvent(CCNode* node, const matjson::Value& eventVal) {
1447-
if (EventCCMenuItem* button = static_cast<EventCCMenuItem*>(node)) {
1447+
if (EventCCMenuItemSpriteExtra* button = static_cast<EventCCMenuItemSpriteExtra*>(typeinfo_cast<CCMenuItemSpriteExtra*>(node))) {
14481448
forEvent(on-click, OnClick);
14491449
forEvent(on-release, OnRelease);
14501450
forEvent(on-activate, OnActivate);

src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "Macros.hpp"
33
#include "nodes/CCLabelBMFont.hpp"
44
#include "nodes/CCMenu.hpp"
5-
#include "nodes/CCMenuItem.hpp"
5+
#include "nodes/CCMenuItemSpriteExtra.hpp"
66
#include "nodes/CCScale9Sprite.hpp"
77
#include "nodes/EditLevelLayer.hpp"
88
#include "nodes/GJCommentListLayer.hpp"

src/nodes/CCMenu.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22

33
#include <Geode/Geode.hpp>
4-
#include "CCMenuItem.hpp"
4+
#include "CCMenuItemSpriteExtra.hpp"
55
#include "../UIModding.hpp"
66
#include "../Utils.hpp"
77
#include "../Macros.hpp"
@@ -80,7 +80,7 @@ class $nodeModify(MyCCMenu, cocos2d::CCMenu) {
8080
for (auto child : CCArrayExt<CCNode*>(getChildren())) {
8181
auto realItem = typeinfo_cast<CCMenuItem*>(child);
8282
if (!realItem) continue;
83-
if (EventCCMenuItem* button = static_cast<EventCCMenuItem*>(realItem)) {
83+
if (EventCCMenuItemSpriteExtra* button = static_cast<EventCCMenuItemSpriteExtra*>(realItem)) {
8484
auto worldPos = button->convertToWorldSpaceAR(CCPointZero);
8585
bool isValid = nodeIsVisible(button) && button->boundingBox().containsPoint(local) && isHoverable(button, worldPos);
8686
button->checkTouch(!isValid);
@@ -89,7 +89,7 @@ class $nodeModify(MyCCMenu, cocos2d::CCMenu) {
8989
#else
9090
auto self = reinterpret_cast<CCMenu*>(this);
9191
if (auto item = self->m_pSelectedItem) {
92-
if (EventCCMenuItem* button = static_cast<EventCCMenuItem*>(item)) {
92+
if (EventCCMenuItemSpriteExtra* button = static_cast<EventCCMenuItemSpriteExtra*>(item)) {
9393
button->checkTouch(!item->isSelected());
9494
}
9595
}
Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,13 @@
11
#pragma once
22

33
#include <Geode/Geode.hpp>
4-
#include <Geode/modify/CCMenuItem.hpp>
54
#include <Geode/modify/CCMenuItemSpriteExtra.hpp>
65
#include "../Macros.hpp"
76
#include "../UIModding.hpp"
87

98
using namespace geode::prelude;
109

1110
class $modify(EventCCMenuItemSpriteExtra, CCMenuItemSpriteExtra) {
12-
void selected() {
13-
CCMenuItem::selected();
14-
CCMenuItemSpriteExtra::selected();
15-
}
16-
17-
void unselected() {
18-
CCMenuItem::unselected();
19-
CCMenuItemSpriteExtra::unselected();
20-
}
21-
};
22-
23-
class $modify(EventCCMenuItem, CCMenuItem) {
2411

2512
struct Fields {
2613
std::vector<matjson::Value> onClick = {};
@@ -105,21 +92,21 @@ class $modify(EventCCMenuItem, CCMenuItem) {
10592
void selected() {
10693
modifyForEach(m_fields->onClick);
10794
if (!m_fields->overrideOnClick) {
108-
CCMenuItem::selected();
95+
CCMenuItemSpriteExtra::selected();
10996
}
11097
}
11198

11299
void unselected() {
113100
modifyForEach(m_fields->onRelease);
114101
if (!m_fields->overrideOnRelease) {
115-
CCMenuItem::unselected();
102+
CCMenuItemSpriteExtra::unselected();
116103
}
117104
}
118105

119106
void activate() {
120107
modifyForEach(m_fields->onActivate);
121108
if (!m_fields->overrideOnActivate) {
122-
CCMenuItem::activate();
109+
CCMenuItemSpriteExtra::activate();
123110
}
124111
}
125112

0 commit comments

Comments
 (0)