2.1.0
Full release overview
https://provenance-emu.com/blog/2022/02/15/release-2.1.0/
What's Changed (Auto Generated by GitHub)
- Speedup Mednafen compile, and LIKELY compiler hints by @JoeMatt in #1680
- Fix submodule errors by @dnicolson in #1687
- M68K tvOS Compiler setting sync up by @mrjschulte in #1690
- Update dependencies by @dnicolson in #1688
- refs #1639 Add xcconfig files for sign settings by @JoeMatt in #1640
- make xcconfg work, better, ... by @ToddLa in #1696
- translate by @nenge123 in #1693
- translate by @nenge123 in #1692
- translate word by @nenge123 in #1691
- translate by @nenge123 in #1694
- Ios 13 UX tweaks by @ToddLa in #1699
- fix tvOS focus hell by @ToddLa in #1706
- tvOS UX tweaks by @ToddLa in #1707
- Metal by @JoeMatt in #1708
- Update PVSettingsViewController.swift by @mrjschulte in #1709
- [Metal] Format and size bugfixes by @ac90b671 in #1710
- More mupen options by @JoeMatt in #1682
- Update PVSystem.swift by @mrjschulte in #1713
- Pullrequests/todd la/tvos mrjs by @JoeMatt in #1715
- tintColor fix for Pv Buttons on tvOS by @mrjschulte in #1722
- Match Provenance branding size to capHeight on tvOS by @mrjschulte in #1721
- Improved Core and Game options by @JoeMatt in #1716
- Adds subtle blurEffect to navBar on tvOS by @mrjschulte in #1723
- Clarify Game Speed %'s by @mrjschulte in #1725
- more tvOS UX by @ToddLa in #1726
- 205 more stuff by @JoeMatt in #1730
- fix tvOS by @ToddLa in #1738
- Game Controller UX for UITableView and UINavigationController, and a start of GameLibrary UX by @ToddLa in #1740
- Update Dutch Localized Strings by @mrjschulte in #1743
- MTL CRT Shader fixes by @mrjschulte in #1745
- game controller UX, made Y be long-press, and some clean up by @ToddLa in #1742
- Fix Metal input texture copy to account for cores using an offset origin by @ac90b671 in #1744
- Update crt_fragment.glsl by @mrjschulte in #1746
- Update WebServerActivatorController.swift by @mrjschulte in #1747
- add russian translations by @amoorecodes in #1749
- Sega Options by @JoeMatt in #1741
- CI CD Fix by @JoeMatt in #1739
- More GameLibrary UX by @ToddLa in #1752
- M30 fixes and clarifications by @mrjschulte in #1753
- Make Menu icons iOS only by @mrjschulte in #1756
- [Release] 2.1.0 by @JoeMatt in #1750
New Contributors
- @ToddLa made their first contribution in #1696
- @nenge123 made their first contribution in #1693
- @ac90b671 made their first contribution in #1710
- @amoorecodes made their first contribution in #1749
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.)