From 6f233462c1a84c3e723d6521e267573214093b5c Mon Sep 17 00:00:00 2001 From: Edward Li Date: Wed, 4 Aug 2021 06:35:18 -0700 Subject: [PATCH 01/13] Add missing JITWriteProtect to DSP --- core/hw/aica/dsp_arm64.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/hw/aica/dsp_arm64.cpp b/core/hw/aica/dsp_arm64.cpp index efef4d2eb..2dd3c1255 100644 --- a/core/hw/aica/dsp_arm64.cpp +++ b/core/hw/aica/dsp_arm64.cpp @@ -37,6 +37,7 @@ public: void Compile(struct dsp_t *DSP) { + JITWriteProtect(false); this->DSP = DSP; DEBUG_LOG(AICA_ARM, "DSPAssembler::DSPCompile recompiling for arm64 at %p", GetBuffer()->GetStartAddress()); @@ -329,6 +330,7 @@ public: vmem_platform_flush_cache( GetBuffer()->GetStartAddress(), GetBuffer()->GetEndAddress(), GetBuffer()->GetStartAddress(), GetBuffer()->GetEndAddress()); + JITWriteProtect(true); } private: From c27180fb3278520788fe4086c891565e68aa99d6 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Wed, 11 Aug 2021 12:58:57 +0200 Subject: [PATCH 02/13] android: fix navbar background. Add shortcuts for Coin/Service/Test Fix black navigation bar background. Shortcuts for virtual gamepad: RT + A -> D (Coint) RT + B -> C (Service) RT + X -> Z (Test) Issue #137 Don't deliver mouse clicks if analog triggers or stick are used --- .../flycast/src/main/AndroidManifest.xml | 3 ++- .../java/com/reicast/emulator/BaseGLActivity.java | 3 ++- .../emulator/emu/VirtualJoystickDelegate.java | 3 ++- .../flycast/src/main/jni/src/android_gamepad.h | 12 ++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/shell/android-studio/flycast/src/main/AndroidManifest.xml b/shell/android-studio/flycast/src/main/AndroidManifest.xml index e61bfb451..cd4d29c26 100644 --- a/shell/android-studio/flycast/src/main/AndroidManifest.xml +++ b/shell/android-studio/flycast/src/main/AndroidManifest.xml @@ -50,7 +50,8 @@ android:name="com.reicast.emulator.NativeGLActivity" android:configChanges="orientation|navigation|screenSize|screenLayout|uiMode|keyboard|keyboardHidden" android:screenOrientation="sensorLandscape" - android:exported="true"/> + android:exported="true" + android:theme="@style/Theme.AppCompat.NoActionBar"/> diff --git a/shell/android-studio/flycast/src/main/java/com/reicast/emulator/BaseGLActivity.java b/shell/android-studio/flycast/src/main/java/com/reicast/emulator/BaseGLActivity.java index e9551b35c..e21cf7beb 100644 --- a/shell/android-studio/flycast/src/main/java/com/reicast/emulator/BaseGLActivity.java +++ b/shell/android-studio/flycast/src/main/java/com/reicast/emulator/BaseGLActivity.java @@ -42,6 +42,7 @@ import tv.ouya.console.api.OuyaController; import static android.view.View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; import static android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS; +import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION; import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; public abstract class BaseGLActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback { @@ -66,7 +67,7 @@ public abstract class BaseGLActivity extends Activity implements ActivityCompat. // Set the navigation bar color to 0 to avoid left over when it fades out on Android 10 Window window = getWindow(); window.addFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); - window.clearFlags(FLAG_TRANSLUCENT_STATUS); + window.clearFlags(FLAG_TRANSLUCENT_STATUS | FLAG_TRANSLUCENT_NAVIGATION); window.setNavigationBarColor(0); window.getDecorView().setSystemUiVisibility(SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); } diff --git a/shell/android-studio/flycast/src/main/java/com/reicast/emulator/emu/VirtualJoystickDelegate.java b/shell/android-studio/flycast/src/main/java/com/reicast/emulator/emu/VirtualJoystickDelegate.java index 687fbd076..90071482b 100644 --- a/shell/android-studio/flycast/src/main/java/com/reicast/emulator/emu/VirtualJoystickDelegate.java +++ b/shell/android-studio/flycast/src/main/java/com/reicast/emulator/emu/VirtualJoystickDelegate.java @@ -358,7 +358,8 @@ public class VirtualJoystickDelegate { int joyy = get_anal(11, 1); InputDeviceManager.getInstance().virtualGamepadEvent(rv, joyx, joyy, left_trigger, right_trigger); // Only register the mouse event if no virtual gamepad button is down - if ((!editVjoyMode && rv == 0xFFFFFFFF) || JNIdc.guiIsOpen()) + if ((!editVjoyMode && rv == 0xFFFFFFFF && left_trigger == 0 && right_trigger == 0 && joyx == 0 && joyy == 0) + || JNIdc.guiIsOpen()) InputDeviceManager.getInstance().mouseEvent(mouse_pos[0], mouse_pos[1], mouse_btns); return(true); } diff --git a/shell/android-studio/flycast/src/main/jni/src/android_gamepad.h b/shell/android-studio/flycast/src/main/jni/src/android_gamepad.h index 1c1da7b19..3b7169c75 100644 --- a/shell/android-studio/flycast/src/main/jni/src/android_gamepad.h +++ b/shell/android-studio/flycast/src/main/jni/src/android_gamepad.h @@ -269,6 +269,18 @@ public: kcode = 0xffffffff; joyx = joyy = rt = lt = 0; } + if (rt > 0) + { + if ((kcode & DC_BTN_A) == 0) + // RT + A -> D (coin) + kcode &= ~DC_BTN_D; + if ((kcode & DC_BTN_B) == 0) + // RT + B -> C (service) + kcode &= ~DC_BTN_C; + if ((kcode & DC_BTN_X) == 0) + // RT + X -> Z (test) + kcode &= ~DC_BTN_Z; + } u32 changes = kcode ^ previous_kcode; for (int i = 0; i < 32; i++) if (changes & (1 << i)) From 3006cd4f60903d487d85f46092898b51724c2a3f Mon Sep 17 00:00:00 2001 From: scribam Date: Mon, 16 Aug 2021 19:12:01 +0200 Subject: [PATCH 03/13] .cirrus.yml: update to freebsd-13-0 --- .cirrus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index e101e5d7d..e2fd64a7d 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,5 +1,5 @@ freebsd_instance: - image_family: freebsd-12-2 + image_family: freebsd-13-0 env: CCACHE_DIR: /tmp/ccache From 43ae2ea5f55d24e46b97775250b61549e11ea6d9 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Mon, 23 Aug 2021 17:56:40 +0200 Subject: [PATCH 04/13] macOS: upgrade SDL to 2.0.16 fixes Xbox series X controller support --- shell/apple/sdl2.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/shell/apple/sdl2.rb b/shell/apple/sdl2.rb index c034be340..b0ca3f267 100644 --- a/shell/apple/sdl2.rb +++ b/shell/apple/sdl2.rb @@ -1,8 +1,8 @@ class Sdl2 < Formula desc "Low-level access to audio, keyboard, mouse, joystick, and graphics" homepage "https://www.libsdl.org/" - url "https://libsdl.org/release/SDL2-2.0.14.tar.gz" - sha256 "d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc" + url "https://libsdl.org/release/SDL2-2.0.16.tar.gz" + sha256 "65be9ff6004034b5b2ce9927b5a4db1814930f169c4b2dae0a1e4697075f287b" license "Zlib" revision 1 env :std @@ -13,10 +13,10 @@ class Sdl2 < Formula end bottle do - sha256 cellar: :any, arm64_big_sur: "2ae70b6025c4e241400643f2686c8e288d50e3f04311e63d8a1f8180ed4afb07" - sha256 cellar: :any, big_sur: "ccde7145d4334d9274f9588e6b841bf3749729682e1d25f590bdcf7994dfdd89" - sha256 cellar: :any, catalina: "d6ae3300160c5bb495b78a5c5c0fc995f9e797e9cdd4b04ef77d59d45d2d694d" - sha256 cellar: :any, mojave: "4f3988fb3af0f370bc1648d6eb1d6573fd37381df0f3b9ee0874a49d6a7dec2e" + sha256 cellar: :any, arm64_big_sur: "6adac3ca2899ab923427b9b9322c8a4a412485ac7fe6448e276b4aae598f7a49" + sha256 cellar: :any, big_sur: "71fe247bc197133b02186fac4e8f296d7f457a9507e0c77357b1069e5ee2ca61" + sha256 cellar: :any, catalina: "4634185a35d9fc37c8fc07f884e45e7e2fbaa3fdec615171e647a9e02c395bd4" + sha256 cellar: :any, mojave: "9966890d7d39147e75e92d6a7390ef5fb2f043b08f913e751638bdeef8c1c220" end head do From ce58ba347273ee4ef8f3d5d8c0253d25f234956c Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Tue, 24 Aug 2021 11:40:53 +0200 Subject: [PATCH 05/13] pvr: detect swap on FB_R_SOF2 too. Force render res. to even width Fixes Soul Calibur FPS /2 drop with Delay Frame Swapping on --- core/hw/pvr/Renderer_if.cpp | 4 ++-- core/hw/pvr/pvr_regs.cpp | 5 +---- core/nullDC.cpp | 2 ++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/core/hw/pvr/Renderer_if.cpp b/core/hw/pvr/Renderer_if.cpp index b08367c03..4073530fe 100644 --- a/core/hw/pvr/Renderer_if.cpp +++ b/core/hw/pvr/Renderer_if.cpp @@ -421,10 +421,10 @@ void rend_set_fb_write_addr(u32 fb_w_sof1) fb_w_cur = fb_w_sof1; } -void rend_swap_frame(u32 fb_r_sof1) +void rend_swap_frame(u32 fb_r_sof) { std::lock_guard lock(swap_mutex); - if (fb_r_sof1 == fb_w_cur) + if (fb_r_sof == fb_w_cur) { do_swap = true; rs.Set(); diff --git a/core/hw/pvr/pvr_regs.cpp b/core/hw/pvr/pvr_regs.cpp index 46275ba11..03767ced8 100644 --- a/core/hw/pvr/pvr_regs.cpp +++ b/core/hw/pvr/pvr_regs.cpp @@ -87,12 +87,9 @@ void pvr_WriteReg(u32 paddr,u32 data) return; case FB_R_SOF1_addr: - data &= 0x00fffffc; - rend_swap_frame(data); - break; - case FB_R_SOF2_addr: data &= 0x00fffffc; + rend_swap_frame(data); break; case FB_W_SOF1_addr: diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 3153aa3a0..b2be3104e 100644 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -729,6 +729,8 @@ void dc_resize_renderer() { hres = config::RenderResolution * 4 * config::ScreenStretching / 3 / 100; } + if (!config::Rotate90) + hres = std::roundf(hres / 2.f) * 2.f; if (renderer != nullptr) renderer->Resize(hres, vres); } From 7a33ae35e0f45ca0970feffc51cabcc952f029ed Mon Sep 17 00:00:00 2001 From: vkedwardli Date: Tue, 24 Aug 2021 17:43:19 +0800 Subject: [PATCH 06/13] [macOS] Fix DelayFrameSwapping and optimise Vsync logic (#307) * Support macOS 10.15 and 11 * Enable VSync option on macOS. Use "swapOnVSync" logic from other wsi * Limit `mainui_rend_frame()` to 5 iterations max: 4 renders and the final swap --- core/rend/gui.cpp | 2 -- .../emulator-osx/emulator-osx/EmuGLView.swift | 24 +++++++++++-------- .../emulator-osx-Bridging-Header.h | 3 ++- .../emulator-osx/emulator-osx/osx-main.mm | 21 ++++++++++++---- 4 files changed, 33 insertions(+), 17 deletions(-) diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 33b6e7910..e60685719 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -1432,9 +1432,7 @@ static void gui_display_settings() } OptionCheckbox("Widescreen Game Cheats", config::WidescreenGameHacks, "Modify the game so that it displays in 16:9 anamorphic format and use horizontal screen stretching. Only some games are supported."); -#ifndef __APPLE__ OptionCheckbox("VSync", config::VSync, "Synchronizes the frame rate with the screen refresh rate. Recommended"); -#endif OptionCheckbox("Show FPS Counter", config::ShowFPS, "Show on-screen frame/sec counter"); OptionCheckbox("Show VMU In-game", config::FloatVMUs, "Show the VMU LCD screens while in-game"); OptionCheckbox("Rotate Screen 90°", config::Rotate90, "Rotate the screen 90° counterclockwise"); diff --git a/shell/apple/emulator-osx/emulator-osx/EmuGLView.swift b/shell/apple/emulator-osx/emulator-osx/EmuGLView.swift index 957482c19..fd6e2ff3c 100644 --- a/shell/apple/emulator-osx/emulator-osx/EmuGLView.swift +++ b/shell/apple/emulator-osx/emulator-osx/EmuGLView.swift @@ -10,7 +10,8 @@ import Cocoa class EmuGLView: NSOpenGLView, NSWindowDelegate { - var backingRect:NSRect? + var backingRect: NSRect? + var swapOnVSync = emu_vsync_enabled() override var acceptsFirstResponder: Bool { return true; @@ -20,19 +21,22 @@ class EmuGLView: NSOpenGLView, NSWindowDelegate { super.draw(dirtyRect) backingRect = convertToBacking(dirtyRect) - if emu_fast_forward() == false { + if swapOnVSync { draw() } } func draw() { - var sync: GLint = emu_fast_forward() ? 0 : 1 - CGLSetParameter(openGLContext!.cglContextObj!, kCGLCPSwapInterval, &sync) + if swapOnVSync == (emu_fast_forward() || !emu_vsync_enabled()) { + swapOnVSync = (!emu_fast_forward() && emu_vsync_enabled()) + var sync: GLint = swapOnVSync ? 1 : 0 + CGLSetParameter(openGLContext!.cglContextObj!, kCGLCPSwapInterval, &sync) + } if let backingRect = backingRect { openGLContext!.makeCurrentContext() - if (emu_single_frame(Int32(backingRect.width), Int32(backingRect.height)) != 0) { - openGLContext!.flushBuffer() + if emu_single_frame(Int32(backingRect.width), Int32(backingRect.height)) { + openGLContext!.flushBuffer() //Swap for macOS } } } @@ -80,11 +84,11 @@ class EmuGLView: NSOpenGLView, NSWindowDelegate { if (!emu_renderer_enabled()) { NSApplication.shared.terminate(self) } - else if (emu_frame_pending()) { - if emu_fast_forward() { - self.draw() - } else { + else if emu_frame_pending() { + if swapOnVSync { self.needsDisplay = true + } else { + self.draw() } } } diff --git a/shell/apple/emulator-osx/emulator-osx/emulator-osx-Bridging-Header.h b/shell/apple/emulator-osx/emulator-osx/emulator-osx-Bridging-Header.h index 980039a65..1e5c98233 100644 --- a/shell/apple/emulator-osx/emulator-osx/emulator-osx-Bridging-Header.h +++ b/shell/apple/emulator-osx/emulator-osx/emulator-osx-Bridging-Header.h @@ -19,7 +19,8 @@ void emu_dc_term(); void emu_gui_open_settings(); bool emu_renderer_enabled(); bool emu_fast_forward(); -int emu_single_frame(int w, int h); +bool emu_vsync_enabled(); +bool emu_single_frame(int w, int h); void emu_gles_init(int width, int height); int emu_reicast_init(); void emu_key_input(UInt16 keyCode, bool pressed, UInt32 modifierFlags); diff --git a/shell/apple/emulator-osx/emulator-osx/osx-main.mm b/shell/apple/emulator-osx/emulator-osx/osx-main.mm index eae472ed5..57ada1707 100644 --- a/shell/apple/emulator-osx/emulator-osx/osx-main.mm +++ b/shell/apple/emulator-osx/emulator-osx/osx-main.mm @@ -131,14 +131,27 @@ bool emu_fast_forward() return settings.input.fastForwardMode; } -int emu_single_frame(int w, int h) +bool emu_vsync_enabled() { - if (!emu_frame_pending()) - return 0; + return config::VSync; +} +bool emu_single_frame(int w, int h) +{ screen_width = w; screen_height = h; - return (int)mainui_rend_frame(); + + //For DelayFrameSwapping: use while loop to call multple mainui_rend_frame() until rend_swap_frame(u32 fb_r_sof1) + int counter = 0; + while (mainui_enabled && counter < 5) + { + counter++; + if (mainui_rend_frame()) + { + return true; + } + } + return false; } void emu_gles_init(int width, int height) From 52af352fcd2f794b88b9fe6800145c1c69e7b6d6 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Thu, 26 Aug 2021 13:25:18 +0200 Subject: [PATCH 07/13] input: never load mapping file for !remappable controllers Fixes android on-screen gamepad not working when a (wrong) mapping file exists for it. Issue #325 Issue #330 --- core/input/gamepad_device.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/input/gamepad_device.cpp b/core/input/gamepad_device.cpp index 905e5697f..ab11e7203 100644 --- a/core/input/gamepad_device.cpp +++ b/core/input/gamepad_device.cpp @@ -377,6 +377,8 @@ std::string GamepadDevice::make_mapping_filename(bool instance, int system) bool GamepadDevice::find_mapping(int system) { + if (!_remappable) + return true; std::string mapping_file; mapping_file = make_mapping_filename(false, system); @@ -395,6 +397,8 @@ bool GamepadDevice::find_mapping(int system) bool GamepadDevice::find_mapping(const char *custom_mapping /* = nullptr */) { + if (!_remappable) + return true; std::string mapping_file; if (custom_mapping != nullptr) mapping_file = custom_mapping; From 89ccdf2814a00c41b85fc30fdf321b1105323f49 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Thu, 26 Aug 2021 13:28:13 +0200 Subject: [PATCH 08/13] rend: better fix to force even width rendering --- core/nullDC.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/core/nullDC.cpp b/core/nullDC.cpp index b2be3104e..96f6729ec 100644 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -711,28 +711,29 @@ void SaveSettings() void dc_resize_renderer() { - int hres; + float hres; int vres = config::RenderResolution; if (config::Widescreen && !config::Rotate90) { if (config::SuperWidescreen) - hres = config::RenderResolution * screen_width / screen_height ; + hres = (float)config::RenderResolution * screen_width / screen_height ; else - hres = config::RenderResolution * 16 / 9; + hres = config::RenderResolution * 16.f / 9.f; + } else if (config::Rotate90) { vres = vres * config::ScreenStretching / 100; - hres = config::RenderResolution * 4 / 3; + hres = config::RenderResolution * 4.f / 3.f; } else { - hres = config::RenderResolution * 4 * config::ScreenStretching / 3 / 100; + hres = config::RenderResolution * 4.f * config::ScreenStretching / 3.f / 100.f; } if (!config::Rotate90) hres = std::roundf(hres / 2.f) * 2.f; - if (renderer != nullptr) - renderer->Resize(hres, vres); + DEBUG_LOG(RENDERER, "dc_resize_renderer: %d x %d", (int)hres, vres); + renderer->Resize((int)hres, vres); } void dc_resume() From a51f310e96a0605b25e8fb59fd0007245335d46b Mon Sep 17 00:00:00 2001 From: vkedwardli Date: Thu, 26 Aug 2021 19:30:23 +0800 Subject: [PATCH 09/13] Add volume slider in audio settings (#329) Use logarithmic volume scale --- core/cfg/option.cpp | 1 + core/cfg/option.h | 25 +++++++++++++++++++++++++ core/oslib/audiostream.cpp | 4 ++-- core/rend/gui.cpp | 4 ++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/core/cfg/option.cpp b/core/cfg/option.cpp index 31399801a..8c6174183 100644 --- a/core/cfg/option.cpp +++ b/core/cfg/option.cpp @@ -56,6 +56,7 @@ Option AutoLatency("aica.AutoLatency", ); OptionString AudioBackend("backend", "auto", "audio"); +AudioVolumeOption AudioVolume; // Rendering diff --git a/core/cfg/option.h b/core/cfg/option.h index 844fd876e..40a603b0f 100644 --- a/core/cfg/option.h +++ b/core/cfg/option.h @@ -20,6 +20,7 @@ #include #include #include +#include #include "cfg.h" #include "hw/maple/maple_cfg.h" @@ -305,6 +306,30 @@ extern Option AutoLatency; extern OptionString AudioBackend; +class AudioVolumeOption : public Option { +public: + AudioVolumeOption() : Option("aica.Volume", 100) {}; + float logarithmic_volume_scale = 1.0; + + void load() override { + Option::load(); + calcDbPower(); + } + + float dbPower() + { + return logarithmic_volume_scale; + } + void calcDbPower() + { + // dB scaling calculation: https://www.dr-lex.be/info-stuff/volumecontrols.html + logarithmic_volume_scale = fmin(exp(4.605 * float(value) / 100.0) / 100.0, 1.0); + if (value < 10) + logarithmic_volume_scale *= value / 10.0; + } +}; +extern AudioVolumeOption AudioVolume; + // Rendering class RendererOption : public Option { diff --git a/core/oslib/audiostream.cpp b/core/oslib/audiostream.cpp index 506bd07a7..f638bb614 100644 --- a/core/oslib/audiostream.cpp +++ b/core/oslib/audiostream.cpp @@ -79,8 +79,8 @@ audiobackend_t* GetAudioBackend(const std::string& slug) void WriteSample(s16 r, s16 l) { - Buffer[writePtr].r = r; - Buffer[writePtr].l = l; + Buffer[writePtr].r = r * config::AudioVolume.dbPower(); + Buffer[writePtr].l = l * config::AudioVolume.dbPower(); if (++writePtr == SAMPLE_COUNT) { diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index e60685719..ffe4ace56 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -1558,6 +1558,10 @@ static void gui_display_settings() OptionCheckbox("Disable Sound", config::DisableSound, "Disable the emulator sound output"); OptionCheckbox("Enable DSP", config::DSPEnabled, "Enable the Dreamcast Digital Sound Processor. Only recommended on fast platforms"); + if (OptionSlider("Volume Level", config::AudioVolume, 0, 100, "Adjust the emulator's audio level")) + { + config::AudioVolume.calcDbPower(); + }; #ifdef __ANDROID__ if (config::AudioBackend.get() == "auto" || config::AudioBackend.get() == "android") OptionCheckbox("Automatic Latency", config::AutoLatency, From 2baf2cfed68ce989019ab06e9a50abfb3c2ca0c6 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Mon, 30 Aug 2021 12:13:52 +0200 Subject: [PATCH 10/13] ci: always install dx2010 --- .github/workflows/c-cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index cb08dbac9..39c9f89d9 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -51,7 +51,7 @@ jobs: if: matrix.config.os == 'windows-latest' - name: Download DX2010 - if: steps.cache.outputs.cache-hit != 'true' && matrix.config.os == 'windows-latest' && matrix.config.name != 'x86_64-w64-mingw32' + if: matrix.config.os == 'windows-latest' && matrix.config.name != 'x86_64-w64-mingw32' run: | curl -L https://download.microsoft.com/download/a/e/7/ae743f1f-632b-4809-87a9-aa1bb3458e31/DXSDK_Jun10.exe -o _DX2010_.exe 7z x _DX2010_.exe DXSDK/Include -o_DX2010_ From 3589e94121611f7106f2565a8f3ab227161deb41 Mon Sep 17 00:00:00 2001 From: scribam Date: Mon, 30 Aug 2021 21:58:11 +0200 Subject: [PATCH 11/13] android: update com.android.tools.build:gradle to version 7.0.1 --- shell/android-studio/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shell/android-studio/build.gradle b/shell/android-studio/build.gradle index 5fce4d0c8..2399827d3 100644 --- a/shell/android-studio/build.gradle +++ b/shell/android-studio/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:7.0.0" + classpath "com.android.tools.build:gradle:7.0.1" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files From a6ad0208dbb43bb0d56f0df8d53785cba82217cf Mon Sep 17 00:00:00 2001 From: flyinghead Date: Fri, 3 Sep 2021 23:54:40 +0200 Subject: [PATCH 12/13] uTip link --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..41b7b49c1 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: ['https://utip.io/flyinghead'] From baa0ac44cad4cbd452f7183c864d4d7cf1f2a7a6 Mon Sep 17 00:00:00 2001 From: flyinghead Date: Sun, 5 Sep 2021 17:30:26 +0200 Subject: [PATCH 13/13] paypalme link --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 41b7b49c1..8dcaf19dd 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1 @@ -custom: ['https://utip.io/flyinghead'] +custom: ['https://utip.io/flyinghead', 'https://www.paypal.com/paypalme/FlycastEmu']