games/RetroArch: Updated for version 1.7.5.
Signed-off-by: David Spencer <baildon.research@googlemail.com>
This commit is contained in:
parent
e6567da89f
commit
c673e15e58
|
@ -23,8 +23,8 @@
|
|||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM=RetroArch
|
||||
VERSION=${VERSION:-1.7.4}
|
||||
BUILD=${BUILD:-2}
|
||||
VERSION=${VERSION:-1.7.5}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -123,25 +123,6 @@ sed -e "s|# audio_filter_dir =|audio_filter_dir = ${filter_dir}/audio|" \
|
|||
-e "$SED_CORE;$SED_INFO;$SED_MENU" \
|
||||
-i retroarch.cfg
|
||||
|
||||
# Update libretro-common
|
||||
# https://github.com/libretro/RetroArch/commit/7c22f265b8928aca6e5706ab3a8bab2de0e24b8c
|
||||
# https://github.com/libretro/libretro-common/pull/84
|
||||
# https://github.com/libretro/RetroArch/issues/6889
|
||||
patch -p1 < $CWD/libretro.patch
|
||||
|
||||
# Update config entries pointer to the new beginning of the list after sorting
|
||||
# https://github.com/libretro/RetroArch/commit/9da261c6d9a3f276e44c7f1999aef4fc758cbafd
|
||||
# https://github.com/libretro/RetroArch/pull/7178
|
||||
# https://github.com/libretro/RetroArch/issues/7160
|
||||
patch -p1 < $CWD/etc.patch
|
||||
|
||||
# revert #7156
|
||||
# https://github.com/libretro/RetroArch/commit/64459bda3a8add5c5e679b3fa4d1fd4cd7796233
|
||||
# https://github.com/libretro/RetroArch/commit/dd9db4140304c480745f7f344ff67041bdd2c9ad
|
||||
# https://github.com/libretro/RetroArch/pull/7162
|
||||
# https://github.com/libretro/RetroArch/pull/7163
|
||||
patch -p1 < $CWD/savestates.patch
|
||||
|
||||
# Set $lib to a portable array
|
||||
eval "set -- $lib"
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
PRGNAM="RetroArch"
|
||||
VERSION="1.7.4"
|
||||
VERSION="1.7.5"
|
||||
HOMEPAGE="https://www.libretro.com/"
|
||||
DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.4/RetroArch-1.7.4.tar.xz"
|
||||
MD5SUM="b5e1ce8a3abe7a2aee5f0ebe09b9d914"
|
||||
DOWNLOAD="https://github.com/libretro/RetroArch/releases/download/v1.7.5/RetroArch-1.7.5.tar.xz"
|
||||
MD5SUM="6d4247679a99a691fd280f5dfc6b1db9"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
From 9da261c6d9a3f276e44c7f1999aef4fc758cbafd Mon Sep 17 00:00:00 2001
|
||||
From: Rob Loach <robloach@gmail.com>
|
||||
Date: Mon, 3 Sep 2018 13:31:46 -0400
|
||||
Subject: [PATCH] Update config entries pointer to the new beginning of the
|
||||
list after sorting
|
||||
|
||||
---
|
||||
libretro-common/file/config_file.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libretro-common/file/config_file.c b/libretro-common/file/config_file.c
|
||||
index 9c2b76b170..0a63e7781a 100644
|
||||
--- a/libretro-common/file/config_file.c
|
||||
+++ b/libretro-common/file/config_file.c
|
||||
@@ -999,6 +999,7 @@ void config_file_dump(config_file_t *conf, FILE *file)
|
||||
}
|
||||
|
||||
list = merge_sort_linked_list((struct config_entry_list*)conf->entries, config_sort_compare_func);
|
||||
+ conf->entries = list;
|
||||
|
||||
while (list)
|
||||
{
|
||||
@@ -1092,7 +1093,7 @@ static void test_config_file(void)
|
||||
test_config_file_parse_contains("foo = \"bar\"", "foo", "bar");
|
||||
|
||||
#if 0
|
||||
- /* turns out it treats empty as nonexistent -
|
||||
+ /* turns out it treats empty as nonexistent -
|
||||
* should probably be fixed */
|
||||
test_config_file_parse_contains("foo = \"\"\n", "foo", "");
|
||||
test_config_file_parse_contains("foo = \"\"", "foo", "");
|
|
@ -1,71 +0,0 @@
|
|||
From 7c22f265b8928aca6e5706ab3a8bab2de0e24b8c Mon Sep 17 00:00:00 2001
|
||||
From: twinaphex <libretro@gmail.com>
|
||||
Date: Fri, 31 Aug 2018 02:28:20 +0200
|
||||
Subject: [PATCH] Update libretro-common
|
||||
|
||||
---
|
||||
libretro-common/audio/dsp_filters/reverb.c | 18 +++++-------------
|
||||
1 file changed, 5 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/libretro-common/audio/dsp_filters/reverb.c b/libretro-common/audio/dsp_filters/reverb.c
|
||||
index e9bc8170e1..d1a770fd34 100644
|
||||
--- a/libretro-common/audio/dsp_filters/reverb.c
|
||||
+++ b/libretro-common/audio/dsp_filters/reverb.c
|
||||
@@ -96,8 +96,8 @@ struct revmodel
|
||||
struct comb combL[numcombs];
|
||||
struct allpass allpassL[numallpasses];
|
||||
|
||||
- float **bufcomb;
|
||||
- float **bufallpass;
|
||||
+ float *bufcomb[numcombs];
|
||||
+ float *bufallpass[numallpasses];
|
||||
|
||||
float gain;
|
||||
float roomsize, roomsize1;
|
||||
@@ -194,27 +194,23 @@ static void revmodel_init(struct revmodel *rev,int srate)
|
||||
double r = srate * (1 / 44100.0);
|
||||
unsigned c;
|
||||
|
||||
- rev->bufcomb=malloc(numcombs*sizeof(float*));
|
||||
for (c = 0; c < numcombs; ++c)
|
||||
{
|
||||
rev->bufcomb[c] = malloc(r*comb_lengths[c]*sizeof(float));
|
||||
rev->combL[c].buffer = rev->bufcomb[c];
|
||||
+ memset(rev->combL[c].buffer,0,r*comb_lengths[c]*sizeof(float));
|
||||
rev->combL[c].bufsize=r*comb_lengths[c];
|
||||
}
|
||||
|
||||
- rev->bufallpass=malloc(numallpasses*sizeof(float*));
|
||||
for (c = 0; c < numallpasses; ++c)
|
||||
{
|
||||
rev->bufallpass[c] = malloc(r*allpass_lengths[c]*sizeof(float));
|
||||
rev->allpassL[c].buffer = rev->bufallpass[c];
|
||||
+ memset(rev->allpassL[c].buffer,0,r*allpass_lengths[c]*sizeof(float));
|
||||
rev->allpassL[c].bufsize=r*allpass_lengths[c];
|
||||
+ rev->allpassL[c].feedback = 0.5f;
|
||||
}
|
||||
|
||||
- rev->allpassL[0].feedback = 0.5f;
|
||||
- rev->allpassL[1].feedback = 0.5f;
|
||||
- rev->allpassL[2].feedback = 0.5f;
|
||||
- rev->allpassL[3].feedback = 0.5f;
|
||||
-
|
||||
revmodel_setwet(rev, initialwet);
|
||||
revmodel_setroomsize(rev, initialroom);
|
||||
revmodel_setdry(rev, initialdry);
|
||||
@@ -237,15 +233,11 @@ static void reverb_free(void *data)
|
||||
free(rev->left.bufcomb[i]);
|
||||
free(rev->right.bufcomb[i]);
|
||||
}
|
||||
- free(rev->left.bufcomb);
|
||||
- free(rev->right.bufcomb);
|
||||
|
||||
for (i = 0; i < numallpasses; i++) {
|
||||
free(rev->left.bufallpass[i]);
|
||||
free(rev->right.bufallpass[i]);
|
||||
}
|
||||
- free(rev->left.bufallpass);
|
||||
- free(rev->right.bufallpass);
|
||||
free(data);
|
||||
}
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
From 64459bda3a8add5c5e679b3fa4d1fd4cd7796233 Mon Sep 17 00:00:00 2001
|
||||
From: Tatsuya79 <jeanpascalmeunier@hotmail.com>
|
||||
Date: Sat, 1 Sep 2018 01:41:21 +0200
|
||||
Subject: [PATCH] revert #7156
|
||||
|
||||
revert https://github.com/libretro/RetroArch/pull/7156
|
||||
---
|
||||
tasks/task_save.c | 142 ++++++++++++++++++++--------------------------
|
||||
1 file changed, 62 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/tasks/task_save.c b/tasks/task_save.c
|
||||
index fb08c229b7..1b5d93be4e 100644
|
||||
--- a/tasks/task_save.c
|
||||
+++ b/tasks/task_save.c
|
||||
@@ -555,33 +555,6 @@ static void task_save_handler_finished(retro_task_t *task,
|
||||
free(state);
|
||||
}
|
||||
|
||||
-void* get_serialized_data(const char *path, size_t serial_size)
|
||||
-{
|
||||
- retro_ctx_serialize_info_t serial_info;
|
||||
- bool ret = false;
|
||||
- void *data = NULL;
|
||||
-
|
||||
- data = malloc(serial_size);
|
||||
-
|
||||
- if (!data)
|
||||
- return NULL;
|
||||
-
|
||||
- RARCH_LOG("%s: %d %s.\n",
|
||||
- msg_hash_to_str(MSG_STATE_SIZE),
|
||||
- (int)serial_size,
|
||||
- msg_hash_to_str(MSG_BYTES));
|
||||
-
|
||||
- serial_info.data = data;
|
||||
- serial_info.size = serial_size;
|
||||
- ret = core_serialize(&serial_info);
|
||||
- if ( !ret )
|
||||
- {
|
||||
- free(data) ;
|
||||
- return NULL ;
|
||||
- }
|
||||
- return data ;
|
||||
-}
|
||||
-
|
||||
/**
|
||||
* task_save_handler:
|
||||
* @task : the task being worked on
|
||||
@@ -603,22 +576,9 @@ static void task_save_handler(retro_task_t *task)
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!state->data)
|
||||
- {
|
||||
- state->data = get_serialized_data(state->path, state->size) ;
|
||||
- }
|
||||
-
|
||||
remaining = MIN(state->size - state->written, SAVE_STATE_CHUNK);
|
||||
-
|
||||
- if ( state->data )
|
||||
- {
|
||||
- written = (int)intfstream_write(state->file,
|
||||
- (uint8_t*)state->data + state->written, remaining);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- written = 0 ;
|
||||
- }
|
||||
+ written = (int)intfstream_write(state->file,
|
||||
+ (uint8_t*)state->data + state->written, remaining);
|
||||
|
||||
state->written += written;
|
||||
|
||||
@@ -1174,7 +1134,6 @@ error:
|
||||
free(task);
|
||||
}
|
||||
|
||||
-
|
||||
/**
|
||||
* content_save_state:
|
||||
* @path : path of saved state that shall be written to.
|
||||
@@ -1185,62 +1144,85 @@ error:
|
||||
**/
|
||||
bool content_save_state(const char *path, bool save_to_disk, bool autosave)
|
||||
{
|
||||
- //retro_ctx_serialize_info_t serial_info;
|
||||
+ retro_ctx_serialize_info_t serial_info;
|
||||
retro_ctx_size_info_t info;
|
||||
bool ret = false;
|
||||
void *data = NULL;
|
||||
|
||||
core_serialize_size(&info);
|
||||
|
||||
- if (save_to_disk)
|
||||
+ RARCH_LOG("%s: \"%s\".\n",
|
||||
+ msg_hash_to_str(MSG_SAVING_STATE),
|
||||
+ path);
|
||||
+
|
||||
+ if (info.size == 0)
|
||||
+ return false;
|
||||
+
|
||||
+ data = malloc(info.size);
|
||||
+
|
||||
+ if (!data)
|
||||
+ return false;
|
||||
+
|
||||
+ RARCH_LOG("%s: %d %s.\n",
|
||||
+ msg_hash_to_str(MSG_STATE_SIZE),
|
||||
+ (int)info.size,
|
||||
+ msg_hash_to_str(MSG_BYTES));
|
||||
+
|
||||
+ serial_info.data = data;
|
||||
+ serial_info.size = info.size;
|
||||
+ ret = core_serialize(&serial_info);
|
||||
+
|
||||
+ if (ret)
|
||||
{
|
||||
- if (filestream_exists(path) && !autosave)
|
||||
+ if (save_to_disk)
|
||||
{
|
||||
- /* Before overwritting the savestate file, load it into a buffer
|
||||
- to allow undo_save_state() to work */
|
||||
- /* TODO/FIXME - Use msg_hash_to_str here */
|
||||
- RARCH_LOG("%s ...\n",
|
||||
- msg_hash_to_str(MSG_FILE_ALREADY_EXISTS_SAVING_TO_BACKUP_BUFFER));
|
||||
+ if (filestream_exists(path) && !autosave)
|
||||
+ {
|
||||
+ /* Before overwritting the savestate file, load it into a buffer
|
||||
+ to allow undo_save_state() to work */
|
||||
+ /* TODO/FIXME - Use msg_hash_to_str here */
|
||||
+ RARCH_LOG("%s ...\n",
|
||||
+ msg_hash_to_str(MSG_FILE_ALREADY_EXISTS_SAVING_TO_BACKUP_BUFFER));
|
||||
|
||||
- task_push_load_and_save_state(path, data, info.size, true, autosave);
|
||||
+ task_push_load_and_save_state(path, data, info.size, true, autosave);
|
||||
+ }
|
||||
+ else
|
||||
+ task_push_save_state(path, data, info.size, autosave);
|
||||
}
|
||||
else
|
||||
- task_push_save_state(path, data, info.size, autosave);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- data = get_serialized_data(path, info.size) ;
|
||||
- if ( data == NULL )
|
||||
{
|
||||
- RARCH_ERR("%s \"%s\".\n",
|
||||
- msg_hash_to_str(MSG_FAILED_TO_SAVE_STATE_TO),
|
||||
- path);
|
||||
- return false ;
|
||||
- }
|
||||
- /* save_to_disk is false, which means we are saving the state
|
||||
- in undo_load_buf to allow content_undo_load_state() to restore it */
|
||||
+ /* save_to_disk is false, which means we are saving the state
|
||||
+ in undo_load_buf to allow content_undo_load_state() to restore it */
|
||||
|
||||
- /* If we were holding onto an old state already, clean it up first */
|
||||
- if (undo_load_buf.data)
|
||||
- {
|
||||
- free(undo_load_buf.data);
|
||||
- undo_load_buf.data = NULL;
|
||||
- }
|
||||
+ /* If we were holding onto an old state already, clean it up first */
|
||||
+ if (undo_load_buf.data)
|
||||
+ {
|
||||
+ free(undo_load_buf.data);
|
||||
+ undo_load_buf.data = NULL;
|
||||
+ }
|
||||
|
||||
- undo_load_buf.data = malloc(info.size);
|
||||
- if (!undo_load_buf.data)
|
||||
- {
|
||||
+ undo_load_buf.data = malloc(info.size);
|
||||
+ if (!undo_load_buf.data)
|
||||
+ {
|
||||
+ free(data);
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ memcpy(undo_load_buf.data, data, info.size);
|
||||
free(data);
|
||||
- return false;
|
||||
+ undo_load_buf.size = info.size;
|
||||
+ strlcpy(undo_load_buf.path, path, sizeof(undo_load_buf.path));
|
||||
}
|
||||
-
|
||||
- memcpy(undo_load_buf.data, data, info.size);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
free(data);
|
||||
- undo_load_buf.size = info.size;
|
||||
- strlcpy(undo_load_buf.path, path, sizeof(undo_load_buf.path));
|
||||
+ RARCH_ERR("%s \"%s\".\n",
|
||||
+ msg_hash_to_str(MSG_FAILED_TO_SAVE_STATE_TO),
|
||||
+ path);
|
||||
}
|
||||
|
||||
- return true;
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.18.0
|
Loading…
Reference in New Issue