mirror of
https://github.com/geode-sdk/geode.git
synced 2024-11-14 19:15:05 -05:00
merge
This commit is contained in:
commit
01fbe27653
5 changed files with 48 additions and 12 deletions
|
@ -1038,7 +1038,7 @@ class EditorPauseLayer : CCBlockLayer, FLAlertLayerProtocol {
|
|||
void saveLevel() = mac 0x13ebd0, win 0x75010, ios 0x0;
|
||||
bool init(LevelEditorLayer*) = mac 0x13c7a0, win 0x730e0, ios 0x280cb8;
|
||||
void onExitEditor(cocos2d::CCObject* sender) = mac 0x0, win 0x75660, ios 0x0;
|
||||
void playStep2() = mac 0x0, win 0x75440, ios 0x0;
|
||||
void playStep2() = mac 0x13f040, win 0x75440, ios 0x0;
|
||||
void onResume(cocos2d::CCObject* sender) = mac 0x0, win 0x74fe0, ios 0x0;
|
||||
void onSaveAndPlay(cocos2d::CCObject* sender) = mac 0x0, win 0x753d0, ios 0x0;
|
||||
void onSaveAndExit(cocos2d::CCObject* sender) = mac 0x0, win 0x75620, ios 0x0;
|
||||
|
@ -1049,7 +1049,7 @@ class EditorPauseLayer : CCBlockLayer, FLAlertLayerProtocol {
|
|||
void doResetUnused() = mac 0x0, win 0x165070, ios 0x0;
|
||||
|
||||
bool m_saved;
|
||||
PAD = mac 0x0, win 0x4, android 0x0;
|
||||
PAD = mac 0x8, win 0x4, android 0x0;
|
||||
CCMenuItemSpriteExtra* m_button0;
|
||||
CCMenuItemSpriteExtra* m_button1;
|
||||
LevelEditorLayer* m_editorLayer;
|
||||
|
@ -1406,7 +1406,16 @@ class FLAlertLayer : cocos2d::CCLayerColor {
|
|||
virtual void keyDown(cocos2d::enumKeyCodes) = mac 0x25ece0, win 0x23250, ios 0x0;
|
||||
virtual void show() = mac 0x25f120, win 0x23560, ios 0x1feff4;
|
||||
|
||||
bool init(FLAlertLayerProtocol*, char const*, gd::string, char const*, char const*, float, bool, float) = mac 0x25e1b0, win 0x0, ios 0x0;
|
||||
bool init(
|
||||
FLAlertLayerProtocol* protocol,
|
||||
char const* title,
|
||||
gd::string content,
|
||||
char const* btn1,
|
||||
char const* btn2,
|
||||
float width,
|
||||
bool scrollable,
|
||||
float height
|
||||
) = mac 0x25e1b0, win 0x228e0, ios 0x0;
|
||||
static FLAlertLayer* create(FLAlertLayerProtocol*, char const*, gd::string, char const*, char const*) = mac 0x25de00, win 0x22680, ios 0x0;
|
||||
static FLAlertLayer* create(FLAlertLayerProtocol*, char const*, gd::string, char const*, char const*, float) = mac 0x25e0e0, win 0x22730, ios 0x1fe374;
|
||||
static FLAlertLayer* create(FLAlertLayerProtocol*, char const*, gd::string, char const*, char const*, float, bool, float) = mac 0x25dec0, win 0x227e0, ios 0x0;
|
||||
|
@ -3504,7 +3513,7 @@ class LevelEditorLayer : GJBaseGameLayer, LevelSettingsDelegate {
|
|||
void createObjectsFromSetup(gd::string) = mac 0x92230, win 0x0, ios 0x0;
|
||||
cocos2d::CCArray* createObjectsFromString(gd::string, bool) = mac 0x94730, win 0x0, ios 0x0;
|
||||
void getLastObjectX() = mac 0x9c860, win 0x167290, ios 0x0;
|
||||
void getLevelString() = mac 0x97790, win 0x162480, ios 0x0;
|
||||
gd::string getLevelString() = mac 0x97790, win 0x162480, ios 0x0;
|
||||
void getNextColorChannel() = mac 0x9a610, win 0x0, ios 0x0;
|
||||
void getNextFreeBlockID(cocos2d::CCArray*) = mac 0x9a4e0, win 0x0, ios 0x0;
|
||||
int getNextFreeGroupID(cocos2d::CCArray*) = mac 0x9a1b0, win 0x164ae0, ios 0x0;
|
||||
|
@ -4905,13 +4914,13 @@ class SliderThumb : cocos2d::CCMenuItemImage {
|
|||
class SliderTouchLogic : cocos2d::CCMenu {
|
||||
SliderThumb* getThumb() const { return m_thumb; }
|
||||
|
||||
PAD = mac 0x4, win 0x4, android 0x0;
|
||||
float m_unknownUnused;
|
||||
float m_length;
|
||||
SliderThumb* m_thumb;
|
||||
Slider* m_slider;
|
||||
bool m_unknown;
|
||||
PAD = mac 0x0, win 0x8, android 0x0;
|
||||
bool m_vertical;
|
||||
bool m_activateThumb;
|
||||
cocos2d::CCPoint m_position;
|
||||
bool m_rotated;
|
||||
}
|
||||
|
||||
class SongCell : TableViewCell {
|
||||
|
|
|
@ -46,7 +46,6 @@ types::ret{index} {class_name}::{function_name}({parameters}){const_whitespace}{
|
|||
func(this{argument_comma}{arguments});
|
||||
// we need to construct it back so that it uhhh ummm doesnt crash
|
||||
// while going to the child destructors
|
||||
std::memset(this, 0, sizeof({class_name}));
|
||||
auto thing = new (this) {class_name}(std::monostate(), sizeof({class_name}));
|
||||
CCDestructor::lock(this) = true;
|
||||
}}
|
||||
|
|
|
@ -159,12 +159,16 @@ namespace geode {
|
|||
Mod* m_mod;
|
||||
|
||||
DataStore(Mod* m, nlohmann::json& j) : m_mod(m), m_store(j) {}
|
||||
|
||||
friend class Mod;
|
||||
|
||||
public:
|
||||
~DataStore();
|
||||
|
||||
nlohmann::json& getJson() const;
|
||||
nlohmann::json& operator[](std::string const&);
|
||||
DataStore& operator=(nlohmann::json&);
|
||||
bool contains(std::string const&);
|
||||
bool contains(std::string const&) const;
|
||||
operator nlohmann::json();
|
||||
|
||||
};
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace geode::modifier {
|
|||
|
||||
std::memcpy(
|
||||
offsetField,
|
||||
&parentContainer[sizeof(Intermediate)],
|
||||
std::launder(&parentContainer[sizeof(Intermediate)]),
|
||||
sizeof(Parent) - sizeof(Intermediate)
|
||||
);
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ namespace geode::modifier {
|
|||
auto parent = new (parentContainer.data()) Intermediate();
|
||||
|
||||
std::memcpy(
|
||||
&parentContainer[sizeof(Intermediate)],
|
||||
std::launder(&parentContainer[sizeof(Intermediate)]),
|
||||
offsetField,
|
||||
sizeof(Parent) - sizeof(Intermediate)
|
||||
);
|
||||
|
|
|
@ -22,6 +22,30 @@ namespace geode::cocos {
|
|||
return reinterpret_cast<T>(x->getChildren()->objectAtIndex(i));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get nth child that is a given type. Checks bounds.
|
||||
* @returns Child at index cast to the given type,
|
||||
* or nullptr if index exceeds bounds
|
||||
*/
|
||||
template<class Type = cocos2d::CCNode*>
|
||||
static Type getChildOfType(cocos2d::CCNode* node, size_t index) {
|
||||
auto indexCounter = static_cast<size_t>(0);
|
||||
|
||||
for (size_t i = 0; i < node->getChildrenCount(); ++i) {
|
||||
auto obj = cast::typeinfo_cast<Type>(
|
||||
node->getChildren()->objectAtIndex(i)
|
||||
);
|
||||
if (obj != nullptr) {
|
||||
if (indexCounter == index) {
|
||||
return obj;
|
||||
}
|
||||
++indexCounter;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get bounds for a set of nodes. Based on content
|
||||
* size
|
||||
|
|
Loading…
Reference in a new issue