Separate 3DS apt hook code + move cmake 3ds into ISLE_BUILD_APP

This commit is contained in:
Joshua Peisach 2025-06-29 13:29:38 -04:00
parent 8b9f0b7110
commit b1714b4e64
No known key found for this signature in database
GPG Key ID: 41C3D4189AFEDB5A
4 changed files with 25 additions and 21 deletions

View File

@ -520,6 +520,22 @@ if (ISLE_BUILD_APP)
target_compile_definitions(isle PRIVATE "ISLE_EMSCRIPTEN_HOST=\"${ISLE_EMSCRIPTEN_HOST}\"") target_compile_definitions(isle PRIVATE "ISLE_EMSCRIPTEN_HOST=\"${ISLE_EMSCRIPTEN_HOST}\"")
set_property(TARGET isle PROPERTY SUFFIX ".html") set_property(TARGET isle PROPERTY SUFFIX ".html")
endif() endif()
if(NINTENDO_3DS)
target_sources(isle PRIVATE
ISLE/3ds/apthooks.cpp
ISLE/3ds/filesystem.cpp
)
ctr_generate_smdh(isle.smdh
NAME "LEGO Island"
TITLE "LEGO Island"
DESCRIPTION "LEGO Island for the Nintendo 3DS"
AUTHOR "isledecomp/isle-portable"
VERSION "${PROJECT_VERSION}"
ICON "ISLE/res/3ds/isle.png"
)
ctr_create_3dsx(isle SMDH isle.smdh)
endif()
endif() endif()
if (ISLE_BUILD_CONFIG) if (ISLE_BUILD_CONFIG)
@ -645,22 +661,6 @@ endif()
set(CPACK_PACKAGE_DIRECTORY "dist") set(CPACK_PACKAGE_DIRECTORY "dist")
set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}") set(CPACK_PACKAGE_FILE_NAME "isle-${PROJECT_VERSION}-${ISLE_PACKAGE_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
if(NINTENDO_3DS)
target_sources(isle PRIVATE
ISLE/3ds/apthooks.cpp
ISLE/3ds/filesystem.cpp
)
ctr_generate_smdh(isle.smdh
NAME "LEGO Island"
TITLE "LEGO Island"
DESCRIPTION "LEGO Island for the Nintendo 3DS"
AUTHOR "isledecomp/isle-portable"
VERSION "${PROJECT_VERSION}"
ICON "ISLE/res/3ds/isle.png"
)
ctr_create_3dsx(isle SMDH isle.smdh)
endif()
if(MSVC) if(MSVC)
set(CPACK_GENERATOR ZIP) set(CPACK_GENERATOR ZIP)
else() else()

View File

@ -3,6 +3,8 @@
#include "legomain.h" #include "legomain.h"
#include "misc.h" #include "misc.h"
aptHookCookie g_aptCookie;
void N3DS_AptHookCallback(APT_HookType hookType, void* param) void N3DS_AptHookCallback(APT_HookType hookType, void* param)
{ {
switch (hookType) { switch (hookType) {
@ -21,3 +23,8 @@ void N3DS_AptHookCallback(APT_HookType hookType, void* param)
break; break;
} }
} }
void N3DS_SetupAptHooks()
{
aptHook(&g_aptCookie, N3DS_AptHookCallback, NULL);
}

View File

@ -4,5 +4,6 @@
#include <3ds.h> #include <3ds.h>
void N3DS_AptHookCallback(APT_HookType hookType, void* param); void N3DS_AptHookCallback(APT_HookType hookType, void* param);
void N3DS_SetupAptHooks();
#endif // N3DS_APTHOOKS_H #endif // N3DS_APTHOOKS_H

View File

@ -53,8 +53,6 @@
#ifdef __3DS__ #ifdef __3DS__
#include "3ds/apthooks.h" #include "3ds/apthooks.h"
#include "3ds/filesystem.h" #include "3ds/filesystem.h"
aptHookCookie g_aptCookie;
#endif #endif
DECOMP_SIZE_ASSERT(IsleApp, 0x8c) DECOMP_SIZE_ASSERT(IsleApp, 0x8c)
@ -321,11 +319,9 @@ SDL_AppResult SDL_AppInit(void** appstate, int argc, char** argv)
NULL NULL
); );
#endif #endif
#ifdef __3DS__ #ifdef __3DS__
aptHook(&g_aptCookie, N3DS_AptHookCallback, NULL); N3DS_SetupAptHooks();
#endif #endif
return SDL_APP_CONTINUE; return SDL_APP_CONTINUE;
} }