This commit is contained in:
altalk23 2023-12-27 17:58:12 +03:00
commit 16647042ea
4 changed files with 27 additions and 3 deletions

View file

@ -216,8 +216,10 @@ function(setup_geode_mod proname)
# Add package target + make output name the mod id
set_target_properties(${proname} PROPERTIES PREFIX "")
if (DEFINED GEODE_MOD_BINARY_SUFFIX)
set_target_properties(${proname} PROPERTIES SUFFIX ${GEODE_MOD_BINARY_SUFFIX})
endif()
set_target_properties(${proname} PROPERTIES OUTPUT_NAME ${MOD_ID})
endfunction()
function(create_geode_file proname)

View file

@ -31,6 +31,7 @@ if (GEODE_TARGET_PLATFORM STREQUAL "iOS")
set(GEODE_OUTPUT_NAME "GeodeIOS")
set(GEODE_PLATFORM_BINARY "GeodeIOS.dylib")
set(GEODE_MOD_BINARY_SUFFIX ".dylib" CACHE STRING "" FORCE)
elseif (GEODE_TARGET_PLATFORM STREQUAL "MacOS")
set_target_properties(${PROJECT_NAME} PROPERTIES
SYSTEM_NAME MacOS
@ -62,7 +63,7 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "MacOS")
set(GEODE_OUTPUT_NAME "Geode")
set(GEODE_PLATFORM_BINARY "Geode.dylib")
set(GEODE_MOD_BINARY_SUFFIX ".ios.dylib" CACHE STRING "" FORCE)
elseif (GEODE_TARGET_PLATFORM STREQUAL "Win32")
set_target_properties(${PROJECT_NAME} PROPERTIES
SYSTEM_NAME Win32
@ -78,11 +79,13 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Win32")
${GEODE_LOADER_PATH}/include/link/glew32.lib
${GEODE_LOADER_PATH}/include/link/gdstring.lib
${GEODE_LOADER_PATH}/include/link/fmod.lib
opengl32
)
# Windows links against .lib and not .dll
set(GEODE_OUTPUT_NAME "Geode")
set(GEODE_PLATFORM_BINARY "Geode.lib")
set(GEODE_MOD_BINARY_SUFFIX ".dll" CACHE STRING "" FORCE)
elseif (GEODE_TARGET_PLATFORM STREQUAL "Android32")
set_target_properties(${PROJECT_NAME} PROPERTIES
SYSTEM_NAME Android
@ -93,12 +96,13 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Android32")
${GEODE_LOADER_PATH}/include/link/android32/libssl.a
${GEODE_LOADER_PATH}/include/link/android32/libcrypto.a
${GEODE_LOADER_PATH}/include/link/android32/libcocos2dcpp.so
GLESv2
log
)
set(GEODE_OUTPUT_NAME "Geode.armeabi-v7a")
set(GEODE_PLATFORM_BINARY "Geode.armeabi-v7a.so")
set(GEODE_MOD_BINARY_SUFFIX ".v7.so" CACHE STRING "" FORCE)
elseif (GEODE_TARGET_PLATFORM STREQUAL "Android64")
set_target_properties(${PROJECT_NAME} PROPERTIES
SYSTEM_NAME Android
@ -114,6 +118,7 @@ elseif (GEODE_TARGET_PLATFORM STREQUAL "Android64")
set(GEODE_OUTPUT_NAME "Geode.arm64-v8a")
set(GEODE_PLATFORM_BINARY "Geode.arm64-v8a.so")
set(GEODE_MOD_BINARY_SUFFIX ".v8.so" CACHE STRING "" FORCE)
else()
message(FATAL_ERROR "Unknown platform ${GEODE_TARGET_PLATFORM}")
endif()

View file

@ -0,0 +1,16 @@
#include <Geode/modify/GameToolbox.hpp>
using namespace geode::prelude;
struct MyGameToolbox : Modify<MyGameToolbox, GameToolbox> {
static void preVisitWithClippingRect(CCNode* node, CCRect rect) {
if (node->isVisible()) {
glEnable(0xc11);
if (node->getParent()) {
// rob messed this up somehow causing nested ScrollLayers to be not clipped properly
rect.origin = node->getParent()->convertToWorldSpace(rect.origin);
}
CCEGLView::get()->setScissorInPoints(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
}
}
};

View file

@ -27,6 +27,7 @@ GEODE_MEMBER_CHECK(BoomListView, m_tableView, 0x144);
GEODE_MEMBER_CHECK(BoomListView, m_entries, 0x148);
GEODE_MEMBER_CHECK(TableView, m_cellArray, 0x1b0);
GEODE_MEMBER_CHECK(CCScrollLayerExt, m_cutContent, 0x16c);