Commit 145f8c4b authored by M4xw's avatar M4xw 🍗
Browse files

Relase 0.9.8

parents 597388f2 53dc2024
Pipeline #3987 passed with stage
in 35 seconds
variables:
BRANCH: master
trigger_build:
script:
- "curl -X POST -F token=$TOKEN_SNES9X2010 -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/87/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_FCEUMM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/85/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VBANEXT -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/83/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_SNES9X -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/80/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BEETLE_WSWAN -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/84/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BEETLE_VBOY -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/92/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_HANDY -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/86/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BLUEMSX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/93/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_SGRAFX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/94/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_NGP -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/95/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_PROSYSTEM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/96/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_O2EM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/97/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_STELLA -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/98/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_NXENGINE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/99/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VECX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/100/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_PCEFAST -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/101/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_GAMBATTE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/104/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VJAGUAR -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/105/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_MAME2003 -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/106/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_YABAUSE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/108/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_4DO -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/111/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_GPLUSGX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/112/trigger/pipeline"
only:
- master
variables:
BRANCH: master
trigger_build:
script:
- "curl -X POST -F token=$TOKEN_SNES9X2010 -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/87/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_DOSBOX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/129/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_PICODRIVE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/132/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_FMSX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/133/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_FCEUMM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/85/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VBANEXT -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/83/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_SNES9X -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/80/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BEETLE_WSWAN -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/84/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BEETLE_VBOY -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/92/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_HANDY -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/86/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BLUEMSX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/93/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_SGRAFX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/94/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_NGP -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/95/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_PROSYSTEM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/96/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_O2EM -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/97/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_STELLA -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/98/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_NXENGINE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/99/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VECX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/100/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_PCEFAST -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/101/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_GAMBATTE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/104/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_VJAGUAR -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/105/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_YABAUSE -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/108/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_4DO -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/111/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_GPLUSGX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/112/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_MGBA -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/114/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_MAME2003 -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/106/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_MAME2003PLUS -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/107/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_BEETLEPSX -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/109/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_FBALPHA -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/113/trigger/pipeline"
- "curl -X POST -F token=$TOKEN_REARMED -F ref=$BRANCH https://git.m4xw.net/api/v4/projects/124/trigger/pipeline"
only:
- master
# First and foremost consider this:
- Only libretro core bugs
## Description
[Description of the bug]
### Expected behavior
[What you expected to happen]
### Actual behavior
[What is actually happening]
### Steps to reproduce the bug
1. [First step]
2. [Second step]
3. [and so on...]
### Version/Commit
You can find this information under Information/System Information
- RetroArch: [version/commit]
......@@ -604,6 +604,10 @@ ifeq ($(TARGET), retroarch_3ds)
OBJ += gfx/drivers_font/ctr_font.o
endif
ifeq ($(TARGET), retroarch_switch)
OBJ += gfx/drivers_font/switch_font.o
endif
ifeq ($(HAVE_OSS), 1)
OBJ += audio/drivers/oss.o
else ifeq ($(HAVE_OSS_BSD), 1)
......@@ -857,6 +861,10 @@ ifeq ($(HAVE_THREAD_STORAGE), 1)
DEFINES += -DHAVE_THREAD_STORAGE
endif
ifeq ($(HAVE_SWITCH), 1)
OBJ += $(LIBRETRO_COMM_DIR)/rthreads/switch_pthread.o
endif
ifeq ($(HAVE_VITA2D), 1)
OBJ += $(DEPS_DIR)/libvita2d/source/vita2d.o \
$(DEPS_DIR)/libvita2d/source/vita2d_texture.o \
......@@ -893,7 +901,8 @@ ifeq ($(TARGET), retroarch_switch)
audio/drivers/switch_audio.o \
audio/drivers/switch_thread_audio.o \
input/drivers/switch_input.o \
gfx/drivers/switch_gfx.o
gfx/drivers/switch_gfx.o \
menu/drivers_display/menu_display_switch.o
ifeq ($(HAVE_DUMMY), 1)
OBJ += switch/dummy.o
endif
......
......@@ -20,7 +20,7 @@ OBJ :=
# For threading we need to overwrite some vars with global defines because devkitPro's includes
# make it hard for us
DEFINES_THREAD := -Dpthread_t=Thread -Dpthread_mutex_t=Mutex -Dpthread_mutexattr_t='void*' -Dpthread_attr_t=int -Dpthread_cond_t=CondVar -Dpthread_condattr_t='int'
DEFINES := -DSWITCH=1 -DHAVE_THREADS -DNXLINK=1 -U__linux__ -U__linux -DRARCH_INTERNAL -D_SYS__PTHREADTYPES_H_ $(DEFINES_THREAD) -DGLOBAL_CONFIG_DIR='"/switch"'
DEFINES := -DHAVE_FREETYPE -DSWITCH=1 -DHAVE_THREADS -DNXLINK=1 -U__linux__ -U__linux -DRARCH_INTERNAL -D_SYS__PTHREADTYPES_H_ $(DEFINES_THREAD) -DGLOBAL_CONFIG_DIR='"/switch"'
HAVE_CC_RESAMPLER = 1
HAVE_MENU_COMMON = 1
......@@ -29,7 +29,6 @@ HAVE_RPNG = 1
HAVE_RJPEG = 1
HAVE_RBMP = 1
HAVE_RGUI = 0
HAVE_NXRGUI = 1
HAVE_ZLIB = 1
HAVE_BUILTINZLIB = 1
HAVE_LIBRETRODB = 1
......@@ -40,10 +39,15 @@ HAVE_STATIC_VIDEO_FILTERS = 1
HAVE_STATIC_AUDIO_FILTERS = 1
HAVE_MENU = 1
HAVE_RUNAHEAD = 1
# RetroNX specific flags
HAVE_OVERLAY = 1
HAVE_THREADS = 1
HAVE_PTHREADS = 1
HAVE_DUMMY = 0
HAVE_FREETYPE = 1
HAVE_SWITCH = 1
HAVE_NXRGUI = 1
include Makefile.common
BLACKLIST :=
......@@ -81,17 +85,17 @@ EXEFS_SRC := exefs_src
#ROMFS := switch/romfs
#APP_TITLE := RetroNX
APP_ICON := switch/retronx.jpg
APP_VERSION := 0.9.7
APP_AUTHOR := M4xw, Credit: Reswitched, libretro
APP_ICON := icon.jpg #switch/retronx.jpg
APP_VERSION := 0.9.8
APP_AUTHOR := M4xw, Credits: libretro
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE
ARCH := -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE -mcpu=cortex-a57+crc+fp+simd
CFLAGS := -g -Wall -O3 -ffast-math -ffunction-sections \
$(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -include $(LIBNX)/include/switch.h
$(ARCH) $(DEFINES) -Ideps -Ideps/libz -Ilibretro-common/include -Ideps/stb -I$(LIBNX)/include -include $(LIBNX)/include/switch.h $(shell $(DEVKITPRO)/portlibs/switch/bin/freetype-config --cflags)
CFLAGS += $(INCLUDE) -D__SWITCH__
......@@ -100,7 +104,7 @@ CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11
ASFLAGS := -g $(ARCH)
LDFLAGS = -specs=$(DEVKITPRO)/libnx/switch.specs $(ARCH) -Wl,--allow-multiple-definition -Wl,-Map,$(notdir $*.map)
LIBS := -lnx -lm -lstdc++
LIBS := -lnx -lm -lstdc++ -lfreetype -lbz2 -lpng -lz
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
......
......@@ -38,8 +38,7 @@
static inline void lockMutex(Mutex* mtx)
{
while (!mutexTryLock(mtx))
svcSleepThread(3);
mutexLock(mtx);
}
typedef struct
......@@ -194,7 +193,7 @@ static void *switch_thread_audio_init(const char *device, unsigned rate, unsigne
static bool switch_thread_audio_start(void *data, bool is_shutdown)
{
RARCH_LOG("[Audio]: switch_thread_audio_start\n");
//RARCH_LOG("[Audio]: switch_thread_audio_start\n");
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
......@@ -206,7 +205,7 @@ static bool switch_thread_audio_start(void *data, bool is_shutdown)
static bool switch_thread_audio_stop(void *data)
{
RARCH_LOG("[Audio]: switch_thread_audio_stop\n");
//RARCH_LOG("[Audio]: switch_thread_audio_stop\n");
switch_thread_audio_t* swa = (switch_thread_audio_t*)data;
if (!swa)
......@@ -218,7 +217,7 @@ static bool switch_thread_audio_stop(void *data)
static void switch_thread_audio_free(void *data)
{
RARCH_LOG("[Audio]: switch_thread_audio_free\n");
//RARCH_LOG("[Audio]: switch_thread_audio_free\n");
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (!swa)
......@@ -308,7 +307,7 @@ static bool switch_thread_audio_alive(void *data)
static void switch_thread_audio_set_nonblock_state(void *data, bool state)
{
RARCH_LOG("[Audio]: switch_thread_audio_set_nonblock_state state %d\n", (int)state);
//RARCH_LOG("[Audio]: switch_thread_audio_set_nonblock_state state %d\n", (int)state);
switch_thread_audio_t *swa = (switch_thread_audio_t *)data;
if (swa)
......
......@@ -64,12 +64,11 @@ static bool bundle_assets_extract_enable = false;
#endif
#ifdef HAVE_MATERIALUI
static bool materialui_icons_enable = true;
static bool materialui_icons_enable = true;
#endif
static const bool crt_switch_resolution = false;
static const int crt_switch_resolution_super = 2560;
static const bool crt_switch_resolution = false;
static const int crt_switch_resolution_super = 2560;
static const bool def_history_list_enable = true;
static const bool def_playlist_entry_remove = true;
......@@ -251,55 +250,55 @@ static const bool display_keyboard_overlay = false;
#ifdef HAVE_MENU
#include "menu/menu_driver.h"
static bool default_block_config_read = true;
static bool default_block_config_read = true;
static bool quick_menu_show_take_screenshot = true;
static bool quick_menu_show_save_load_state = true;
static bool quick_menu_show_take_screenshot = true;
static bool quick_menu_show_save_load_state = true;
static bool quick_menu_show_undo_save_load_state = true;
static bool quick_menu_show_add_to_favorites = true;
static bool quick_menu_show_options = true;
static bool quick_menu_show_controls = true;
static bool quick_menu_show_cheats = true;
static bool quick_menu_show_shaders = true;
static bool quick_menu_show_information = true;
static bool quick_menu_show_save_core_overrides = true;
static bool quick_menu_show_save_game_overrides = true;
static bool quick_menu_show_save_content_dir_overrides = true;
static bool kiosk_mode_enable = false;
static bool menu_show_online_updater = true;
static bool menu_show_load_core = true;
static bool menu_show_load_content = true;
static bool menu_show_information = true;
static bool menu_show_configurations = true;
static bool menu_show_help = true;
static bool menu_show_quit_retroarch = true;
static bool menu_show_reboot = true;
static bool quick_menu_show_add_to_favorites = true;
static bool quick_menu_show_options = true;
static bool quick_menu_show_controls = true;
static bool quick_menu_show_cheats = true;
static bool quick_menu_show_shaders = true;
static bool quick_menu_show_information = true;
static bool quick_menu_show_save_core_overrides = true;
static bool quick_menu_show_save_game_overrides = true;
static bool quick_menu_show_save_content_dir_overrides = true;
static bool kiosk_mode_enable = false;
static bool menu_show_online_updater = true;
static bool menu_show_load_core = true;
static bool menu_show_load_content = true;
static bool menu_show_information = true;
static bool menu_show_configurations = true;
static bool menu_show_help = true;
static bool menu_show_quit_retroarch = true;
static bool menu_show_reboot = true;
#if defined(HAVE_LAKKA) || defined(VITA) || defined(_3DS)
static bool menu_show_core_updater = false;
static bool menu_show_core_updater = false;
#else
static bool menu_show_core_updater = true;
static bool menu_show_core_updater = true;
#endif
static bool content_show_settings = true;
static bool content_show_favorites = true;
static bool content_show_settings = true;
static bool content_show_favorites = true;
#ifdef HAVE_IMAGEVIEWER
static bool content_show_images = true;
static bool content_show_images = true;
#endif
static bool content_show_music = true;
static bool content_show_music = true;
#ifdef HAVE_FFMPEG
static bool content_show_video = true;
static bool content_show_video = true;
#endif
#ifdef HAVE_NETWORKING
static bool content_show_netplay = true;
static bool content_show_netplay = true;
#endif
static bool content_show_history = true;
static bool content_show_history = true;
#ifdef HAVE_LIBRETRODB
static bool content_show_add = true;
static bool content_show_add = true;
#endif
static bool content_show_playlists = true;
static bool content_show_playlists = true;
#ifdef HAVE_XMB
static unsigned xmb_scale_factor = 100;
......@@ -307,13 +306,13 @@ static unsigned xmb_alpha_factor = 75;
static unsigned menu_font_color_red = 255;
static unsigned menu_font_color_green = 255;
static unsigned menu_font_color_blue = 255;
static unsigned xmb_menu_layout = 0;
static unsigned xmb_icon_theme = XMB_ICON_THEME_MONOCHROME;
static unsigned xmb_theme = XMB_THEME_ELECTRIC_BLUE;
static unsigned xmb_menu_layout = 0;
static unsigned xmb_icon_theme = XMB_ICON_THEME_MONOCHROME;
static unsigned xmb_theme = XMB_THEME_ELECTRIC_BLUE;
#if defined(HAVE_LAKKA) || defined(__arm__) || defined(__PPC64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__powerpc__) || defined(__ppc__) || defined(__POWERPC__)
static bool xmb_shadows_enable = false;
static bool xmb_shadows_enable = false;
#else
static bool xmb_shadows_enable = true;
static bool xmb_shadows_enable = true;
#endif
#endif
......@@ -333,10 +332,10 @@ static unsigned menu_shader_pipeline = 1;
static unsigned menu_shader_pipeline = 2;
#endif
static bool show_advanced_settings = false;
static bool show_advanced_settings = false;
static const uint32_t menu_entry_normal_color = 0xffffffff;
static const uint32_t menu_entry_hover_color = 0xff64ff64;
static const uint32_t menu_title_color = 0xff64ff64;
static const uint32_t menu_entry_hover_color = 0xff64ff64;
static const uint32_t menu_title_color = 0xff64ff64;
#else
static bool default_block_config_read = false;
......@@ -357,21 +356,21 @@ static bool default_systemfiles_in_content_dir = false;
static bool default_screenshots_in_content_dir = false;
#if defined(__CELLOS_LV2__) || defined(_XBOX1) || defined(_XBOX360)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3;
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3;
#elif defined(VITA)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT;
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT;
#elif defined(SWITCH)
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_START_SELECT;
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_START_SELECT;
#else
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE;
static unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE;
#endif
#if defined(VITA)
static unsigned input_backtouch_enable = false;
static unsigned input_backtouch_toggle = false;
static unsigned input_backtouch_enable = false;
static unsigned input_backtouch_toggle = false;
#endif
static bool show_physical_inputs = true;
static bool show_physical_inputs = true;
static bool all_users_control_menu = false;
......@@ -440,9 +439,9 @@ static const bool font_enable = true;
* If your monitor does not run at 60Hz, or something close to it,
* disable VSync, and leave this at its default. */
#ifdef _3DS
static const float refresh_rate = (32730.0 * 8192.0) / 4481134.0 ;
static const float refresh_rate = (32730.0 * 8192.0) / 4481134.0;
#else
static const float refresh_rate = 60/1.001;
static const float refresh_rate = 60 / 1.001;
#endif
/* Allow games to set rotation. If false, rotation requests are
......@@ -502,8 +501,8 @@ static const float audio_mixer_volume = 0.0;
#ifdef HAVE_WASAPI
/* WASAPI defaults */
static const bool wasapi_exclusive_mode = true;
static const bool wasapi_float_format = false;
static const bool wasapi_exclusive_mode = true;
static const bool wasapi_float_format = false;
static const int wasapi_sh_buffer_length = -16; /* auto */
#endif
......@@ -689,6 +688,12 @@ static enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_
static enum resampler_quality audio_resampler_quality_level = RESAMPLER_QUALITY_NORMAL;
#endif
// Switch Specific settings
#if defined(SWITCH)
static const bool split_joycon = false;
static const bool hack_overlay = true;
#endif
#if defined(ANDROID)
#if defined(ANDROID_ARM)
static char buildbot_server_url[] = "http://buildbot.libretro.com/nightly/android/latest/armeabi-v7a/";
......
......@@ -1215,6 +1215,10 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
SETTING_BOOL("netplay_request_device_p14", &settings->bools.netplay_request_devices[13], true, false, false);
SETTING_BOOL("netplay_request_device_p15", &settings->bools.netplay_request_devices[14], true, false, false);
SETTING_BOOL("netplay_request_device_p16", &settings->bools.netplay_request_devices[15], true, false, false);
#endif
#ifdef SWITCH // Switch specific Settings
SETTING_BOOL("split_joycon", &settings->bools.split_joycon, false, split_joycon, false);
SETTING_BOOL("hack_overlay", &settings->bools.hack_overlay, true, hack_overlay, false);
#endif
SETTING_BOOL("input_descriptor_label_show", &settings->bools.input_descriptor_label_show, true, input_descriptor_label_show, false);
SETTING_BOOL("input_descriptor_hide_unbound", &settings->bools.input_descriptor_hide_unbound, true, input_descriptor_hide_unbound, false);
......
This diff is collapsed.
......@@ -358,6 +358,13 @@ void fill_pathname_application_special(char *s,
free(s2);
}
break;
case APPLICATION_SPECIAL_DIRECTORY_ASSETS_NXRGUI_FONT:
#ifdef SWITCH
{
strcpy(s, "/retroarch/nxrgui.ttf");
}
#endif
break;
case APPLICATION_SPECIAL_NONE:
default:
......
......@@ -111,7 +111,8 @@ enum application_special_type
APPLICATION_SPECIAL_DIRECTORY_ASSETS_ZARCH,
APPLICATION_SPECIAL_DIRECTORY_ASSETS_ZARCH_FONT,
APPLICATION_SPECIAL_DIRECTORY_ASSETS_ZARCH_ICONS,
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_CHEEVOS_BADGES
APPLICATION_SPECIAL_DIRECTORY_THUMBNAILS_CHEEVOS_BADGES,
APPLICATION_SPECIAL_DIRECTORY_ASSETS_NXRGUI_FONT
};
/**
......
......@@ -148,8 +148,6 @@ static void frontend_switch_deinit(void *data)
splashData = NULL;
}
//romfsExit();
gfxExit();
}
......@@ -392,6 +390,9 @@ end:
return ret;
}
// runloop_get_system_info isnt initialized that early..
extern void retro_get_system_info(struct retro_system_info *info);
static void frontend_switch_init(void *data)
{
(void)data;
......@@ -414,105 +415,57 @@ static void frontend_switch_init(void *data)
#endif
#endif
rarch_system_info_t *sys_info = runloop_get_system_info();
retro_get_system_info(sys_info);
const char *core_name = NULL;
printf("[Video]: Video initialized\n");
// RomFs
/*Result rc = romfsInit();
if (R_FAILED(rc))
{
printf("[RomFS]: %08X\n", rc);
}
else
{
printf("[RomFS]: RomFS initialized\n", rc);
*/
uint32_t width, height;
width = height = 0;
// Load splash
if (!splashData)
{
uint32_t width, height;
width = height = 0;
// Meh, filesize got too big..
rpng_load_image_argb("/retroarch/splash_01_720p.png", &splashData, &width, &height);
if (splashData)
if (sys_info)
{
argb_to_rgba8(splashData, height, width);
frontend_switch_showsplash();
}
core_name = sys_info->info.library_name;
char *full_core_splash_path = (char *)malloc(PATH_MAX);
snprintf(full_core_splash_path, PATH_MAX, "/retroarch/nxrgui/splash/%s.png", core_name);
#if 0
FILE *fsplash = fopen("romfs:/splash_01_720p.png", "r");
if (fsplash)
rpng_load_image_argb((const char *)full_core_splash_path, &splashData, &width, &height);
if (splashData)
{
uint64_t fsize = 0;
fseek(fsplash, 0L, SEEK_END);
fsize = ftell(fsplash);
rewind(fsplash);
splashData = malloc(fsize);
argb_to_rgba8(splashData, height, width);
frontend_switch_showsplash();
}
else
{
rpng_load_image_argb("/retroarch/nxrgui/splash/RetroNX.png", &splashData, &width, &height);
if (splashData)
{
// I am lazy
fread(splashData, fsize, 1, fsplash);
fclose(fsplash);
if (splashData)
{
rpng_t *rpng = NULL;
rpng_set_buf_ptr(rpng, splashData);
rpng_start(rpng);
while (rpng_iterate_image(rpng))
;
if (!rpng_is_valid(rpng))
{
// Invalid image
free(splashData);
splashData = NULL;
}
else
{
int retval;
uint32_t *tmpswap = NULL;
do
{
retval = rpng_process_image(rpng, &tmpswap, fsize, 1280, 720);
// Yield
svcSleepThread(3);
} while (retval == IMAGE_PROCESS_NEXT);
rpng_free(rpng);
if (tmpswap)
{
free(splashData);
splashData = tmpswap;
}
frontend_switch_showsplash();
}
}
}
else
{
// Uufff, no memory?
// What were you doing??
printf("??[Out of memory]??\n");
fclose(fsplash);
argb_to_rgba8(splashData, height, width);
frontend_switch_showsplash();
}
}
free(full_core_splash_path);
}
else
{