From f4a6c356aa5faff8594a2288b0251296e8a0d0cf Mon Sep 17 00:00:00 2001 From: Logan McNaughton Date: Wed, 23 Jun 2021 08:10:48 -0600 Subject: [PATCH] update parallel rdp --- parallel-rdp-standalone/gfx_m64p.c | 9 +++++++++ parallel-rdp-standalone/parallel_imp.cpp | 4 +++- parallel-rdp-standalone/parallel_imp.h | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/parallel-rdp-standalone/gfx_m64p.c b/parallel-rdp-standalone/gfx_m64p.c index e8b622d..3bbb581 100644 --- a/parallel-rdp-standalone/gfx_m64p.c +++ b/parallel-rdp-standalone/gfx_m64p.c @@ -242,6 +242,15 @@ EXPORT int CALL RomOpen(void) vk_synchronous = ConfigGetParamBool(configVideoParallel, KEY_SYNCHRONOUS); + char romname[21]; + for (int i = 0; i < 20; ++i) + romname[i] = gfx.HEADER[(32 + i) ^ 3]; + romname[20] = 0; + if (strstr(romname, (const char *)"S.F. RUSH") != NULL) + skip_swap_clear = true; + else + skip_swap_clear = false; + plugin_init(); vk_init(); diff --git a/parallel-rdp-standalone/parallel_imp.cpp b/parallel-rdp-standalone/parallel_imp.cpp index 5bd297c..6581b94 100644 --- a/parallel-rdp-standalone/parallel_imp.cpp +++ b/parallel-rdp-standalone/parallel_imp.cpp @@ -28,6 +28,7 @@ bool vk_native_tex_rect; bool vk_synchronous, vk_divot_filter, vk_gamma_dither; bool vk_vi_aa, vk_vi_scale, vk_dither_filter; bool vk_interlacing; +bool skip_swap_clear; static const unsigned cmd_len_lut[64] = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 6, 12, 14, 12, 14, 20, 22, @@ -107,7 +108,8 @@ void vk_rasterize() if (width == 0 || height == 0) { - screen_swap(true); + if (!skip_swap_clear) + screen_swap(true); return; } diff --git a/parallel-rdp-standalone/parallel_imp.h b/parallel-rdp-standalone/parallel_imp.h index 33c44e9..dcc31c1 100644 --- a/parallel-rdp-standalone/parallel_imp.h +++ b/parallel-rdp-standalone/parallel_imp.h @@ -20,6 +20,7 @@ extern "C" extern bool vk_vi_aa, vk_vi_scale, vk_dither_filter; extern bool vk_interlacing; extern bool vk_synchronous; + extern bool skip_swap_clear; void vk_rasterize(); void vk_process_commands();