CI Report:
https://ci-tests.linuxserver.io/linuxserver/scummvm/v2026.4.0-ls37/index.html
LinuxServer Changes:
Full Changelog: v2026.3.0-ls36...v2026.4.0-ls37
Remote Changes:
It is hard to believe, but a quarter-century and a couple of days ago, the ScummVM Project saw its first public commit by Ludvig Strigeus aka ludde.
So many things have changed, and we continue to follow our new release cadence. Without further ado, let's discuss what is coming with the 2026.4.0 release.
New games:
- Added support for Mortadelo y Filemón: Una Aventura de Cine Edición Original.
- Added support for Mortadelo y Filemón: Dos vaqueros chapuceros.
- Added support for Mortadelo y Filemón: Terror, Espanto y Pavor.
- Added support for Mortadelo y Filemón: La Sexta Secta.
- Added support for Mortadelo y Filemón: Operación Moscú.
- Added support for Mortadelo y Filemón: El Escarabajo de Cleopatra.
- Added support for Mortadelo y Filemón: La Banda de Corvino.
- Added support for Mortadelo y Filemón: Balones y Patadones.
- Added support for Mortadelo y Filemón: Mamelucos a la Romana.
- Added support for Dracula: Resurrection.
- Added support for Dracula 2: The Last Sanctuary.
- Added support for Amerzone: The Explorer's Legacy.
- Added support for The Cameron Files: The Secret at Loch Ness.
- Added support for The Messenger / Louvre: The Final Curse.
- Added support for Nancy Drew: The Secret of Shadow Ranch.
- Added support for Nancy Drew: Curse of Blackmoor Manor.
- Added support for Nancy Drew: Secret of the Old Clock.
- Added support for Nancy Drew: Last Train to Blue Moon Canyon.
- Added support for Nancy Drew: Danger by Design.
- Added support for Nancy Drew: The Creature of Kapu Cave.
- Added support for Chamber of the Sci-Mutant Priestess.
- Added support for Star Wars: Rebel Assault.
- Added support for Star Wars: Rebel Assault II: The Hidden Empire.
- Added support for Dragonsphere.
- Added support for Return of the Phantom.
- Added support for Once Upon a Forest.
- Added support for Alpha Polaris.
- Added support for Art of Murder: FBI Confidential.
- Added support for Barrow Hill - The Dark Path.
- Added support for Dark Fall: Lost Souls.
- Added support for Devil In The Capital.
- Added support for Dirty Split.
- Added support for Face Noir.
- Added support for Ghost in the Sheet.
- Added support for Hamlet.
- Added support for The Lost Crown - A Ghost-Hunting Adventure.
- Added support for Murder In Tehran's Alleys 2016.
- Added support for Murder In Tehran's Alleys 1933.
- Added support for Reversion series.
- Added support for Rhiannon: Curse of the Four Branches.
- Added support for Shadows on the Vatican series.
- Added support for other Wintermute engine games, over 140 titles.
- Added support for Der Schatz im Silbersee (Treasure of the Silver Lake).
- Added support for The Fool's Errand.
- Added support for Harvester.
- Added support for Lord Avalot d'Argent.
- Added support for Dungeon Master.
- Added support for Eagle Eye Mysteries.
- Added support for Eagle Eye Mysteries in London.
General:
- Optimised mixing and rate converters, for better performance.
- Implemented ImGui-based interface for the Event Recorder.
- Fixed bug with inability to specify game overrides for MIDI and MT-32
devices. - Switched Nuked-OPL3 AdLib emulator to Nuked-OPL3-fast fork.
- Added support for "obfuscated" InstallShield files. This mainly affected
certain Nancy Drew games, that can now be run without having to run the
Windows installer first.
Asylum:
- Fixed missing or incorrect walking sounds in some scenes.
AWE:
- Fix sound code crash in OpenBSD.
Bagel:
- Fix saving options for Hodj n' Podj's Th Gesng Gme.
GLK:
- Fixed saved font selections not being applied correctly in some games.
- Added support for loading ZX Spectrum games directly from TAP/TZX tape images.
Freescape:
- Added support for loading ZX Spectrum games directly from TAP/TZX tape images.
Hopkins:
- Added the missing underwater base 3D first-person shooter.
- Optional quality-of-life HUD for underwater base shooter with map and autopilot.
Kyra:
- Added support for Korean fan-translation of kyra1 (added in 2026.3.0).
- Restored non-Korean kyra1 games which got broken ("You're missing the 'KYRA.DAT'
engine data file or it got corrupted..." message). - Added an optional automap overlay for Eye of the Beholder 1 and 2.
Lure:
- Improved character pathfinding.
- Fix being unable to talk to characters after a one-sided conversation.
M4:
- Numerous Riddle of Master Lu fixes for crashes, missing functionality, and game bugs.
- Fixed original game bug where conversations with Wolf could freeze the game.
- Added original game cheat codes for bypassing the maze.
- Added translation of message log entries.
MM:
- Fix multiple M&M1 classic combat crashes.
- Implement M&M1 classic PC speaker sound.
- Fix stale view close handling causing crash.
- Fix M&M1 spelling mistakes.
- Improved M&M1 Enhanced mouse support, character generation, and general in-game UI.
- Fixed cutscene subtitle rendering.
- Added Xeen French translation.
- Fix Pharaoh voice line repeating in Dark Side of Xeen intro.
NANCY:
- Generic flags are no longer cleared when saving or auto-saving. Clearing
them introduced issues when auto-saving was done in some scenes. - Loading from the GMM is now possible before starting a new scene.
- It's now possible to skip cutscenes and dialog lines with escape.
- Mouse wheel functionality has been added to several UI widgets.
- Fixed issues with the memory puzzle in Nancy9.
- Fixed issues with the "I can't" item sound.
- Answers entered in password kind of puzzles are now more forgiving (e.g.
"Xoc" and "Lady Xoc" are now both acceptable answers).
SCUMM:
- Improved cursor scale in early Windows HE games.
- Added option to use PAL timing for SID audio in C64 games. This slows
down the music, but that's how many non-US players would have heard it.
Sherlock:
- Vertical movement delta fix for Rose Tattoo.
SLUDGE:
- Added detection for Shape-Shift Escape.
TsAGE:
- Added General MIDI and MT-32 support to the games.
- Improved Sound Blaster sample playback.
- Sound is properly paused when the engine is paused.
V-Cruise:
- Fixed time-based puzzles sometimes getting stuck after restarting ScummVM.
Voyeur:
- Match original first person movement with mouse when looking at mansion.
Android port:
- Support Android 17.
- Add TTS support.
- Add external MIDI device support.
Atari port:
- Added integration with nFM library.
Merged Pull Requests
- PHOENIXVR: Add Dracula Resurrection variants by @Scorpeg in scummvm/scummvm#7589
- DIRECTOR: Seed RNG from system time instead of a fixed value by @zberry92 in scummvm/scummvm#7584
- AUDIO: Optimise mixing and rate converters by @mikrosk in scummvm/scummvm#7385
- AUDIO : Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in scummvm/scummvm#7405
- DM: Fix Crashes and logical bugs by @mohitbankar in scummvm/scummvm#7592
- GUI: Add ImGui interface for Event Recorder by @1SHAMAY1 in scummvm/scummvm#7555
- AUDIO: Change asound_fm.h include by @tunnelsociety in scummvm/scummvm#7583
- CHAMBER: Week3 fixes by @11-andy-11 in scummvm/scummvm#7586
- GUI: Fix MIDI / MT-32 device selection in Game Options override by @Kartik257354 in scummvm/scummvm#7588
- DIRECTOR: work on XTRAs for Terzio & Tivola games by @Lariaa in scummvm/scummvm#7590
- GUI: Fix bitmap rendering with RGB332 overlays by @ccawley2011 in scummvm/scummvm#7593
- FREESCAPE: Move the sound code into separate classes by @ccawley2011 in scummvm/scummvm#7256
- BLADERUNNER: Improve pixel format handling by @ccawley2011 in scummvm/scummvm#7485
- SCI: Add detection for the Hebrew fanmade translation of KQ1-SCI> by @SegMash in scummvm/scummvm#7600
- SCUMM: Add detection for Indiana Jones and the Quest for Paradise VGA by @einstein95 in scummvm/scummvm#7602
- AUDIO: Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in scummvm/scummvm#7604
- BACKENDS: HAIKU: Add option to build dynamic plugins for Haiku by @Begasus in scummvm/scummvm#7606
- NETWORKING/EMSCRIPTEN: Rewrite networking to use timers and add custom timer and mixer by @chkuendig in scummvm/scummvm#7004
- DIRECTOR: implement SendSprite/SendAllSprites & quirks for TKKG and Oscar games by @Lariaa in scummvm/scummvm#7601
- DIRECTOR: Add detection entries for Gus Goes to Cyberopolis (Win/Mac) by @ramyak-sharma in scummvm/scummvm#7598
- DEVTOOLS: COMPANION: Add CCD image conversion support by @HabibaMahmoud2005 in scummvm/scummvm#7609
- CHAMBER: Week 4 fixes by @11-andy-11 in scummvm/scummvm#7597
- CHAMBER: Add Amiga (EU "Kult") rendering support by @11-andy-11 in scummvm/scummvm#7607
- COMMON: Fix incorrect @PARAM names in OSystem doc comments by @eeshsaxena in scummvm/scummvm#7610
- DIRECTOR: Add detection entry for gustown by @ramyak-sharma in scummvm/scummvm#7614
- DIRECTOR: DT: Fix script not rendering in script viewer by @ramyak-sharma in scummvm/scummvm#7612
- SKY: Port iBASS to ScummVM by @Priyanshu3820 in scummvm/scummvm#7565
- BACKENDS: Allow cursors to be scaled relative to the game screen by @ccawley2011 in scummvm/scummvm#7490
- AUDIO: Switch Nuked-OPL3 to Nuked-OPL3-fast fork by @tgies in scummvm/scummvm#7543
- SLUDGE: Add shape-shift-escape to detection by @polyesterswing in scummvm/scummvm#7581
- SLUDGE: Replace blendBlitTo with blendBlitFrom and blendFillRect by @ccawley2011 in scummvm/scummvm#7596
- AUDIO: Add HMI Infinite Audio DSP library reimplementation by @AndywinXp in scummvm/scummvm#7591
- DIRECTOR: Support running with 16bpp pixel formats by @ccawley2011 in scummvm/scummvm#5930
- DIRECTOR: Fix filmloop shift when swapping cast member with lingo by @ramyak-sharma in scummvm/scummvm#7620
- ENGINES: resolve various compiler warnings by @meekee7 in scummvm/scummvm#7615
- BACKENDS: OPENGL: Restore fractional cursor scale by @tunnelsociety in scummvm/scummvm#7619
- DIRECTOR: Make Jewels of the Oracle playable by @zberry92 in scummvm/scummvm#7626
- BACKENDS: ATARI: Build fix by @n0kturnal in scummvm/scummvm#7625
- HARVESTER: Address Coverity scan findings by @alexbevi in scummvm/scummvm#7624
- DIRECTOR: Demo detection entries, Tivola& Tivola fixes & CopyProtection stub. by @Lariaa in scummvm/scummvm#7627
- PHOENIXVR: Simplify blitting routines by @ccawley2011 in scummvm/scummvm#7616
- SDL: Fix game cursor position at scale factors above 1x by @11-andy-11 in scummvm/scummvm#7628
- Support "obfuscated" version of Nancy 10 by @eriktorbjorn in scummvm/scummvm#7631
- Documentation Modification by @Kartik257354 in scummvm/scummvm#7630
- DOCS: Fix broken images by @Kartik257354 in scummvm/scummvm#7632
- DM: Replace raw thing-data casts with typed struct arrays by @mohitbankar in scummvm/scummvm#7594
- DM: Fixes and support for extended saves by @mohitbankar in scummvm/scummvm#7637
- NANCY: Fix buffer overread in HamRadioPuzzle by @tunnelsociety in scummvm/scummvm#7638
- DIRECTOR: Add Opera Fatal Italian Windows detection entry by @M0Rf30 in scummvm/scummvm#7622
- MM: XEEN: Fix cutscene subtitle rendering by @nikaiw in scummvm/scummvm#7635
- DIRECTOR: Fixes for true-colour mode by @moralrecordings in scummvm/scummvm#7639
- SKY: Implement text chooser for ibass by @Priyanshu3820 in scummvm/scummvm#7634
- DIRECTOR: D7 loading/parsing fixes (Lscr/Lnam, MCsL, VWCF, sound) + Italian Physikus detection by @M0Rf30 in scummvm/scummvm#7621
- SKY: Skip check for sky.dnr in iBASS by @Priyanshu3820 in scummvm/scummvm#7640
- DIRECTOR: DT: Fix crashes, stale state and navigation in the debugger by @ramyak-sharma in scummvm/scummvm#7646
- Bump mistune from 3.2.1 to 3.3.0 in /doc/docportal by @dependabot[bot] in scummvm/scummvm#7650
- CHEWY: Fix losing active inventory item, bug #16622 by @maxhgerlach in scummvm/scummvm#7648
- AUDIO: Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in scummvm/scummvm#7623
- CHEWY: Fix #16946 (Cannot interact at all after leaving first room) by @maxhgerlach in scummvm/scummvm#7651
- CHEWY: Rename startSetAILWait -> startDetailWait by @maxhgerlach in scummvm/scummvm#7653
- CHEWY: Fix #16948 (non-responsive state in room 05) by @maxhgerlach in scummvm/scummvm#7655
- HARVESTER: add support for the Harvester demo by @alexbevi in scummvm/scummvm#7652
- CHEWY: Fix left mouse clicks being ignored after a lingering Return key by @maxhgerlach in scummvm/scummvm#7656
- CHEWY: Fix non-responsive states in room 07 by @maxhgerlach in scummvm/scummvm#7657
- ANDROID: Update for Android 17 by @lephilousophe in scummvm/scummvm#7608
- LURE: Fix being unable to talk to characters after a one-sided conversation by @maxhgerlach in scummvm/scummvm#7645
- SCI: Add detection for the Hebrew fanmade translation of QFG1 EGA Ver… by @SegMash in scummvm/scummvm#7658
- ALL: Use override keyword where appropriate by @lephilousophe in scummvm/scummvm#7654
- SCI: Update detection for the Hebrew fanmade translation of QFG1 EGA by @SegMash in scummvm/scummvm#7659
- PHOENIXVR: Use RGB565 for DCT VR rendering by @Scorpeg in scummvm/scummvm#7611
- ENGINES: Add hotspot display feature by @margorski in scummvm/scummvm#7135
- DIRECTOR: Fix cast member mapping regression from MCsL libResourceId widening by @M0Rf30 in scummvm/scummvm#7663
- DIRECTOR: Fix Physicus/Physikus boot blockers (Xtra stubs, CD detection, SIGFPE guards) by @M0Rf30 in scummvm/scummvm#7666
- VIDEO: Support audio-only AVI files by @Scorpeg in scummvm/scummvm#7670
- CHEWY: Add missing talking animation in room 11 with terminal by @maxhgerlach in scummvm/scummvm#7669
- CHEWY: Add 3x missing talking animations in room 12 by @maxhgerlach in scummvm/scummvm#7671
- SKY: Fix transparency issue in inventory icon in ibass by @Priyanshu3820 in scummvm/scummvm#7641
- SDL: Work around stale mouse positions on macOS 26 by @rlanday in scummvm/scummvm#7649
- DIRECTOR: Reverse ink on colour bitmaps behaves like BackgndTrans by @Lariaa in scummvm/scummvm#7667
- DIRECTOR: Asset Xtra cast member registry and prepareFrame dispatch fix by @M0Rf30 in scummvm/scummvm#7668
- DIRECTOR: LINGO: Map D5+ objcall bytecodes to cb_call by @M0Rf30 in scummvm/scummvm#7672
- COMMON: Add move-assign operator to DisposablePtr by @Helco in scummvm/scummvm#7673
- DIRECTOR: LINGO: Register budapi32 filename for the BuddyAPI Xtra by @M0Rf30 in scummvm/scummvm#7674
- DIRECTOR: Use D6 equality table for D7 and D8 by @M0Rf30 in scummvm/scummvm#7681
- DIRECTOR: Force true color mode for Bioscopia by @M0Rf30 in scummvm/scummvm#7679
- DIRECTOR: Read Afterburner-compressed chunks big-endian by default by @M0Rf30 in scummvm/scummvm#7680
- SCI: Cleanup LZW view/pic decompressors, others by @sluicebox in scummvm/scummvm#7675
- DIRECTOR: Add the scale digital-video member property (D7) by @M0Rf30 in scummvm/scummvm#7683
- DIRECTOR: add director game title to USED IN section by @BJNFNE in scummvm/scummvm#7684
- DIRECTOR: Fix mouseUp dispatching to wrong sprite in D4 by @ramyak-sharma in scummvm/scummvm#7633
- DIRECTOR: LINGO: Add the soundDevice entity (D7) by @M0Rf30 in scummvm/scummvm#7687
- DIRECTOR: LINGO: Implement BudAPI baReadIni, baWriteIni and baReadRegString by @M0Rf30 in scummvm/scummvm#7688
- DIRECTOR: Fix Opera Fatal intro crash and frozen video sequence by @M0Rf30 in scummvm/scummvm#7689
- SDL: Preserve events outside ImGui input capture by @AndywinXp in scummvm/scummvm#7682
- DIRECTOR: DT: Call-stack highlighting, Cast window improvements, and paused redraw by @ramyak-sharma in scummvm/scummvm#7690
- DM: Fix Issues flagged by Coverity Scan by @mohitbankar in scummvm/scummvm#7693
- DIRECTOR: Guard film loop accessors against unloaded score by @M0Rf30 in scummvm/scummvm#7696
- DIRECTOR: Add .CCT to the D6+ movie extension search list by @M0Rf30 in scummvm/scummvm#7697
- GRAPHICS: Remove glow from hotspot renderer by @margorski in scummvm/scummvm#7694
- STARK: Fix loading PNGs without an alpha channel by @Victor-Gomez in scummvm/scummvm#7662
- CHAMBER: Support the Amiga US (Chamber) release in the Amiga renderer by @11-andy-11 in scummvm/scummvm#7629
- DEVTOOLS: DIRECTOR: Update xobj stub generator, format with black by @einstein95 in scummvm/scummvm#7702
- DIRECTOR: Night Light xlibs, few new detection entries by @einstein95 in scummvm/scummvm#7701
- DIRECTOR: Honor Afterburner Fcdr compression types when reading resources by @M0Rf30 in scummvm/scummvm#7698
- DIRECTOR: Recognize D7 Cursor Asset Xtra cast members by @M0Rf30 in scummvm/scummvm#7695
- DIRECTOR: Parse Afterburner Fver imap/director versions and version string by @M0Rf30 in scummvm/scummvm#7699
- DIRECTOR: Include Xtra symbol and cast id in XtraCastMember stub warnings by @M0Rf30 in scummvm/scummvm#7700
- AUDIO: Fix infinite loop in RateConverter on a partial upsample group by @yasuno45 in scummvm/scummvm#7643
- MACVENTURE: Initialize titlePadding in borderOffsets by @11-andy-11 in scummvm/scummvm#7722
- CHAMBER: Enable engine for release by @11-andy-11 in scummvm/scummvm#7705
- FOOL: Create MacWindowManager dynamically instead of statically by @eriktorbjorn in scummvm/scummvm#7691
- DIRECTOR: Fix film loop D4 and D5+ behavior by @ramyak-sharma in scummvm/scummvm#7727
- DEVTOOLS: Extract MacVenture Steam disk images from the game .exe by @11-andy-11 in scummvm/scummvm#7726
- CHAMBER: Honor the selected CGA/EGA variant when both are in one folder by @11-andy-11 in scummvm/scummvm#7728
- MM: XEEN: Add French translation by @nikaiw in scummvm/scummvm#7725
- NANCY: replace static Rect definitions with constexpr equivalents by @meekee7 in scummvm/scummvm#7730
- CHEWY: Add missing animation for Chewy in room 11 (Bork-Bork dialog) by @maxhgerlach in scummvm/scummvm#7732
- CHEWY: Add missing talking animations in room 17 by @maxhgerlach in scummvm/scummvm#7734
- CHEWY: Fix hermit animation in room 14 in dialog with translator by @maxhgerlach in scummvm/scummvm#7733
- DIRECTOR: Fix shape cast member data size and byte order when saving by @M0Rf30 in scummvm/scummvm#7709
- DIRECTOR: Fix crash and size mismatch saving rich text cast members by @M0Rf30 in scummvm/scummvm#7711
- DIRECTOR: Refuse to save Afterburner movies by @M0Rf30 in scummvm/scummvm#7712
- DIRECTOR: Preserve the member type when duplicating buttons by @M0Rf30 in scummvm/scummvm#7713
- DIRECTOR: Don't mark bitmaps runtime-changed at load time by @M0Rf30 in scummvm/scummvm#7714
- DIRECTOR: Fix saving members created at runtime by @M0Rf30 in scummvm/scummvm#7715
- CHEWY: Add missing talking animations in rooms 29 and 37 by @maxhgerlach in scummvm/scummvm#7736
- CHEWY: Add dialog animation for Howard in room 41 by @maxhgerlach in scummvm/scummvm#7737
- CHAMBER: resolve global constructor in global array by @meekee7 in scummvm/scummvm#7731
- DIRECTOR: Yield to the backend during long Lingo repeat loops by @yasuno45 in scummvm/scummvm#7644
- DIRECTOR: Fix config chunk size and tag when saving movies by @M0Rf30 in scummvm/scummvm#7708
- DIRECTOR: Fix buffer overflow writing 8bpp bitmaps with padded pitch by @M0Rf30 in scummvm/scummvm#7710
- DIRECTOR: LINGO: Dispatch prepareFrame to the frame and movie scripts by @M0Rf30 in scummvm/scummvm#7744
- DIRECTOR: Release auto-puppet latches when the score reasserts a sprite by @M0Rf30 in scummvm/scummvm#7745
- DIRECTOR: Fixes for Math Heads by @moralrecordings in scummvm/scummvm#7746
- MACVENTURE: Macventure iigs by @11-andy-11 in scummvm/scummvm#7748
- DIRECTOR: Gate cast member and child-resource save writers on capability by @M0Rf30 in scummvm/scummvm#7717
- LIBRETRO: Guard NULL g_system when changing gui_h_res / aspect by @apexdesk in scummvm/scummvm#7741
- NANCY: Fix SecondaryMovie overread by @tunnelsociety in scummvm/scummvm#7747
- NANCY: Add French font characters by @tunnelsociety in scummvm/scummvm#7750
- MM: XEEN: Play pharoh1b.voc only once in the intro by @nikaiw in scummvm/scummvm#7735
- AWE: Fix sfx music crash on OpenBSD (or through TSan) by @dwatteau in scummvm/scummvm#7703
- DOCS: Update Saving and loading a game webpage by @Kartik257354 in scummvm/scummvm#7743
- COMMON: Add is_assignable, is_constructible and support move-only SWAPs by @Helco in scummvm/scummvm#7706
- GRAPHICS: Add kTTFRenderModeNormalWithGridFitting by @Helco in scummvm/scummvm#7749
- MADS: NEBULAR: Better support DOS demo startup by @fusefib in scummvm/scummvm#7751
- LIBRETRO: Pace audio generation against wall time, not frame count by @apexdesk in scummvm/scummvm#7742
- CHEWY: Fix station employee animation when Howard is around, room 42 by @maxhgerlach in scummvm/scummvm#7753
- CHEWY: Add missing Chewy animation in room 40 when train passes by @maxhgerlach in scummvm/scummvm#7754
- AGDS: Default _fastMode to false so the 25 FPS cap actually applies by @nikaiw in scummvm/scummvm#7719
- SCI: Fix RTL text box clipping by @ZvikaZ in scummvm/scummvm#7757
- AGDS: Character walking by @nikaiw in scummvm/scummvm#7729
- CHEWY: Add missing animation for Chewy and Howard in room 46 by @maxhgerlach in scummvm/scummvm#7758
- AGS: Add detection, support for Gobliiins 5 v1.0.5 by @einstein95 in scummvm/scummvm#7721
- DIRECTOR: Fixes for event handling by @moralrecordings in scummvm/scummvm#7764
- DIRECTOR: Some detection fixups and new entry by @besentv in scummvm/scummvm#7763
- MACVENTURE: Macventure fixes by @11-andy-11 in scummvm/scummvm#7760
- BURIED: Update cursor icon after navigation. by @kmh287 in scummvm/scummvm#7771
- CHEWY: Fix Chewy and Howard sprite placement on train by @maxhgerlach in scummvm/scummvm#7755
- SCI32: Fix right-to-left alignment of scrolled text lines by @ZvikaZ in scummvm/scummvm#7770
- GRAPHIC: Hotspots are being displayed on the left side of the marker if gets out of the screen on the right side by @margorski in scummvm/scummvm#7762
- CHEWY: Ignore next KEYUP when resuming from overlay by @maxhgerlach in scummvm/scummvm#7664
- DIRECTOR: Implement movie cast members as parallel interactive movies by @ramyak-sharma in scummvm/scummvm#7752
- DIRECTOR: Add another optgraph.dll return value by @besentv in scummvm/scummvm#7772
- SCI32: Fix right-to-left text with inline style control codes by @ZvikaZ in scummvm/scummvm#7774
- CGE2: Fix missing dialogue text for bar crook by @fusefib in scummvm/scummvm#7776
- MADS: NEBULAR: Add initial Rex Nebular Macintosh release support by @fusefib in scummvm/scummvm#7775
- DIRECTOR: Fix trail-sprite erasure and 0x0 digital-video sizing by @ramyak-sharma in scummvm/scummvm#7780
- CGE2: Restore missing tailor text by @fusefib in scummvm/scummvm#7778
- MAD: NEBULAR: Further Macintosh cleanup & updates by @fusefib in scummvm/scummvm#7782
- NANCY: move instead of copy surface by @meekee7 in scummvm/scummvm#7785
- MACVENTURE: Deja Vu playtesting fixes by @11-andy-11 in scummvm/scummvm#7773
- DM: Add support for DOS version of Dungeon Master by @mohitbankar in scummvm/scummvm#7777
- DIRECTOR: DT: ImGui debugger improvements by @ramyak-sharma in scummvm/scummvm#7781
- MACVENTURE: Bug Fixes by @11-andy-11 in scummvm/scummvm#7787
- GRAPHICS: MACGUI: Fix invalid rectangle when drawing tall scrolled text by @11-andy-11 in scummvm/scummvm#7784
- DIRECTOR: Fixes for Noir - A Shadowy Thriller by @moralrecordings in scummvm/scummvm#7796
- BACKENDS: SDL: Preserve SDL text input for active ImGui text fields by @ramyak-sharma in scummvm/scummvm#7779
- M4: RIDDLE: Restore the trigger mode in Section9Room::escapePressed() by @xtsnoops in scummvm/scummvm#7795
- M4: Fix the MIDI end trigger firing before the machine table exists by @xtsnoops in scummvm/scummvm#7794
- M4: RIDDLE: Fix crash when crossing Moca Moche tree by @xtsnoops in scummvm/scummvm#7793
- M4: RIDDLE: Fix Wolf conversation freeze by @xtsnoops in scummvm/scummvm#7792
- M4: RIDDLE: Fix interacting with exhibits in room 305 by @xtsnoops in scummvm/scummvm#7791
- M4: RIDDLE: Make Marshall Matt show up again by @xtsnoops in scummvm/scummvm#7790
- M4: RIDDLE: Fix Sikkim maze typo and restore cheat by @xtsnoops in scummvm/scummvm#7789
- MADS: NEBULAR: Fix Mac GMM save/load and implement original Mac menus by @fusefib in scummvm/scummvm#7788
- MADS: NEBULAR: Fix remaining ISOUND/PC Speaker issues by @fusefib in scummvm/scummvm#7769
- COMMON: add missing return statement to non-void function by @meekee7 in scummvm/scummvm#7798
- GRIM: Correct the calculation for attached joints for MI4 by @oliverkuchies in scummvm/scummvm#7800
- M4: RIDDLE: Fix lost walk trigger when fast-forwarding walks by @xtsnoops in scummvm/scummvm#7802
- M4: RIDDLE: Fix crash when returning from options menu to game menu by @xtsnoops in scummvm/scummvm#7801
- MADS: Add Rex Nebular Bonus Disk support by @fusefib in scummvm/scummvm#7799
- BURIED: Fix buggy transition in Chateau Gaillard by @kmh287 in scummvm/scummvm#7803
- SHERLOCK: TATTOO: Fix delta.x sign during vertical walks by @tslmy in scummvm/scummvm#7808
- HOPKINS: Restore the Windows WBASE underwater base sequence by @fusefib in scummvm/scummvm#7806
- M4: RIDDLE: Fix blocker in room 603 when trying to take the pole by @xtsnoops in scummvm/scummvm#7809
- M4: RIDDLE: Fix lockup in 605 when taking disk with Twelvetrees present by @xtsnoops in scummvm/scummvm#7810
- M4: RIDDLE: Fix Twelvetrees' head turn animation loop in room 605 by @xtsnoops in scummvm/scummvm#7812
- ENGINES: use ARRAYSIZE macro where applicable by @meekee7 in scummvm/scummvm#7814
- MACVENTURE: Sign the diploma and page the console with click to continue by @11-andy-11 in scummvm/scummvm#7807
- GLK: ALAN3: use ASIZE macro where applicable by @meekee7 in scummvm/scummvm#7813
- MADS: Improve or add sound overlays for three games by @fusefib in scummvm/scummvm#7817
- MADS: NEBULAR: Fix most of Macintosh Rex Nebular by @fusefib in scummvm/scummvm#7818
- ASYLUM: Possible fix for incorrect walk sounds by @eriktorbjorn in scummvm/scummvm#7665
- WATCHMAKER: make more structs constexpr-capable by @meekee7 in scummvm/scummvm#7827
- MADS: NEBULAR: Improve original Macintosh functionality by @fusefib in scummvm/scummvm#7826
- SHERLOCK: Fix Tattoo scale zone fallback by @tslmy in scummvm/scummvm#7824
- MACVENTURE: dejavu2 fixes by @11-andy-11 in scummvm/scummvm#7820
- M4: RIDDLE: Fix looping sound in room 806 by @xtsnoops in scummvm/scummvm#7831
- MADS: NEBULAR: Fix Macintosh text rendering issues by @fusefib in scummvm/scummvm#7829
- TSAGE: Add MIDI support and improve Sound Blaster playback by @fusefib in scummvm/scummvm#7828
- SKY: Restore partial screen updates by @mikrosk in scummvm/scummvm#7836
- VOYEUR: Lock the mouse when viewing the mansion as per the original by @NigeNigeNige in scummvm/scummvm#7833
- MADE: Unload music data when stopping playback by @synacktic in scummvm/scummvm#7846
- MADS: NEBULAR: Fix other minor Macintosh issues by @fusefib in scummvm/scummvm#7838
- NANCY: Fix chroma-keyed Bink videos not being keyed by @fedossayenko in scummvm/scummvm#7823
- MADE: Report selected synthesiser type by @synacktic in scummvm/scummvm#7845
- ENGINES: enhancementEnabled should be const by @mgerhardy in scummvm/scummvm#7857
- SLUDGE: self-contained headers by @meekee7 in scummvm/scummvm#7856
- SCUMM: RA: IO7: Fix virtual controller for Rebel Assault games by @larsamannen in scummvm/scummvm#7852
- GOB: add kFeaturesTrueColor to ADI4 variants by @BJNFNE in scummvm/scummvm#7860
- GUI: Prevent use-after-free in
_tooltipby @greg-kennedy in scummvm/scummvm#7863 - GOB: add german adi4anglais1213 addon variant to tables by @BJNFNE in scummvm/scummvm#7864
- ANDROID: Add TTS support by @lephilousophe in scummvm/scummvm#7805
- DIRECTOR: Fix Lingo point/rect operations and bitmap picture assignment by @ramyak-sharma in scummvm/scummvm#7854
- DIRECTOR: Share sound channels across the Stage and MIAWs by @ramyak-sharma in scummvm/scummvm#7825
- AVALANCHE: Bug fixes and Implement missing features by @mohitbankar in scummvm/scummvm#7837
- SKY: Add CgBI decoder and hint system for ibass by @Priyanshu3820 in scummvm/scummvm#7811
- SCUMM: HE: Baseball2001 Hacks Being Removed by @Vissery in scummvm/scummvm#7819
- SKY: Add hotspots in ibass by @Priyanshu3820 in scummvm/scummvm#7853
- SCI: Fix eos() check by @mikrosk in scummvm/scummvm#7866
- KYRA: EOB: Add an optional automap overlay by @adjioev in scummvm/scummvm#7603
- DIRECTOR: DT: Add a Lingo execution tracer to the visual debugger by @ramyak-sharma in scummvm/scummvm#7816
- MADS: Fix additional sound problems by @fusefib in scummvm/scummvm#7865
- GUI: Fix event recorder build without ImGui by @MerrittFranzmann in scummvm/scummvm#7870
- GOB: mark Addi Simule as stable by @BJNFNE in scummvm/scummvm#7862
- GOB: add german adi4anglais1314 addon to detection by @BJNFNE in scummvm/scummvm#7872
- ULTIMA: Remove shared/std/containers.h by @ccawley2011 in scummvm/scummvm#7890
- Bump mistune from 3.3.0 to 3.3.3 in /doc/docportal by @dependabot[bot] in scummvm/scummvm#7897
- ENGINES: use references instead of copying for loop variables by @meekee7 in scummvm/scummvm#7894
- KYRA: move HaleStorm sound driver to audio/mac by @greg-kennedy in scummvm/scummvm#7884
- TITANIC: Drop the unreachable second diff >= 0 branch in LiftbotScript by @darkdi in scummvm/scummvm#7891
- PHOENIXVR: Add initial support for the Pharaoh's Curse demo by @ccawley2011 in scummvm/scummvm#7892
- PHOENIXVR: Use simpleBlitFrom() for rendering cursors with alpha transparency by @ccawley2011 in scummvm/scummvm#7893
- STARK: Save the palette when extracting textures by @ccawley2011 in scummvm/scummvm#7888
- STARK: Reduce surface copying when creating viewport screenshots by @ccawley2011 in scummvm/scummvm#7889
- LIBRETRO: wii u - replace mwup with wiiu by @cscd98 in scummvm/scummvm#7898
- GUI: Shadow fixes by @mikrosk in scummvm/scummvm#7873
- ANDROID: Add MIDI driver support by @lephilousophe in scummvm/scummvm#7869
- AGS: Move include for wchar.h before scummsys.h in ALFONT by @antoniou79 in scummvm/scummvm#7899
- GOB: Add save files of Adi4/Euro application by @BJNFNE in scummvm/scummvm#7900
- KINGDOM: Play stereo music in stereo mode by @antoniou79 in scummvm/scummvm#7861
- MACVENTURE: Macventure release by @11-andy-11 in scummvm/scummvm#7830
- MACVENTURE: Promote the Macintosh releases to testing by @11-andy-11 in scummvm/scummvm#7834
- COMMON: Fix VS compiler warnings in core by @elasota in scummvm/scummvm#7912
- SURFACESDL: Fix setting the colour key and blend mode with SDL3 by @ccawley2011 in scummvm/scummvm#7904
- DIRECTOR: Ignore unrelated NET.EXE projectors by @ied206 in scummvm/scummvm#7911
- GUI: Fix ScrollContainerWidget and various other simplifications in the GUI code by @lephilousophe in scummvm/scummvm#7886
- M4: RIDDLE: fix logic/animation in Room 407 by @vorph999 in scummvm/scummvm#7901
- GUI: Don't restore a widget's shadow over its neighbour by @mikrosk in scummvm/scummvm#7903
- TETRAEDGE: Do not string format an awry float for debug print by @antoniou79 in scummvm/scummvm#7914
- EEM: Fix sign-comparison warnings in mystery.cpp by @uj404 in scummvm/scummvm#7917
- FREESCAPE: Fix sign-comparision warnings in Dark Atari by @uj404 in scummvm/scummvm#7921
- CHAMBER: Fix format specifier warning in SCR_TRAP by @uj404 in scummvm/scummvm#7920
- MADS: PHANTOM: Fix main menu pokeable eyes gag, restore missing content by @fusefib in scummvm/scummvm#7918
- WME: GLSL 'int' precision fix up by @aquadran in scummvm/scummvm#7919
- ALL: use arrow dereferencing operator by @meekee7 in scummvm/scummvm#7916
- VIDEO: Make loadStream function of video decoders free stream in case of failure by @lephilousophe in scummvm/scummvm#7935
- SCUMM: Match getSaveStateName() to makeSavegameName() by @TRusselo in scummvm/scummvm#7945
- GUI: Enable CJK fonts in RichTextWidget by @ied206 in scummvm/scummvm#7908
- MADE: support games "Richard Scarry's B* Neighborhood Disc Ever!" by @greg-kennedy in scummvm/scummvm#7855
- GUI: Let Ctrl and Alt hotkeys through when a list has focus by @ObjectInSpace in scummvm/scummvm#7858
- CI: Add a Github Action to check commit authors by @mduggan in scummvm/scummvm#7949
- ALL: add missing include guards by @meekee7 in scummvm/scummvm#7851
- CHAMBER: Take the Hercules blit path only for Hercules by @TRusselo in scummvm/scummvm#7946
- SCUMM: Add option for using PAL timing for the C64 music (bug #17201) by @eriktorbjorn in scummvm/scummvm#7953
- RECORDER: Improve playback timing, modal dialogs, and EOF handling by @alexbevi in scummvm/scummvm#7955
- COMMON: Don't hang when vsnprintf fails by @lephilousophe in scummvm/scummvm#7957
- MACVENTURE: fix assertion failure when decoding huffman data by @vorph999 in scummvm/scummvm#7958
- SCI: Rename "Hoyle School House Math" to "Hoyle School House" by @eriktorbjorn in scummvm/scummvm#7954
- IOS7: Update touch settings, add wintermute shaders to Xcode project and update target versions by @larsamannen in scummvm/scummvm#7959
- DIRECTOR: Fixes for Bananas in Pyjamas by @moralrecordings in scummvm/scummvm#7960
- IMAGE: Refactor CDToons decoder by @ied206 in scummvm/scummvm#7907
- DOCS: Update AI guidelines in light of recent developments by @lephilousophe in scummvm/scummvm#7962
- MOHAWK: Add loop support on tSND playback by @ied206 in scummvm/scummvm#7910
- AGOS: 25th anniversary patch for Simon 1 and 2 by @1SHAMAY1 in scummvm/scummvm#7804
- DIRECTOR: Fixes for film loops by @moralrecordings in scummvm/scummvm#7965
- MADS: FOREST: Fix incorrect flag indices by @fusefib in scummvm/scummvm#7966
- Bump urllib3 from 2.7.0 to 2.8.0 in /doc/docportal by @dependabot[bot] in scummvm/scummvm#7968
- HPL1: Fix default keybinding of glowstick action by @uj404 in scummvm/scummvm#7971
- MADS: PHANTOM: Fix MT-32 problems & room 101->202 crash. by @fusefib in scummvm/scummvm#7973
- MADS: Fix some unaligned accesses in quote handling code by @dwatteau in scummvm/scummvm#7977
- HOPKINS: Add QoL enhancements to underwater base FPS segment by @fusefib in scummvm/scummvm#7974
- DRAGONS: Fix out of bounds crash after actor resourceID change by @AmigaMaster in scummvm/scummvm#7980
New Contributors
- @n0kturnal made their first contribution in scummvm/scummvm#7405
- @Kartik257354 made their first contribution in scummvm/scummvm#7588
- @HabibaMahmoud2005 made their first contribution in scummvm/scummvm#7609
- @eeshsaxena made their first contribution in scummvm/scummvm#7610
- @tgies made their first contribution in scummvm/scummvm#7543
- @M0Rf30 made their first contribution in scummvm/scummvm#7622
- @nikaiw made their first contribution in scummvm/scummvm#7635
- @maxhgerlach made their first contribution in scummvm/scummvm#7648
- @margorski made their first contribution in scummvm/scummvm#7135
- @rlanday made their first contribution in scummvm/scummvm#7649
- @Victor-Gomez made their first contribution in scummvm/scummvm#7662
- @yasuno45 made their first contribution in scummvm/scummvm#7643
- @apexdesk made their first contribution in scummvm/scummvm#7741
- @kmh287 made their first contribution in scummvm/scummvm#7771
- @xtsnoops made their first contribution in scummvm/scummvm#7795
- @oliverkuchies made their first contribution in scummvm/scummvm#7800
- @tslmy made their first contribution in scummvm/scummvm#7808
- @synacktic made their first contribution in scummvm/scummvm#7846
- @fedossayenko made their first contribution in scummvm/scummvm#7823
- @adjioev made their first contribution in scummvm/scummvm#7603
- @MerrittFranzmann made their first contribution in scummvm/scummvm#7870
- @darkdi made their first contribution in scummvm/scummvm#7891
- @ied206 made their first contribution in scummvm/scummvm#7911
- @uj404 made their first contribution in scummvm/scummvm#7917
- @TRusselo made their first contribution in scummvm/scummvm#7945
- @ObjectInSpace made their first contribution in scummvm/scummvm#7858
- @AmigaMaster made their first contribution in scummvm/scummvm#7980
Full Changelog: scummvm/scummvm@v2026.3.0...v2026.4.0