File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- cmake_minimum_required (VERSION 3.26 )
2-
1+ cmake_minimum_required (VERSION 3.21 )
32set (CMAKE_CXX_STANDARD 23)
43set (CMAKE_CXX_STANDARD_REQUIRED ON )
5- set (CMAKE_CXX_VISIBILITY_PRESET hidden)
6-
74if ("${CMAKE_SYSTEM_NAME} " STREQUAL "iOS" OR IOS )
85 set (CMAKE_OSX_ARCHITECTURES "arm64" )
96else ()
107 set (CMAKE_OSX_ARCHITECTURES "arm64;x86_64" )
118endif ()
9+ set (CMAKE_CXX_VISIBILITY_PRESET hidden)
1210
1311project (HorribleIdeas VERSION 1.0.0)
1412
15- set (CMAKE_CXX_SCAN_FOR_MODULES ON )
16-
1713file (GLOB_RECURSE SOURCES CONFIGURE_DEPENDS src/*.cpp )
18- file (GLOB_RECURSE MODULES CONFIGURE_DEPENDS src/*.cppm )
19-
20- add_library (${PROJECT_NAME} SHARED )
21-
22- target_sources (${PROJECT_NAME}
23- PRIVATE ${SOURCES}
24- PUBLIC FILE_SET cxx_modules TYPE CXX_MODULES FILES ${MODULES}
25- )
14+ add_library (${PROJECT_NAME} SHARED ${SOURCES} )
2615
2716target_include_directories (${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR} /src ${CMAKE_SOURCE_DIR} /include )
2817
3625 message (STATUS "Found Geode: $ENV{GEODE_SDK} " )
3726endif ()
3827
39- set (CMAKE_CXX_SCAN_FOR_MODULES OFF )
4028add_subdirectory ($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR} /geode )
41- set (CMAKE_CXX_SCAN_FOR_MODULES ON )
4229
4330setup_geode_mod (${PROJECT_NAME} )
Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ namespace horrible {
2828 Option () = default ; // Default constructor
2929
3030 // Constructor
31- inline Option (
31+ Option (
3232 std::string id,
3333 std::string name,
3434 std::string description,
Original file line number Diff line number Diff line change 11#include < Utils.hpp>
22
3+ #include < menu/OptionMenuButton.hpp>
4+ #include < menu/SettingV3.hpp>
5+
36#include < ranges>
47
58#include < Geode/modify/PlayLayer.hpp>
811
912using namespace horrible ::prelude;
1013
11- import OptionMenuButton;
12- import SettingV3;
13-
1414inline static std::vector<Hook*> safeModeHooks;
1515inline static std::vector<Hook*> floatingBtnHooks;
1616
@@ -41,7 +41,7 @@ inline static std::vector<Hook*> floatingBtnHooks;
4141 }; \
4242 }
4343
44- $on_mod (Loaded) {
44+ $on_game (Loaded) {
4545 (void )horribleMod->registerCustomSettingType (" menu" , &HorribleSettingV3::parse);
4646
4747 if (auto fb = OptionMenuButton::get ()) OverlayManager::get ()->addChild (fb);
Original file line number Diff line number Diff line change 1- module ;
1+ # pragma once
22
33#include < Geode/Geode.hpp>
44
55using namespace geode ::prelude;
66
7- export module OptionCategoryItem;
8-
97// Event for option toggles
10- export struct CategoryEvent final : Event<CategoryEvent, bool (std::string_view, bool )> {
8+ struct CategoryEvent final : Event<CategoryEvent, bool (std::string_view, bool )> {
119 using Event::Event;
1210};
1311
14- export class OptionCategoryItem final : public CCMenu {
12+ class OptionCategoryItem final : public CCMenu {
1513private:
1614 class Impl ;
1715 std::unique_ptr<Impl> m_impl;
Original file line number Diff line number Diff line change 1- module ;
1+ # pragma once
22
33#include < Utils.hpp>
44
@@ -7,14 +7,12 @@ module;
77using namespace geode ::prelude;
88using namespace horrible ;
99
10- export module OptionItem;
11-
1210// Event for pin toggles
13- export struct PinEvent final : Event<PinEvent, bool ()> {
11+ struct PinEvent final : Event<PinEvent, bool ()> {
1412 using Event::Event;
1513};
1614
17- export class OptionItem final : public CCMenu {
15+ class OptionItem final : public CCMenu {
1816private:
1917 class Impl ;
2018 std::unique_ptr<Impl> m_impl;
Original file line number Diff line number Diff line change 1- module ;
1+ #pragma once
2+
3+ #include " OptionCategoryItem.hpp"
24
35#include < Utils.hpp>
46
79using namespace geode ::prelude;
810using namespace horrible ;
911
10- export module OptionMenu;
11-
12- export class OptionMenu final : public Popup {
12+ class OptionMenu final : public Popup {
1313private:
1414 class Impl ;
1515 std::unique_ptr<Impl> m_impl;
Original file line number Diff line number Diff line change 1- module ;
1+ # pragma once
22
33#include < Geode/Geode.hpp>
44
55using namespace geode ::prelude;
66
7- export module OptionMenuButton;
8-
9- export class OptionMenuButton final : public CCLayer {
7+ class OptionMenuButton final : public CCLayer {
108private:
119 class Impl ;
1210 std::unique_ptr<Impl> m_impl;
Original file line number Diff line number Diff line change 1- module ;
1+ # pragma once
22
33#include < Geode/Geode.hpp>
44
55#include < Geode/loader/SettingV3.hpp>
66
77using namespace geode ::prelude;
88
9- export module SettingV3;
10-
11- export class HorribleSettingV3 final : public SettingV3 {
9+ class HorribleSettingV3 final : public SettingV3 {
1210public:
1311 static Result<std::shared_ptr<SettingV3>> parse (
1412 std::string key,
@@ -25,7 +23,7 @@ export class HorribleSettingV3 final : public SettingV3 {
2523 SettingNodeV3* createNode (float width) override ;
2624};
2725
28- export class HorribleSettingNodeV3 final : public SettingNodeV3 {
26+ class HorribleSettingNodeV3 final : public SettingNodeV3 {
2927private:
3028 class Impl ;
3129 std::unique_ptr<Impl> m_impl;
Original file line number Diff line number Diff line change 1- module ;
2-
3- #include < Utils.hpp>
1+ #include " ../OptionCategoryItem.hpp"
42
53#include < Geode/Geode.hpp>
4+ #include < Utils.hpp>
65
76using namespace geode ::prelude;
87using namespace horrible ::prelude;
98
10- module OptionCategoryItem;
11-
129class OptionCategoryItem ::Impl final {
1310public:
1411 std::string category = " " ; // The category name
Original file line number Diff line number Diff line change 1- module ;
1+ # include " ../OptionItem.hpp "
22
33#include < Utils.hpp>
44
77using namespace geode ::prelude;
88using namespace horrible ::prelude;
99
10- module OptionItem;
11-
1210class OptionItem ::Impl final {
1311public:
1412 bool compatible = false ; // If this option is compatible with the current platform
You can’t perform that action at this time.
0 commit comments