From 28f266302fbeea2d75d5a62de651d464ab380798 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Sun, 4 Jul 2021 18:52:48 +0200 Subject: [PATCH 01/11] Add Nintendo Switch initial support --- .github/workflows/build-switch.yml | 28 ++++++ .vscode/c_cpp_properties.json | 19 ++++ .vscode/settings.json | 10 +- CMakeLists.txt | 6 ++ cmake/nx/NXFunctions.cmake | 7 ++ logo_switch.jpg | Bin 0 -> 18096 bytes src/CMakeLists.txt | 40 +++++++- src/core/common.h | 4 + src/core/config.h | 9 +- src/core/re3.cpp | 2 - src/skel/crossplatform.cpp | 146 ++++++++++++++++++++++++++++- src/skel/events.cpp | 2 + src/skel/glfw/glfw.cpp | 12 ++- 13 files changed, 273 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/build-switch.yml create mode 100644 cmake/nx/NXFunctions.cmake create mode 100644 logo_switch.jpg diff --git a/.github/workflows/build-switch.yml b/.github/workflows/build-switch.yml new file mode 100644 index 00000000..46e1d501 --- /dev/null +++ b/.github/workflows/build-switch.yml @@ -0,0 +1,28 @@ +name: re3 cmake devkitA64 (Nintendo Switch) +on: + pull_request: + push: + release: + types: published +jobs: + build-nintendo-switch: + runs-on: ubuntu-latest + container: devkitpro/devkita64:latest + steps: + - uses: actions/checkout@v2 + with: + submodules: 'true' + - name: "Build files" + run: | + /opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake -S. -Bbuild -DRE3_AUDIO=OAL -DLIBRW_PLATFORM=GL3 -DLIBRW_GL3_GFXLIB=GLFW -DRE3_WITH_OPUS=False -DRE3_VENDORED_LIBRW=True -DRE3_INSTALL=True + cmake --build build --parallel + - name: "Create binary package (cpack)" + working-directory: ./build + run: | + cpack + - name: "Archive binary package (github artifacts)" + uses: actions/upload-artifact@v2 + with: + name: "switch-gl3" + path: build/*.zip + if-no-files-found: error diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 327d8cc7..a214042a 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -26,6 +26,25 @@ "compilerArgs": ["-ggdb"], "cStandard": "gnu11", "cppStandard": "gnu++14" + }, + { + "name": "devkitPro aarch64 (Nintendo Switch)", + "compilerPath": "${env:DEVKITPRO}/devkitA64/bin/aarch64-none-elf-g++", + "includePath": [ + "${default}", + "${env:DEVKITPRO}/portlibs/switch/include", + "${env:DEVKITPRO}/libnx/include" + ], + "intelliSenseMode": "gcc-arm64", + "cStandard": "gnu11", + "cppStandard": "gnu++11", + "defines": [ + "__SWITCH__", + "GTA_SWITCH", + "LIBRW", + "RW_GL3", + "AUDIO_OAL" + ] } ], "version": 4 diff --git a/.vscode/settings.json b/.vscode/settings.json index 10cb5627..ee8362c1 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,8 +2,13 @@ "C_Cpp.default.cStandard": "gnu11", "C_Cpp.default.cppStandard": "gnu++14", "C_Cpp.default.includePath": [ + "src", "src/animation", "src/audio", + "src/audio/eax", + "src/audio/oal", + "src/buildings", + "src/collision", "src/control", "src/core", "src/entities", @@ -15,8 +20,9 @@ "src/peds", "src/render", "src/rw", - "src/save", - "src/skel", + "src/save/", + "src/skel/", + "src/skel/glfw", "src/text", "src/vehicles", "src/weapons", diff --git a/CMakeLists.txt b/CMakeLists.txt index 5396d3b4..b687124a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,10 @@ message(STATUS "Building ${CMAKE_PROJECT_NAME} GIT SHA1: ${GIT_SHA1}") if(WIN32) set(${PROJECT}_AUDIOS "OAL" "MSS") +elseif(NINTENDO_SWITCH) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/nx") + include(NXFunctions) + set(${PROJECT}_AUDIOS "OAL") else() set(${PROJECT}_AUDIOS "OAL") endif() @@ -66,6 +70,8 @@ if(${PROJECT}_INSTALL) set(os "-apple") elseif(UNIX) set(os "-linux") + elseif(NINTENDO_SWITCH) + set(os "-switch") else() set(compiler "-UNK") message(WARNING "Unknown os. Created cpack package will be wrong. (override using cpack -P)") diff --git a/cmake/nx/NXFunctions.cmake b/cmake/nx/NXFunctions.cmake new file mode 100644 index 00000000..8fa23fae --- /dev/null +++ b/cmake/nx/NXFunctions.cmake @@ -0,0 +1,7 @@ +if(NOT COMMAND nx_generate_nacp) + message(FATAL_ERROR "The `nx_generate_nacp` cmake command is not available. Please use an appropriate Nintendo Switch toolchain.") +endif() + +if(NOT COMMAND nx_create_nro) + message(FATAL_ERROR "The `nx_create_nro` cmake command is not available. Please use an appropriate Nintendo Switch toolchain.") +endif() diff --git a/logo_switch.jpg b/logo_switch.jpg new file mode 100644 index 0000000000000000000000000000000000000000..595d2c3b8d03cbaf72a213c73f84fa02f2b157cc GIT binary patch literal 18096 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 n0L%=}BjvI1_J5yy|65!A@6i0O?)NvR`` DESTINATION "." OPTIONAL) endif() endif() + +# Build Nintendo Switch binaries +if(NINTENDO_SWITCH) + target_compile_definitions(${EXECUTABLE} PRIVATE + GTA_SWITCH + ) + + # Needed for OpenAL-Soft + target_link_libraries(${EXECUTABLE} PRIVATE + openal # HACK - something broke with latest cmake + SDL2 + ) + + nx_generate_nacp (${EXECUTABLE}.nacp + NAME "${EXECUTABLE}" + AUTHOR "${EXECUTABLE} Team" + VERSION "1.0.0-${GIT_SHA1}" + ) + + nx_create_nro(${EXECUTABLE} + NACP ${EXECUTABLE}.nacp + ICON "${PROJECT_SOURCE_DIR}/logo_switch.jpg" + ) + + if(${PROJECT}_INSTALL) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}.nro" + DESTINATION "." + ) + endif() +endif() diff --git a/src/core/common.h b/src/core/common.h index da162762..99aafc5a 100644 --- a/src/core/common.h +++ b/src/core/common.h @@ -11,6 +11,10 @@ #define __STDC_LIMIT_MACROS // so we get UINT32_MAX etc #endif +#ifdef GTA_SWITCH +#include +#endif + #include #include #include diff --git a/src/core/config.h b/src/core/config.h index 885f98b8..edb5fb5a 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -319,7 +319,7 @@ enum Config { #if !defined(RW_GL3) && defined(_WIN32) #define XINPUT #endif -#if defined XINPUT || (defined RW_GL3 && !defined LIBRW_SDL2 && !defined __SWITCH__) +#if defined XINPUT || (defined RW_GL3 && !defined LIBRW_SDL2 && !defined GTA_SWITCH) #define DETECT_JOYSTICK_MENU // Then we'll expect user to enter Controller->Detect joysticks if his joystick isn't detected at the start. #endif #define DETECT_PAD_INPUT_SWITCH // Adds automatic switch of pad related stuff between controller and kb/m @@ -439,7 +439,7 @@ enum Config { #endif // Streaming -#if !defined(_WIN32) && !defined(__SWITCH__) +#if !defined(_WIN32) && !defined(GTA_SWITCH) //#define ONE_THREAD_PER_CHANNEL // Don't use if you're not on SSD/Flash - also not utilized too much right now(see commented LoadAllRequestedModels in Streaming.cpp) #define FLUSHABLE_STREAMING // Make it possible to interrupt reading when processing file isn't needed anymore. #endif @@ -461,4 +461,9 @@ enum Config { #undef PEDS_REPORT_CRIMES_ON_PHONE #endif +#ifdef GTA_SWITCH + #define IGNORE_MOUSE_KEYBOARD // ignore mouse & keyboard input + #define USE_UNNAMED_SEM // named semaphores are unsupported on the switch +#endif + #endif // VANILLA_DEFINES diff --git a/src/core/re3.cpp b/src/core/re3.cpp index b7d89363..40be153a 100644 --- a/src/core/re3.cpp +++ b/src/core/re3.cpp @@ -45,9 +45,7 @@ #include "Population.h" #include "IniFile.h" -#ifdef DETECT_JOYSTICK_MENU #include "crossplatform.h" -#endif #ifndef _WIN32 #include "assert.h" diff --git a/src/skel/crossplatform.cpp b/src/skel/crossplatform.cpp index 577983b6..758125e9 100644 --- a/src/skel/crossplatform.cpp +++ b/src/skel/crossplatform.cpp @@ -198,6 +198,20 @@ char* casepath(char const* path, bool checkPathFirst) size_t rl = 0; DIR* d; + char* c; + + #if defined(GTA_SWITCH) || defined(GTA_VITA) + if( (c = strstr(p, ":/")) != NULL) // scheme used by some environments, eg. switch, vita + { + size_t deviceNameOffset = c - p + 3; + char* deviceNamePath = (char*)alloca(deviceNameOffset + 1); + strlcpy(deviceNamePath, p, deviceNameOffset); + deviceNamePath[deviceNameOffset] = 0; + d = opendir(deviceNamePath); + p = c + 1; + } + else + #endif if (p[0] == '/' || p[0] == '\\') { d = opendir("/"); @@ -212,7 +226,7 @@ char* casepath(char const* path, bool checkPathFirst) bool cantProceed = false; // just convert slashes in what's left in string, don't correct case of letters(because we can't) bool mayBeTrailingSlash = false; - char* c; + while (c = strsep(&p, "/\\")) { // May be trailing slash(allow), slash at the start(avoid), or multiple slashes(avoid) @@ -279,3 +293,133 @@ char* casepath(char const* path, bool checkPathFirst) return out; } #endif + +#ifdef GTA_SWITCH +/* Taken from glibc */ +char *realpath(const char *name, char *resolved) +{ + char *rpath, *dest = NULL; + const char *start, *end, *rpath_limit; + long int path_max; + + /* As per Single Unix Specification V2 we must return an error if + either parameter is a null pointer. We extend this to allow + the RESOLVED parameter to be NULL in case the we are expected to + allocate the room for the return value. */ + if (!name) + return NULL; + + /* As per Single Unix Specification V2 we must return an error if + the name argument points to an empty string. */ + if (name[0] == '\0') + return NULL; + +#ifdef PATH_MAX + path_max = PATH_MAX; +#else + path_max = pathconf(name, _PC_PATH_MAX); + if (path_max <= 0) + path_max = 1024; +#endif + + if (!resolved) + { + rpath = (char*)malloc(path_max); + if (!rpath) + return NULL; + } + else + rpath = resolved; + rpath_limit = rpath + path_max; + + if (name[0] != '/') + { + if (!getcwd(rpath, path_max)) + { + rpath[0] = '\0'; + goto error; + } + dest = (char*)memchr(rpath, '\0', path_max); + } + else + { + rpath[0] = '/'; + dest = rpath + 1; + } + + for (start = end = name; *start; start = end) + { + /* Skip sequence of multiple path-separators. */ + while (*start == '/') + ++start; + + /* Find end of path component. */ + for (end = start; *end && *end != '/'; ++end) + /* Nothing. */; + + if (end - start == 0) + break; + else if (end - start == 1 && start[0] == '.') + /* nothing */; + else if (end - start == 2 && start[0] == '.' && start[1] == '.') + { + /* Back up to previous component, ignore if at root already. */ + if (dest > rpath + 1) + while ((--dest)[-1] != '/') + ; + } + else + { + size_t new_size; + + if (dest[-1] != '/') + *dest++ = '/'; + + if (dest + (end - start) >= rpath_limit) + { + ptrdiff_t dest_offset = dest - rpath; + char *new_rpath; + + if (resolved) + { + if (dest > rpath + 1) + dest--; + *dest = '\0'; + goto error; + } + new_size = rpath_limit - rpath; + if (end - start + 1 > path_max) + new_size += end - start + 1; + else + new_size += path_max; + new_rpath = (char *)realloc(rpath, new_size); + if (!new_rpath) + goto error; + rpath = new_rpath; + rpath_limit = rpath + new_size; + + dest = rpath + dest_offset; + } + + dest = (char*)memcpy(dest, start, end - start); + *dest = '\0'; + } + } + if (dest > rpath + 1 && dest[-1] == '/') + --dest; + *dest = '\0'; + + return rpath; + +error: + if (!resolved) + free(rpath); + return NULL; +} + +ssize_t readlink (const char * __path, char * __buf, size_t __buflen) +{ + errno = ENOSYS; + return -1; +} +#endif diff --git a/src/skel/events.cpp b/src/skel/events.cpp index 3e1e95b3..87447819 100644 --- a/src/skel/events.cpp +++ b/src/skel/events.cpp @@ -821,7 +821,9 @@ PadHandler(RsEvent event, void *param) RwBool AttachInputDevices(void) { +#ifndef IGNORE_MOUSE_KEYBOARD RsInputDeviceAttach(rsKEYBOARD, KeyboardHandler); +#endif RsInputDeviceAttach(rsPAD, PadHandler); diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp index 8d3fc7d7..c7f92d34 100644 --- a/src/skel/glfw/glfw.cpp +++ b/src/skel/glfw/glfw.cpp @@ -12,12 +12,14 @@ DWORD _dwOperatingSystemVersion; #include "resource.h" #else long _dwOperatingSystemVersion; +#ifndef GTA_SWITCH #ifndef __APPLE__ #include #else #include #include #endif +#endif #include #include #include @@ -51,7 +53,7 @@ long _dwOperatingSystemVersion; #include "MemoryMgr.h" // We found out that GLFW's keyboard input handling is still pretty delayed/not stable, so now we fetch input from X11 directly on Linux. -#if !defined _WIN32 && !defined __APPLE__ && !defined __SWITCH__ // && !defined WAYLAND +#if !defined _WIN32 && !defined __APPLE__ && !defined GTA_SWITCH // && !defined WAYLAND #define GET_KEYBOARD_INPUT_FROM_X11 #endif @@ -485,11 +487,13 @@ psInitialize(void) debug("Physical memory size %llu\n", _dwMemAvailPhys); debug("Available physical memory %llu\n", size); #else +#ifndef GTA_SWITCH struct sysinfo systemInfo; sysinfo(&systemInfo); _dwMemAvailPhys = systemInfo.freeram; debug("Physical memory size %u\n", systemInfo.totalram); debug("Available physical memory %u\n", systemInfo.freeram); +#endif #endif TheText.Unload(); @@ -949,13 +953,15 @@ void psPostRWinit(void) RwVideoMode vm; RwEngineGetVideoModeInfo(&vm, GcurSelVM); + glfwSetFramebufferSizeCallback(PSGLOBAL(window), resizeCB); +#ifndef IGNORE_MOUSE_KEYBOARD #ifndef GET_KEYBOARD_INPUT_FROM_X11 glfwSetKeyCallback(PSGLOBAL(window), keypressCB); #endif - glfwSetFramebufferSizeCallback(PSGLOBAL(window), resizeCB); glfwSetScrollCallback(PSGLOBAL(window), scrollCB); glfwSetCursorPosCallback(PSGLOBAL(window), cursorCB); glfwSetCursorEnterCallback(PSGLOBAL(window), cursorEnterCB); +#endif glfwSetWindowIconifyCallback(PSGLOBAL(window), windowIconifyCB); glfwSetWindowFocusCallback(PSGLOBAL(window), windowFocusCB); glfwSetJoystickCallback(joysChangeCB); @@ -1791,7 +1797,7 @@ main(int argc, char *argv[]) InitMemoryMgr(); #endif -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(GTA_SWITCH) struct sigaction act; act.sa_sigaction = terminateHandler; act.sa_flags = SA_SIGINFO; From 6da20aa7232e92b19af28d1bcd2dacacc3898789 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Sun, 4 Jul 2021 19:15:23 +0200 Subject: [PATCH 02/11] Enable Gamepad Menu on Switch --- src/core/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/config.h b/src/core/config.h index edb5fb5a..462dd713 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -345,7 +345,7 @@ enum Config { //# define PS2_MENU_USEALLPAGEICONS #else -# ifdef XINPUT +# if defined(XINPUT) || defined(GTA_SWITCH) # define GAMEPAD_MENU // Add gamepad menu # endif From 02ec56e8f70ab0fda5092d3455f76dcbb8825cff Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Sun, 4 Jul 2021 20:51:16 +0200 Subject: [PATCH 03/11] Add platform specific functions for glfw vibration With implementation for Switch vibration through libnx hid/pad API --- src/skel/glfw/glfw.cpp | 76 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp index c7f92d34..754c43be 100644 --- a/src/skel/glfw/glfw.cpp +++ b/src/skel/glfw/glfw.cpp @@ -326,6 +326,78 @@ psNativeTextureSupport(void) #define CMDSTR LPSTR #endif +/* + ***************************************************************************** + */ + +#ifdef GTA_SWITCH + +static HidVibrationValue SwitchVibrationValues[2]; +static HidVibrationDeviceHandle SwitchVibrationDeviceHandles[2][2]; +static HidVibrationDeviceHandle SwitchVibrationDeviceGC; + +static PadState SwitchPad; + +Result HidInitializationResult[2]; +Result HidInitializationGCResult; + +void _psInitializeVibration() +{ + HidInitializationResult[0] = hidInitializeVibrationDevices(SwitchVibrationDeviceHandles[0], 2, HidNpadIdType_Handheld, HidNpadStyleTag_NpadHandheld); + if(R_FAILED(HidInitializationResult[0])) { + printf("Failed to initialize VibrationDevice for Handheld Mode\n"); + } + HidInitializationResult[1] = hidInitializeVibrationDevices(SwitchVibrationDeviceHandles[1], 2, HidNpadIdType_No1, HidNpadStyleSet_NpadFullCtrl); + if(R_FAILED(HidInitializationResult[1])) { + printf("Failed to initialize VibrationDevice for Detached Mode\n"); + } + HidInitializationGCResult = hidInitializeVibrationDevices(&SwitchVibrationDeviceGC, 1, HidNpadIdType_No1, HidNpadStyleTag_NpadGc); + if(R_FAILED(HidInitializationResult[1])) { + printf("Failed to initialize VibrationDevice for GC Mode\n"); + } + + SwitchVibrationValues[0].freq_low = 160.0f; + SwitchVibrationValues[0].freq_high = 320.0f; + + padConfigureInput(1, HidNpadStyleSet_NpadFullCtrl); + padInitializeDefault(&SwitchPad); +} + +void _psHandleVibration() +{ + padUpdate(&SwitchPad); + + uint8 target_device = padIsHandheld(&SwitchPad) ? 0 : 1; + + if(R_SUCCEEDED(HidInitializationResult[target_device])) { + CPad* pad = CPad::GetPad(0); + + // value conversion based on SDL2 switch port + SwitchVibrationValues[0].amp_high = SwitchVibrationValues[0].amp_low = pad->ShakeFreq == 0 ? 0.0f : 320.0f; + SwitchVibrationValues[0].freq_low = pad->ShakeFreq == 0.0 ? 160.0f : (float)pad->ShakeFreq * 1.26f; + SwitchVibrationValues[0].freq_high = pad->ShakeFreq == 0.0 ? 320.0f : (float)pad->ShakeFreq * 1.26f; + + if (pad->ShakeDur < CTimer::GetTimeStepInMilliseconds()) + pad->ShakeDur = 0; + else + pad->ShakeDur -= CTimer::GetTimeStepInMilliseconds(); + if (pad->ShakeDur == 0) pad->ShakeFreq = 0; + + + if(target_device == 1 && R_SUCCEEDED(HidInitializationGCResult)) { + // gamecube rumble + hidSendVibrationGcErmCommand(SwitchVibrationDeviceGC, pad->ShakeFreq > 0 ? HidVibrationGcErmCommand_Start : HidVibrationGcErmCommand_Stop); + } + + memcpy(&SwitchVibrationValues[1], &SwitchVibrationValues[0], sizeof(HidVibrationValue)); + hidSendVibrationValues(SwitchVibrationDeviceHandles[target_device], SwitchVibrationValues, 2); + } +} +#else +void _psInitializeVibration() {} +void _psHandleVibration() {} +#endif + /* ***************************************************************************** */ @@ -409,6 +481,8 @@ psInitialize(void) #endif #endif + + _psInitializeVibration(); gGameState = GS_START_UP; TRACE("gGameState = GS_START_UP"); @@ -2459,6 +2533,8 @@ void CapturePad(RwInt32 padID) if ( Abs(rightStickPos.y) > 0.3f ) pad->PCTempJoyState.RightStickY = (int32)(rightStickPos.y * 128.0f); } + + _psHandleVibration(); return; } From ca5d3c881133d1fb3c2d9af16de81b63304bc88f Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Mon, 5 Jul 2021 20:02:44 +0200 Subject: [PATCH 04/11] Replace GTA_SWITCH macro and use GAMEPAD_MENU * Replace GTA_SWITCH macro with __SWITCH__ for platform specific stuff and GTA_HANDHELD for the rest (which could be used by other ports) * Use GAMEPAD_MENU on GTA_HANDHELD, which will replace the usual controller setup (which contains some useless features for handhelds) * Fix some identation inconsistencies * Disable PC_PLAYER_CONTROLS on GTA_HANDHELD builds --- .vscode/c_cpp_properties.json | 1 - src/CMakeLists.txt | 4 ---- src/core/MenuScreensCustom.cpp | 12 +++++++++--- src/core/common.h | 2 +- src/core/config.h | 20 +++++++++++++++----- src/skel/crossplatform.cpp | 4 ++-- src/skel/glfw/glfw.cpp | 24 ++++++++++++------------ 7 files changed, 39 insertions(+), 28 deletions(-) diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index a214042a..2ce82727 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -40,7 +40,6 @@ "cppStandard": "gnu++11", "defines": [ "__SWITCH__", - "GTA_SWITCH", "LIBRW", "RW_GL3", "AUDIO_OAL" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 67dfb325..2989c145 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -149,10 +149,6 @@ endif() # Build Nintendo Switch binaries if(NINTENDO_SWITCH) - target_compile_definitions(${EXECUTABLE} PRIVATE - GTA_SWITCH - ) - # Needed for OpenAL-Soft target_link_libraries(${EXECUTABLE} PRIVATE openal # HACK - something broke with latest cmake diff --git a/src/core/MenuScreensCustom.cpp b/src/core/MenuScreensCustom.cpp index 033ed9b9..5b0fd60c 100644 --- a/src/core/MenuScreensCustom.cpp +++ b/src/core/MenuScreensCustom.cpp @@ -36,7 +36,7 @@ #ifdef CUSTOM_FRONTEND_OPTIONS -#ifdef IMPROVED_VIDEOMODE +#if defined(IMPROVED_VIDEOMODE) && !defined(GTA_HANDHELD) #define VIDEOMODE_SELECTOR MENUACTION_CFO_SELECT, "FEM_SCF", { new CCFOSelect((int8*)&FrontEndMenuManager.m_nPrefsWindowed, "VideoMode", "Windowed", screenModes, 2, true, ScreenModeAfterChange, true) }, #else #define VIDEOMODE_SELECTOR @@ -418,10 +418,10 @@ CMenuScreenCustom aScreens[MENUPAGES] = { }, // MENUPAGE_CONTROLLER_SETTINGS = 4 -#ifdef GAMEPAD_MENU +#if defined(GAMEPAD_MENU) && !defined(GTA_HANDHELD) { "FET_AGS", MENUPAGE_CONTROLLER_PC, MENUPAGE_CONTROLLER_PC, nil, nil, #else - { "FET_CON", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS, nil, nil, + { "FET_AGS", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS, nil, nil, #endif MENUACTION_CTRLCONFIG, "FEC_CCF", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, MENUACTION_CTRLDISPLAY, "FEC_CDP", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, @@ -751,7 +751,11 @@ CMenuScreenCustom aScreens[MENUPAGES] = { // MENUPAGE_OPTIONS = 41 { "FET_OPT", MENUPAGE_NONE, MENUPAGE_NONE, nil, nil, +#ifdef GTA_HANDHELD + MENUACTION_CHANGEMENU, "FET_CTL", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, +#else MENUACTION_CHANGEMENU, "FET_CTL", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC }, +#endif MENUACTION_LOADRADIO, "FET_AUD", { nil, SAVESLOT_NONE, MENUPAGE_SOUND_SETTINGS }, MENUACTION_CHANGEMENU, "FET_DIS", { nil, SAVESLOT_NONE, MENUPAGE_DISPLAY_SETTINGS }, #ifdef GRAPHICS_MENU_OPTIONS @@ -885,7 +889,9 @@ CMenuScreenCustom aScreens[MENUPAGES] = { { "FET_GFX", MENUPAGE_OPTIONS, MENUPAGE_OPTIONS, new CCustomScreenLayout({MENUSPRITE_MAINMENU, 50, 0, 20, FONT_HEADING, FESCREEN_LEFT_ALIGN, true, MEDIUMTEXT_X_SCALE, MEDIUMTEXT_Y_SCALE}), GraphicsGoBack, +#ifdef GTA_HANDHELD MENUACTION_SCREENRES, "FED_RES", { nil, SAVESLOT_NONE, MENUPAGE_GRAPHICS_SETTINGS }, +#endif MENUACTION_WIDESCREEN, "FED_WIS", { nil, SAVESLOT_NONE, MENUPAGE_GRAPHICS_SETTINGS }, VIDEOMODE_SELECTOR MENUACTION_FRAMESYNC, "FEM_VSC", { nil, SAVESLOT_NONE, MENUPAGE_DISPLAY_SETTINGS }, diff --git a/src/core/common.h b/src/core/common.h index 99aafc5a..31aab2b3 100644 --- a/src/core/common.h +++ b/src/core/common.h @@ -11,7 +11,7 @@ #define __STDC_LIMIT_MACROS // so we get UINT32_MAX etc #endif -#ifdef GTA_SWITCH +#ifdef __SWITCH__ #include #endif diff --git a/src/core/config.h b/src/core/config.h index 462dd713..8171f987 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -158,6 +158,11 @@ enum Config { #define GTA_VERSION GTA3_PC_11 +// Enable configuration for handheld console ports +#if defined(__SWITCH__) || defined(PSP2) + #define GTA_HANDHELD +#endif + #if defined GTA_PS2 # define GTA_PS2_STUFF # define RANDOMSPLASH @@ -166,7 +171,9 @@ enum Config { # define ANIM_COMPRESSION # define PS2_MENU #elif defined GTA_PC -# define PC_PLAYER_CONTROLS // mouse player/cam mode +# ifndef GTA_HANDHELD +# define PC_PLAYER_CONTROLS // mouse player/cam mode +# endif # define GTA_REPLAY # define GTA_SCENE_EDIT # define PC_MENU @@ -319,7 +326,7 @@ enum Config { #if !defined(RW_GL3) && defined(_WIN32) #define XINPUT #endif -#if defined XINPUT || (defined RW_GL3 && !defined LIBRW_SDL2 && !defined GTA_SWITCH) +#if defined XINPUT || (defined RW_GL3 && !defined LIBRW_SDL2 && !defined GTA_HANDHELD) #define DETECT_JOYSTICK_MENU // Then we'll expect user to enter Controller->Detect joysticks if his joystick isn't detected at the start. #endif #define DETECT_PAD_INPUT_SWITCH // Adds automatic switch of pad related stuff between controller and kb/m @@ -345,7 +352,7 @@ enum Config { //# define PS2_MENU_USEALLPAGEICONS #else -# if defined(XINPUT) || defined(GTA_SWITCH) +# if defined(XINPUT) || defined(GTA_HANDHELD) # define GAMEPAD_MENU // Add gamepad menu # endif @@ -439,7 +446,7 @@ enum Config { #endif // Streaming -#if !defined(_WIN32) && !defined(GTA_SWITCH) +#if !defined(_WIN32) && !defined(__SWITCH__) //#define ONE_THREAD_PER_CHANNEL // Don't use if you're not on SSD/Flash - also not utilized too much right now(see commented LoadAllRequestedModels in Streaming.cpp) #define FLUSHABLE_STREAMING // Make it possible to interrupt reading when processing file isn't needed anymore. #endif @@ -461,8 +468,11 @@ enum Config { #undef PEDS_REPORT_CRIMES_ON_PHONE #endif -#ifdef GTA_SWITCH +#ifdef GTA_HANDHELD #define IGNORE_MOUSE_KEYBOARD // ignore mouse & keyboard input +#endif + +#ifdef __SWITCH__ #define USE_UNNAMED_SEM // named semaphores are unsupported on the switch #endif diff --git a/src/skel/crossplatform.cpp b/src/skel/crossplatform.cpp index 758125e9..e69c22e1 100644 --- a/src/skel/crossplatform.cpp +++ b/src/skel/crossplatform.cpp @@ -200,7 +200,7 @@ char* casepath(char const* path, bool checkPathFirst) DIR* d; char* c; - #if defined(GTA_SWITCH) || defined(GTA_VITA) + #if defined(__SWITCH__) || defined(PSP2) if( (c = strstr(p, ":/")) != NULL) // scheme used by some environments, eg. switch, vita { size_t deviceNameOffset = c - p + 3; @@ -294,7 +294,7 @@ char* casepath(char const* path, bool checkPathFirst) } #endif -#ifdef GTA_SWITCH +#ifdef __SWITCH__ /* Taken from glibc */ char *realpath(const char *name, char *resolved) { diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp index 754c43be..767d1bbd 100644 --- a/src/skel/glfw/glfw.cpp +++ b/src/skel/glfw/glfw.cpp @@ -12,7 +12,7 @@ DWORD _dwOperatingSystemVersion; #include "resource.h" #else long _dwOperatingSystemVersion; -#ifndef GTA_SWITCH +#ifndef __SWITCH__ #ifndef __APPLE__ #include #else @@ -53,7 +53,7 @@ long _dwOperatingSystemVersion; #include "MemoryMgr.h" // We found out that GLFW's keyboard input handling is still pretty delayed/not stable, so now we fetch input from X11 directly on Linux. -#if !defined _WIN32 && !defined __APPLE__ && !defined GTA_SWITCH // && !defined WAYLAND +#if !defined _WIN32 && !defined __APPLE__ && !defined GTA_HANDHELD // && !defined WAYLAND #define GET_KEYBOARD_INPUT_FROM_X11 #endif @@ -330,7 +330,7 @@ psNativeTextureSupport(void) ***************************************************************************** */ -#ifdef GTA_SWITCH +#ifdef __SWITCH__ static HidVibrationValue SwitchVibrationValues[2]; static HidVibrationDeviceHandle SwitchVibrationDeviceHandles[2][2]; @@ -338,10 +338,10 @@ static HidVibrationDeviceHandle SwitchVibrationDeviceGC; static PadState SwitchPad; -Result HidInitializationResult[2]; -Result HidInitializationGCResult; +static Result HidInitializationResult[2]; +static Result HidInitializationGCResult; -void _psInitializeVibration() +static void _psInitializeVibration() { HidInitializationResult[0] = hidInitializeVibrationDevices(SwitchVibrationDeviceHandles[0], 2, HidNpadIdType_Handheld, HidNpadStyleTag_NpadHandheld); if(R_FAILED(HidInitializationResult[0])) { @@ -360,10 +360,10 @@ void _psInitializeVibration() SwitchVibrationValues[0].freq_high = 320.0f; padConfigureInput(1, HidNpadStyleSet_NpadFullCtrl); - padInitializeDefault(&SwitchPad); + padInitializeDefault(&SwitchPad); } -void _psHandleVibration() +static void _psHandleVibration() { padUpdate(&SwitchPad); @@ -394,8 +394,8 @@ void _psHandleVibration() } } #else -void _psInitializeVibration() {} -void _psHandleVibration() {} +static void _psInitializeVibration() {} +static void _psHandleVibration() {} #endif /* @@ -561,7 +561,7 @@ psInitialize(void) debug("Physical memory size %llu\n", _dwMemAvailPhys); debug("Available physical memory %llu\n", size); #else -#ifndef GTA_SWITCH +#ifndef __SWITCH__ struct sysinfo systemInfo; sysinfo(&systemInfo); _dwMemAvailPhys = systemInfo.freeram; @@ -1871,7 +1871,7 @@ main(int argc, char *argv[]) InitMemoryMgr(); #endif -#if !defined(_WIN32) && !defined(GTA_SWITCH) +#if !defined(_WIN32) && !defined(__SWITCH__) struct sigaction act; act.sa_sigaction = terminateHandler; act.sa_flags = SA_SIGINFO; From a247d533675a3ffa3b5f3722bef4d55e5a912d03 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Mon, 5 Jul 2021 16:02:10 +0200 Subject: [PATCH 05/11] cmake: fix OpenAL on Switch + using X11 on Linux --- CMakeLists.txt | 2 +- src/CMakeLists.txt | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b687124a..8bfe3656 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.14) set(EXECUTABLE re3) set(PROJECT RE3) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2989c145..4de36572 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,9 +54,13 @@ target_compile_definitions(${EXECUTABLE} PRIVATE USE_OUR_VERSIONING) if(${PROJECT}_AUDIO STREQUAL "OAL") find_package(OpenAL REQUIRED) - target_include_directories(${EXECUTABLE} PRIVATE ${OPENAL_INCLUDE_DIR}) - target_link_libraries(${EXECUTABLE} PRIVATE ${OPENAL_LIBRARY}) - target_compile_definitions(${EXECUTABLE} PRIVATE ${OPENAL_DEFINITIONS}) + if(TARGET OpenAL::OpenAL) + target_link_libraries(${EXECUTABLE} PRIVATE OpenAL::OpenAL) + else() + target_include_directories(${EXECUTABLE} PRIVATE ${OPENAL_INCLUDE_DIR}) + target_link_libraries(${EXECUTABLE} PRIVATE ${OPENAL_LIBRARY}) + target_compile_definitions(${EXECUTABLE} PRIVATE ${OPENAL_DEFINITIONS}) + endif() target_compile_definitions(${EXECUTABLE} PRIVATE AUDIO_OAL) elseif(${PROJECT}_AUDIO STREQUAL "MSS") find_package(MilesSDK REQUIRED) @@ -126,6 +130,11 @@ else() set(${PROJECT}_C_CXX_EXTENSIONS OFF) endif() +if(NOT (WINDOWS OR APPLE OR NINTENDO_SWITCH)) + find_package(X11 REQUIRED) + target_link_libraries(${EXECUTABLE} PRIVATE X11::X11) +endif() + set_target_properties(${EXECUTABLE} PROPERTIES C_STANDARD 11 @@ -151,7 +160,6 @@ endif() if(NINTENDO_SWITCH) # Needed for OpenAL-Soft target_link_libraries(${EXECUTABLE} PRIVATE - openal # HACK - something broke with latest cmake SDL2 ) From b09b489ae7b15feb85b71a18f1b8e320f56d0ce8 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Mon, 5 Jul 2021 20:52:00 +0200 Subject: [PATCH 06/11] Fix WINDOWS -> WIN32 on cmake --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 4de36572..1cf10d0f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -130,7 +130,7 @@ else() set(${PROJECT}_C_CXX_EXTENSIONS OFF) endif() -if(NOT (WINDOWS OR APPLE OR NINTENDO_SWITCH)) +if(NOT (WIN32 OR APPLE OR NINTENDO_SWITCH)) find_package(X11 REQUIRED) target_link_libraries(${EXECUTABLE} PRIVATE X11::X11) endif() From a99a04ed49fe5cea1eb8292d9ffeefb40d10ac82 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Tue, 6 Jul 2021 18:05:21 +0200 Subject: [PATCH 07/11] Add Switch controller asset and configuration * Add GXT string for the Nintendo Switch Controller * Add frontend and button textures for Nintendo Switch controllers * Fix wrong #ifndef when hiding screen resolution option on GTA_HANDHELD --- gamefiles/TEXT/american.gxt | Bin 220642 -> 220708 bytes gamefiles/TEXT/french.gxt | Bin 246616 -> 246682 bytes gamefiles/TEXT/german.gxt | Bin 242680 -> 242746 bytes gamefiles/TEXT/italian.gxt | Bin 242050 -> 242116 bytes gamefiles/TEXT/polish.gxt | Bin 241682 -> 241748 bytes gamefiles/TEXT/russian.gxt | Bin 222468 -> 222534 bytes gamefiles/TEXT/spanish.gxt | Bin 235614 -> 235676 bytes gamefiles/models/frontend_nsw.txd | Bin 0 -> 2360104 bytes gamefiles/models/nswbtns.txd | Bin 0 -> 528424 bytes src/core/ControllerConfig.cpp | 14 ++++++++++++++ src/core/Frontend.cpp | 20 ++++++++++++++++++++ src/core/Frontend.h | 1 + src/core/MenuScreensCustom.cpp | 4 ++-- utils/gxt/american.txt | 3 +++ utils/gxt/french.txt | 3 +++ utils/gxt/german.txt | 3 +++ utils/gxt/italian.txt | 3 +++ utils/gxt/polish.txt | 3 +++ utils/gxt/russian.txt | 3 +++ utils/gxt/spanish.txt | 3 +++ 20 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 gamefiles/models/frontend_nsw.txd create mode 100644 gamefiles/models/nswbtns.txd diff --git a/gamefiles/TEXT/american.gxt b/gamefiles/TEXT/american.gxt index d4034411526937d7ade63a589ceccc11fc74787b..d7b7c956a1e95805244cbdfa7be49b5d8fdc132f 100644 GIT binary patch delta 212 zcmaE~n|H|`Ue*wA*T|NQtn6xxU6Xm$#BHD5V`6Y~b&hv-31HAT24%bYF)V|LyBRWU zgR_koj=|Z+4A(X%s!203$=u&ur%}bkZ3UI`3l5+BU8|Cb=l}tH2kuhQOOA~80M!U_b*744a6PjD=+FR=wx3|_Y+1``&WAJ3~V+dhz i1(Gfd{tOBX!3^O*u@DAl29N2DG0c+N55+JmFaiLG;6K#> delta 165 zcmZ3ohxgHLUe*wA*T{;Etn6xxA(MI4#BDd+V`6Y~b&hv-31HAT24%bYF%-bW-3%ET z;A|s?32?SC!-CC;YSK(h&+cum)2L#a%%WYvbPdSX7Gq|#nmko6p6ScI&ENE*SQwo) t2O2MCWYpUH)x?^Okz=!=b-XiURP)5T_K9_j+b7mB+1}gE63eW>2mq(WHAVmc diff --git a/gamefiles/TEXT/french.gxt b/gamefiles/TEXT/french.gxt index 16c7a7161bc0c4e5033eea69df29897ec1f1677e..3dece994972e89e2e8de6c504eaf424b1f1c3832 100644 GIT binary patch delta 209 zcmcc7#y_i_pEbnWHFCyAR&6!LzR8Aa;&xgN%nWX>&hgGJ0Ss)aP`0Zd!zz0y+s%;S z6r63u@Cwd0X5ezz+@>bQ#F(*pp++?mw;fc?UClh^9SGj?s} z)sJRjytO&gcrhd6q0PLe?re+;Hiud}yEA@jp4rqsvxyOinYPbtVs^Bb^<(g4@M8#J ea0QYs4E_uX48aWHK(P=8X9kb$2M;n&X9NI4sX3&hgGJ0Ss)aP`0ZdLkUdW&5&UV zoNdIg1-PstkHYZv;yEE=-UfR^Yw22XjnYJ%&Vs^COE^~;vju8M0oiR=T diff --git a/gamefiles/TEXT/german.gxt b/gamefiles/TEXT/german.gxt index c3309d6150155b6d5a372d1527baa50b7af655c9..7f25bd05e6b8adcad90bdca73fa9c24f7e630247 100644 GIT binary patch delta 210 zcmezIoNw0)KGqO#*T_8^S&yqRi5X8mrzU2*$(WhJ&DA;H*(HEsfh3ge>c?ON6L&LY z2!gYX7>eL*V}?na71jBf7@uu6)U0OWK4ApW?H3$Ad9`*Wt89^3ObF?TWo0H=pNuK)l5 delta 168 zcmdn>g73$3KGqO#*T@YUS&yqRJusSlPEE|V#+aGG&DA;H*(HEsfh3ge>c{ZM2+DRd zWRQWWaWi7DfwPSnVm2$P^D{AS*leg-%`|z3b_L_2&4xPM%#0@{+v>YB9@yNfAI-w3 yu=%0!Vn#-e&8?=vY)m(dH{Y^;=ger)e6qg%WIZDgGi^Uv&wScw`>9RL1&jduAvV_l diff --git a/gamefiles/TEXT/italian.gxt b/gamefiles/TEXT/italian.gxt index b30b74f48f45777b7c3faffe23f5eccac0a8e0fc..5a060a9a606ec4d27569a5ecff2b631078148cda 100644 GIT binary patch delta 208 zcmZpA%y;B5A8UxWYvh}ath?11GbSHY6Sw6vWM*)4b&hv-31CnXg|c1!7}^Y=Y&S!O z6>zo@!zno1nBmQ4QFUo1Mvu*gn$=9)5>Oex;PA<-wJRAdHmmB0Gc)>4w$+bkOxQeE zKbnPc!{(pHiy0YbY@TZx%*I%@`J?r3XT}rFZ|mFN)-wVz)AqOZ%+dz3ehi)reheWD du0Ya-!Jk2aA($Z?C>Fxt%;2&8{d(rfi~xkgJqG{) delta 166 zcmX@|n6K$EA8UxWYvhBCth?11jV2#d6Suu#z|7$0>KyOv62PD&3T3e5V%LYoaWtC=S6(5_%)+H9yJ&dew=*;7BBQET%`{b&}(s?Dq> tiy0Y{Hm@`dW@B{N{MY)oGvlP@pY`oO>luNVY5UK5W@&@%UK^OJ7y)#_GUWgO diff --git a/gamefiles/TEXT/polish.gxt b/gamefiles/TEXT/polish.gxt index d771427b1df8f496ec6b70067b94aab2c2701026..782f656d8baf0290abd8e30e355637a966ca5da5 100755 GIT binary patch delta 214 zcmbRAfbYr!KGqO#*T|NQtn6xxrzZ2NiQCB-GBdcjI>$S^1TZWThO%A#7@inF*=~jm zpWtjG1_qdVH)94q!_7%*QcR3Kn`v(6z1I?{F^X-j)u?8g%%WYv$g#OrTb!A(YVuUQct*9&U-hC{7>hOs u8ZTyKjN1Iw#F~xKVzZ%jyfb50^TfLLiFJ%X%(Q)C9doV0c9-?c0*nBgcrm;H diff --git a/gamefiles/TEXT/russian.gxt b/gamefiles/TEXT/russian.gxt index 0075c691777a43d19c3668044200d9e7a1483e80..914f5b52ada25cc7e9329d0455b7137445054270 100644 GIT binary patch delta 217 zcmZoU#e3`&FKdXmYh=qtR(3VUO_O=m#BF(=F)_HgI>$S^1TctgV}P(-{TR+Xg^Ifw zGTec)jTqj**~SciHYch{Gcj6huGOe!;?9A}_yvbg{;pNYr1flbk+v8!}tH2k+Es>OA~80#+c2j*745Fo1QUEo?n+Zc|n~-Q+-=K$S^1TctgV}P(-{TQaf#N7-T zmciLZ4BOyrV}@g!6V;@d7@0QLYE&~#X3?%-`to#howgV=W6tEMdhv`Ro4@KsvoNM? t4m4iO$mp~AtBExmquORe>v(6zn&ydh?Gx)5w@<8N%741uEQMKs5da6fGr#}< diff --git a/gamefiles/TEXT/spanish.gxt b/gamefiles/TEXT/spanish.gxt index 8980eb4d081ff875802534336af464dcb40d0c85..cb884689fcaec2ee4081fb31cc99ba08f969865e 100644 GIT binary patch delta 216 zcmcb&fp5-6KGqO#*T_E`S)J7+t0b5i++3aGot@nnY928`*}e?-CMT+it4@Q-x*0O8 zfU}JlcEQ=k3}-gaRg-375|Z4!OQVX3TL&uT7aTs>Si6#mO>*-(Z82uXxXDNL;+eE0 zH>>GKu`pI_ZZuxZ$e6HM)zqDh(Qb3Db-y#?gyz3>?SJbSftYFg-#TV}iRn+KF$>B1 kF?cfgF@!L<0!bGJe+C7HV1{s@SO|kNgU5Ew>CC2#07%F@#Q*>R delta 169 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 literal 0 HcmV?d00001 diff --git a/gamefiles/models/nswbtns.txd b/gamefiles/models/nswbtns.txd new file mode 100644 index 0000000000000000000000000000000000000000..0b1756ee347da3be0589cc7c328e52eb52354b84 GIT binary patch literal 528424 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%0DIZM|G1g|qvgLa7r`S< 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%0AS_b1@2=LE(AZvjvBdJ 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 Date: Mon, 12 Jul 2021 01:26:11 +0200 Subject: [PATCH 08/11] Move assets to dedicated folder and redefine GLFW mappings for Switch --- README.md | 2 +- logo.svg => res/images/logo.svg | 0 logo.png => res/images/logo_1024.png | Bin logo_switch.jpg => res/images/logo_256.jpg | Bin src/CMakeLists.txt | 2 +- src/skel/crossplatform.h | 25 +++++++++++++++++++++ 6 files changed, 27 insertions(+), 2 deletions(-) rename logo.svg => res/images/logo.svg (100%) rename logo.png => res/images/logo_1024.png (100%) rename logo_switch.jpg => res/images/logo_256.jpg (100%) diff --git a/README.md b/README.md index 9ccabf1e..bcbecaba 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -re3 logo +re3 logo [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FGTAmodding%2Fre3%2Fbadge%3Fref%3Dmaster&style=flat)](https://actions-badge.atrox.dev/GTAmodding/re3/goto?ref=master) diff --git a/logo.svg b/res/images/logo.svg similarity index 100% rename from logo.svg rename to res/images/logo.svg diff --git a/logo.png b/res/images/logo_1024.png similarity index 100% rename from logo.png rename to res/images/logo_1024.png diff --git a/logo_switch.jpg b/res/images/logo_256.jpg similarity index 100% rename from logo_switch.jpg rename to res/images/logo_256.jpg diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1cf10d0f..425f2315 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -171,7 +171,7 @@ if(NINTENDO_SWITCH) nx_create_nro(${EXECUTABLE} NACP ${EXECUTABLE}.nacp - ICON "${PROJECT_SOURCE_DIR}/logo_switch.jpg" + ICON "${PROJECT_SOURCE_DIR}/res/images/logo_256.jpg" ) if(${PROJECT}_INSTALL) diff --git a/src/skel/crossplatform.h b/src/skel/crossplatform.h index aa90ce5a..67bb4282 100644 --- a/src/skel/crossplatform.h +++ b/src/skel/crossplatform.h @@ -157,3 +157,28 @@ bool FindNextFile(HANDLE, WIN32_FIND_DATA*); void FileTimeToSystemTime(time_t*, SYSTEMTIME*); void GetDateFormat(int, int, SYSTEMTIME*, int, char*, int); #endif + +#ifdef __SWITCH__ + +// tweak glfw values for switch to match expected pc bindings +#ifdef GLFW_GAMEPAD_BUTTON_A + #undef GLFW_GAMEPAD_BUTTON_A +#endif +#define GLFW_GAMEPAD_BUTTON_A 1 + +#ifdef GLFW_GAMEPAD_BUTTON_B + #undef GLFW_GAMEPAD_BUTTON_B +#endif +#define GLFW_GAMEPAD_BUTTON_B 0 + +#ifdef GLFW_GAMEPAD_BUTTON_X + #undef GLFW_GAMEPAD_BUTTON_X +#endif +#define GLFW_GAMEPAD_BUTTON_X 3 + +#ifdef GLFW_GAMEPAD_BUTTON_Y + #undef GLFW_GAMEPAD_BUTTON_Y +#endif +#define GLFW_GAMEPAD_BUTTON_Y 2 + +#endif From 5cab196718d94c1ddfe1ddda0490a639cac7fde0 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Mon, 12 Jul 2021 02:27:45 +0200 Subject: [PATCH 09/11] Finish cmake stuff for Switch build * SDL2 for OpenAL not needed anymore * Add re3_platform_target function and use that instead of manually building NRO --- CMakeLists.txt | 15 +++++++++++---- cmake/nx/NXFunctions.cmake | 31 +++++++++++++++++++++++++++++++ src/CMakeLists.txt | 25 +------------------------ 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8bfe3656..adf3c29f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,18 +4,25 @@ set(EXECUTABLE re3) set(PROJECT RE3) project(${EXECUTABLE} C CXX) +set(${PROJECT}_AUTHOR "${PROJECT} Team") list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") include(GetGitRevisionDescription) get_git_head_revision(GIT_REFSPEC GIT_SHA1 "ALLOW_LOOKING_ABOVE_CMAKE_SOURCE_DIR") message(STATUS "Building ${CMAKE_PROJECT_NAME} GIT SHA1: ${GIT_SHA1}") -if(WIN32) - set(${PROJECT}_AUDIOS "OAL" "MSS") -elseif(NINTENDO_SWITCH) +if(NINTENDO_SWITCH) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/nx") include(NXFunctions) - set(${PROJECT}_AUDIOS "OAL") +endif() + +if(NOT COMMAND re3_platform_target) + function(re3_platform_target) + endfunction() +endif() + +if(WIN32) + set(${PROJECT}_AUDIOS "OAL" "MSS") else() set(${PROJECT}_AUDIOS "OAL") endif() diff --git a/cmake/nx/NXFunctions.cmake b/cmake/nx/NXFunctions.cmake index 8fa23fae..cf3f974b 100644 --- a/cmake/nx/NXFunctions.cmake +++ b/cmake/nx/NXFunctions.cmake @@ -5,3 +5,34 @@ endif() if(NOT COMMAND nx_create_nro) message(FATAL_ERROR "The `nx_create_nro` cmake command is not available. Please use an appropriate Nintendo Switch toolchain.") endif() + +set(CMAKE_EXECUTABLE_SUFFIX ".elf") + +function(re3_platform_target TARGET) + cmake_parse_arguments(RPT "INSTALL" "" "" ${ARGN}) + + get_target_property(TARGET_TYPE "${TARGET}" TYPE) + if(TARGET_TYPE STREQUAL "EXECUTABLE") + nx_generate_nacp(${TARGET}.nacp + NAME "${TARGET}" + AUTHOR "${${PROJECT}_AUTHOR}" + VERSION "1.0.0-${GIT_SHA1}" + ) + + nx_create_nro(${TARGET} + NACP ${TARGET}.nacp + ICON "${PROJECT_SOURCE_DIR}/res/images/logo_256.jpg" + ) + + if(${PROJECT}_INSTALL AND RPT_INSTALL) + get_target_property(TARGET_OUTPUT_NAME ${TARGET} OUTPUT_NAME) + if(NOT TARGET_OUTPUT_NAME) + set(TARGET_OUTPUT_NAME "${TARGET}") + endif() + + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_OUTPUT_NAME}.nro" + DESTINATION "." + ) + endif() + endif() +endfunction() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 425f2315..8dac5a3a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -156,27 +156,4 @@ if(${PROJECT}_INSTALL) endif() endif() -# Build Nintendo Switch binaries -if(NINTENDO_SWITCH) - # Needed for OpenAL-Soft - target_link_libraries(${EXECUTABLE} PRIVATE - SDL2 - ) - - nx_generate_nacp (${EXECUTABLE}.nacp - NAME "${EXECUTABLE}" - AUTHOR "${EXECUTABLE} Team" - VERSION "1.0.0-${GIT_SHA1}" - ) - - nx_create_nro(${EXECUTABLE} - NACP ${EXECUTABLE}.nacp - ICON "${PROJECT_SOURCE_DIR}/res/images/logo_256.jpg" - ) - - if(${PROJECT}_INSTALL) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE}.nro" - DESTINATION "." - ) - endif() -endif() +re3_platform_target(${EXECUTABLE} INSTALL) From a7b38e1b34210c9c78c16a32140ba40e47152fa8 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Mon, 12 Jul 2021 20:58:34 +0200 Subject: [PATCH 10/11] Save current usable memory for Switch application --- src/skel/glfw/glfw.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp index 767d1bbd..6d4cade9 100644 --- a/src/skel/glfw/glfw.cpp +++ b/src/skel/glfw/glfw.cpp @@ -560,14 +560,15 @@ psInitialize(void) _dwMemAvailPhys = (uint64_t)(vm_stat.free_count * page_size); debug("Physical memory size %llu\n", _dwMemAvailPhys); debug("Available physical memory %llu\n", size); +#elif defined (__SWITCH__) + svcGetInfo(&_dwMemAvailPhys, 7, 0xffff8001, 0); + debug("Physical memory size %llu\n", _dwMemAvailPhys); #else -#ifndef __SWITCH__ struct sysinfo systemInfo; sysinfo(&systemInfo); _dwMemAvailPhys = systemInfo.freeram; debug("Physical memory size %u\n", systemInfo.totalram); debug("Available physical memory %u\n", systemInfo.freeram); -#endif #endif TheText.Unload(); From 207378c94716f8c97600f39f63dff526de293a50 Mon Sep 17 00:00:00 2001 From: Adrian Graber Date: Tue, 13 Jul 2021 00:41:56 +0200 Subject: [PATCH 11/11] Use svcGetInfo definitions from libnx Co-authored-by: Anonymous Maarten --- src/skel/glfw/glfw.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/skel/glfw/glfw.cpp b/src/skel/glfw/glfw.cpp index 6d4cade9..2282a040 100644 --- a/src/skel/glfw/glfw.cpp +++ b/src/skel/glfw/glfw.cpp @@ -561,7 +561,7 @@ psInitialize(void) debug("Physical memory size %llu\n", _dwMemAvailPhys); debug("Available physical memory %llu\n", size); #elif defined (__SWITCH__) - svcGetInfo(&_dwMemAvailPhys, 7, 0xffff8001, 0); + svcGetInfo(&_dwMemAvailPhys, InfoType_UsedMemorySize, CUR_PROCESS_HANDLE, 0); debug("Physical memory size %llu\n", _dwMemAvailPhys); #else struct sysinfo systemInfo;