Skip to content

ScummVM 2026.4.0 "Never-slop"

Latest

Choose a tag to compare

@lotharsm lotharsm released this 11 Oct 18:04
· 283 commits to master since this release
7d2709d

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 #7589
  • DIRECTOR: Seed RNG from system time instead of a fixed value by @zberry92 in #7584
  • AUDIO: Optimise mixing and rate converters by @mikrosk in #7385
  • AUDIO : Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in #7405
  • DM: Fix Crashes and logical bugs by @mohitbankar in #7592
  • GUI: Add ImGui interface for Event Recorder by @1SHAMAY1 in #7555
  • AUDIO: Change asound_fm.h include by @tunnelsociety in #7583
  • CHAMBER: Week3 fixes by @11-andy-11 in #7586
  • GUI: Fix MIDI / MT-32 device selection in Game Options override by @Kartik257354 in #7588
  • DIRECTOR: work on XTRAs for Terzio & Tivola games by @Lariaa in #7590
  • GUI: Fix bitmap rendering with RGB332 overlays by @ccawley2011 in #7593
  • FREESCAPE: Move the sound code into separate classes by @ccawley2011 in #7256
  • BLADERUNNER: Improve pixel format handling by @ccawley2011 in #7485
  • SCI: Add detection for the Hebrew fanmade translation of KQ1-SCI> by @SegMash in #7600
  • SCUMM: Add detection for Indiana Jones and the Quest for Paradise VGA by @einstein95 in #7602
  • AUDIO: Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in #7604
  • BACKENDS: HAIKU: Add option to build dynamic plugins for Haiku by @Begasus in #7606
  • NETWORKING/EMSCRIPTEN: Rewrite networking to use timers and add custom timer and mixer by @chkuendig in #7004
  • DIRECTOR: implement SendSprite/SendAllSprites & quirks for TKKG and Oscar games by @Lariaa in #7601
  • DIRECTOR: Add detection entries for Gus Goes to Cyberopolis (Win/Mac) by @ramyak-sharma in #7598
  • DEVTOOLS: COMPANION: Add CCD image conversion support by @HabibaMahmoud2005 in #7609
  • CHAMBER: Week 4 fixes by @11-andy-11 in #7597
  • CHAMBER: Add Amiga (EU "Kult") rendering support by @11-andy-11 in #7607
  • COMMON: Fix incorrect @PARAM names in OSystem doc comments by @eeshsaxena in #7610
  • DIRECTOR: Add detection entry for gustown by @ramyak-sharma in #7614
  • DIRECTOR: DT: Fix script not rendering in script viewer by @ramyak-sharma in #7612
  • SKY: Port iBASS to ScummVM by @Priyanshu3820 in #7565
  • BACKENDS: Allow cursors to be scaled relative to the game screen by @ccawley2011 in #7490
  • AUDIO: Switch Nuked-OPL3 to Nuked-OPL3-fast fork by @tgies in #7543
  • SLUDGE: Add shape-shift-escape to detection by @polyesterswing in #7581
  • SLUDGE: Replace blendBlitTo with blendBlitFrom and blendFillRect by @ccawley2011 in #7596
  • AUDIO: Add HMI Infinite Audio DSP library reimplementation by @AndywinXp in #7591
  • DIRECTOR: Support running with 16bpp pixel formats by @ccawley2011 in #5930
  • DIRECTOR: Fix filmloop shift when swapping cast member with lingo by @ramyak-sharma in #7620
  • ENGINES: resolve various compiler warnings by @meekee7 in #7615
  • BACKENDS: OPENGL: Restore fractional cursor scale by @tunnelsociety in #7619
  • DIRECTOR: Make Jewels of the Oracle playable by @zberry92 in #7626
  • BACKENDS: ATARI: Build fix by @n0kturnal in #7625
  • HARVESTER: Address Coverity scan findings by @alexbevi in #7624
  • DIRECTOR: Demo detection entries, Tivola& Tivola fixes & CopyProtection stub. by @Lariaa in #7627
  • PHOENIXVR: Simplify blitting routines by @ccawley2011 in #7616
  • SDL: Fix game cursor position at scale factors above 1x by @11-andy-11 in #7628
  • Support "obfuscated" version of Nancy 10 by @eriktorbjorn in #7631
  • Documentation Modification by @Kartik257354 in #7630
  • DOCS: Fix broken images by @Kartik257354 in #7632
  • DM: Replace raw thing-data casts with typed struct arrays by @mohitbankar in #7594
  • DM: Fixes and support for extended saves by @mohitbankar in #7637
  • NANCY: Fix buffer overread in HamRadioPuzzle by @tunnelsociety in #7638
  • DIRECTOR: Add Opera Fatal Italian Windows detection entry by @M0Rf30 in #7622
  • MM: XEEN: Fix cutscene subtitle rendering by @nikaiw in #7635
  • DIRECTOR: Fixes for true-colour mode by @moralrecordings in #7639
  • SKY: Implement text chooser for ibass by @Priyanshu3820 in #7634
  • DIRECTOR: D7 loading/parsing fixes (Lscr/Lnam, MCsL, VWCF, sound) + Italian Physikus detection by @M0Rf30 in #7621
  • SKY: Skip check for sky.dnr in iBASS by @Priyanshu3820 in #7640
  • DIRECTOR: DT: Fix crashes, stale state and navigation in the debugger by @ramyak-sharma in #7646
  • Bump mistune from 3.2.1 to 3.3.0 in /doc/docportal by @dependabot[bot] in #7650
  • CHEWY: Fix losing active inventory item, bug #16622 by @maxhgerlach in #7648
  • AUDIO: Atari TOS hardware / software OPL2 / 3 (YM262 / YM3812) by @n0kturnal in #7623
  • CHEWY: Fix #16946 (Cannot interact at all after leaving first room) by @maxhgerlach in #7651
  • CHEWY: Rename startSetAILWait -> startDetailWait by @maxhgerlach in #7653
  • CHEWY: Fix #16948 (non-responsive state in room 05) by @maxhgerlach in #7655
  • HARVESTER: add support for the Harvester demo by @alexbevi in #7652
  • CHEWY: Fix left mouse clicks being ignored after a lingering Return key by @maxhgerlach in #7656
  • CHEWY: Fix non-responsive states in room 07 by @maxhgerlach in #7657
  • ANDROID: Update for Android 17 by @lephilousophe in #7608
  • LURE: Fix being unable to talk to characters after a one-sided conversation by @maxhgerlach in #7645
  • SCI: Add detection for the Hebrew fanmade translation of QFG1 EGA Ver… by @SegMash in #7658
  • ALL: Use override keyword where appropriate by @lephilousophe in #7654
  • SCI: Update detection for the Hebrew fanmade translation of QFG1 EGA by @SegMash in #7659
  • PHOENIXVR: Use RGB565 for DCT VR rendering by @Scorpeg in #7611
  • ENGINES: Add hotspot display feature by @margorski in #7135
  • DIRECTOR: Fix cast member mapping regression from MCsL libResourceId widening by @M0Rf30 in #7663
  • DIRECTOR: Fix Physicus/Physikus boot blockers (Xtra stubs, CD detection, SIGFPE guards) by @M0Rf30 in #7666
  • VIDEO: Support audio-only AVI files by @Scorpeg in #7670
  • CHEWY: Add missing talking animation in room 11 with terminal by @maxhgerlach in #7669
  • CHEWY: Add 3x missing talking animations in room 12 by @maxhgerlach in #7671
  • SKY: Fix transparency issue in inventory icon in ibass by @Priyanshu3820 in #7641
  • SDL: Work around stale mouse positions on macOS 26 by @rlanday in #7649
  • DIRECTOR: Reverse ink on colour bitmaps behaves like BackgndTrans by @Lariaa in #7667
  • DIRECTOR: Asset Xtra cast member registry and prepareFrame dispatch fix by @M0Rf30 in #7668
  • DIRECTOR: LINGO: Map D5+ objcall bytecodes to cb_call by @M0Rf30 in #7672
  • COMMON: Add move-assign operator to DisposablePtr by @Helco in #7673
  • DIRECTOR: LINGO: Register budapi32 filename for the BuddyAPI Xtra by @M0Rf30 in #7674
  • DIRECTOR: Use D6 equality table for D7 and D8 by @M0Rf30 in #7681
  • DIRECTOR: Force true color mode for Bioscopia by @M0Rf30 in #7679
  • DIRECTOR: Read Afterburner-compressed chunks big-endian by default by @M0Rf30 in #7680
  • SCI: Cleanup LZW view/pic decompressors, others by @sluicebox in #7675
  • DIRECTOR: Add the scale digital-video member property (D7) by @M0Rf30 in #7683
  • DIRECTOR: add director game title to USED IN section by @BJNFNE in #7684
  • DIRECTOR: Fix mouseUp dispatching to wrong sprite in D4 by @ramyak-sharma in #7633
  • DIRECTOR: LINGO: Add the soundDevice entity (D7) by @M0Rf30 in #7687
  • DIRECTOR: LINGO: Implement BudAPI baReadIni, baWriteIni and baReadRegString by @M0Rf30 in #7688
  • DIRECTOR: Fix Opera Fatal intro crash and frozen video sequence by @M0Rf30 in #7689
  • SDL: Preserve events outside ImGui input capture by @AndywinXp in #7682
  • DIRECTOR: DT: Call-stack highlighting, Cast window improvements, and paused redraw by @ramyak-sharma in #7690
  • DM: Fix Issues flagged by Coverity Scan by @mohitbankar in #7693
  • DIRECTOR: Guard film loop accessors against unloaded score by @M0Rf30 in #7696
  • DIRECTOR: Add .CCT to the D6+ movie extension search list by @M0Rf30 in #7697
  • GRAPHICS: Remove glow from hotspot renderer by @margorski in #7694
  • STARK: Fix loading PNGs without an alpha channel by @Victor-Gomez in #7662
  • CHAMBER: Support the Amiga US (Chamber) release in the Amiga renderer by @11-andy-11 in #7629
  • DEVTOOLS: DIRECTOR: Update xobj stub generator, format with black by @einstein95 in #7702
  • DIRECTOR: Night Light xlibs, few new detection entries by @einstein95 in #7701
  • DIRECTOR: Honor Afterburner Fcdr compression types when reading resources by @M0Rf30 in #7698
  • DIRECTOR: Recognize D7 Cursor Asset Xtra cast members by @M0Rf30 in #7695
  • DIRECTOR: Parse Afterburner Fver imap/director versions and version string by @M0Rf30 in #7699
  • DIRECTOR: Include Xtra symbol and cast id in XtraCastMember stub warnings by @M0Rf30 in #7700
  • AUDIO: Fix infinite loop in RateConverter on a partial upsample group by @yasuno45 in #7643
  • MACVENTURE: Initialize titlePadding in borderOffsets by @11-andy-11 in #7722
  • CHAMBER: Enable engine for release by @11-andy-11 in #7705
  • FOOL: Create MacWindowManager dynamically instead of statically by @eriktorbjorn in #7691
  • DIRECTOR: Fix film loop D4 and D5+ behavior by @ramyak-sharma in #7727
  • DEVTOOLS: Extract MacVenture Steam disk images from the game .exe by @11-andy-11 in #7726
  • CHAMBER: Honor the selected CGA/EGA variant when both are in one folder by @11-andy-11 in #7728
  • MM: XEEN: Add French translation by @nikaiw in #7725
  • NANCY: replace static Rect definitions with constexpr equivalents by @meekee7 in #7730
  • CHEWY: Add missing animation for Chewy in room 11 (Bork-Bork dialog) by @maxhgerlach in #7732
  • CHEWY: Add missing talking animations in room 17 by @maxhgerlach in #7734
  • CHEWY: Fix hermit animation in room 14 in dialog with translator by @maxhgerlach in #7733
  • DIRECTOR: Fix shape cast member data size and byte order when saving by @M0Rf30 in #7709
  • DIRECTOR: Fix crash and size mismatch saving rich text cast members by @M0Rf30 in #7711
  • DIRECTOR: Refuse to save Afterburner movies by @M0Rf30 in #7712
  • DIRECTOR: Preserve the member type when duplicating buttons by @M0Rf30 in #7713
  • DIRECTOR: Don't mark bitmaps runtime-changed at load time by @M0Rf30 in #7714
  • DIRECTOR: Fix saving members created at runtime by @M0Rf30 in #7715
  • CHEWY: Add missing talking animations in rooms 29 and 37 by @maxhgerlach in #7736
  • CHEWY: Add dialog animation for Howard in room 41 by @maxhgerlach in #7737
  • CHAMBER: resolve global constructor in global array by @meekee7 in #7731
  • DIRECTOR: Yield to the backend during long Lingo repeat loops by @yasuno45 in #7644
  • DIRECTOR: Fix config chunk size and tag when saving movies by @M0Rf30 in #7708
  • DIRECTOR: Fix buffer overflow writing 8bpp bitmaps with padded pitch by @M0Rf30 in #7710
  • DIRECTOR: LINGO: Dispatch prepareFrame to the frame and movie scripts by @M0Rf30 in #7744
  • DIRECTOR: Release auto-puppet latches when the score reasserts a sprite by @M0Rf30 in #7745
  • DIRECTOR: Fixes for Math Heads by @moralrecordings in #7746
  • MACVENTURE: Macventure iigs by @11-andy-11 in #7748
  • DIRECTOR: Gate cast member and child-resource save writers on capability by @M0Rf30 in #7717
  • LIBRETRO: Guard NULL g_system when changing gui_h_res / aspect by @apexdesk in #7741
  • NANCY: Fix SecondaryMovie overread by @tunnelsociety in #7747
  • NANCY: Add French font characters by @tunnelsociety in #7750
  • MM: XEEN: Play pharoh1b.voc only once in the intro by @nikaiw in #7735
  • AWE: Fix sfx music crash on OpenBSD (or through TSan) by @dwatteau in #7703
  • DOCS: Update Saving and loading a game webpage by @Kartik257354 in #7743
  • COMMON: Add is_assignable, is_constructible and support move-only SWAPs by @Helco in #7706
  • GRAPHICS: Add kTTFRenderModeNormalWithGridFitting by @Helco in #7749
  • MADS: NEBULAR: Better support DOS demo startup by @fusefib in #7751
  • LIBRETRO: Pace audio generation against wall time, not frame count by @apexdesk in #7742
  • CHEWY: Fix station employee animation when Howard is around, room 42 by @maxhgerlach in #7753
  • CHEWY: Add missing Chewy animation in room 40 when train passes by @maxhgerlach in #7754
  • AGDS: Default _fastMode to false so the 25 FPS cap actually applies by @nikaiw in #7719
  • SCI: Fix RTL text box clipping by @ZvikaZ in #7757
  • AGDS: Character walking by @nikaiw in #7729
  • CHEWY: Add missing animation for Chewy and Howard in room 46 by @maxhgerlach in #7758
  • AGS: Add detection, support for Gobliiins 5 v1.0.5 by @einstein95 in #7721
  • DIRECTOR: Fixes for event handling by @moralrecordings in #7764
  • DIRECTOR: Some detection fixups and new entry by @besentv in #7763
  • MACVENTURE: Macventure fixes by @11-andy-11 in #7760
  • BURIED: Update cursor icon after navigation. by @kmh287 in #7771
  • CHEWY: Fix Chewy and Howard sprite placement on train by @maxhgerlach in #7755
  • SCI32: Fix right-to-left alignment of scrolled text lines by @ZvikaZ in #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 #7762
  • CHEWY: Ignore next KEYUP when resuming from overlay by @maxhgerlach in #7664
  • DIRECTOR: Implement movie cast members as parallel interactive movies by @ramyak-sharma in #7752
  • DIRECTOR: Add another optgraph.dll return value by @besentv in #7772
  • SCI32: Fix right-to-left text with inline style control codes by @ZvikaZ in #7774
  • CGE2: Fix missing dialogue text for bar crook by @fusefib in #7776
  • MADS: NEBULAR: Add initial Rex Nebular Macintosh release support by @fusefib in #7775
  • DIRECTOR: Fix trail-sprite erasure and 0x0 digital-video sizing by @ramyak-sharma in #7780
  • CGE2: Restore missing tailor text by @fusefib in #7778
  • MAD: NEBULAR: Further Macintosh cleanup & updates by @fusefib in #7782
  • NANCY: move instead of copy surface by @meekee7 in #7785
  • MACVENTURE: Deja Vu playtesting fixes by @11-andy-11 in #7773
  • DM: Add support for DOS version of Dungeon Master by @mohitbankar in #7777
  • DIRECTOR: DT: ImGui debugger improvements by @ramyak-sharma in #7781
  • MACVENTURE: Bug Fixes by @11-andy-11 in #7787
  • GRAPHICS: MACGUI: Fix invalid rectangle when drawing tall scrolled text by @11-andy-11 in #7784
  • DIRECTOR: Fixes for Noir - A Shadowy Thriller by @moralrecordings in #7796
  • BACKENDS: SDL: Preserve SDL text input for active ImGui text fields by @ramyak-sharma in #7779
  • M4: RIDDLE: Restore the trigger mode in Section9Room::escapePressed() by @xtsnoops in #7795
  • M4: Fix the MIDI end trigger firing before the machine table exists by @xtsnoops in #7794
  • M4: RIDDLE: Fix crash when crossing Moca Moche tree by @xtsnoops in #7793
  • M4: RIDDLE: Fix Wolf conversation freeze by @xtsnoops in #7792
  • M4: RIDDLE: Fix interacting with exhibits in room 305 by @xtsnoops in #7791
  • M4: RIDDLE: Make Marshall Matt show up again by @xtsnoops in #7790
  • M4: RIDDLE: Fix Sikkim maze typo and restore cheat by @xtsnoops in #7789
  • MADS: NEBULAR: Fix Mac GMM save/load and implement original Mac menus by @fusefib in #7788
  • MADS: NEBULAR: Fix remaining ISOUND/PC Speaker issues by @fusefib in #7769
  • COMMON: add missing return statement to non-void function by @meekee7 in #7798
  • GRIM: Correct the calculation for attached joints for MI4 by @oliverkuchies in #7800
  • M4: RIDDLE: Fix lost walk trigger when fast-forwarding walks by @xtsnoops in #7802
  • M4: RIDDLE: Fix crash when returning from options menu to game menu by @xtsnoops in #7801
  • MADS: Add Rex Nebular Bonus Disk support by @fusefib in #7799
  • BURIED: Fix buggy transition in Chateau Gaillard by @kmh287 in #7803
  • SHERLOCK: TATTOO: Fix delta.x sign during vertical walks by @tslmy in #7808
  • HOPKINS: Restore the Windows WBASE underwater base sequence by @fusefib in #7806
  • M4: RIDDLE: Fix blocker in room 603 when trying to take the pole by @xtsnoops in #7809
  • M4: RIDDLE: Fix lockup in 605 when taking disk with Twelvetrees present by @xtsnoops in #7810
  • M4: RIDDLE: Fix Twelvetrees' head turn animation loop in room 605 by @xtsnoops in #7812
  • ENGINES: use ARRAYSIZE macro where applicable by @meekee7 in #7814
  • MACVENTURE: Sign the diploma and page the console with click to continue by @11-andy-11 in #7807
  • GLK: ALAN3: use ASIZE macro where applicable by @meekee7 in #7813
  • MADS: Improve or add sound overlays for three games by @fusefib in #7817
  • MADS: NEBULAR: Fix most of Macintosh Rex Nebular by @fusefib in #7818
  • ASYLUM: Possible fix for incorrect walk sounds by @eriktorbjorn in #7665
  • WATCHMAKER: make more structs constexpr-capable by @meekee7 in #7827
  • MADS: NEBULAR: Improve original Macintosh functionality by @fusefib in #7826
  • SHERLOCK: Fix Tattoo scale zone fallback by @tslmy in #7824
  • MACVENTURE: dejavu2 fixes by @11-andy-11 in #7820
  • M4: RIDDLE: Fix looping sound in room 806 by @xtsnoops in #7831
  • MADS: NEBULAR: Fix Macintosh text rendering issues by @fusefib in #7829
  • TSAGE: Add MIDI support and improve Sound Blaster playback by @fusefib in #7828
  • SKY: Restore partial screen updates by @mikrosk in #7836
  • VOYEUR: Lock the mouse when viewing the mansion as per the original by @NigeNigeNige in #7833
  • MADE: Unload music data when stopping playback by @synacktic in #7846
  • MADS: NEBULAR: Fix other minor Macintosh issues by @fusefib in #7838
  • NANCY: Fix chroma-keyed Bink videos not being keyed by @fedossayenko in #7823
  • MADE: Report selected synthesiser type by @synacktic in #7845
  • ENGINES: enhancementEnabled should be const by @mgerhardy in #7857
  • SLUDGE: self-contained headers by @meekee7 in #7856
  • SCUMM: RA: IO7: Fix virtual controller for Rebel Assault games by @larsamannen in #7852
  • GOB: add kFeaturesTrueColor to ADI4 variants by @BJNFNE in #7860
  • GUI: Prevent use-after-free in _tooltip by @greg-kennedy in #7863
  • GOB: add german adi4anglais1213 addon variant to tables by @BJNFNE in #7864
  • ANDROID: Add TTS support by @lephilousophe in #7805
  • DIRECTOR: Fix Lingo point/rect operations and bitmap picture assignment by @ramyak-sharma in #7854
  • DIRECTOR: Share sound channels across the Stage and MIAWs by @ramyak-sharma in #7825
  • AVALANCHE: Bug fixes and Implement missing features by @mohitbankar in #7837
  • SKY: Add CgBI decoder and hint system for ibass by @Priyanshu3820 in #7811
  • SCUMM: HE: Baseball2001 Hacks Being Removed by @Vissery in #7819
  • SKY: Add hotspots in ibass by @Priyanshu3820 in #7853
  • SCI: Fix eos() check by @mikrosk in #7866
  • KYRA: EOB: Add an optional automap overlay by @adjioev in #7603
  • DIRECTOR: DT: Add a Lingo execution tracer to the visual debugger by @ramyak-sharma in #7816
  • MADS: Fix additional sound problems by @fusefib in #7865
  • GUI: Fix event recorder build without ImGui by @MerrittFranzmann in #7870
  • GOB: mark Addi Simule as stable by @BJNFNE in #7862
  • GOB: add german adi4anglais1314 addon to detection by @BJNFNE in #7872
  • ULTIMA: Remove shared/std/containers.h by @ccawley2011 in #7890
  • Bump mistune from 3.3.0 to 3.3.3 in /doc/docportal by @dependabot[bot] in #7897
  • ENGINES: use references instead of copying for loop variables by @meekee7 in #7894
  • KYRA: move HaleStorm sound driver to audio/mac by @greg-kennedy in #7884
  • TITANIC: Drop the unreachable second diff >= 0 branch in LiftbotScript by @darkdi in #7891
  • PHOENIXVR: Add initial support for the Pharaoh's Curse demo by @ccawley2011 in #7892
  • PHOENIXVR: Use simpleBlitFrom() for rendering cursors with alpha transparency by @ccawley2011 in #7893
  • STARK: Save the palette when extracting textures by @ccawley2011 in #7888
  • STARK: Reduce surface copying when creating viewport screenshots by @ccawley2011 in #7889
  • LIBRETRO: wii u - replace mwup with wiiu by @cscd98 in #7898
  • GUI: Shadow fixes by @mikrosk in #7873
  • ANDROID: Add MIDI driver support by @lephilousophe in #7869
  • AGS: Move include for wchar.h before scummsys.h in ALFONT by @antoniou79 in #7899
  • GOB: Add save files of Adi4/Euro application by @BJNFNE in #7900
  • KINGDOM: Play stereo music in stereo mode by @antoniou79 in #7861
  • MACVENTURE: Macventure release by @11-andy-11 in #7830
  • MACVENTURE: Promote the Macintosh releases to testing by @11-andy-11 in #7834
  • COMMON: Fix VS compiler warnings in core by @elasota in #7912
  • SURFACESDL: Fix setting the colour key and blend mode with SDL3 by @ccawley2011 in #7904
  • DIRECTOR: Ignore unrelated NET.EXE projectors by @ied206 in #7911
  • GUI: Fix ScrollContainerWidget and various other simplifications in the GUI code by @lephilousophe in #7886
  • M4: RIDDLE: fix logic/animation in Room 407 by @vorph999 in #7901
  • GUI: Don't restore a widget's shadow over its neighbour by @mikrosk in #7903
  • TETRAEDGE: Do not string format an awry float for debug print by @antoniou79 in #7914
  • EEM: Fix sign-comparison warnings in mystery.cpp by @uj404 in #7917
  • FREESCAPE: Fix sign-comparision warnings in Dark Atari by @uj404 in #7921
  • CHAMBER: Fix format specifier warning in SCR_TRAP by @uj404 in #7920
  • MADS: PHANTOM: Fix main menu pokeable eyes gag, restore missing content by @fusefib in #7918
  • WME: GLSL 'int' precision fix up by @aquadran in #7919
  • ALL: use arrow dereferencing operator by @meekee7 in #7916
  • VIDEO: Make loadStream function of video decoders free stream in case of failure by @lephilousophe in #7935
  • SCUMM: Match getSaveStateName() to makeSavegameName() by @TRusselo in #7945
  • GUI: Enable CJK fonts in RichTextWidget by @ied206 in #7908
  • MADE: support games "Richard Scarry's B* Neighborhood Disc Ever!" by @greg-kennedy in #7855
  • GUI: Let Ctrl and Alt hotkeys through when a list has focus by @ObjectInSpace in #7858
  • CI: Add a Github Action to check commit authors by @mduggan in #7949
  • ALL: add missing include guards by @meekee7 in #7851
  • CHAMBER: Take the Hercules blit path only for Hercules by @TRusselo in #7946
  • SCUMM: Add option for using PAL timing for the C64 music (bug #17201) by @eriktorbjorn in #7953
  • RECORDER: Improve playback timing, modal dialogs, and EOF handling by @alexbevi in #7955
  • COMMON: Don't hang when vsnprintf fails by @lephilousophe in #7957
  • MACVENTURE: fix assertion failure when decoding huffman data by @vorph999 in #7958
  • SCI: Rename "Hoyle School House Math" to "Hoyle School House" by @eriktorbjorn in #7954
  • IOS7: Update touch settings, add wintermute shaders to Xcode project and update target versions by @larsamannen in #7959
  • DIRECTOR: Fixes for Bananas in Pyjamas by @moralrecordings in #7960
  • IMAGE: Refactor CDToons decoder by @ied206 in #7907
  • DOCS: Update AI guidelines in light of recent developments by @lephilousophe in #7962
  • MOHAWK: Add loop support on tSND playback by @ied206 in #7910
  • AGOS: 25th anniversary patch for Simon 1 and 2 by @1SHAMAY1 in #7804
  • DIRECTOR: Fixes for film loops by @moralrecordings in #7965
  • MADS: FOREST: Fix incorrect flag indices by @fusefib in #7966
  • Bump urllib3 from 2.7.0 to 2.8.0 in /doc/docportal by @dependabot[bot] in #7968
  • HPL1: Fix default keybinding of glowstick action by @uj404 in #7971
  • MADS: PHANTOM: Fix MT-32 problems & room 101->202 crash. by @fusefib in #7973
  • MADS: Fix some unaligned accesses in quote handling code by @dwatteau in #7977
  • HOPKINS: Add QoL enhancements to underwater base FPS segment by @fusefib in #7974
  • DRAGONS: Fix out of bounds crash after actor resourceID change by @AmigaMaster in #7980

New Contributors

Full Changelog: v2026.3.0...v2026.4.0