some header fixings and more compile time improvements

This commit is contained in:
altalk23 2022-10-13 14:00:41 +03:00
parent 97456db101
commit 070474dd18
50 changed files with 92 additions and 91 deletions

View file

@ -21,7 +21,7 @@ jobs:
- name: "macOS"
os: macos-latest
prefixes: 'PATH="/usr/local/opt/ccache/libexec:$PATH"'
extra_flags: "-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON"
extra_flags: "-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
out_paths: './bin/nightly/Geode.dylib ./bin/nightly/GeodeBootstrapper.dylib'
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}

View file

@ -39,21 +39,21 @@ add_custom_target(CodegenRun ALL
COMMAND Codegen ${GEODE_TARGET_PLATFORM} bindings ${GEODE_CODEGEN_PATH}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
COMMENT "Run Codegen"
BYPRODUCTS ${GEODE_CODEGEN_PATH}/GeneratedSource.cpp
BYPRODUCTS ${GEODE_CODEGEN_PATH}/Geode/GeneratedSource.cpp
)
add_dependencies(${PROJECT_NAME} CodegenRun)
add_dependencies(CodegenRun Codegen)
# Hacky way to supress the not generated error
if (NOT EXISTS ${GEODE_CODEGEN_PATH}/GeneratedSource.cpp)
if (NOT EXISTS ${GEODE_CODEGEN_PATH}/Geode/GeneratedSource.cpp)
make_directory(${GEODE_CODEGEN_PATH})
file(TOUCH ${GEODE_CODEGEN_PATH}/GeneratedSource.cpp)
file(TOUCH ${GEODE_CODEGEN_PATH}/Geode/GeneratedSource.cpp)
endif()
target_sources(${PROJECT_NAME} INTERFACE ${GEODE_CODEGEN_PATH}/GeneratedSource.cpp)
target_include_directories(${PROJECT_NAME} INTERFACE ${GEODE_CODEGEN_PATH}/..)
target_sources(${PROJECT_NAME} INTERFACE ${GEODE_CODEGEN_PATH}/Geode/GeneratedSource.cpp)
target_include_directories(${PROJECT_NAME} INTERFACE
${GEODE_CODEGEN_PATH}
${GEODE_LOADER_PATH}/include
${GEODE_LOADER_PATH}/include/Geode/cocos/
${GEODE_LOADER_PATH}/include/Geode/cocos/cocos2dx

View file

@ -9,8 +9,8 @@
There's nothing worse than having to read thousands of words just to see what some library's code actually looks like, so instead, here's a **Hello World** in Geode right off the bat:
```cpp
#include <Geode/Bindings.hpp>
#include <codegenned/modify/MenuLayer.hpp>
#include <Geode/bindings.hpp>
#include <Geode/modify/MenuLayer.hpp>
USE_GEODE_NAMESPACE();

View file

@ -11,7 +11,7 @@ namespace { namespace format_strings {
#include <Geode/c++stl/gdstdlib.hpp>
#include <cocos2d.h>
#include <cocos-ext.h>
#include <codegenned/GeneratedPredeclare.hpp>
#include <Geode/GeneratedPredeclare.hpp>
#include <Geode/Enums.hpp>
)GEN";

View file

@ -16,7 +16,7 @@ int main(int argc, char** argv) try {
chdir(argv[2]);
ghc::filesystem::path writeDir = argv[3];
auto writeDir = ghc::filesystem::path(argv[3]) / "Geode";
ghc::filesystem::create_directories(writeDir);
ghc::filesystem::create_directories(writeDir / "modify");
ghc::filesystem::create_directories(writeDir / "binding");

View file

@ -123,6 +123,7 @@ target_precompile_headers(${PROJECT_NAME} PRIVATE
# "${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/Bindings.hpp"
# "${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/Modify.hpp"
"${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/cocos/cocos2dx/include/cocos2d.h"
"${CMAKE_CURRENT_SOURCE_DIR}/include/Geode/cocos/extensions/cocos-ext.h"
)
# Create launcher

View file

@ -22,4 +22,4 @@ namespace geode::core::meta {}
#define CLASSPARAM(...)
#define STRUCTPARAM(...)
#include <codegenned/GeneratedBinding.hpp>
#include <Geode/GeneratedBinding.hpp>

View file

@ -2,7 +2,7 @@
#include <Geode/DefaultInclude.hpp>
#include <codegenned/GeneratedModify.hpp>
#include <Geode/GeneratedModify.hpp>
#include "modify/Field.hpp"
#include "modify/InternalMacros.hpp"

View file

@ -4,6 +4,6 @@
namespace geode::modifier {
struct addresses {
#include <codegenned/GeneratedAddress.hpp>
#include <Geode/GeneratedAddress.hpp>
};
}

View file

@ -26,6 +26,6 @@ namespace geode::modifier {
>> {
constexpr static inline bool value = true;
};
#include <codegenned/GeneratedCompare.hpp>
#include <Geode/GeneratedCompare.hpp>
};
}

View file

@ -3,6 +3,6 @@
namespace geode::modifier {
struct types {
#include <codegenned/GeneratedType.hpp>
#include <Geode/GeneratedType.hpp>
};
}

View file

@ -68,7 +68,7 @@ namespace geode::modifier {
struct wrap {
GEODE_WRAPPER_FOR_IDENTIFIER(constructor)
GEODE_WRAPPER_FOR_IDENTIFIER(destructor)
#include <codegenned/GeneratedWrapper.hpp>
#include <Geode/GeneratedWrapper.hpp>
};
// template <template<class, class, class=void> class Identifier, class Base, class Derived, class ...Types>

View file

@ -1,7 +1,7 @@
#pragma once
#include "BasedButtonSprite.hpp"
#include <codegenned/binding/CCMenuItemToggler.hpp>
#include <Geode/binding/CCMenuItemToggler.hpp>
#pragma warning(disable : 4275)

View file

@ -1,7 +1,7 @@
#include "Popup.hpp"
#include "InputNode.hpp"
#include <codegenned/binding/TextInputDelegate.hpp>
#include <Geode/binding/TextInputDelegate.hpp>
namespace geode {
class ColorPickPopupDelegate {

View file

@ -1,7 +1,7 @@
#pragma once
#include <codegenned/binding/TableViewCell.hpp>
#include <codegenned/binding/CustomListView.hpp>
#include <Geode/binding/TableViewCell.hpp>
#include <Geode/binding/CustomListView.hpp>
namespace geode {
class GEODE_DLL GenericListCell : public TableViewCell {

View file

@ -1,6 +1,6 @@
#pragma once
#include <codegenned/binding/FLAlertLayerProtocol.hpp>
#include <Geode/binding/FLAlertLayerProtocol.hpp>
#include "TextRenderer.hpp"
#include "ScrollLayer.hpp"

View file

@ -1,7 +1,7 @@
#pragma once
#include <codegenned/binding/FLAlertLayer.hpp>
#include <codegenned/binding/CCMenuItemSpriteExtra.hpp>
#include <Geode/binding/FLAlertLayer.hpp>
#include <Geode/binding/CCMenuItemSpriteExtra.hpp>
namespace geode {
template<typename... InitArgs>

View file

@ -1,7 +1,7 @@
#pragma once
#include <codegenned/binding/CCContentLayer.hpp>
#include <codegenned/binding/CCScrollLayerExt.hpp>
#include <Geode/binding/CCContentLayer.hpp>
#include <Geode/binding/CCScrollLayerExt.hpp>
namespace geode {
/**

View file

@ -1,6 +1,6 @@
#pragma once
#include <codegenned/binding/CCMenuItemSpriteExtra.hpp>
#include <Geode/binding/CCMenuItemSpriteExtra.hpp>
namespace geode {

View file

@ -59,7 +59,7 @@ public:
};
// proxy forwards
#include <codegenned/modify/CCNode.hpp>
#include <Geode/modify/CCNode.hpp>
class $modify(ProxyCCNode, CCNode) {
virtual CCObject* getUserObject() {
return GeodeNodeMetadata::set(this)->m_userObject;

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/LoadingLayer.hpp>
#include <Geode/modify/LoadingLayer.hpp>
class $modify(CustomLoadingLayer, LoadingLayer) {
bool init(bool fromReload) {
if (!LoadingLayer::init(fromReload))

View file

@ -128,7 +128,7 @@ static void updateIndexProgress(
}
}
#include <codegenned/modify/MenuLayer.hpp>
#include <Geode/modify/MenuLayer.hpp>
class $modify(CustomMenuLayer, MenuLayer) {
void destructor() {
g_geodeButton = nullptr;

View file

@ -1,6 +1,6 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/CCTouchDispatcher.hpp>
#include <Geode/modify/CCTouchDispatcher.hpp>
class $modify(CCTouchDispatcher) {
void addTargetedDelegate(CCTouchDelegate *delegate, int priority, bool swallowsTouches) {
m_bForcePrio = false;

View file

@ -46,14 +46,14 @@ class $modify(CCUtility##HandlerTypeinfoFix, CCUtility##Handler) {
} \
}
#include <codegenned/modify/CCKeypadHandler.hpp>
#include <Geode/modify/CCKeypadHandler.hpp>
HandlerFixFor(CCKeypad);
#include <codegenned/modify/CCKeyboardHandler.hpp>
#include <Geode/modify/CCKeyboardHandler.hpp>
HandlerFixFor(CCKeyboard);
#include <codegenned/modify/CCMouseHandler.hpp>
#include <Geode/modify/CCMouseHandler.hpp>
HandlerFixFor(CCMouse);
#include <codegenned/modify/CCTargetedTouchHandler.hpp>
#include <Geode/modify/CCTargetedTouchHandler.hpp>
class $modify(CCTargetedTouchHandlerTypeinfoFix, CCTargetedTouchHandler) {
void destructor() {
if (m_pDelegate) {
@ -100,7 +100,7 @@ class $modify(CCTargetedTouchHandlerTypeinfoFix, CCTargetedTouchHandler) {
}
};
#include <codegenned/modify/CCStandardTouchHandler.hpp>
#include <Geode/modify/CCStandardTouchHandler.hpp>
class $modify(CCStandardTouchHandlerTypeinfoFix, CCStandardTouchHandler) {
void destructor() {
if (m_pDelegate) {

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/AchievementNotifier.hpp>
#include <Geode/modify/AchievementNotifier.hpp>
class $modify(AchievementNotifier) {
void willSwitchToScene(CCScene* scene) {
AchievementNotifier::willSwitchToScene(scene);

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/AppDelegate.hpp>
#include <Geode/modify/AppDelegate.hpp>
class $modify(AppDelegate) {
void trySaveGame() {
log::log(Severity::Info, Loader::getInternalMod(), "Saving...");

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/CCScheduler.hpp>
#include <Geode/modify/CCScheduler.hpp>
class $modify(CCScheduler) {
void update(float dt) {
InternalLoader::get()->executeGDThreadQueue();

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/GameManager.hpp>
#include <Geode/modify/GameManager.hpp>
class $modify(GameManager) {
void reloadAllStep2() {
GameManager::reloadAllStep2();
@ -10,7 +10,7 @@ class $modify(GameManager) {
}
};
#include <codegenned/modify/LoadingLayer.hpp>
#include <Geode/modify/LoadingLayer.hpp>
class $modify(LoadingLayer) {
void loadAssets() {
LoadingLayer::loadAssets();

View file

@ -1,5 +1,5 @@
#include "HookListLayer.hpp"
#include <codegenned/binding/GJListLayer.hpp>
#include <Geode/binding/GJListLayer.hpp>
bool HookListLayer::init(Mod* mod) {
if (!GJDropDownLayer::init("Hooks", 220.f))

View file

@ -1,7 +1,7 @@
#pragma once
#include "HookListView.hpp"
#include <codegenned/binding/GJDropDownLayer.hpp>
#include <Geode/binding/GJDropDownLayer.hpp>
class HookListLayer : public GJDropDownLayer {
protected:

View file

@ -1,6 +1,6 @@
#include "HookListView.hpp"
#include <codegenned/binding/TableView.hpp>
#include <codegenned/binding/StatsCell.hpp>
#include <Geode/binding/TableView.hpp>
#include <Geode/binding/StatsCell.hpp>
#include <Geode/utils/casts.hpp>
HookCell::HookCell(const char* name, CCSize size) :

View file

@ -1,7 +1,7 @@
#pragma once
#include <codegenned/binding/TableViewCell.hpp>
#include <codegenned/binding/CustomListView.hpp>
#include <Geode/binding/TableViewCell.hpp>
#include <Geode/binding/CustomListView.hpp>
USE_GEODE_NAMESPACE();

View file

@ -8,12 +8,12 @@
#include <Geode/ui/MDPopup.hpp>
#include "../settings/ModSettingsPopup.hpp"
#include <InternalLoader.hpp>
#include <codegenned/binding/Slider.hpp>
#include <codegenned/binding/SliderThumb.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <codegenned/binding/SliderTouchLogic.hpp>
#include <codegenned/binding/GJListLayer.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <Geode/binding/Slider.hpp>
#include <Geode/binding/SliderThumb.hpp>
#include <Geode/binding/ButtonSprite.hpp>
#include <Geode/binding/SliderTouchLogic.hpp>
#include <Geode/binding/GJListLayer.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
// TODO: die
#undef min

View file

@ -1,7 +1,7 @@
#pragma once
#include <codegenned/binding/FLAlertLayer.hpp>
#include <codegenned/binding/FLAlertLayerProtocol.hpp>
#include <Geode/binding/FLAlertLayer.hpp>
#include <Geode/binding/FLAlertLayerProtocol.hpp>
#include <Index.hpp>
#include <Geode/ui/MDTextArea.hpp>
#include <Geode/ui/Scrollbar.hpp>

View file

@ -3,14 +3,14 @@
#include "SearchFilterPopup.hpp"
#include <Geode/ui/Notification.hpp>
#include <optional>
#include <codegenned/binding/GJListLayer.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <codegenned/binding/LoadingCircle.hpp>
#include <codegenned/binding/MenuLayer.hpp>
#include <codegenned/binding/GameToolbox.hpp>
#include <codegenned/binding/StatsCell.hpp>
#include <codegenned/binding/TableView.hpp>
#include <Geode/binding/GJListLayer.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
#include <Geode/binding/ButtonSprite.hpp>
#include <Geode/binding/LoadingCircle.hpp>
#include <Geode/binding/MenuLayer.hpp>
#include <Geode/binding/GameToolbox.hpp>
#include <Geode/binding/StatsCell.hpp>
#include <Geode/binding/TableView.hpp>
#include <Geode/utils/casts.hpp>
static ModListType g_tab = ModListType::Installed;

View file

@ -1,6 +1,6 @@
#pragma once
#include <codegenned/binding/TextInputDelegate.hpp>
#include <Geode/binding/TextInputDelegate.hpp>
#include "ModListView.hpp"
#include <Index.hpp>

View file

@ -7,9 +7,9 @@
#include "ModListLayer.hpp"
#include <InternalLoader.hpp>
#include "../info/CategoryNode.hpp"
#include <codegenned/binding/StatsCell.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <codegenned/binding/TableView.hpp>
#include <Geode/binding/StatsCell.hpp>
#include <Geode/binding/ButtonSprite.hpp>
#include <Geode/binding/TableView.hpp>
template<class T>
static bool tryOrAlert(Result<T> const& res, const char* title) {

View file

@ -1,8 +1,8 @@
#pragma once
#include <codegenned/binding/TableViewCell.hpp>
#include <codegenned/binding/FLAlertLayerProtocol.hpp>
#include <codegenned/binding/CustomListView.hpp>
#include <Geode/binding/TableViewCell.hpp>
#include <Geode/binding/FLAlertLayerProtocol.hpp>
#include <Geode/binding/CustomListView.hpp>
#include <Index.hpp>
#include <optional>

View file

@ -3,7 +3,7 @@
#include "ModListView.hpp"
#include <Geode/ui/SelectList.hpp>
#include "../info/CategoryNode.hpp"
#include <codegenned/binding/GameToolbox.hpp>
#include <Geode/binding/GameToolbox.hpp>
bool SearchFilterPopup::setup(ModListLayer* layer, ModListType type) {
m_noElasticity = true;

View file

@ -1,9 +1,9 @@
#include "GeodeSettingNode.hpp"
#include <Geode/utils/platform.hpp>
#include <codegenned/binding/ColorChannelSprite.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <codegenned/binding/Slider.hpp>
#include <Geode/binding/ColorChannelSprite.hpp>
#include <Geode/binding/ButtonSprite.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
#include <Geode/binding/Slider.hpp>
// BoolSettingNode

View file

@ -2,10 +2,10 @@
#include <Geode/loader/Setting.hpp>
#include <Geode/loader/SettingNode.hpp>
#include <codegenned/binding/CCMenuItemSpriteExtra.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <codegenned/binding/Slider.hpp>
#include <codegenned/binding/SliderThumb.hpp>
#include <Geode/binding/CCMenuItemSpriteExtra.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
#include <Geode/binding/Slider.hpp>
#include <Geode/binding/SliderThumb.hpp>
#include <Geode/ui/InputNode.hpp>
#include <Geode/ui/BasedButtonSprite.hpp>
#include <Geode/utils/convert.hpp>

View file

@ -3,7 +3,7 @@
#include <Geode/loader/Setting.hpp>
#include <Geode/utils/cocos.hpp>
#include <Geode/utils/convert.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <Geode/binding/ButtonSprite.hpp>
bool ModSettingsPopup::setup(Mod* mod) {
m_noElasticity = true;

View file

@ -1,9 +1,9 @@
#include <Geode/ui/ColorPickPopup.hpp>
#include <Geode/utils/operators.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <codegenned/binding/Slider.hpp>
#include <codegenned/binding/SliderThumb.hpp>
#include <Geode/binding/ButtonSprite.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
#include <Geode/binding/Slider.hpp>
#include <Geode/binding/SliderThumb.hpp>
USE_GEODE_NAMESPACE();

View file

@ -1,5 +1,5 @@
#include <Geode/ui/InputNode.hpp>
#include <codegenned/binding/CCTextInputNode.hpp>
#include <Geode/binding/CCTextInputNode.hpp>
USE_GEODE_NAMESPACE();

View file

@ -1,6 +1,6 @@
#include <Geode/ui/ListView.hpp>
#include <codegenned/binding/StatsCell.hpp>
#include <codegenned/binding/TableView.hpp>
#include <Geode/binding/StatsCell.hpp>
#include <Geode/binding/TableView.hpp>
#include <Geode/utils/casts.hpp>
#include <Geode/utils/cocos.hpp>

View file

@ -1,6 +1,6 @@
#include <Geode/ui/MDPopup.hpp>
#include <Geode/utils/string.hpp>
#include <codegenned/binding/ButtonSprite.hpp>
#include <Geode/binding/ButtonSprite.hpp>
USE_GEODE_NAMESPACE();

View file

@ -1,6 +1,6 @@
#include <Geode/ui/MDTextArea.hpp>
#include <md4c.h>
#include <codegenned/binding/ProfilePage.hpp>
#include <Geode/binding/ProfilePage.hpp>
#include <Geode/utils/cocos.hpp>
#include <Geode/utils/string.hpp>
#include <Geode/utils/casts.hpp>

View file

@ -1,6 +1,6 @@
#include <Geode/ui/Notification.hpp>
#include <Geode/ui/TextRenderer.hpp>
#include <codegenned/binding/GameSoundManager.hpp>
#include <Geode/binding/GameSoundManager.hpp>
#include <Geode/utils/cocos.hpp>
#include <Geode/utils/vector.hpp>

View file

@ -2,7 +2,7 @@
USE_GEODE_NAMESPACE();
#include <codegenned/modify/MenuLayer.hpp>
#include <Geode/modify/MenuLayer.hpp>
class $modify(MenuLayer) {
void onMoreGames(CCObject*) {
if (Mod::get()->getSettingValue<bool>("its-raining-after-all")) {

View file

@ -29,7 +29,7 @@ GEODE_API bool GEODE_CALL geode_unload() {
}
// Modify
#include <codegenned/modify/GJGarageLayer.hpp>
#include <Geode/modify/GJGarageLayer.hpp>
class $modify(GJGarageLayerTest, GJGarageLayer) {
GJGarageLayerTest() :
myValue(1907) {}