Package Release Info

dolphin-emu-5.0+git.20210404T223733.ccc99ebfe3-bp154.1.50

Update Info: Base Release
Available in Package Hub : 15 SP4

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

dolphin-emu
dolphin-emu-lang

Change Logs

* Mon Apr 05 2021 idonmez@suse.com
- Update to version 5.0+git.20210404T223733.ccc99ebfe3:
  * Replace uses of cassert with Common/Assert.h
  * VertexShaderGen: Sonic epsilon hack for OpenGL ES
  * GameINI: RM8E01 - Update Cheats
  * GameINI: GP7E01 - Update Cheats
  * GameINI: GP6E01 - Update Cheats
  * GameINI: GP5E01 - Update Cheats
  * GameINI: GMPE01 - Update Cheats
  * Translation resources sync with Transifex
  * JitArm64: Allow DoJit at address 0 (fix launching Wii titles)
  * Android: Add "Synchronize GPU Thread" setting (SyncOnSkipIdle/SyncGPU)
  * Android: Expand the game INI deletion prompt
  * Android: Rename "Enable Logging" to "Write Logs to File"
  * Add additional commits to .git-blame-ignore-revs
  * GameList: Use titles from the Title Database for shortcut creation
  * GameList: Remove invalid characters when creating a desktop shortcut
  * Fix PanicAlert when recording FIFOs
  * Refactor CP array constants slightly
  * DSPHLE: Don't restore the last UCode when the crc doesn't match
  * AudioCommon: Initialize before HW
  * PPCAnalyst: Rework the store-safe logic
  * JitArm64: Use STP for pc/npc, part 2
  * Translation resources sync with Transifex
  * VolumeVerifier: Align partition reads to groups
  * VolumeVerifier: Handle contents overlapping
  * VolumeVerifier: Handle overlapping blocks more efficiently
  * Avoid using panic alerts in DiscIO
  * SI/DeviceGBA: Improve link stability
  * JitArm64: Constant carry flag optimizations
  * Android: Limit the height of the in-game menu's game title
  * Android: Make the in-game menu scrollbar wider
  * Android: Add some missing settings to Hacks section of Graphics
  * JitArm64: Fix broken format strings in Arm64RegCache
  * Open the properties window when alt+enter is used on the game list
  * Apply More Core::RunAsCPUThread
  * DolphinQt: update hotkeyscheduler to run at 200hz, giving more precision for FreeLook motion devices
  * FreeLook: update camera and manager to use a delta time for movement (in case we decide to move this somewhere else in the future)
  * Boot: Move initial UpdateWantDeterminism call earlier
  * DolphinQt: update FreeLook to use relative input
  * DolphinQt: Add separate Free Look tab for rotation
  * FreelookManager: Add gyro to support either keyboard/gamepad binding or motion based controllers
  * VideoCommon: update FreeLook camera to add quaternion based rotation, fix orbital and fps implementations
  * InputCommon: Allow for partial gyro mapping; for Free Look, this allows you to only pitch or only yaw
  * InputCommon / DolphinQt / Core: Add a "RelativeMouse" input which provides the raw delta mouse input
  * RenderWidget: Remove mouse based Free Look since it has moved to the HotkeyScheduler
  * Common: Add function to get Euler angles from a Quaternion
  * JitArm64: Optimize general case of srawx
  * Android: Fix rescanning on first app launch after cache clear
  * CMake: Fix unused compiler flag warning
  * Fix loading save states with bluetooth passthrough
  * Android: Fix recreating main activity
  * JitArm64: Improve srawx special case carry calculation
  * Arm64Gen: Convert ARM64Reg to enum class
  * Gamelist: Fix 'Open Containing Folder'
  * [Updater] Check whether we've already had an update triggered
  * DVDThread: Set ReadError instead of BlockOOB for failed reads
  * DVDInterface: Make the WBFS/CISO hack only affect WBFS/CISO
  * DiscIO: Move magic constants for discs to DiscUtils
  * DiscIO: Move some code from VolumeVerifier to DiscUtils
  * DiscIO: Move some code from DiscExtractor to new file DiscUtils
  * Display a progress bar to notify the user, about the work is being done
  * Fix detecting rso modules
  * EnumFormatter: fix signed/unsigned comparison warnings
  * Translation resources sync with Transifex
  * Touchscreen: Add override specifiers
  * ControllerInterface: Fix unused-result warning
  * GraphicsWidget: Remove unused field
  * Fix shadowing warnings
  * IOS: Add maybe_unused attribute to variables
  * FreeLookCamera: Add override specifiers
  * FreeLookCamera: Remove unused variable
  * FreeLookController: Fix signed/unsigned warning
  * Arm64Gen: Move constant and make constexpr
  * Arm64Gen: Remove unused constant
  * Jit64: divwx - Simplify divisor == -1 case
  * Jit64: divwx - Micro-optimize default case
  * Jit64: divwx - Optimize division by 2
  * Jit64: divwx - Optimize power-of-two divisors
  * Jit64: divwx - Micro-optimize certain divisors
  * Jit64: divwx - Optimize constant divisor
  * JitCommon: Signed 32-bit division magic constants
  * Jit64: divwx - Special case dividend == 0
  * Jit64: divwx - Optimize constant dividend
  * Force RTC bias to 0 when custom RTC is disabled too
  * Boot: Initialize Wii root before saving SYSCONF file
  * Config: Give Movie and Netplay higher priority than CommandLine
  * NetPlay: Sync more settings
  * DiscIO: Fix reading certain WIA chunks with many exceptions
  * VolumeVerifier: Fix potential crash when cancelling
  * Use formatters in GetBPRegInfo; add missing commands
  * Convert BPMemory to BitField and enum class
  * Add FogParam0::FloatValue and FogParam3::FloatValue
  * Fix typo with ztex2 op in UseVertexDepthRange
  * Rename BPMEM_EFB_BR to BPMEM_EFB_WH
  * Use XFMEM_REGISTERS_START/END in XFRegWritten and LoadXFReg
  * Add names and descriptions for regular XF memory
  * Add names and descriptions for XF registers to the FIFO analyzer
  * Convert XFMemory to BitField and enum class
  * Add names and descriptions for CP registers to the FIFO analyzer
  * Convert CPMemory to BitField and enum class
  * Create constants for CP registers and masks
  * DolphinNoGUI/PlatformX11: Work around X.h's None being undefined
  * Create BitFieldArray
  * Add fmt support to BitField
  * Allow specifying StorageType for BitField
  * Create EnumFormatter
  * Android: Don't save settings immediately after switching platform tab
  * Android: Move "skip scanning" logic to MainPresenter
  * InputCommon: instead of blocking on individual DSU server sockets, block on a selector built up from all server sockets
  * Jit64: Add optional argument to GenerateOverflow
  * BreakpointWidget: Use QSignalBlocker
  * BreakpointWidget: Fix delete deleting both MBP and BP at address
  * Breakpoints: Change icon when disabled
  * Android: Broadcast update before updating additional metadata
  * Android: Remove #ifdef __cplusplus checks
  * IOS: update network/ip/top to use the RAII winsock context
  * Core: Use RAII winsock object to cleanly create and destroy WSA in gdb-stub
  * Common: Add RAII object that initializes and cleans up winsock
  * IOS/ES: Emulate /sys/launch.sys for more accurate timings
  * IOS/FS: Expose some more ioctls for internal Dolphin use
  * IOS: Hang PPC when reloading IOS for a PPC title launch
  * Fix symbol map being loaded too early during title changes
  * IOS: Emulate IOS boot timings
  * IOS: Simplify IPC initialisation
  * IOS: Emulate ES boot timings
  * IOS: Emulate BootstrapPPC syscall delays
  * IOS: Clear 0-0x3fff when setting up low MEM1 constants
  * BreakpointWidget: Emit BreakpointsChanged to update views
  * Watches: Fix Save and Load from strings
  * CMake: Include WIL headers
  * CMake: Disable warning C5054 on DolphinQt
  * CMake: Build with -std:c++latest for MSVC
  * Android: Delete more references in IDCache.cpp
  * DolphinQt: Removed unused this capture in lambda
  * Android: Add @Keep annotation to BooleanSupplier
  * Allow to disable/enable from the BreakpointWidget
  * SI/DeviceGBA: Ensure data socket isn't backed up
  * JitArm64: Fix unsigned/signed arg/param mismatch
  * Allow to disable/enable breakpoints
  * Core/Memmap: Don't try to map logical memory from inactive physical regions.
  * Core/Memmap: Store and check which physical regions are actually mapped instead of relying on SConfig staying the same.
  * DebugInterface: Check visited addresses in GetThreads
  * Tools: Dolphin symbol map ghidra scripts added
  * GameSettings: Set Texture Cache Accuracy to "Safe" for Jerry Rice & Nitus' Dog Football
  * GameSettings: Disable "Defer EFB Copies to RAM" and Set Texture Cache Accuracy to "Medium" for Marvel Super Hero Squad
  * GameSettings: Disable "Defer EFB Copies to RAM" for NBA Live 08
  * GameSettings: Disable Dual Core for National Geographic Challenge!
  * GameSettings: Disable Dual Core for Dance! It's Your Stage
  * GameSettings: Disable Dual Core for Brunswick Pro Bowling
  * INI Changes
  * Core/Memmap: Give more detailed error messages if memory mapping fails.
  * InputCommon: reduce number of image loads and texture cache invalidations by only running dynamic input textures once for all controllers
  * DolphinQt: Fix <game_id> tag in SoftwareRendererWidget.cpp
  * Common: Move 'GetSection' functions to be public
  * Common: don't call OnConfigChanged() unless it has actually changed
  * MMU: Fix IsRAMAddress not working
  * Core/MemoryWatcher: Use appropriate memory read function in ChasePointer().
  * Simplify macro guards for HAVE_XRANDR
  * Cleanup X11 and XRANDR Macros
  * Stricter test for compiler flags
  * IOS/NET: Add timeout on blocking connect
  * Android: Use SwipeRefreshLayout in MainActivity
  * Android: Don't queue up multiple rescans before directory initialization
  * Android: Split GameFileCacheService broadcasts into two types
  * Android: Refactor MainActivity, add forEachPlatformGamesView
  * NetworkWidget: Reorganise SSL options group box
  * Core: Fix time base unit mixup
  * Translation resources sync with Transifex
  * Fix issue were loaded memory breakpoints were not being triggered
  * InputCommon: Move initial dynamic input texture configuration logic to a 'specification 1' function and load in a 'specification' attribute that defaults to 1 if not present (with 1 being the only valid value at the moment)
  * IOS: Deduplicate IPC_OVERHEAD_TICKS timing constant
  * IOS/ES: Emulate FS timings for content wrapper IPC commands
  * IOS/ES: Allow various utility functions to return timing info
  * IOS/FS: Allow IPC interface to be used internally from IOS HLE
  * IOS/ES: Log content reads for debugging
  * IOS/ES: Log content ID and index when opening contents for debugging
  * MemoryWidget: Add "Add to watch" action
  * RegisterWidget: Fix add to watch action
  * InputCommon: Move DynamicInputTextureData to DynamicInputTextures::Data
  * InputCommon: Move DynamicInputTextureConfiguration to DynamicInputTextures::Configuration
  * JitArm64: Workaround for GCC ICE
  * IOS/FS: Implement timings for older IOS versions as well
  * Qt: Re-add IOS version to the game info tab
  * JitArm64: Fix improper uses of offsetof
  * PCAP: Add raw SSL packets logging support
  * CodeViewWidget: Add WithDetailedUpdate to update CodeWidget
  * Software: Implement points
  * Software: Fix line-width effects
  * Arm64Emitter: Expand the MOVI2R unit test a little
  * Arm64Emitter: Use ORR in MOVI2R
  * NetworkWidget: Add hostname to SSL table
  * Arm64Emitter: Improve MOVI2R
  * IOS: Clean up the way IPC replies are constructed
  * HW: Add a UDL for timebase ticks to cycles conversions
  * IOS: Remove unnecessary and unused PrepareForState
  * Arm64Emitter: Allow specifying 21th bit of ADRP imm
  * Arm64Emitter: Remove optimize parameter from MOVI2R
  * Software: Always divide the texture coordinates by q.
  * IOS: Simplify unnecessarily qualified names
  * IOS: Use less ambiguous names for classes
  * PCAP: Improve TCP session logging
  * Restore BitField Natvis
  * InputCommon: When using dynamic input textures, only call force reload textures once for packs that have multiple configurations
  * VideoCommon: Join the prefetch thread before clearing to avoid a potential crash that can occur by multiple threads touching a single resource
  * Rename docs/WIA.md to docs/WiaAndRvz.md
  * Android: Add missing "World" entry in country list
  * Android: Adjust logic for DOL/ELF long press
  * hidapi: Use LIBUSB_LIBRARIES to link to libusb
  * SSL: Workaround to remove SNI from ClientHello
  * Core/DSP: Fix improper uses of offsetof
  * Config: Fix expression window scroll wheel spam
  * Enable EFB access from CPU for Ultimate I Spy
  * GCMemcardUtils: Fix typo in comment.
  * GCMemcardManager: Detect attempt to import multiple save files with the same internal name.
  * GCMemcardManager: Add filename column.
  * GCMemcardManager: Make columns sortable.
  * GCMemcardManager: Make columns resizable by the user.
  * GCMemcardManager: Small cleanups.
  * GCMemcardManager: Replace remaining panic alert with ModalMessageBox.
  * GCMemcard: Let ImportFile() take a Savefile instead of a direntry and a vector of blocks.
  * GCMemcard: Remove obsolete methods.
  * GCMemcardDirectory: Rewrite migration logic without ExportGci().
  * GCMemcardManager: Rewrite file deleting logic to provide a better user experience.
  * GCMemcardManager: Rewrite file copying logic to provide a better user experience.
  * GCMemcardManager: Rewrite file importing logic to provide a better user experience.
  * Common/VariantUtil: Add 'overloaded' helper struct for use with std::variant.
  * GCMemcardManager: Rewrite file exporting logic to provide a better user experience.
  * GCMemcardManager: Relayout file table for a more compact design.
  * GCMemcardUtils: Implement GenerateFilename() as a cleaner variant of GCMemcard::GCI_FileName().
  * GCMemcard: Implement ExportFile() to get a file on a card with a single method call.
  * GCMemcard: Implement utility functions to read saves from and write saves to files, without involving a memory card.
  * AudioCommon/WASAPI: Construct std::thread with invoke semantics instead of a lambda
  * AudioCommon/WASAPI: Factorize device enumeration logic into a function to greatly reduce code duplication
  * AudioCommon/WASAPI: Do volume adjustment only when really needed
  * AudioCommon/WASAPI: Remove thread unsafe nullptr checks giving a false sense of safety
  * AudioCommon/WASAPI: Use std::string_view where applicable
  * AudioCommon/WASAPI: Use leaner memory model on m_running, no need for a full barrier
  * AudioCommon/WASAPI: Simplify thread synchronization model by not detaching WASAPI handler thread
  * AudioCommon/WASAPI: Use WRL/WIL whenever possible
  * AudioCommon: Make HandleWinAPI handle all success return values properly, not just S_OK
  * Software: Remove normalization special case
  * GameSettings: Enable perf queries to fix sun in Need for Speed: Most Wanted
* Thu Feb 11 2021 idonmez@suse.com
- Update to version 5.0+git.20210211T001537.1fc6fbc2c0:
  * Qt: Fix "open wiki" option not using the wiki redirect script
  * JitArm64: Fix mistaken use of LSL imm
  * JitArm64: More constant propagation optimizations
  * Fix mapping window title bar becoming unresponsive
  * DolphinQt: Fix regression that caused the regex expression to be evaluated incorrectly.  If an input expression has a non-alpha character in it, we want to quote it with backticks
  * Translation resources sync with Transifex
  * MovI2R: Do not exhaustively test
  * UnitTests: Add MOVI2R test
  * Random: Add seeded PRNG
  * JitArm64_Integer: Add optimizations for rlwimix
  * Arm64Emitter: Add additional assertions to BFI/UBFIZ
  * Arm64Emitter: Prefer BFM/UBFM to EncodeBitfieldMOVInst
  * Arm64Emitter: Add BFXIL
  * NetworkCaptureLogger: PCAP support added
  * Working Game IDs for Elf/Dol files
  * JitArm64: Use STP for pc/npc
  * JitArm64: Use STP for (parts of) ppcState.ps
  * Arm64Emitter: Add asserts for LDP/STP imm out of range
  * Fix typo in Readme.md
  * Externals/rangeset: use qualified 'size_t'
  * require clang-format 10.0
  * BreakpointWidget: Remove unnecessary code
  * NetworkCaptureLogger: Move SSL logging
  * msbuild: re-enable HAS_OPENGL and HAS_VULKAN
  * VideoCommon: use Quaternion for Free Look orientation
  * Common: update Quaternion to allow rotating pitch, yaw, and roll all at once
  * Common: add convenience function to convert a Quaternion to a Matrix44
  * MemoryWidget: Add 'Offset' and General Improvements
  * msbuild: bundle all dolphin "core" code into single library
  * rename D3DCommon/Common to D3DCommon/D3DCommon
  * normalize common filenames in VideoBackends/D3D12
  * normalize common filenames in VideoBackends/D3D
  * normalize common filenames in VideoBackends/Vulkan
  * normalize common filenames in VideoBackends/Null
  * normalize common filenames in VideoBackends/OGL
  * rename Core/IOS/FS/FileSystem.cpp to FileSystemCommon.cpp
  * rename InputCommon/ControllerInterface/Device to CoreDevice
  * rename ciface::Wiimote to ciface::WiimoteController
  * rename Common/File to Common/IOFile
  * rename Core/Analytics to Core/DolphinAnalytics
  * Android: Re-implement a subset of CompletableFuture
  * Android: Implement save overwrite confirmation
  * Android: Add "Import Wii Save"
  * Android: Refactor MainPresenter.installWad
  * Android: Merge launchInstallWad into launchOpenFileActivity
  * Android: Move InstallWAD to a new WiiUtils class
  * DolphinQt: Move gamecube controller ui logic to its own widget
  * DolphinQt: Move wiimote controller ui logic to its own widget
  * JitArm64: Fix false positive "turned singles into doubles" asserts
  * windows: fix unregistering VEH
  * JitArm64: Update registers last used before start of instruction
  * JitArm64: Remove default parameters from Arm64FPRCache::R/RW
  * JitArm64: Add asserts for unexpected single to float conversions
  * Add script for running unit tests on Android device
  * Remove redundant INI settings
  * Jit: Fix correctness issue in dcbf/dcbi/dcbst
  * DolphinQt: Move common controller interface logic to its own widget
  * JitArm64: Avoid using X30 with BLR
  * UnitTests: Add setup error checking
  * Breakpoint from string flag parsing using token
  * WiimoteReal: Fix crash on real Wii Remote disconnect on Windows caused by dangling pointer.
  * FreeLookManager: acquire global input lock before accessing individual FreeLook control states
  * TraversalClient: Make use of std::string_view with ConnectToClient()
  * TraversalClient: Prevent uninitialized values from occurring in MakeENetAddress
  * TraversalProto: Convert typedefs into using aliases
  * TraversalProto: Collapse version enum into a typed variable
  * TraversalProto: Convert TraversalPacketType into an enum class
  * TraversalProto: Convert TraversalConnectFailedReason into an enum class
  * TraversalClient: Convert state enum into an enum class
  * Android: Fix in-game settings changes not getting saved
  * Check return value when calling ReadArray for savestates
  * Android: Don't show OSD messages when opening savestate menu
  * Arm64Emitter: Convert ShiftType to enum class
  * InputCommon: Wrap remaining invalid default input expressions around ``
  * Jit64: boolx - Eliminate read dependency
  * Qt: Fix stock input profiles being deletable
  * Translation resources sync with Transifex
  * Added Opacity settings for touchscreen controls
  * Qt: Fix Shake Mapping Indicator not showing deadzone
  * Arm64Emitter: Convert IndexType to enum class
  * Android: Update dependencies to the latest version
  * Android: Update Gradle Plugin to 4.1.1
  * gradle.properties: Remove duplicate property keys
  * Contributing.md: Code comment for do-while sample
  * DolphinQt: Resolve deprecated usages of setTime_t and toTime_t
  * DolphinQt: Resolve deprecated usage of margin()
  * DolphinQt: Migrate QRegExp over to QRegularExpression
  * DolphinQt: Explicitly include <QActionGroup> where applicable
  * DolphinQt: Replace usages of QLatin1Literal with QStringLiteral
  * DolphinQT: Gives option to add desktop shortcut
  * Use GX_CMD_UNKNOWN_METRICS instead of magic number 0x44
  * small prettification
  * msvc: add asan support (disabled by default)
  * BitUtils: cleanup constexpr usage for msvc clz
  * BitUtils: loosen clz to inline on msvc/arm64
  * msbuild: enable USE_GDBSTUB this does nothing about it actually being usable
  * BitUtils: initialize variables fixes C3615 on some msvc/cmake configs
  * Revert "msvc: temporary workaround for C4789 false positive"
  * msvc: bump _MSC_FULL_VER check to 192829335
  * Jit64: Fix FinalizeCarryOverflow XER[OV/SO]
  * Android: Use old folder picker on Android TV
  * JitArm64: subfx - Special case a == b
  * Fix a couple of typos
  * DolphinQt: Remove some useless includes
  * Core: Fix variable naming conventions
  * Jit64: subfx - Special case a == b
  * Jit64: subfx - Special case b == 0
  * Jit64: subfx - Special case a == 0
  * Jit64: subfx - Optimize more constant a cases
  * Fix DualShockUDP not adding/removing devices correctly
  * Externals: Link against required libraries
  * Rehabilitate Haiku support.
  * Qt: Give better error messages when Wii save importing fails.
  * WiiSave: Delete existing save, if any, before importing one.
  * WiiSave: In Import(), make sure the TMD exists or can be reinstalled before allowing save to be imported.
  * WiiUtils: Add utility functions to handle prep-work for importing 'SD-card export' style Wii saves.
  * Jit_Integer: srawx: Handle a != b case with SARX
  * IOS/ES: Pass relevant caller title information to ImportTmd() and ExportTitleInit().
  * Rename "Use Fullscreen" setting to "Start in Fullscreen"
  * DSP: Fix write masks on AUDIO_*/AR_* MMIO registers
  * Jit_Integer: Use SHLX, SHRX, SARX
  * Fix bad memory references in NewPatchDialog
  * Patches for Resident Evil 2/3 audio issues
  * IOS/WD: Report game quirk if unimplemented ioctl is used
  * IOS/WD: Implement more parts of the interface
  * IOS: Simplify usage of GetVector
  * IOS/NCD: Implement Lock/Unlock more accurately
* Tue Jan 05 2021 idonmez@suse.com
- Update to version 5.0+git.20210103T185325.e957ed0809:
  * BitUtils: __builtin_clz is undefined when value == 0
  * JitArm64: Do not use offsetof on non-standard-layout types
  * Fix Quartz cursor going to +infinite if the window size was 0
  * Fix DInput cursor going to +infinite if the window size was 0
  * Fix XInput2 cursor going to +infinite if the window size was 0
  * Arm64Emitter: Remove unused OpType enum
  * Arm64Emitter: Convert ArithOption enums into enum classes
  * Translation resources sync with Transifex
  * ArmCommon: Mark NO_COND as constexpr
  * ArmCommon: Add missing header guard
  * Arm64Emitter: Add shorthand member functions for hint instructions
  * Arm64Emitter: Make ShiftAmount enum an enum class
  * Arm64Emitter: Make RoundingMode enum an enum class
  * Arm64Emitter: Make PStateField enum an enum class
  * Arm64Emitter: Make BarrierType enum an enum class
  * Arm64Emitter: Make SystemHint enum an enum class
  * Arm64Emitter: Make type member of FixupBranch an enum class
  * Arm64Emitter: Annotate switch fallthrough
  * Arm64Emitter: Make use of std::optional
  * JitArm64_Tables: Move Instruction alias to the JIT class
  * JitArm64_Tables: Construct tables at compile-time
  * JitArm64_LoadStore: Explicitly annotate switch fallthrough cases
  * JitArm64_RegCache: Make RegType enum an enum class
  * JitArm64_RegCache: Mark several member functions as const
  * JitArm64_RegCache: Mark register constants as constexpr
  * JitArm64_RegCache: Mark HostReg operator== as const
  * JitArm64_RegCache: In-class initialize member variables where applicable
  * JitArm64_RegCache: Make FlushMode an enum class
  * IOS: Make use of insert_or_assign with AddDevice()
  * IOS: Allow for heterogenous name lookup
  * SysConf: std::move name in Entry constructor
  * SysConf: Return emplaced reference from AddEntry()
  * SysConf: Make use of std::string_view
  * Core: Use C++17 deduction guides with locked recursive mutexes
  * Config: Fix cache not being invalidated when callbacks are suppressed
  * Core: Make use of C++17 deduction guides with locks
  * DSPCore: Make IRAM CRC and step counter private
  * DSPCore: Make ifx registers private
  * DSPCore: Make the accelerator private
  * DSP: Make mailboxes use std::array
  * DSP: Make mailboxes private
  * DSP: Make Mailbox enum strongly typed
  * DSPCore: Move PRECISE_BACKLOG define to the interpreter code
  * DSP: Eliminate some magic values related to the CR register
  * Fix Core.vcxproj.filters
  * Fix latency field being initially enabled on audio backends not supporting it
  * Android: Add specialized content provider implementation of DoFileSearch
  * DSPAnalyzer: Separate instruction searching and idle skip finding
  * DSPAnalyzer: Break tight coupling to SDSP
  * DSPAnalyzer: Merge Analyzer namespace into DSP namespace
  * DSPAnalyzer: Make CodeFlags private to the analyzer
  * DSPAnalyzer: Add convenience functions over bit tests
  * Android: Don't consider .dff files valid for game list
  * Android: Show a message when adding a folder with no games
  * DSPAnalyzer: Implement DSP analyzer skeleton and use it
  * DSPAnalyzer: Add basic class skeleton
  * BitUtils: Fix uint64_t gcc compile (Linux)
  * Jit_Integer: Use Common::CountLeadingZeros in cntlzwx
  * Interpreter_Integer: Use Common::CountLeadingZeros in cntlzwx
  * BitUtils: Add CountLeadingZeros
  * CMake: Update cmake_minimum_required calls using versions less than 2.8.12. CMake warns support will be removed in a future version.
  * Jit_Integer: rlwinmx: Use BEXTR where possible
  * Jit_Integer: rlwinmx: Generalize byte/word extract plus shift case
  * Android: Only have one settings entrypoint in game properties
  * DSP: Migrate code that modifies m_dsp into SDSP itself
  * DSP: Eliminate most global state
  * Jit_Integer: Add trivial AndWithMask cases
  * Jit_Integer: Missed AndWithMask in rlwimix
  * VideoCommon: Fix crash that occurs on loading a fifo log due to uninitialized Free Look control type
  * Jit_Integer: Use RORX where possible
  * Jit64: srawx - Handle constant zero input
  * Jit64: slwx - Handle constant zero input
  * Jit64: rlwnmx - Optimize rotate by constant
  * Jit64: srawix - Handle constant input register
  * Jit64: srawx - Handle constant input registers
  * Jit64: srawx - Optimize shift by constant
  * Jit64: slwx - Optimize shift by constant
  * Jit64: srwx - Optimize shift by constant
  * Jit64: subfic - Handle constants
  * Split OSREPORT logging type
  * Build the gdbstub by default
  * PowerPC: Fix GDBStub build
  * CMake: Apple Silicon detection
  * VideoCommon: Update active config when we check for config changes, this ensures Free Look settings are copied at the start of the frame.  Also update the camera's controller type at this time
  * Core: Refresh the Free Look configuration when Free Look is initialized, ensuring that the configuration updates appropriately with any changes
  * Core: Only respond to Free Look controller buttons when the camera is active
  * DolphinQt: Only trigger Free Look mouse movement when the Free Look camera is active
  * VideoCommon: Add 'Active' state to FreelookCamera to future proof if we ever add multiple cameras
  * VideoCommon: Update Free Look camera with settings change...
  * Core: Update state to account for save system change
  * DolphinQt: Update mapping window device to use expanding size policy
  * DolphinQt: Move Free Look out of Graphics/Hotkey and into its own configuration window.  Launched from a new menu option - "Free Look Settings".  The HotKeyScheduler still calls the Free Look functionality to reduce the total number of threads
  * Core: Add Free Look controllers that are initialized at boot
  * Core: Add new Free Look settings and config
  * Core / VideoCommon: Remove old Free Look config
  * HotkeyManager: Remove Free Look functionality in preparation for replacement
  * VideoCommon: Change 'Zoom' to 'MoveForward' since it really isn't a zoom
  * VideoCommon: Add speed to Free Look camera
  * Android: Only have one settings entrypoint per activity/dialog
  * JitArm64: Call UpdatePerformanceMonitor
  * Android: Correctly save in-game settings changes to disk
  * Interpreter: Call UpdatePerformanceMonitor
  * CachedInterpreter: Call UpdatePerformanceMonitor
  * CoreTiming: Call UpdatePerformanceMonitor on idle
  * Jit64: Fix FPURegCache::GetRegUtilization
  * JitArm64: srawix - Fix undefined behavior
  * JitArm64: srawx - Fix undefined behavior
  * Analytics: Add rarer OSes to analytics
  * MemoryUtil: Use HW_PHYSMEM64 sysctl in MemPhysical
  * Android: Catch all exceptions in ContentHandler
  * Android: Use storage access framework for game list
  * Android: Add content provider support to File::ScanDirectoryTree
  * Android: Fix opening games with extensionless URI
  * Android: Use storage access framework for picking single games
  * Android: Add content provider support to File::FileInfo
  * Android: Add content provider support to File::OpenFStream
  * Android: Convert ISOPaths to INI settings
  * Core: Add initial System class
  * Common: Write PNGs in two steps to allow Unicode target paths.
  * Common/LinearDiskCache: Handle truncated shadercache files.
  * Common/LinearDiskCache: Use unique_ptr instead of new/delete.
  * DolphinQt: Fix all instances of <gameid> in AdvancedWidget to use the appropriate html code instead
  * GameSettings: Set Safe Texture Cache for Pitfall: The Lost Expedition and Pitfall: The Big Adventure
  * Translation resources sync with Transifex
  * Core: Remove ImageWrite and get rid of -Wmissing-declarations warnings
  * Fix -Wclass-memaccess warnings
  * Qt: Fix deprecated use of MidButton
  * Qt/Config: Remove unused includes
  * EXI_Device: Always define EXIDEVICE_ETHTAPSERVER for consistency
  * GameSettings: Disable "Store EFB Copies to Texture Only" for Final Fantasy Crystal Chronicles
  * WiimoteEmu/DolphinQt: Fix tilt indicator for wrapped around angles.
  * Add tap-like fake Ethernet network interface for macOS
  * WiimoteEmu: Allow tilt to wrap around and simulate full 360 degree rotations.
  * Add NetBSD support
  * Core/AddressSpace: Return null accessors when no game is running to prevent out-of-bounds memory accesses.
  * Update bundled libpng to version 1.6.37
  * InputCommon: Fix callback dispatch deadlock
  * DolphinQt: Fix crash after removing extra patch line
* Sun Dec 13 2020 seil0@mosad.xyz
- Update to version 5.0+git.20201213T035539.3634508e46:
  * HW/WiimoteReal: Drop stale data reports to prevent read queue from filling up and causing input delays.
  * Add caching to Config::Info
  * GameSettings: Add patch for Monster High: Ghoul Spirit (SAOE78/SAOEVZ)
  * Store pointers in Config::SYSCONF_SETTINGS
  * Turn Config::Info into a class with getters
  * Core: Don't copy default _Enabled sections to user INIs
  * GameSettings: Enable compatibility patches by default
  * Core: Save the disabling of default enabled codes
  * Core: Allow overriding the enabling of a code
  * Add File::Delete and File::DeleteDir tests
  * Android: Expand WiimoteProfileSetting to more setting types
  * JitArm64: Properly set m_stack_pointer
  * JitArm64: Call dispatcher_no_check after CompileExceptionCheck
  * WiiUtils: Check hashes to determine if a title is installed and up-to-date
  * Add warning flags to File deletion functions
  * InputCommon: fix dynamic input textures being not generated when the key or device isn't mapped
  * Turn format string issues into compile-time errors
  * Change File::DeleteDir return value
  * DiscIO: Fix recursive directory extraction
  * Exclude Discord RPC lib from installation
  * General: Convert PanicAlerts over to fmt equivalent
  * Translation resources sync with Transifex
  * Android: Add "Generate a New Statistics Identity"
  * Qt: Add missing tr calls for tooltip descriptions
  * Android: Add "Disable Fastmem" debug setting
  * JitArm64: Do downcount immediately before jumping to dispatcher
  * Android: Clear Log file
  * Movie: Fix 83b9fef regressions
  * JitArm64: Add a workaround for issue 12327
  * Add Fallback Region to configuration menu
  * Core: Fix an assertion that mistakenly uses a fmt format string
  * Core / DolphinQt: Add ini only option to force low-contrast tooltips
  * DolphinQt: Add tooltip support to Software Renderer Graphics tab
  * DolphinQt: Add tooltip support to Hacks Graphics tab
  * DolphinQt: Add tooltip support to Advanced Graphics tab
  * DolphinQt: Add tooltip support to Enhancements Graphics tab
  * DolphinQt: Add tooltip support to General Graphics tab
  * DolphinQt: Add the ability to show a tooltip for custom graphics controls
  * DolphinQt: Add generic tooltip controls
  * DolphinQt: Remove description box handling from graphics widget and window
  * DolphinQt: Add BalloonTip which is built off of an internal Qt class.  It gives the ability to show a tooltip with an arrow!
  * Fix liblzma config on macOS
  * FrameDump: Start timing at 0 ticks when starting from boot
  * IP/Top: Add Android network interface
  * AudioCommon: Convert alerts over to fmt-based variants
  * VideoCommon: Use Common::SavePNG() to write textures.
  * InputCommon: Use Common::SavePNG() to write images.
  * Common: Add SavePNG() function that writes PNGs using the simplified libpng API.
  * Core: Remove commented out logs
  * Frontends: Migrate logs over to fmt
  * Fix file rename errors on Windows
  * Qt/IOWindow: Remove Apply button.
  * Qt/IOWindow: Show the current value of the expression.
  * Qt/IOWindow: Apply expressions immediately so we can query the current value of the expression.
  * IOFile: Replace all fprintf string writing with calls to WriteString.
  * Core: Convert logging over to fmt pt.5
  * Common: Optimize Config::Get
  * IOFile: Add WriteString() method to replace fprintf string writing.
  * Fix bounding box incorrectly disabled on OpenGL ES 3.1, 3.2
  * Add Rock Band 3 MIDI PRO Adapter to known Wii peripherals
  * Core: Convert missed log calls over to fmt
  * Core: Convert logging over to fmt pt.4
  * Fix vertex ubershader GLES compile errors
  * IP/Top: Fix fallback IP address
  * FrameDump: Re-add call to av_register_all
  * CMake: Pass various /Zc flags to MSVC for consistency with Base.props
  * Core: Convert logging over to fmt pt.3
  * Fix variable shadowing warnings
  * Silence "missing switch cases" warnings
  * Fix -Wmaybe-uninitialized warnings
  * Fix -Wsign-compare warnings
  * Disable -Wstringop-truncation warnings
  * Core/Movie: Fix a likely out-of-bounds read for PanicAlertT
  * Enable extra warnings in Source CMakeLists, not in root CMakeLists
  * Software: Use same logic for colors as hardware backends
  * LightingShaderGen: Always calculate lighting for both color channels
  * Android: Fix default values for GC/Wii controller 1
  * Android: Remove "Reset Paths to Default Settings"
  * Android: Long press a setting to reset it
  * Common: Assert that translatable strings use positional arguments
  * Fix translatable strings which contain non-positional arguments
  * EXI_DeviceMemoryCard: Use std::array
  * EXI_DeviceMemoryCard: Use enum class for Command
  * EXI_DeviceMemoryCard: Fix member variable names
  * EXI_DeviceMemoryCard: Use override rather than virtual
  * EXI_DeviceMemoryCard: Use more efficient overload of find_last_of
  * EXI_DeviceMemoryCard: Clean up casts and implicit conversions
  * EXI_DeviceMemoryCard: Remove unused include
  * EXI_DeviceMemoryCard: Rename variables to follow our naming conventions
  * Android: Fix IllegalStateException on startup
  * Core: Fix invalid lambda captures
  * DSP: Fix one DEBUG_LOG call
  * Core: Convert logging over to fmt pt.2
  * Vulkan: fix validation error in bSupportsGeometryShaders=false case
  * DolphinQt: Add Show/Hide All options to gamelist region menu
  * Core: Convert logging over to fmt pt. 1
  * Common/MsgHandler: Add compile-time format string checks
  * Common: Validate the number of {} fields in format strings
  * Common/Log: Check format strings
  * WiiUtils: Create Wii Shop log files when installing a WAD.
  * Fixed non-UTF8 chars in PeakFinder.cpp
  * Translation resources sync with Transifex
  * VideoCommon: Migrate over to fmt
  * Remove a redundant i18n comment
  * Android: Add @Keep annotation to things accessed using JNI
  * Use positional arguments in all translatable fmt strings
  * CMake: Bump fmt version requirement to 7.1.0
  * Fix updater not always cleaning up temp directory
  * DolphinQt: Don't return 0x04 bytes from tr
  * InputCommon: Migrate over to fmt-capable panic alerts
  * Android: Warn when path in config is unavailable
  * DiscIO: Make use of fmt-capable panic alerts
  * FrameDump Logging: Separate log type and migrate to fmt
  * Remove Android-specific settings from UISettings.cpp
  * Android: Move orientation setting to main settings screen
  * Vulkan: Migrate logging over to fmt
  * Software: Migrate logging over to fmt
  * OpenGL: Migrate logging over to fmt
  * D3DCommon: Migrate logging over to fmt
  * D3D: Migrate logging over to fmt
  * D3D12: Migrate logging over to fmt
  * Android: Catch SecurityException in ContentHandler
  * Android: Call notifyItemChanged after file picker
  * Android: Show warning after picking file with wrong extension
  * Android: Use storage access framework for custom SD card paths
  * InputCommon: Return error, if any, from ControlReference::SetExpression().
  * Android: Make the handling of SAF open modes more robust
  * IP/Top: Add missing sockopt
  * WiimoteEmu: Implement extension encryption edge case.
  * Dragon Quest 25th Anniversary Collection INI changes
  * Game INI Changes
  * Add a Skip EFB Access from CPU Hotkey
  * modify file export to create folder in OS when explicitly extracting a directory
  * Android: Update WiimoteNew.ini preferences instead of deleting
  * Android: Re-add motionControlsEnabled to clearWiimoteNewIniLinkedPreferences
  * Android: Remove hacks for Wii Remote extension setting, round 2
  * Improved responsiveness when refreshing game list.
  * **Refresh** and **Purge Game List Cache** now correctly enabled/disabled as notified by GameListRefreshRequested and GameListRefreshCompleted.
  * Avoid using unnecessary RunOnObject() calls in GameTracker's worker thread to prevent deadlocks on shutdown.
  * Ensured that GameTracker's internal worker thread is flushed on exit to avoid crashes when accessing stale, already-destroyed data, and to favor responsiveness.
  * Extended WorkQueueThread class with Clear(), Cancel() and IsCancelled().
  * GameListModel instance ownership transferred back to the GameList instance. The GameListModel instance will be passed as a constructor parameter where needed.
  * Removed all references to GameListModel from the Settings component.
* Fri Nov 13 2020 Ismail Dönmez <idonmez@suse.com>
- Add minizip.patch to revert back to minizip 1.x which is also
  the in-tree version anyway.
* Thu Nov 12 2020 idonmez@suse.com
- Update to version 5.0+git.20201111T112241.9e3e325add:
  * Android: Add null check for InputOverlay
  * Common/MsgHandler: Add fmt-capable variants of the alert macros
  * Android: Remove unnecessary ANativeWindow_release call
  * Android: Fix alert messages when EmulationActivity is being destroyed
  * Android: Fix rotating EmulationActivity after boot fails
  * Android: Only show emulation menu toast if boot succeeds
  * Android: Finish EmulationActivity from C++
  * UICommon: Migrate logging over to fmt
  * ShaderGenCommon: Rename WriteFmt() to Write()
  * CPUDetect: Indicate slow PDEP/PEXT only for Zen1/+/2 (Family 23)
  * Android: Don't name unused JNIEnv/jobject/jclass parameters
  * Android: Fix jobject/jclass warnings
  * Android: Remove unnecessary WrongConstant warning suppression
  * Android: Call saveSettings in EmulationActivity.onStop
  * Android: Make scrollbar for in-game menu always visible
  * Fix dereferencing nullptr BootParameters
  * Android: Rename path variable in ConvertFragment
  * Android: Suppress warnings in EmulationActivity
  * Common/LinearDiskCache: Replace std::fstream with File::IOFile
  * Virtual Notch settings and UI for octagonal stick
  * JitArm64: Implement HLE function hooking
  * Resolve VkDeviceMemory/nullptr type mismatch to fix build on FreeBSD i386
  * Top: Set port when connecting a socket to find the default interface
  * Android: Remove some touchscreen checks from EmulationActivity
  * Android: Don't reset savestate time on load
  * Android/InputOverlayPointer: Don't assume surface covers whole screen
  * Simplify Arm64GPRCache::Flush
  * Translation resources sync with Transifex
  * Android: Update IR sensitivity default values
  * Common: Fix logger related crash when HTTP response is empty
  * DolphinQt: Update register view font when Debug Font changes
  * Android: showMotionControlsOptions cleanup
  * Source/Core/Common/Config/Config.cpp: add missing <mutex> include
  * Android: Remove unused imports
  * UberShaderPixel: Migrate over to fmt
  * Externals: Update fmt to 7.1.0
  * Android: Fix initTouchPointer
  * dolphinqt msbuild: do not moc TASSlider.h
  * FileUtil: Fix format string
  * DolphinQt: Add a warning to the MEM1/MEM2 override setting description.
  * CMake: Change "USE_VULKAN" to "HAS_VULKAN"
  * CMake: Set HAS_OPENGL for every system other than arm64
  * IOS/USB: Fix -Winvalid-offset warnings
  * VideoCommon: update vcproj file to set HAS_OPENGL
  * VideoCommon: remove HAS_OPENGL from VideoBackendBase
  * VideoCommon: update vcproj file to set HAS_VULKAN
  * VideoCommon: rename USE_VULKAN to HAS_VULKAN in VideoBackendBase
  * PixelShaderGen: Migrate over to fmt
  * VideoCommon/FrameDump: Remove code for older versions of avcodec.
  * Common: Migrate logging to fmt
  * CMake: Add option to enable/disable Vulkan video backend
  * InputCommon: Migrate logging over to fmt
  * DolphinQt: Move QT_LAYOUT_DIRECTION string to qt-strings.pot
  * VideoCommon: FrameDump fixes/cleanups.
  * Explain how to fix "Serial and/or version data is missing"
  * Android: Show how long ago each savestate was created
  * VideoCommon: Simplify VideoBackendBase::GetDefaultBackendName
  * VideoCommon: Get rid of the global g_available_video_backends
  * DriverDetails: Remove bug for broken GPU Texture Decoding
  * Re-enable GPU Texture Decoding under MoltenVK
  * WiimoteReal: Only duplicate data reports when speaker data is enabled.
  * add some file to pch
  * cmake: Silence warnings.
  * Socket: Abort pending operations on shutdown
* Fri Oct 23 2020 seil0@mosad.xyz
- Update to version 5.0+git.20201022T220753.64f7a4448b:
  * DiscIO: Migrate logging over to fmt
  * DolphinQt: Don't call UICommon::InhibitScreenSaver if already in desired state.
  * Common/Matrix: Allow TVec classes to be used in constexpr contexts
  * Require zstd >= 1.4.0
  * Android: Attach CPU thread to JVM early
  * Fix volume of emulated wii mote speakers not being native
  * Android: Don't show game ID after game title
  * Android: Get game metadata from core
  * Core: Always call Host_TitleChanged on boot
  * Core: Set bWii before calling Host_TitleChanged
  * AudioCommon: Migrate logging over to fmt
  * Common/Log: Add basic fmt-capable functions to the interface.
  * Common: Move OSThreads into core
  * ARDecrypt: Resolve seedtable at compile-time
  * ExpressionParser: Add missing <functional> include
  * Android: Add AndroidOverlayButtons INI section
  * Android: Add "Default Values" button for overlay seekbars
  * Android: Convert SharedPreferences to INI Settings (simple cases)
  * UberShaderVertex: Migrate over to fmt
  * DataReader: Make use of if constexpr where applicable
  * UberShaderCommon: Migrate over to fmt
  * Translation resources sync with Transifex
  * DiscIO: Make WiiEncryptionCache moveable
  * GeometryShaderGen: Migrate over to fmt
  * FramebufferShaderGen: Migrate over to fmt
  * WiimoteEmu: Tweak IMUCursor total yaw setting tool-tip.
  * WiimoteEmu: Expose IR camera FOV to adjust IMU pointing sensitivity.
  * WiimoteEmu: Use quaternions for orientation.
  * InputCommon/WiimoteEmu: Replace stateful rotational matrices with quaternions.
  * Common/Matrix: Add Quaternion class.
  * VolumeVerifier: Make "no valid data in partition" hide some other errors
  * Android: Remove unnecessary JNI function declarations
  * VertexShaderGen: Fix unescaped { in D3D shader.
  * Android: Refetch game metadata after returning from settings
  * Android: Allow disabling cover downloading
  * Android: Allow reading global settings without a Settings object
  * Linux/XInput2: Fix keys being stuck pressed on focus loss.
  * Reorder xgettext arguments
  * Fix predefined Qt strings not getting translated
  * CMake: Fix build errors exposed by making common dependent on fmt
  * Add helper function for fmt::format(GetStringT(...
  * DiscIO: Make use of fmt where applicable
  * Qt/QtUtils: Fix accidental recursion in ParallelProgressDialog
  * Clean up screen saver inhibition and apply setting change immediately.
  * DolphinQt: Expose "DisableScreenSaver" setting in the UI.
  * Config: Make "DisableScreenSaver" default to true.
  * Android: Show alert messages as toasts outside of emulation
  * Android: ConfirmRunnable to RunRunnable with optional confirmation
  * DolphinQt: Reset TAS input slider to default on right-click
  * Source/Core/DiscIO/WIACompression.cpp: add missing <limits> include
  * Readme: Add Buildbot header link
  * Android: Fix setting read during play with local game layer active
  * AudioStretcher: Keep default parameters.
  * Android: Remove finish from ConfirmRunnableViewHolder
  * android: add SENSOR_REVERSE_LANDSCAPE as an option
  * DiscIO: Decrease RAM usage during zstd compression
  * Show NKitness in file format string
  * Remove AsciiArt shader
  * Use Instant in StartupHandler.
  * Enable support for Java 8 API desugaring.
  * Replace geckocodes.org with mirror codes.rc24.xyz
  * Add Metal Gear Solid: The Twin Snakes to NKit warning message
  * Core: Load custom textures after inputs has been loaded and avoid sending force texture reload during startup for dynamic textures.  This ensures that custom texture loading only happens once and users don't see any weird flashes on startup
  * InputCommon: Introducing the "Dynamic Input Texture".  Configuration links an emulated input action to an image based on what host key is defined for that emulated input.  Specific regions are called out in configuration that mark where to replace an input button with a host key image.
  * VideoCommon: Make a reusable free function for getting top level directories that have a matching gameid text file underneath
  * Jit64: fselx - Skip MOVAPS + MOVSD (SSE4.1)
  * Jit64: fselx - Skip MOVSD (AVX)
  * Externals: Update MoltenVK to v1.1
  * Socket: Set SO_NOSIGPIPE on macOS
  * Vulkan: Use VK_LAYER_KHRONOS_validation for validation
  * Android: Correct SliderSetting minimum value behavior on API < 26
  * Translation resources sync with Transifex
  * DolphinQt/Debugger: Fix DBAT and IBAT registers in RegisterWidget
  * Fix controller defaults being empty on fresh run
  * ControllerEmu: Increase "IMUPointer" "Total Yaw" default value to match that of regular "Point" settings. Removed "Total Yaw" from included Wii remote input profile to take on the default value.
  * ControllerEmu: Increase Total Yaw/Pitch default values to compensate for new FOV and to reach screen edges in the Wii Menu.
  * ControllerInterface/Wiimote: Add "IR Distance" input providing a calculated distance from sensor bar in meters.
  * WiimoteEmu: Increase Camera FOV constants to 42 by 31.5 degrees.
  * MathUtil: Add Population (vs Sample) versions of Variance and StandardDeviation to RunningVariance.
  * Update DPSJ8P.ini
  * Core/NetPlay: Fix Wii Remote syncing.
  * Android: seekbar.setMin requires API level 26
  * Core: Unbreak default keyboard mappings.
  * Android: Fix convertCompressionLevelZstdValues
  * Update DPSJ8P.ini
  * Create DPSJ8P.ini
  * Create DPOJ8P.ini and add modem bypass code
  * Create DPOJ8P.ini
  * ExpressionParser: Improve hotkey suppression logic. Allow activation with simultaneous press of modifier and final input.
  * ExpressionParser: Replace ScopeGuard with custom deleter unique_ptr.
  * InputCommon: Improve input detection to produce buton combinations.
  * InputCommon: Make hotkeys and input detection aware of Ctrl -> L_Ctrl / R_Ctrl hierarchy.
  * InputCommon: Clean up modifier ignoring logic.
  * Core: Clean up default hotkey expressions.
  * ControllerInterface: Add platform consistent names for modifier keys.
  * ExpressionParser: Allow duplicate and superset modifier hotkeys to function.
  * InputCommon: Support detecting combinations of inputs. (Hotkeys)
  * ExpressionParser: Suppress inputs when hotkey modifiers are pressed.
  * ExpressionParser: Add Hotkey syntax.
  * Android: Add "Ignore for this session" to Warning AlertMessages
  * Android: Use DialogFragment for AlertMessage
  * FramebufferManager: Fix EFB readbacks with MSAA on
  * Properly fix News Channel loading screen
  * Android: Use storage access framework for importing WADs
  * DolphinQt: Use 1-based disc numbering in InfoWidget
  * VolumeVerifier: Call CheckDiscSize from Finish
  * VolumeVerifier: Make high severity "too small" hide low severity "too small"
  * DolphinQt: Stop using qtmain
  * DolphinQt: Handle non-ASCII characters in Windows cmd arguments
  * IP/Top: Log IOCTL_SO_GETHOSTID properly
  * IP/Top: Add SO_LINGER optname
  * Update state version.
  * Core/BTEmu: Change a member variable to a local variable.
  * Translation resources sync with Transifex
  * ControllerEmu: Improve and simplify UpdateCalibrationData.
  * Add built-in profile for Wii Remote with MotionPlus IR
  * Qt/MappingWindow: Add support for built-in profiles
  * GameSettings: Fix Monster Hunter Tri bloom patches
  * GameSettings: Enable FPRF for Interactive Multi-Game Demo Disk: November 2003
  * GameSettings: Set Texture Cache Accuracy to "Safe" for Rockman EXE Transmission
  * GameSettings: Set Texture Cache Accuracy to "Medium" for Far Cry Vengeance
  * GameSettings: Disable MSAA for Pokemon Snap
  * GameSettings: Disable MSAA for Pikmin (Wii)
  * GameSettings: Disable "Immediately Present XFB" for Judge Dredd: Dredd vs. Death
  * GameSettings: Add 2D rendering patches for MVP Baseball 2004 and MVP Baseball 2005
  * GameSettings: Enable MMU for Watchever Channel
  * GameSettings: Disable "Skip EFB Access from CPU" for Resident Evil Code: Veronica X (PAL)
  * GameSettings: Set Texture Cache Accuracy to "Safe" for 10 Minute Solution
  * GameSettings: Disable "Defer EFB Copes to RAM" and "Immediately Present XFB" for Super Paper Mario
  * GameSettings: Disable "Store EFB Copies to Texture Only" for EA Sports Active 2
  * GameSettings: Disable "Defer EFB Copes to RAM" for Star Wars - Rogue Squadron III - Rebel Strike
  * GameSettings: Set Texture Cache Accuracy to "Medium" for Driver: San Francisco
  * GameSettings: Set Texture Cache Accuracy to "Safe" for Tiger Woods PGA Tour 07
  * Add INI note for Wii Fit and Wii Fit Plus
  * GameSettings: Set Texture Cache Accuracy to "Medium" for UFC Personal Trainer: The Ultimate Fitness System
  * GameSettings: Disable "Store EFB Copies to Texture Only" for Our House: Party!
  * GameSettings: Force 1x IR for Mario Tennis and Super Smash Bros.
  * GameSettings: Disable "Immediately Present XFB" for Brunswick Zone: Cosmic Bowling
  * GameSettings: Disable "Force Texture Filtering" for Spider-Man: Web of Shadows
  * GameSettings: Set Texture Cache Accuracy to "Safe" for all MSX VC titles
  * GameSettings: Disable "Store EFB Copies to Texture Only" for News Channel
  * GameSettings: Fix GameID comment for Super Mario Bros. (Brawl VC)
  * require msvc 19.27.29111 and Windows SDK 10.0.19041
  * Only automatically override SYSCONF settings when it has an effect
  * Android: Add workaround for conversion progress in dark mode
  * Android: Only allow conversion when appropriate
  * Android: Refactor GamePropertiesDialog.onCreateDialog
  * Android: Pass GameFile to GamePropertiesDialog::newInstance
  * Android: Let the user select where to save disc images
  * Android: Add content provider support to File::Delete
  * Android: Add content provider support to File::IOFile
  * Android: Add a progress dialog for disc image conversion
  * Android: Add disc image conversion
  * DiscIO: Use std::function for compression callback
  * Android: Move OSD out of the way when menu is open
  * Android: Add Wii SYSCONF settings to GUI
  * Config: Add SYSCONF to IsSettingSaveable
  * Android: Don't assume SliderSetting minimum is 0
  * Android: Display default path when no path is set
  * Android: Fix race condition when exiting emulation
  * Android: Allow editing settings during emulation
  * Android: Show overridden game settings in bold
  * Android: Hook up game settings to the new config system
  * Android: Hook up global settings to the new config system
  * Core: Run Wiimote::Initialize before HW::Init to avoid crash
  * Qt: Use better method of getting default monospace font
  * Qt/AdvancedPane: Force UTC time for custom RTC entry
  * Android: Fix touch pointer not working after activity recreation
  * Android: Improve WRITE_EXTERNAL_STORAGE denial
  * Android: Check for granted permission when returning to MainActivity
  * DolphinQt: fix other widgets that use lambdas (capturing this) without setting the receiver
  * DolphinQt: properly remove slot connection for ConfigChange when object is destructed
  * Android: Centralize default values for settings
  * Android: Centralize setting definitions
  * Android: Wait for initialization before launching EmulationActivity
  * Adding AmdPowerXpressRequestHighPerformance
  * Settings: Fix incorrect config key for enabled analytics.
  * ControllerInterface: Combine evdev devices with the same physical location in addition to unique ID
  * Android: Always show Exit Emulation at bottom of menu
  * Android: Remove redundant pause/unpause code
  * Android: Exit emulation by long pressing Back
  * Android: Change "Exit" to "Exit Emulation"
  * Android: Adjust margins for game title in menu
  * Android: Hide Refresh Wii Remotes menu entry for GameCube games
  * Android: Port over settings from the old menu
  * Android: Use narrow layout for savestate slot picker in portrait
  * Android: Ensure menu is always wide enough
  * Android: Close the menu when tapping outside of it
  * Android: Don't hide the menu when pressing Exit
  * Android: Remove inappropriate leanback checks
  * Android: Use Back to open the emulation menu on all devices
  * Android: Remove calling create immediately before show
  * Android: Remove unnecessary getString calls
  * Android: Optimize imports
  * Android: Update code-style-java for androidx files
  * VideoBackends: Disable GPU Texture Decoding under MoltenVK
  * AudioCommon: Get initial sample rates from AudioInterface
  * Android: Make FilePicker act like a normal setting
  * Android: Create separate InvertedCheckBoxSetting and PercentSliderSetting classes
  * Android: Replace Java INI parser with C++ INI parser
  * Android: Expose a proper interface for C++ IniFile class
  * Make default graphics backend not show up as empty
  * Android: Optional AfterDirectoryInitializationRunner failure message
  * Ignore PI_RESET_CODE resetting DI in Wii mode
  * Android: Remove unused files
  * Android: Minor cleanup 2
  * DiscIO: Expand WIA/RVZ header size heuristic comments
  * Android: Minor cleanup
  * Android: res cleanup
  * windows: keep an extra reference to BluetoothApis.dll
  * MemoryWatcher: Do not follow invalid pointers
  * DiscIO: Add parameters to BlobReader::SupportsReadWiiDecrypted
  * AudioInterface: Use 32029/48043 Hz in more places
  * HLE: Improve naming
  * msbuild: add experimental:deterministic for safety
  * msbuild: explicitly disable incremental linking Previously the default was used, which would enable incremental linking for debug builds.
  * msvc: enable /Zc:preprocessor and make build compile cleanly
  * ogl: init ProgramShaderCache::s_ubo_align to 1. silences a warning that it may cause div-by-zero.
  * msbuild: use x64-hosted toolchain
  * msbuild: always enable /Gy and /Gw
  * msbuild: properly enable /Brepro
  * msbuild: fix a typo
  * msbuild: re-enable C4996 and C4351 C4996 enables warnings about deprecated items C4351 was phased out (thus a no-op) years ago
  * msbuild: enable /Zc:externConstexpr,lambda note about preprocessor
  * Add support for FreeBSD/arm64
  * HLE: Rename GetFunctionIndex functions
  * HLE: Make naming closer to the current coding style
  * HLE: Remove unused OSBreakPoints
  * HLE: Remove unused function
  * Android: Better GCAdapter scanning thread management
  * GCAdapter_Android: Minor cleanup
  * Qt/GCMemcardCreateNewDialog: Use zero values for formatting instead of accessing g_SRAM.
  * GameSettings: Add patches for Pokémon Colosseum and Pokémon XD to circumvent the check that the save being overwritten matches the last known save.
  * GCMemcardDirectory: Avoid undefined behavior in ClearBlock().
  * GCMemcard: Avoid undefined behavior in the static Format().
  * GCMemcardDirectory: Clarify data writing in FlushToFile().
  * Jit64: Keep track of free code regions and reuse space when possible.
  * Externals: Add rangeset.
  * x64Emitter: Check end of allocated space when emitting code.
  * Common/Assert: no longer needs special impl for msvc
  * DolphinQt: resolve Qt5.15 deprecations
  * replace is_pod with is_standard_layout && is_trivially_copyable
  * msbuild: silence warnings about deprecated codecvt items
  * remove extraneous WIN32_LEAN_AND_MEAN definition
  * apply `if constexpr` in a couple places
  * fix possible dangling shared_ptr ptr in ios
  * wiimotereal: add some error handling. replace malloc with make_unique
  * use constexpr for some compile-time expressions
  * initialize some variables which need to be
  * windows: fix some incorrect string lengths
  * GekkoDisassembler: fix rld*
  * FileUtil: handle some error conditions
  * don't use std::move on const variables
  * handle to GetFileVersionInfoW must be zero
  * name some threads
  * windows: additionally set thread name via SetThreadDescription
  * windows: fix build if pch were to be disabled
  * msbuild: allow _WIN32_WINNT to be naturally defined by headers
  * msbuild: prettify include paths
  * msbuild: use the moc dispatcher from Qt's vstools The new method supports build parallelism and cleaner integration into msbuild dependency flows.
  * msbuild: fixup linking of discord-rpc
  * msbuild: re-enable standalone vcxproj processing
  * DolphinQt: sort the files in vcxproj
  * windows: disable C4200 directly in libusb.h
  * msbuild: refactor stuff out of project files (for externals)
  * msbuild: refactor stuff out of project files (for dolphin)
  * msbuild: enable D3DCommon to use pch
  * prettify some constructs in vcxproj files
  * DiscIO: Adjust WIA/RVZ header size heuristic
  * Update Windows build to use Qt 5.15.0.
  * Android: Prevent getSetting ClassCastExceptions in ItemViews
  * VolumeVerifier: Adjust problem descriptions for new netplay check
  * Translation resources sync with Transifex
  * Android: Take RTL layout into account for menu animations
  * IOS/USB: Move scan thread logic into a separate class
  * UnitTests: expliticly list files to be compiled. Fixes VS warning / bad behavior.
  * Fix comparison to invalidated vector iterator. GetFstEntryForPath may modify the children vector, so do it before taking an iterator to the vector.
  * UnitTests: quiet warnings
  * msvc: temporary workaround for C4789 false positive
  * BTEmu: Fix home menu inquiry assigning multiple wii remotes to wrong slots.
  * Update state version.
  * BTEmu/Wiimote: Cleanups/Fixes.
  * Removed RunOnObject() usage to prevent deadlock on exiting the NetPlay Session Browser dialog.
  * vs/msbuild: fix the build generating log files in source dirs
  * Bluetooth/WiimoteDevice: Remove some silly comments.
  * BTEmu: Remove a wrong INFO_LOG.
  * Restoring NetPlay Session Browser dialog's settings before connecting widgets, to prevent multiple refresh requests on change.
  * FrameDump: Don't ignore the time base numerator
  * Fix builds with system LZMA when using versions of CMake before 3.14
  * Android: Fix defaults for WiimoteContinuousScanning/EnableSpeaker
  * Android: Rewrite GetRenderSurfaceScale in Java
  * DiscIO: make use of std::nullopt
  * Fix various -Wshadow warnings
  * IOS/USB: deduplicate scan thread stopping
  * ISO/USB: fix potential race condition
  * Jit64: Implement low DCBZ hack
  * VolumeVerifier: Split TMD error from ticket error for WADs
  * JitArm64: Avoid double rounding in fctiwzx
  * Remove wait_for_completion parameter from Renderer::SaveScreenshot
  * Android: Fix SettingsActivity back stack behavior after stop+start
  * Android: Persist Settings using ViewModel
  * Android: Remove some static variables from SettingsAdapter
  * Android: Properly restore state of SettingsActivityPresenter
  * DSPJitRegCache: Simplify WriteReg
  * DSPJitMultiplier: addpaxz - AND constant directly
  * DSPJit: Replace/optimize LEAs
  * DolphinQt: Ignore "-psn" command line option on macOS
  * Port some settings to the new config system
  * MainWindow: Attach quit emulation sheet to RenderWidget on macOS
  * LogManager: Add missing include
  * Allow translations and custom names in GameFile::GetNetPlayName
  * Make netplay's "same game" check more robust
  * Translation resources sync with Transifex
  * Qt/IOWindow: Add a handful of math functions to the function dropdown.
  * InputCommon: Add a handful of math functions to the expression parser.
  * Jit64AsmCommon: Use AVX in ConvertDoubleToSingle
  * OnScreenDisplay: fix names rgba -> argb
  * DolphinQt: Don't capture local pointer by reference
  * CMake: Add -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
  * Bump state version
  * Mark several DVDInterface functions as static
  * Remove DVDInterface::Reset
  * Remove DriveState::DiscChangeDetected hack
  * Fix DVDLowReset spinup flag being read incorrectly
  * Implement PI_RESET_CODE resetting DI
  * Only reset drive chip state (not DI registers) when changing discs
  * Only update DIMAR and DILENGTH if transfer completed without error
  * Split drive state and drive error into 2 fields, and fix some inaccuracies
  * DolphinQt: Show a warning when launching an NKit disc image
  * Android: Add Pause / Unpause Emulation Toggle
  * Android: Remove touchscreen check for rumble
  * Jit64: fselx - Optimize SSE4.1 packed
  * Jit64: fselx - Optimize AVX packed
  * DiscIO: Fix conversion warning
  * For windows cmake builds, build curl with schannel/winssl capability
  * Jit64: fselx - Add AVX path
  * Android: Set preferMinimalPostProcessing="true"
  * VideoCommon: Don't round the refresh rate
  * WiimoteEmu: Don't check extension button press for wii remote reconnection. A real remote doesn't. We won't either.
  * DSPLLE: Use Memory functions isntead of directly using Memory::physical_base
  * Use size_t in some DSP code code
  * INI updates
  * WiimoteEmu: Mark several getters as const
  * Android: Add Log Configuration to UI
  * LightingShaderGen: Transition over to fmt
  * Android: Clear game profiles and GameSettings
  * VertexShaderGen: Transition over to using fmt
  * DolphinQt: fix -Wunused-variable warning
  * DolphinQt: fix -Wsign-compare warning
  * DolphinQt: fix -Wunused-but-set-variable warning
  * DiscIO: fix -Wreorder warning
  * IOS: work around incorrect -Wunused-but-set-variable warning
  * EXI: fix -Wunused-variable warning
  * EXI: fix -Wreorder warning
  * Android: Settings and Emulation activities skip (Tv)MainActivity library rescan
  * GameSettings: SafeTextureCacheColorSamples for SEU and SEV
  * DolphinQt / VideoCommon: Add additional texture dumping options.  Specifically, this enables users to choose whether to dump mip maps, base level textures, or both.
  * Fix disc image conversion button not being clear #3
  * Android: Some simple Clang-Tidy suggestions
  * Config: Simplify IsSettingSaveable
  * Android: Remove hacks for Wii Remote extension and video backend settings
  * DolphinQt: Show WAD as "WAD" instead of "" in file format column
  * HW/GCPadEmu: Adjust gate radius values to more closely match the real hardware.
  * Use range loop (if possible)
  * Translation resources sync with Transifex
  * DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support
  * DolphinQt / InputCommon: Support multiple DSU servers
  * DolphinQt: Add i18n comment for "Surround"
  * DolphinQt: Replace unusual Qt::InitialSortOrderRole usage with a custom role.
  * DolphinQt: Fix default sort direction of game list.
  * NetPlay: Limit nickname length
  * QtUtils: Add UTF8CodePointCountValidator
  * Android: Don't access /dev/ashmem on newer Android versions
  * Add Android check for strerror_r variant
  * Fix Windows CMake builds with shared zlib
  * GCMemcard: Change behavior of TitlePresent() to more closely resemble how saves are actually identified.
  * Common/Timer: Fix integer underflow in Timer::GetDoubleTime for dates before ~2008.
  * Android: Use system cache directory as cache directory
  * Android: Increase targetSdkVersion to 29
  * WiimoteEmu: Allow writes of the i2c bus to play speaker data.
  * ControllerInterface/Wiimote: Provide fallback values for extensions with bad calibration data.
  * Add Break On Hit and Log On Hit for instruction breakpoints
  * RVZ: Fix split seed reads
  * InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail.
  * DolphinQt: Attempt to fix ParallelProgressDialog constantly reopening
  * DolphinQt: Replace QTBUG-10561 workaround with better workaround
  * Android: Fix saving Horizonal Wii Remote overlay A/B/1/2 positions
  * Android: Use correct encoding when converting strings
  * Common: Never convert from UCS-2 in WStringToUTF8
  * Common: Rename UTF16ToUTF8
  * Reword "Please avoid forcing Dolphin to use MSAA by the driver" message
  * InputCommon/GCAdapter: Fix offbrand "GCAdapters" with a libusb_control_transfer call.
  * Android: Convert some files to LF
  * DVDInterface: Increase the latency for read commands
  * DolphinQt: Mark Zstandard as recommended for RVZ
  * DiscIO: Use Volume::IsDatelDisc in VolumeVerifier
  * DolphinQt: Fix scrubbing not being disabled for Datel discs
  * RedumpVerifier: Treat Datel game IDs as empty
  * DiscIO: Add Volume::IsDatelDisc
  * Revert "Return nothing from VolumeWii::GetGameTDBID if Datel"
  * Android: Update "Speed Limit" for "Unlimited" value
  * DolphinQt: Expose SYSCONF sound setting
  * VertexShaderManager: Avoid accessing freelook control type configuration each call which caused a performance hit, move check to RenderBase where it is checked when config changes
  * DolphinQt: Allow customizing TAS input turbo interval
  * Fixes the timer returning 1 when it should return 0. The case mentioned by the comment does not exist anymore. Also added a IsRunning function as it was impossible to know whether it had been started or not (I will use it in later PRs but it should be there anyway)
  * JitArm64_Paired: Fix ps_msub when d == b
  * JitArm64: no intermediate rounding for paired FMA
  * JitArm64: annotate intentional fallthrough
  * Translation resources sync with Transifex
  * Support the new MSVC preprocessor
  * VideoCommon: Show profiler output again
  * JitArm64: Don't assume fastmem arena is available
  * Analytics: Remove deprecated usage of Gestalt to get macOS version
  * WiimoteCommon: Tweak battery level math.
  * Android: Don't use square stick calibration
  * Android: Enfore correct stick gate in overlay
  * Android: Fix button ID typo
  * FreeLookCamera: Fix savestate branch inconsistency.
  * Add XLink Kai UDP BBA
  * Core: update save state version
  * DolphinQt: change freelook fov by the step size
  * VideoCommon: change freelook camera fov step size and expose it
  * DolphinQt: use hotkeys for field of view to modify freelook camera
  * HotkeyManager: Add hotkeys for freelook field-of-view x and y
  * VideoCommon: Use freelook field of view to change the perspective of the camera
  * DolphinQt: Fix a -Wshadow warning in ConvertDialog
  * DiscIO: Deduplicate some VolumeGC/VolumeWii code
  * DolphinQt: Fix a -Wswitch warning in ConvertDialog
  * Replace Windows CMake lambda constexpr capture workaround
  * DolphinQt: Add columns with file format details
  * Android: Wrap game details dialog in ScrollView
  * GCMemcard: Rename unknown field to m_dtv_status
  * Make SO_POLL complete asynchronously
  * Include SRAM in savestates
  * Translation resources sync with Transifex
  * DolphinQt: Show version number for WIA/RVZ introduction
  * Show file format details in game properties
  * RVZ: Bump version number to 1.0
  * Core: Call Movie::FrameUpdate per field, not per line
  * Socket: Fix ENOTCONN error code
  * PatchEngine: Attempt to fix crash in IsStackSane
  * PowerPC: partially implement thermal related SPRs
  * VideoCommon: Clean freelook camera dirty state when getting the new view
  * Android: Make last platform tab selection an INI setting
  * RVZ: Extend GroupEntry
  * RVZ: Make m_rvz a template parameter
  * WIA/RVZ: Move (de)compression to a different file
  * RVZ: Add documentation
  * DolphinQt: Set block size to 128 KiB by default
  * RVZ: Detect junk data in the same block as a file
  * RVZ: Store pseudorandom junk data efficiently
  * WIA/RVZ: Skip some memory allocations when reusing chunks
  * RVZ: Don't store redundant exceptions when chunk size is < 2 MiB
  * RVZ: Support chunk sizes between 32 KiB and 2 MiB
  * RVZ: Remove PURGE support
  * RVZ: Add Zstandard as a compression method
  * Add new file format RVZ based on WIA
  * WIA: Implement multithreaded compression
  * WIA: Write all headers at the start of the file
  * WIA: Reuse groups when writing
  * WIA: Store all-zero data efficiently
  * WIA: Implement compression
  * WIA: Write hash exceptions
  * WIA: Decrypt Wii data when writing
  * WIA: Add early support for WIA writing
  * WIA: Make use of the exception lists
  * WIA: Properly check for overlapping data
  * WIA: Implement re-encryption of Wii partition data
  * WIA: Check the internal WIA hashes
  * WIA: Fix the handling of chunk sizes larger than 2 MiB
  * WIA: Add documentation
  * WIA: Implement caching and partial decompression
  * WIA: Implement bzip2, LZMA, and LZMA2 decompression
  * WIA: Correctly handle data with size not divisible by chunk size
  * WIA: Treat groups with size 0 as containing only zeroes
  * WIA: Implement PURGE decompression
  * WIA: Implement ReadWiiDecrypted
  * WIA: Add reading raw data
  * Add an early version of WIABlobReader
  * DolphinQt: Disable convert dialog dropdowns when they have one option
  * DolphinQt: Allow converting to same format
  * Revert "DolphinQt: Disable converting from TGC"
  * Revert "DolphinQt: Actually disable converting from TGC"
  * DiscIO: Rework the implementation of TGC reading
  * EXI: When loading a savestate with a mismatching GCI folder memory card, reinizialize it with the header from the savestate to let a game still recognize it as the same card.
  * EXI: Store data for regenerating a GCI folder memory card header in EXI_Channel and pass it down to the memory card device.
  * GCMemcard: Split off HeaderData from Header to have a compact block of data for consistent initialization.
  * GCMemcard: Assert struct requirements in header.
  * GCMemcard: Remove dependency on g_SRAM and force the caller to provide the relevant values instead.
  * Translation resources sync with Transifex
  * Externals/zstd: fix CMake project name
  * CMake: support using system-wide zstd library
  * GCMemcard: Move from global namespace into a Memcard namespace.
  * GCMemcard: Split out MemoryCardBase into its own header, which is the base class for the raw and folder memory cards and has little to do with the actual memory card data structures.
  * Android: Separate GameCube overlay refresh logic
  * Android: Disallow multiple launcher activities
  * DolphinQt: Actually disable converting from TGC
  * DolphinQt: Make conversion error messages actually show up
  * DolphinQt: Don't show success message when converting missing file
  * DolphinQt: Fix crash on right-clicking multiple games
  * Android: Android INI section
  * INI changes
  * Replace some acronyms
  * Specify the system minizip's include directory
  * DolReader: if data segment goes off end of file, treat it as zero-fill (bss)
  * DolphinQt: Use QFontMetrics::boundingRect instead of QFontMetrics::width
  * Android: Add option to disallow SD card writes
  * DSPSpy: sync Makefile with current devkitPro template
  * DSPSpy: save and restore $sr properly
  * DSPSpy: show register names instead of numbers
  * Rename existing BBA to BBA (TAP) to prepare for new BBA
  * docs/DSP: fix typos in 'S and 'SN and improve readability
  * DSPSymbols: fix off-by-one error
  * Show an OSD message when running a disc image with a large block size
  * Fix build
  * Qt/GameListModel: Use absolutePath for file path column
  * Android: Display disc number instead of company if mulipart disc
  * Android: Refresh game library when resuming (Tv)MainActivity
  * DolphinQt: Enable RTL layout
  * DolphinQt: Support gettext contexts (Qt disambiguations)
  * Externals: Update msgfmt.exe to 0.20.2
  * DolphinQt: Add fastmem option to debugger UI
  * Replace usage of std::result_of with std::invoke_result
  * Android: Conditionally respond to modified settings
  * Translation resources sync with Transifex
  * DSP/Interpreter: fix comments not matching opcode table
  * DSP/Interpreter: simplify switch
  * DSP/Interpreter: remove redundant masking
  * DSPSpy: fix register editing using GC pad on Wii
  * Android: Add recursive game paths to UI
  * Externals: Fix build failures with the newer glslang.
  * Externals: Update glslang.
  * Add option to disallow SD card writes
  * VideoCommon/ShaderGenCommon: Make template functions regular functions
  * VideoCommon/ShaderGenCommon: Convert helper functions over to fmt
  * DSP/Interpreter: simplify opcode table by masking
  * Misc cleanup
  * CheckNAND: Delete RFL_DB.dat if empty
  * Core: Use window instead of surface for ControllerInterface updates
  * FramebufferManager: Copy to color format for depth readbacks on GLES
  * FramebufferManager: Fix invalid readback of EFB D24S8 depth
  * Common / Core: Update StringUtil to allow specifying the base, default to 0.  Fix ActionReplay code to use this instead of prepending '0x' in front
  * IOS/KD: Implement IOCTL_NWC24_REQUEST_SHUTDOWN
  * Migrate video backend setting to the new config system
  * Translation resources sync with Transifex
  * DolphinQt: Fix freelook description typos
  * Android TV: Add Open File and Install WAD
  * DolphinQt: Fix the panic alert deadlock, Pause on Focus Loss edition
  * Externals/licenses: add bzip2 link and update googletest
  * DolphinQt: Remove another usage of QFontMetrics::width
  * Config: Migrate SSL options to Onion config
  * DSPTool: fix build
  * docs/DSP: fix AX register numbers
  * docs/DSP: add wrapping registers
  * docs/DSP: fix typos
  * Add bzip2, liblzma, zstd to Externals/licenses.md
  * Externals: Add zstd
  * NetworkWidget: Add Blocking column
  * Core/UICommon: Fix EnableScreenSaver preprocessor directive
  * cmake: add an option to control dependencies vendoring
  * GCAdapter: add libusb error logging on reads/writes
  * Apply fixes to all platforms
  * Android: Consistent TODO formatting
  * WiiRoot: Fix empty files being created when source is missing
  * docs/DSP: fix $prod references
  * Core: Add support for specifying a command line option to boot the game into a save-state
  * DiscIO: Implement multithreaded compression
  * Update ControllerInterface.cpp
  * Jit: fix warning -Winvalid-offsetof
  * DolphinQt: Expose freelook camera control to UI
  * VideoCommon: remove VertexShaderManager functions instead preferring the direct freelook camera methods
  * Core: Add freelook camera control type setting
  * VideoCommon: Add Free Look camera with separate modes
  * Boot: Add ConsoleType enum class
  * Debugger: Add a Thread widget
  * Remove redundant "Emulation" from "DSP HLE Emulation"
  * DolphinQt: Saving and restoring NetPlay Session Browser dialog's settings.
  * MathUtil: Fix Rectangle::GetWidth/Height for unsigned types
  * Fix Windows CMake build errors
  * Add /dev/dolphin interface to allow game to read the REAL product code
  * Translation resources sync with Transifex
  * Remove redundant Config prefix from ConfigInfo/ConfigLocation
  * DolphinQt: Store name of user style, not path
  * IOS/KD: Cleanup sockets on IOCTL_NWC24_CLEANUP_SOCKET
  * DolphinQt: Reword memory override description
  * Don't assume fixed width for "Emulated memory size mismatch!" message
  * DolphinQt: Add some i18n comments for recently added strings
  * Translation resources sync with Transifex
  * WiimoteEmu: Cleanup warnings of -Wparentheses
  * Externals: Fix OpenAL include directory.
  * Fix windows build system.
  * Externals: Fix ed25519 include path.
  * Externals: Update minizip search path.
  * Externals: Fix include path for picojson and discord
  * Externals: Alter the soundtouch include directory.
  * XFMemory: SETPOSMTXINFO should be SETPOSTMTXINFO
  * Require minizip 2.0.0 or newer
  * GCMemcardManager: Add GUI to create new memory card.
  * VolumeVerifier: Treat IOS9 as always present
  * Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
  * DolphinQt: Disable converting from TGC
  * Core: Call CreateFullPath before using Backup directory
  * Jit64/Jit64_Tables: Construct tables at compile-time
  * DolphinQt: Use qOverload where applicable
  * Fix Hotkey Controller Profile display with boxes for each Wiimote
  * Cleanup warnings of -Wswitch
  * Android: Add DSP Emulation Engine
  * Android: Fix MenuTag typo
  * DolphinQt: Add info about formats in convert dialog
  * DolphinQt: Make block size configurable in convert dialog
  * DolphinQt: Make scrubbing configurable in convert dialog
  * DiscIO: Move scrubbing code out of ConvertToGCZ
  * DiscIO: Add GameCube disc scrubbing support
  * DiscIO: Fix edge case where blocks could get scrubbed accidentally
  * DolphinQt: Turn the compress/decompress action into a dialog
  * Move DiscIO::ConvertToPlain to FileBlob.cpp
  * DiscIO: Allow converting from formats other than ISO and GCZ
  * Remove warnings of -Wsign-compare
  * SettingsHandler: Don't output null bytes
  * Remove warning of -Wstringop-truncation
  * HW: cleanup warnings of -Wtype-limits
  * Improve "Generate Symbols From > RSO Modules"
  * AddressSpace: Fix constness
* Tue Apr 28 2020 idonmez@suse.com
- Update to version 5.0+git.20200427T203812.7a77abb815:
  * Debugger: Add a Network widget
  * Android: Use touch emulation of IR by default
  * Don't defer EFB Copies to RAM - PMTTYD Issues
  * VolumeVerifier: Show desync warning for dual layer discs too
  * Externals: Add libLZMA.
  * Externals: Add bzip2.
  * DiscIO: Use a struct for Wii hashes
  * DiscIO: Parallelize the re-encryption code
  * DiscIO: Implement re-encryption of Wii partition data
  * DiscIO: Use partition data offset for ReadWiiDecrypted parameter
  * Analytics: Report correct quirk for mismatched xf/bp colors
  * Android: Run installWAD on separate thread
  * Android: Add Install WAD to menu_game_grid
  * Socket: Abort pending operations on close
  * Jit64: subfx - Use LEA when possible
  * Jit64: addx - Skip ADD after MOV when possible
  * Jit64: addx - Prefer smaller MOV+ADD sequence
  * Jit64: addx - Emit MOV when possible
  * Jit64: addx - Emit nothing when possible
  * Jit64: addx - Deduplicate branches part 2
  * Jit64: addx - Deduplicate branches part 1
  * Remove unnecessary EFB to Texture disabling for Spider-Man 2
  * WiimoteEmu: Rename some variables from "cursor" to "point".
  * WiimoteEmu: Apply "Tilt" rotations separately and before those of "Point" and "Swing" for proper tilted pointing.
  * IOS/FS: Fix FST write failure on some platforms
  * Translation resources sync with Transifex
  * Android: Set Insert SD Card default setting to true
  * DiscIO: Clean up decompression size calculation
  * Qt/Debugger: Refresh windows on savestate load.
  * IOS/USBHost: Skip starting threads when determinism is enabled
  * DolphinQt: Added checkbox to filter out NetPlay sessions that are already in-game.
  * DiscIO: Fix decompressing writing too much sometimes
  * DiscIO: Fix decompressing writing too little sometimes
  * Fix bug 11920
  * Android: Reload Wii Remote settings upon saving them
  * Remove outdated comment from Movie::FrameUpdate
  * Adjust s_DIMAR/s_DILENGTH behavior (fixes Baten Kaitos music)
  * Core: Skip duplicate frames when using frame advance
  * Core: Clarify Callback_VideoCopiedToXFB and FrameUpdate
  * Respect Core::WantsDeterminism for DNS on Linux
  * Qt/GameList: Use KeyPress instead of KeyRelease
  * Remove unused function Host_UpdateProgressDialog
  * DolphinQt: Run tasks that use progress dialogs on separate threads
  * Delete properties dialog on close
  * Android: Use the newly added style for all dialogs
  * Android: Use the newly added style for the analytics alert too
  * Android TV: Fix crash when long pressing a game
  * Analytics: Add quirk for mismatched xf/bp texgens/colors
  * VertexManagerBase: Skip drawing objects with mismatched xf/bp stages
  * AudioPane: Do not enable DPL II quality slider with HLE audio on init
  * Android: Add Insert SD Card and update description
  * HLE: Add more debug functions
  * Set Insert SD Card default value to true
  * Qt: Display default Paths
  * Android: Reduce Submenu height by 25 percent
  * Android: Split General settings
  * Match path type to BundleUtilities when running fixup_bundle
  * Cleanup warnings of -Wmissing-declarations
  * VideoCommon: Remove widescreen heuristic debug logs.
  * VideoCommon: Tweak widescreen heuristic and clean up some related Renderer logic.
  * DolphinQt: Don't overwrite >8x IR scale in ini, add maximum internal res option
- Add BR on libbz2-devel and xz-devel
- Force shared enet and force xxhash as found
  (xxhash has no findxxhash.cmake file but it's not needed here)
* Thu Apr 09 2020 idonmez@suse.com
- Update to version 5.0+git.1586380832.9a2d8a9623:
  * Vulkan: Switch from vkCreateMacOSSurfaceMVK() to vkCreateMetalSurfaceEXT()
  * Externals: Update MoltenVK to SDK version 1.2.131.2
  * DolphinQt: Fix the panic alert deadlock (a.k.a. "Question" issue)
* Fri Apr 03 2020 idonmez@suse.com
- Update to version 5.0+git.1585813619.4ff855921e:
  * Android: Force an AppCompat theme in the analytics AlertDialog
  * Translation resources sync with Transifex
  * Translation resources sync with Transifex
  * Android: Don't let onSettingChanged clobber ConfirmRunnable changes
  * Cleanup warnings of -Wunused-lambda-capture
  * use s_ prefix for local variables
  * Fix build with Qt 5.15+
  * Wiimote: Cleanup warnings of -Wmissing-variable-declarations
  * NoGUI: missing override keyword GetWindowSystemInfo
  * Cleanup warnings of -Wpessimizing-move
  * Cleanup warnings of -Wunused-const-variable
  * InputCommon: cleanup warnings of -Wclass-memaccess
  * Cleanup warnings of -Wunused-variable
  * DiscIO: cleanup warnings of -Wmaybe-uninitialized
  * Android: Don't use SettingsAdapter's static state in file picker
  * Android: Add Paths to UI
  * Parse arguments before Qt
  * Qt/CodeWidget: Typo in settings key.
  * SettingsHandler: Always decode the whole settings.txt file
  * Qt/GameListModel: Use native separators in File Path column
  * Boot: Change pre-defined setting.txt CODE values
  * Android: add lighter accent color for dark mode
  * Qt/CodeViewWidget: Make columns resizable by the user and set sensible defaults.
  * Translation resources sync with Transifex
  * Android/JNI: Remove odd usage of the comma operator
  * Fix Load Wii System Menu not updating after performing a disc update
  * DolphinQt: Fix gyro mapping indicator's "jitter" drawing.
  * Core/HotkeyManager: Fix group names in config
  * Android: Set up Day/Night mode for system-compatible optional dark theme
  * Back up Wii setting.txt and SYSCONF while emulating
  * StringUtil: Add PathToFileName function
  * Boot: Preserve MODEL value in setting.txt
  * Boot: Preserve CODE value in setting.txt if it already matches the region
  * Movie: Make checking for existing GC saves more reliable
  * Update Readme.md
  * BTReal: Improve error handling for device opening
  * VideoCommon: Allow texture folders to be determined by a <gameid>.txt file
  * Qt/CodeViewWidget: Indent branch arrows based on free space rather than reserving a full column for each.
  * Use ZoomIn/ZoomOut QKeySequence in GameList
  * Qt: Add Configuration shortcut
  * Qt: Use builtin Find and Quit key sequences
  * Build system: default to fmt shared library when available
  * Fix settings.txt parsing in case of weird line endings
  * Breakpoints: Fix crash after clearing all memory breakpoints
  * Allow using shared minizip
  * Qt/RenderWidget: Remove fill background functionality
  * Core: Render a blank UI frame before booting
  * Vulkan: Pass CAMetalLayer to MoltenVK instead of NSView
  * VideoBackends: Make it possible for PrepareWindow to change the surface
  * Common: Add a render_window field to WindowSystemInfo
  * Android: Add Set as Default ISO to UI
  * Qt/CodeViewWidget: Implement branch arrows.
  * Android: Fix obscured Dolphin version
  * Common/IniFile: Add Exists function for section name only
  * .gitmodules: Make Externals/Qt clone shallow
  * DolphinQt: Fix calibration cancel behavior.
  * DolphinQt: Clean up calibration drawing a bit.
  * InputCommon: Specify ini value default when saving calibration "center".
  * InputCommon: Clamp calibration values within square shape.
  * InputCommon: RoundStickGate's ideal sample count can be 1.
  * HW/WiimoteEmu: Fill IR data with 0xFF on failed bus read.
  * HW/WiimoteEmu: Camera logic cleanups.
  * Qt/CodeViewWidget: Use named constants for column IDs.
  * Core/NetPlayServer: Fix session not being added to index on direct connection type
  * DolphinQt: Give hotkeys their own "background input" setting.
  * Add Windows Implementation Libraries
  * Android: More robust check for whether to sync channels
  * Added Toggle Freelook Hotkey
  * Always display the horizontal scroll bar when log word wrap is off
  * Android: Use square stick calibration
  * Android: Clear preferences linked to WiimoteNew.ini when overwriting
- Use external fmt, enet, minizip, pugixml, xxhash libraries, respectively
  add BR on pkgconfig(fmt), enet-devel, minizip-devel, pugixml-devel, xxhash-devel
- BR on pkgconfig(libsystemd) instead of pkgconfig(systemd) so that we have
  the systemd headers.
* Mon Mar 09 2020 idonmez@suse.com
- Update to version 5.0+git.1583642222.c507370ba2:
  * AudioPane: Do not enable Dolby Pro Logic II quality slider if DPLII is disabled
  * Resources: Make dolphin_logo.png square
  * Source/Core/Core/DSP/DSPTables.cpp: include <cstdio> for sprintf
  * Source/Core/Common/StringUtil.h: include <limits> for std::numeric_limits
  * Used whole path instead of relative path
  * Add path to File Name column of game grid Fixes https://bugs.dolphin-emu.org/issues/10567
* Mon Mar 02 2020 idonmez@suse.com
- Update to version 5.0+git.1582988926.1add30994b:
  * Translation resources sync with Transifex
  * HW/WiimoteEmu: Fix Classic Controller triggers.
  * Qt: Re-enable Dark Mode support
  * DolphinQt: Tweak indicator raw-input/input-shape color for better contrast in some dark themes.
  * DolphinQt: Eliminiate redundant swing indicator logic.
  * DolphinQt: Clean up mapping indicator code and draw lines on "pixel centers".
  * DolphinQt: Eliminate redundant cursor indicator logic.
  * DolphinQt: Break mapping indicators into separate classes. Ensure "state lock" is held on redraw.
  * InputCommon: Remove racy UpdateInput call in DetectInput.
  * InputCommon: Mark GetStateLock with [[nodiscard]] and fix discarding calls.
* Mon Feb 24 2020 idonmez@suse.com
- Update to version 5.0+git.1582525609.25d5f0d9ef:
  * InputCommon: Constify Device::Input::IsDetectable function.
  * Translation resources sync with Transifex
  * Qt/TAS: Improve TAS windows
  * InputCommon: Remove Wii Remote real-time calibration of M+ in favor of functionality provided by ControllerEmu.
  * InputCommon: Add real Wii Remote support to ControllerInterface. Add option to connect additional Wii Remotes.
  * InputCommon/ControllerInterface: Make devices mutex recursive so RemoveDevice can be used within UpdateInput.
  * Core/WiimoteEmu: Add functions to Nunchuk, Classic Controller, and MotionPlus extensions to get/set data without duplicate bithacks everywhere.
  * InputCommon: Add types to ControllerEmu that represent raw controller inputs and calibration data to calculate normalized input values.
  * Common: Add additional Vector operations.
  * InputCommon: Add calibration functionality to IMUGyroscope.
  * MathUtil: Add RunningMean/RunningVariance classes.
  * InputCommon: Add "Dead Zone" setting to raw gyro inputs.
  * Windows GUI: Use QMenu font (Segoe UI) for entire application
  * Common: Avoid std::function overhead in ScopeGuard
  * Core/GeckoCodeConfig : Fix Gecko codes formatting
  * CMake: Fix building ARM64 on Windows
* Thu Feb 13 2020 idonmez@suse.com
- Update to version 5.0+git.1581377336.a9dc4ac3f0:
  * InputCommon: Clean up creation of inputs.
  * InputCommon: Only update setting expressions when the input gate is enabled.
  * Update to Qt 5.14.1
  * VolumeVerifier: Ignore invalid partitions in GetBiggestReferencedOffset
  * Fix VolumeVerifier not showing a problem for invalid partitions
  * InputCommon: Eliminate some duplicated button threshold logic.
  * Fix another implicit false-to-nullptr conversion
  * DiscIO: Check for DirectoryBlob seek failure
  * DolphinQt/Debugger: Fix crash with floating debugger windows
  * CMake: add DOLPHIN_CXX_FLAGS option
  * Cleanup: Use std::abs instead of abs.
  * InputCommon: Allow Wii remote extension to be set with an input expression.
  * InputCommon: XInput cleanups.
  * InputCommon: Expose XInput battery level as an input.
  * InputCommon: Allow controller settings specified with input expresions.
  * DolphinQt: Kill some unused member variables.
  * DolphinQt: Fix stereoscopy hotkeys.
  * DolphinQt: setTabKeyNavigation(false) on QTableWidget and QTableView.
  * Core/NetPlayClient: Add documentation for SendPadHostPoll
  * DolphinQt/Mapping: Change "Dead Zone" color from shadow color of
    palette to a transparent black or white depending on theme.
    Tweak order of "shake" indicator axis colors so red is more often shown.
  * VolumeVerifier: Don't return early when file is too small
  * VolumeVerifier: Don't show an assert for files that are too small
  * Core/Jits: Adds an option to disable the register cache.
* Thu Feb 06 2020 idonmez@suse.com
- Update to version 5.0+git.1580849962.a205ecb446:
  * Common: Amend includes to handle the upgrade to fmt
  * Core: Amend includes to handle the upgrade to fmt
  * VideoCommon: Amend formatting code to handle the upgrade to fmt
  * Externals: Update fmt to 6.1.2
  * Report use of DI interrupt mask commands as a game quirk
  * WiimoteEmu: Fix default IMU accelerometer mappings.
  * Fix assignment of DI interrupt mask ioctls
  * Translation resources sync with Transifex
  * Android: Fix typo in Skip Presenting Duplicate Frames setting name
  * Vulkan: Treat VK_SUBOPTIMAL_KHR as VK_SUCCESS on Android
  * Vulkan: Log when a swap chain resize is occurring
  * IOS/FS: Fix CreateFullPath to not create directories that already exist
  * WiiRoot: Fix CopySysmenuFilesToFS directory creation
  * ButtonManager: Fix handling of empty device id.
  * ControllerInterface/DSUClient: Eliminate m_accl/m_gyro state by accessing the pad data directly like every other input.
* Tue Jan 28 2020 idonmez@suse.com
- Update to version 5.0+git.1580163603.57f4837e4d:
  * DolphinQt/GCMemcardManager: Make use of QLatin1Char within GetErrorMessagesForErrorCode()
  * DolphinQt/GCMemcardManager: Mark string as translatable within GetErrorMessagesForErrorCode()
  * DolphinQt/GameConfigWidget: Remove unimplemented EditUserConfig() member function
  * DolphinQt/GameConfigEdit: Remove unimplemented SetReadOnly() member function
  * DolphinQt/MainWindow: Surround prototype of OnSignal() with relevant ifdef
  * DolphinQt/NetPlayDialog: Remove unimplemented SetGame() prototype
  * VertexLoaderX64: Don't use PDEP on AMD Zen
  * Jit64: Don't use PEXT in DoubleToSingle on AMD Zen
  * x64CPUDetect: Add flag for slow PDEP/PEXT on AMD Zen
  * x64CPUDetect: Add detection for AMD Zen architecture
  * DolphinQt/TASCheckBox: Mark GetValue() as const
  * Translation resources sync with Transifex
  * Common/Analytics: Replace mutex with shared_mutex and minor cleanups.
  * VolumeVerifier: Report read errors to the user
  * IOS/ES: Remove now unnecessary title sorting hack
  * UnitTests/FS: Improve deletion test
  * Tools: Add a small Python tool to print FSTs
  * UnitTests/FS: Add ReadDirectory ordering test (issue 10234)
  * UnitTests/FS: Fix file rename tests
  * UnitTests/FS: Add path validity and splitting tests
  * UnitTests/FS: Add metadata tests
  * IOS/FS: Actually implement SetMetadata
  * IOS/FS: Implement GetMetadata properly and remove GID hack
  * IOS/FS: Implement ReadDirectory properly and remove sorting hack
  * IOS/FS: Implement Rename properly
  * IOS/FS: Implement Delete properly
  * IOS/FS: Implement CreateFile and CreateDir properly
  * Core: Fix a few misuses of FS::CreateDirectory
  * IOS/FS: Implement Format properly
  * IOS/FS: Make sure FS root directory exists
  * IOS/FS: Move /tmp clearing back to the IPC interface
  * IOS/FS: Add base FST functions
  * IOS/FS: Move path validity check functions
  * VideoCommon/OSD: Process OSD messages even when they are disabled.
  * InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
  * Add Dolphin version and current video backend to shader compilation logs
  * Common/Core: Minor rvalue reference related cleanups.
  * VideoCommon/TextureConversionShader: Make use of fmt where applicable
  * VideoCommon/TextureConversionShader: Convert over to using ShaderCode
  * x64Emitter: Remove unused macros
  * X64Emitter: Remove obsolete TODO
  * x64Emitter: Refactor OpArg::WriteRest
  * x64Emitter: Avoid 8-bit displacement when possible
  * x64Emitter: Unit test memory addressing modes
  * WiimoteEmu: Nunchuk and Classic Controller calibration accuracy improvements.
  * Core/WiimoteReal: Make wiimote source type an enum class and add Get/SetWiimoteSource functions. Add connected real Wii Remotes to a pool when a slot is not available.
  * Qt/RenderWidget: Account for devicePixelRatio when auto-adjusting window size
  * Jit64AsmCommon: Use PEXT in GenConvertDoubleToSingle
  * Jit64AsmCommon: Make ConvertDoubleToSingle use RSCRATCH as output
  * UnitTests/Jit64Common: Test GenConvertDoubleToSingle
  * Jit64: Make DoubleToSingle a common asm routine
* Thu Jan 23 2020 idonmez@suse.com
- Update to version 5.0+git.1579717236.ea9b96370d:
  * DiscIO: Fix CISOFileReader::GetDataSize()
* Wed Jan 22 2020 idonmez@suse.com
- Update to version 5.0+git.1579658152.f0669f5aa6:
  * Initial release for build.opensuse.org