Skip to content

2.1.0

Compare
Choose a tag to compare
@JoeMatt JoeMatt released this 16 Feb 20:54
· 1629 commits to develop since this release
89c558e

Full release overview

https://provenance-emu.com/blog/2022/02/15/release-2.1.0/

What's Changed (Auto Generated by GitHub)

New Contributors

Full Changelog: 2.0.4...2.1.0

CHANGELOG.md

Special thanks to contributors on this release;
👉 @mrjschulte
👉 @ToddLa
👉 @ac90b671
👉 @nenge123
👉 @david.nicolson
👉 @davidmuzi
👉 @amoorecodes

Added

  • Controllers:
    • On Screen Joystick Controls for N64 and PSX
    • APIs for keyboard, mouse, rumble, on-screen joystick. (coming in future release)
    • Apple TV: Support new Siri remote (MicroGamepad and DirectionalGamepad)
  • Code Signing is now managed with an XCConfig file. See CodeSigning.xcconfig.example for instructions. (Only applies to developers/xcode source installs)
  • Enumeration type menu options UI
  • FPS debug label now includes total CPU and Memory usage.
  • GameBoy Advanced cheat code support
  • Jaguar options exposed
  • Long press a ROM for quick access to Core Options
  • Mednafen
    • many more sub-core options added
    • SNESFaust 1 frame render ahead option (on by default. VERY SNAPPY!)
  • Metal Shaders (CRT, LCD, etc.)
  • N64:
    • mupen/gliden/rice options exposed
    • Dual Shock 4 touchpad as pause
    • option for Dual Joysticks on DualShock4 as dual controllers (allows Goldeneye dual controller joystick layout from 1 physical dualshock)
  • Native Metal renderer option [WIP/Buggy]
  • per-game option overrides
  • radio selection options
  • Sega Saturn Mutli-CD support
  • Swift UI/UIKit optional code paths at app start (SwiftUI currernly empty, for easier development in future)
  • VirtualBoy side by side mode (for 3D tv's with Side by Side mode. Google Cardboard coming later)
  • XCode will present a warning message if it detects a device build but CodeSigning.xcconfig isn't setup.
  • Localizations (Only Partially translated WIP)
    • NSLocalizedString for most strings in main app source
    • Chinese Simplified by @nenge123
    • Spanish
    • Russian by @amoorecodes
    • Dutch by @mrjschulte
    • Portuguese (Brazil) by Stéfano Santos

Improved

  • Mupen:
    • wrapper code organized, refactored
    • faster controller polling, various other code speedup tweaks.
    • mupen llvm optimization flags improved (was incorrectly -O2, now -Os)
  • On-Screen Controls
    • N64 layout improved
    • PSX layout improved
  • Branch prediction compiler hints for tight loops, possibly faster.
  • Catalyst: All cores build now for Intel and M1.
  • check if file exists before attempt to delete, reduces superfluous throws trapping in the debugger
  • Converted more app code from ObjC to Swift
  • Dark Mode UI always on, fixes some color issues
  • Fix some excessive thread blocks
  • Hide/Show systems chevron location tweaks
  • If multiple cores support a system, cores are listed in recommended order.
  • Improved logo/header bar for iOS & tvOS
  • Jaguar button layout tweaks
  • Mark various ObjC classes objc_direct_members. Should improve Swift to ObjC calls bypassing dynamic dispatch for function pointers (in theory)
  • Replace all spinlocks with atomic operations for better thread performance
  • replaced some sloppy force unwraps with proper nil checks and logging
  • Shaders are copied to Documents at load and read from thereafter. This allows locally editing / developing shaders without rebuilding.

Fixed

  • Conflicts better detected
  • tvOS top buttons sometimes couldn't be selected
  • Faster compile times (improved header imports, compiler flags)
  • Fixed some improper retain cycles in ObjC blocks
  • Fixed rare audio engine nil reference race condition crash
  • Cheat entry UI fixes

Updated

  • N64:
    • Swap left and right triggers to L:Start R:Z Button from other way around prior
    • mupen cxd4 plugin to latest upstream version
    • mupen rsp-hle plugin to latest upstream version
  • Updated Swift Packages (RxRealm, Realm, Cocoalumberjack)
  • Improved tvOS UI (top buttons, search, icons, more consistent styling)

Removed

  • Removed SteamController support (no one used it and the code caused too many compilations, plus steam controllers are kind of trash, sorry.)