Merge pull request #3768 from frangarcj/master

Salamander and Retrodb
This commit is contained in:
Twinaphex 2016-10-10 11:55:05 +02:00 committed by GitHub
commit f63c32d3d0
4 changed files with 82 additions and 30 deletions

View File

@ -248,6 +248,7 @@ else ifeq ($(platform), vita)
HAVE_STB_FONT :=1
RARCH_CONSOLE = 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
endif

View File

@ -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)

View File

@ -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

View File

@ -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)