mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-06 03:28:20 +00:00
commit
f63c32d3d0
@ -248,6 +248,7 @@ else ifeq ($(platform), vita)
|
||||
HAVE_STB_FONT :=1
|
||||
RARCH_CONSOLE = 1
|
||||
HAVE_THREADS := 1
|
||||
HAVE_LIBRETRODB := 1
|
||||
endif
|
||||
|
||||
|
||||
|
20
core_info.c
20
core_info.c
@ -2,7 +2,7 @@
|
||||
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
|
||||
* Copyright (C) 2011-2016 - Daniel De Matteis
|
||||
* Copyright (C) 2013-2015 - Jason Fetters
|
||||
*
|
||||
*
|
||||
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
@ -47,7 +47,7 @@ static void core_info_list_resolve_all_extensions(
|
||||
for (i = 0; i < core_info_list->count; i++)
|
||||
{
|
||||
if (core_info_list->list[i].supported_extensions)
|
||||
all_ext_len +=
|
||||
all_ext_len +=
|
||||
(strlen(core_info_list->list[i].supported_extensions) + 2);
|
||||
}
|
||||
|
||||
@ -171,7 +171,7 @@ static config_file_t *core_info_list_iterate(
|
||||
fill_pathname_base_noext(info_path_base, contents->elems[i].data,
|
||||
sizeof(info_path_base));
|
||||
|
||||
#if defined(RARCH_MOBILE) || (defined(RARCH_CONSOLE) && !defined(PSP) && !defined(_3DS))
|
||||
#if defined(RARCH_MOBILE) || (defined(RARCH_CONSOLE) && !defined(PSP) && !defined(_3DS) && !defined(VITA))
|
||||
char *substr = strrchr(info_path_base, '_');
|
||||
if (substr)
|
||||
*substr = '\0';
|
||||
@ -288,7 +288,7 @@ static core_info_list_t *core_info_list_new(void)
|
||||
core_info[i].path = strdup(contents->elems[i].data);
|
||||
|
||||
if (!core_info[i].display_name)
|
||||
core_info[i].display_name =
|
||||
core_info[i].display_name =
|
||||
strdup(path_basename(core_info[i].path));
|
||||
}
|
||||
|
||||
@ -305,7 +305,7 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Shallow-copies internal state.
|
||||
/* Shallow-copies internal state.
|
||||
*
|
||||
* Data in *info is invalidated when the
|
||||
* core_info_list is freed. */
|
||||
@ -322,7 +322,7 @@ static bool core_info_list_get_info(core_info_list_t *core_info_list,
|
||||
{
|
||||
const core_info_t *info = &core_info_list->list[i];
|
||||
|
||||
if (string_is_equal(path_basename(info->path),
|
||||
if (string_is_equal(path_basename(info->path),
|
||||
path_basename(path)))
|
||||
{
|
||||
*out_info = *info;
|
||||
@ -362,10 +362,10 @@ static int core_info_qsort_cmp(const void *a_, const void *b_)
|
||||
{
|
||||
const core_info_t *a = (const core_info_t*)a_;
|
||||
const core_info_t *b = (const core_info_t*)b_;
|
||||
int support_a =
|
||||
int support_a =
|
||||
core_info_does_support_any_file(a, core_info_tmp_list)
|
||||
|| core_info_does_support_file(a, core_info_tmp_path);
|
||||
int support_b =
|
||||
int support_b =
|
||||
core_info_does_support_any_file(b, core_info_tmp_list)
|
||||
|| core_info_does_support_file(b, core_info_tmp_path);
|
||||
|
||||
@ -587,7 +587,7 @@ void core_info_list_get_supported_cores(core_info_list_t *core_info_list,
|
||||
core_info_tmp_list = list;
|
||||
#endif
|
||||
|
||||
/* Let supported core come first in list so we can return
|
||||
/* Let supported core come first in list so we can return
|
||||
* a pointer to them. */
|
||||
qsort(core_info_list->list, core_info_list->count,
|
||||
sizeof(core_info_t), core_info_qsort_cmp);
|
||||
@ -649,7 +649,7 @@ void core_info_get_name(const char *path, char *s, size_t len)
|
||||
|
||||
if (!string_is_equal(contents->elems[i].data, path))
|
||||
continue;
|
||||
|
||||
|
||||
conf = core_info_list_iterate(contents, i);
|
||||
|
||||
if (conf)
|
||||
|
@ -17,7 +17,7 @@ mkdir -p ../pkg/${platform}/
|
||||
cd ..
|
||||
LDFLAGS=-L. ./configure --disable-dynamic
|
||||
cd dist-scripts
|
||||
|
||||
|
||||
elif [ $PLATFORM = "psp1" ] ; then
|
||||
platform=psp1
|
||||
SALAMANDER=yes
|
||||
@ -33,6 +33,7 @@ cp -f ../kernel_functions.prx ../pkg/${platform}/kernel_functions.prx
|
||||
elif [ $PLATFORM = "vita" ] ; then
|
||||
platform=vita
|
||||
MAKEFILE_GRIFFIN=yes
|
||||
SALAMANDER=yes
|
||||
EXT=a
|
||||
mkdir -p ../pkg/vita/vpk
|
||||
# CTR/3DS
|
||||
@ -126,6 +127,38 @@ if [ $SALAMANDER = "yes" ]; then
|
||||
if [ $PLATFORM = "psp1" ] ; then
|
||||
mv -f ../EBOOT.PBP ../pkg/${platform}/EBOOT.PBP
|
||||
fi
|
||||
if [ $PLATFORM = "vita" ] ; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/sce_sys/livearea/contents
|
||||
vita-make-fself -s ../retroarchvita_salamander.velf ../pkg/${platform}/retroarch.vpk/vpk/eboot.bin
|
||||
vita-mksfoex -s TITLE_ID=RETROVITA "RetroArch" ../pkg/${platform}/retroarch.vpk/vpk/sce_sys/param.sfo
|
||||
cp ../pkg/${platform}/assets/ICON0.PNG ../pkg/${platform}/retroarch.vpk/vpk/sce_sys/icon0.png
|
||||
cp -R ../pkg/${platform}/assets/livearea ../pkg/${platform}/retroarch.vpk/vpk/sce_sys/
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/assets
|
||||
if [ -d ../media/assets/glui ]; then
|
||||
cp -r ../media/assets/glui ../pkg/${platform}/retroarch.vpk/vpk/assets
|
||||
fi
|
||||
if [ -d ../media/assets/xmb ]; then
|
||||
cp -r ../media/assets/xmb ../pkg/${platform}/retroarch.vpk/vpk/assets
|
||||
# Strip source SVG files
|
||||
rm -rf ../pkg/${platform}/retroarch.vpk/vpk/assets/xmb/flatui/src
|
||||
rm -rf ../pkg/${platform}/retroarch.vpk/vpk/assets/xmb/monochrome/src
|
||||
rm -rf ../pkg/${platform}/retroarch.vpk/vpk/assets/xmb/retroactive/src
|
||||
rm -rf ../pkg/${platform}/retroarch.vpk/vpk/assets/xmb/retroactive_marked/src
|
||||
fi
|
||||
if [ -d ../media/libretrodb/rdb ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/database/rdb
|
||||
cp -r ../media/libretrodb/rdb/* ../pkg/${platform}/retroarch.vpk/vpk/database/rdb
|
||||
fi
|
||||
if [ -d ../media/libretrodb/cursors ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/database/cursors
|
||||
cp -r ../media/libretrodb/cursors/* ../pkg/${platform}/retroarch.vpk/vpk/database/cursors
|
||||
fi
|
||||
if [ -d ../../dist/info ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/info
|
||||
cp -fv ../../dist/info/*.info ../pkg/${platform}/retroarch.vpk/vpk/info/
|
||||
fi
|
||||
make -C ../ -f Makefile.${platform}.salamander clean || exit 1
|
||||
fi
|
||||
if [ $PLATFORM = "ctr" ] ; then
|
||||
mv -f ../retroarch_3ds_salamander.cia ../pkg/3ds/cia/retroarch_3ds.cia
|
||||
make -C ../ -f Makefile.${platform} clean || exit 1
|
||||
@ -145,7 +178,7 @@ for f in `ls -v *_${platform}.${EXT}`; do
|
||||
lto=0
|
||||
whole_archive=
|
||||
big_stack=
|
||||
|
||||
|
||||
if [ $name = "nxengine" ] ; then
|
||||
echo "Applying whole archive linking..."
|
||||
whole_archive="WHOLE_ARCHIVE_LINK=1"
|
||||
@ -228,6 +261,7 @@ for f in `ls -v *_${platform}.${EXT}`; do
|
||||
mkdir -p ../pkg/${platform}/${name}_libretro.vpk/vpk/sce_sys/livearea
|
||||
mkdir -p ../pkg/${platform}/${name}_libretro.vpk/vpk/sce_sys/livearea/contents
|
||||
vita-make-fself -s ../retroarch_${platform}.velf ../pkg/${platform}/${name}_libretro.vpk/vpk/eboot.bin
|
||||
cp ../pkg/${platform}/${name}_libretro.vpk/vpk/eboot.bin ../pkg/${platform}/retroarch.vpk/vpk/${name}_libretro.self
|
||||
vita-mksfoex -s TITLE_ID=RETR${COUNTER_ID} "RetroArch ${name}" ../pkg/${platform}/${name}_libretro.vpk/vpk/sce_sys/param.sfo
|
||||
cp ../pkg/${platform}/assets/ICON0.PNG ../pkg/${platform}/${name}_libretro.vpk/vpk/sce_sys/icon0.png
|
||||
cp ../pkg/${platform}/assets/livearea/contents/bg.png ../pkg/${platform}/${name}_libretro.vpk/vpk/sce_sys/livearea/contents/bg.png
|
||||
@ -240,12 +274,24 @@ for f in `ls -v *_${platform}.${EXT}`; do
|
||||
fi
|
||||
if [ -d ../media/assets/xmb ]; then
|
||||
cp -r ../media/assets/xmb ../pkg/${platform}/${name}_libretro.vpk/vpk/assets
|
||||
# Strip source SVG files
|
||||
# Strip source SVG files
|
||||
rm -rf ../pkg/${platform}/${name}_libretro.vpk/vpk/assets/xmb/flatui/src
|
||||
rm -rf ../pkg/${platform}/${name}_libretro.vpk/vpk/assets/xmb/monochrome/src
|
||||
rm -rf ../pkg/${platform}/${name}_libretro.vpk/vpk/assets/xmb/retroactive/src
|
||||
rm -rf ../pkg/${platform}/${name}_libretro.vpk/vpk/assets/xmb/retroactive_marked/src
|
||||
fi
|
||||
if [ -d ../media/libretrodb/rdb ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/database/rdb
|
||||
cp -r ../media/libretrodb/rdb/* ../pkg/${platform}/${name}_libretro.vpk/vpk/database/rdb
|
||||
fi
|
||||
if [ -d ../media/libretrodb/cursors ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/database/cursors
|
||||
cp -r ../media/libretrodb/cursors/* ../pkg/${platform}/${name}_libretro.vpk/vpk/database/cursors
|
||||
fi
|
||||
if [ -d ../../dist/info ]; then
|
||||
mkdir -p ../pkg/${platform}/retroarch.vpk/vpk/info
|
||||
cp -fv ../../dist/info/"${name}_libretro.info" ../pkg/${platform}/${name}_libretro.vpk/vpk/info/"${name}_libretro.info"
|
||||
fi
|
||||
elif [ $PLATFORM = "ctr" ] ; then
|
||||
mv -f ../retroarch_3ds.cia ../pkg/3ds/cia/${name}_libretro.cia
|
||||
mv -f ../retroarch_3ds.3ds ../pkg/3ds/rom/${name}_libretro.3ds
|
||||
|
@ -95,8 +95,9 @@ static void frontend_psp_get_environment_settings(int *argc, char *argv[],
|
||||
#endif
|
||||
|
||||
#ifdef VITA
|
||||
strlcpy(eboot_path, "ux0:/data/retroarch/", sizeof(eboot_path));
|
||||
strlcpy(eboot_path, "app0:/", sizeof(eboot_path));
|
||||
strlcpy(g_defaults.dir.port, eboot_path, sizeof(g_defaults.dir.port));
|
||||
strlcpy(user_path, "ux0:/data/retroarch/", sizeof(user_path));
|
||||
#else
|
||||
strlcpy(eboot_path, argv[0], sizeof(eboot_path));
|
||||
/* for PSP, use uppercase directories, and no trailing slashes
|
||||
@ -108,36 +109,40 @@ static void frontend_psp_get_environment_settings(int *argc, char *argv[],
|
||||
|
||||
#ifdef VITA
|
||||
/* bundle data*/
|
||||
fill_pathname_join(g_defaults.dir.assets, "app0:/",
|
||||
"assets", sizeof(g_defaults.dir.assets));
|
||||
fill_pathname_join(g_defaults.dir.core, "app0:/",
|
||||
fill_pathname_join(g_defaults.dir.core, g_defaults.dir.port,
|
||||
"", sizeof(g_defaults.dir.core));
|
||||
fill_pathname_join(g_defaults.dir.assets, g_defaults.dir.port,
|
||||
"assets", sizeof(g_defaults.dir.assets));
|
||||
fill_pathname_join(g_defaults.dir.core_info, g_defaults.dir.core,
|
||||
"info", sizeof(g_defaults.dir.core_info));
|
||||
fill_pathname_join(g_defaults.dir.database, g_defaults.dir.port,
|
||||
"database/rdb", sizeof(g_defaults.dir.database));
|
||||
fill_pathname_join(g_defaults.dir.cursor, g_defaults.dir.port,
|
||||
"database/cursors", sizeof(g_defaults.dir.cursor));
|
||||
/* user data*/
|
||||
fill_pathname_join(g_defaults.dir.cheats, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.cheats, user_path,
|
||||
"cheats", sizeof(g_defaults.dir.cheats));
|
||||
fill_pathname_join(g_defaults.dir.menu_config, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.menu_config, user_path,
|
||||
"config", sizeof(g_defaults.dir.menu_config));
|
||||
fill_pathname_join(g_defaults.dir.core_assets, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.core_assets, user_path,
|
||||
"downloads", sizeof(g_defaults.dir.core_assets));
|
||||
fill_pathname_join(g_defaults.dir.playlist, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.playlist, user_path,
|
||||
"playlists", sizeof(g_defaults.dir.playlist));
|
||||
fill_pathname_join(g_defaults.dir.remap, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.remap, user_path,
|
||||
"remaps", sizeof(g_defaults.dir.remap));
|
||||
fill_pathname_join(g_defaults.dir.sram, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.sram, user_path,
|
||||
"savefiles", sizeof(g_defaults.dir.sram));
|
||||
fill_pathname_join(g_defaults.dir.savestate, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.savestate, user_path,
|
||||
"savestates", sizeof(g_defaults.dir.savestate));
|
||||
fill_pathname_join(g_defaults.dir.system, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.system, user_path,
|
||||
"system", sizeof(g_defaults.dir.system));
|
||||
fill_pathname_join(g_defaults.dir.cache, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.cache, user_path,
|
||||
"temp", sizeof(g_defaults.dir.cache));
|
||||
fill_pathname_join(g_defaults.dir.overlay, g_defaults.dir.port,
|
||||
fill_pathname_join(g_defaults.dir.overlay, user_path,
|
||||
"overlays", sizeof(g_defaults.dir.overlay));
|
||||
strlcpy(g_defaults.dir.content_history,
|
||||
g_defaults.dir.port, sizeof(g_defaults.dir.content_history));
|
||||
fill_pathname_join(g_defaults.path.config, g_defaults.dir.port,
|
||||
user_path, sizeof(g_defaults.dir.content_history));
|
||||
fill_pathname_join(g_defaults.path.config, user_path,
|
||||
file_path_str(FILE_PATH_MAIN_CONFIG), sizeof(g_defaults.path.config));
|
||||
#else
|
||||
|
||||
@ -222,7 +227,7 @@ static void frontend_psp_get_environment_settings(int *argc, char *argv[],
|
||||
if (!string_is_empty(argv[1]))
|
||||
{
|
||||
static char path[PATH_MAX_LENGTH] = {0};
|
||||
struct rarch_main_wrap *args =
|
||||
struct rarch_main_wrap *args =
|
||||
(struct rarch_main_wrap*)params_data;
|
||||
|
||||
if (args)
|
||||
|
Loading…
x
Reference in New Issue
Block a user