1.1.8
Summary
This release aims to add quality-of-life features, as well as some long-requested ones, while also fixing bugs and patching up mistakes from the previous versions.
As always, feel free to ask questions about anything in the Mupen64 Development Discord Server. Bug reports and commisioned features are greatly appreciated and help sustain the development.
Plugin Updates
The RSP plugin of choice, Hacktarux and Azimer's HLE RSP plugin, has been revived and received stability, performance, and usability improvements. It is now available as hacktarux-azimer-rsp-hle 0.2.1.
TASInput 1.1.1 has been released, with relative joystick support and various bugfixes.
The SM64 TASing script of choice, SM64 Lua Redux 2.0.1, has been updated with various minor quality-of-life fixes.
It's recommended to use MGE-enabled plugins, such as better-gln64, for instant savestate updates, improved performance, and enhanced encoding capabilities.
Hardware Support
Warning
If Mupen64 doesn't load at all, check if your processor supports AVX2. If it doesn't, use the mupen64-sse2
or mupen64-avx1
binary instead.
Lua Advisories
emu.atwindowmessage
now only sends WM_MOUSEWHEEL
messages as part of issue #190.
input.map_virtual_key_ex
has been deprecated.
Beta Testers
During this release's testing round, the following community members performed beta testing.
Thank you for the help, your time is greatly appreciated!
New Stuff
- Savestate Insta-Update (increases savestate size and load time, requires MGE, enable "Save video to savestates")
- GameShark cheat support
- Hybrid Encoder
- Runner
- Movie Backups
- Statistics about playtime and rerecords
- Silent mode (suppresses all dialogs)
- Better crash logs with more data, better formatting, and persistence
- CLI Backwards Compatibility
- Add various missing hotkeys (ST Save/Load As, Toggle Movie Loop, Load Latest Script, New Script, Close All Scripts)
- Crash detection lag threshold value has been exposed in the settings dialog
- Input statistics in movie dialog
- Enhanced seeker with status display and cancellation
- Settings item tooltips
- Window size restores when closing rom
- Menu item for showing debug console
- Config self-healing across updates
- Add author and description replacing to movie dialog
- Extend Lua API with VCR Seek
- Silent fast-forward option (improves fast-forward performance at the cost of accuracy)
- Separate section for notifications in statusbar
- Statusbar segment scaling
Bugfixes
- Fix Lua and file dialogs not working when certain plugins are not loaded
- Fix regression regarding graphics being clipped when off-screen
- Fix movie to rom matching producing incorrect results in edge cases
- Fix some audio plugins hanging on close
- Fix occasional wrong resizing on emu close causing black regions in window
- Fix encoding on MGE-implementing plugins freezing graphics
- Fix various menu-related state bugs
- Fix movie duration formatting edge case
- Fix garbage inputs being sent when vcr_on_controller_poll is skipped
- Fix rom not found dialog showing up in unexpected situations
- Fix unexpected pausing behaviour in emu lock sections
- Fix CoreDbg not closing via close button
- Fix early return causing lua controller data copy to go stale
- Fix image pool deletion sequence issue
- Fix author and description not being visible in playback dialog
- Fix CoreDbg instruction list order being incorrect
- Fix crash when closing scripts while minimized
- Fix unexpected behaviour when running via CLI
- Fix missing error dialog for encoding start
- Fix memory leak when starting capture
- Fix encoding start being delayed by one second
- Fix region not being included in save files
- Fix savestate slot checkmark not being shown initially
- Fix allowing extensionless movie paths in movie dialog
- Fix uncapped cache D2D text layout cache growth
- Fix menu plugin config items not working before rom is launched
Performance
- View-sourced invalidation
- Moved hotkey handling out of core message loop
- Plugins are recycled across core starts
- Roms are cached across core starts (specify rom_cache_size in config)
- Allocations have been reduced in the core timer
- Improved MemPak, SRAM, FlashRAM, and EEPROM r/w performance
- Improved Lua rendering performance
- Improved core performance when lua is running
- Enabled AVX2
Other Changes
- The VCR (re-)recording, and (un-)freezing systems have been rewritten
- The lua window titlebar consistency has been improved
- The speed limiter up/down step size has been made consistent
- Stop Movie Recording/Playback have been unified
- RAM Start is shown directly in messagebox
- Improved encoding settings UI
- Further decoupled core from Windows
- Improved movie rom detection
- Improved m64 savestate finding
- Updated to Lua 5.4.2