1.5.0
Summary
This release brings many features, QoL changes, and bugfixes.
Emulation
Mupen64 now has 64-bit support: the dynamic recompiler core is now natively x64, and so are the first-party plugins. 32-bit builds are still available if you need compatibility with legacy plugins such as Jabo's.
ROMs bigger than 64MB are now supported, and Mupen64 can even run Banjo-Kazooie if the "Accurate RDP Completion" option is enabled.
Many thanks to @hugou74130 for all of the work on this front, and @jgcodes2020 for diligently reviewing these massive changes.
Plugins
Our first-party plugins are now embedded in Mupen64 itself and not shipped as separate DLLs, which simplifies plugin management and reduces startup times.
TAS Video has gotten many enhancements, such as a texture filtering option, widescreen support, and - internally - a port to OpenGL ES. Thank you to @hugou74130!
Performance
General application performance has improved, with savestate operations now being up to 5 times as fast thanks to leveraging lz4 compression.
Linux
We still only ship the Windows GUI, but we've made immense progress internally.
Thanks to huge architectural changes, the core, TAS Video, TAS Audio, and TAS RSP plugins now compile and run on Linux.
Building on all of this work, we now have a rudimentary internal Qt6-based GUI that is slated to replace the Windows GUI on all platforms.
Many thanks to @jgcodes2020 for being the driving force behind this process and doing most of the work on this front!
✨ Features
- TASVideo, TASAudio, TASInput – Dark mode
- ParameterPalette – Allow going back and forth
- Seeker – Show ETA (#1015)
- TASInput – Magnitude hotkeys (#1010)
- TASInput – Make wraparound behavior optional (#984)
- VCR – Seek coalescing (#980)
- Use toast notifications (#979)
- Change MFA default to -1 (#971)
- ConfigDialog – Show why settings cant be changed in tooltip (#961)
- UpdateChecker – Add "Remind Me Later" option (#958)
- Logger – Various logging improvements (#954)
- VCR – Stricter and more informative sync warnings (#935)
- VCR – Key
cpu_cfandrcp_lag_factorinto extended data section (#927) - TASVideo – True widescreen support (#909)
- TASVideo – Shader-based combiner and other modernization (#851)
- Core – Support ROMs up to 128MB (#889)
- Rombrowser – Include recent items (#881)
- Remove "No RSP" plugin (#872)
- Core – X64 dynarec (#776)
- Embed first-party plugins
⚡ Performance
- DCompPresenter – Loosen frame latency requirements
- TASVideo – Reduce rom closing delay
- Core – Faster rom load by keeping emu thread alive (#977)
- Core – Implement lz4 savestate compression (#926)
- Reduce joystick control repaints (#917)
🐞 Bugfixes
- Views.Win32 – Window becomes too big when resized by plugins
- Views.Win32 – Race condition in titlebar update
- TASInput – Window frame sometimes breaks when toggling titlebar
- Default FFmpeg capture not playable on all platforms
- TASInput – Broken sizing when expanding combo section (#994)
- TASVideo – Washed out colors on certain systems (#981)
- LuaDialog – Rare crash when closing dialog (#965)
- ActionMenu – Disabled menu items not being grayed out under wine
- Rare deadlock on close
- AppActions – Loading recent movie emptying author and description (#950)
- "Keep working directory" option not working as expected (#953)
- Rare crashes in SDL_CreateWindow (#947)
- FFmpegEncoder – Space in output path causing capture failure (#946)
- CLI – Failure to start ROMs due to them being treated like movies (#921)
- TASVideo – Apply resolution changes without restarting (#903)
- LuaRenderer – Overlays not disappearing when expected under wine (#894)
- Various issues under wine (#875)
- Inconsistent dummy plugin names (#867)
- Crash loading ROMs with names that aren't valid UTF-8 (#859)
- Inaccurate frame accounting and RDP completion timing (#861)