ScummVM 2.8.0 "Mysteries, Mammoths, and Muppets"
The ScummVM Team is proud to announce the final release of 2023 - Mysteries, Mammoths, and Muppets!
New games:
- Added support for macOS versions of Syberia and Syberia II.
- Added support for The Vampire Diaries, Nancy Drew: Secrets Can Kill,
Nancy Drew: Stay Tuned for Danger, Nancy Drew: Message in a Haunted Mansion,
Nancy Drew: Treasure in the Royal Tower and Nancy Drew: The Final Scene. - Added support for Reah: Face the Unknown and Schizm: Mysterious Journey.
- Added support for Might and Magic Book One.
- Added support for Muppet Treasure Island.
- Added support for Primordia, Shardlight and Technobabylon.
- Added support for The Excavation of Hob's Barrow, Strangeland and Whispers
of a Machine. - Added support for Stranga and Cloak and Dagger's AGS games.
- Added support for Adibou 1.
- Added support for Dark Side.
- Added support for Kingdom: The Far Reaches.
- Added support for Escape From Hell.
- Added support for Wrath of the Gods, Gadget: Invention, Travel and Adventure,
The Dark Eye, and 4 other Director titles.
New platforms:
- Added libretro new shiny port.
- Added Atari port.
General:
- Added optional dependency for libvpx.
- Added optional dependency for libmikmod.
- Added support for PC98 font ROM.
- Added optional dependency for libsonivox, implementing EAS (Embedded Audio
Synthesis) sound driver. - Added YUV422 and YUV444 support to Theora decoder.
- Implemented specialized CPU routines for graphics blitting for ManagedSurface.
- Changed default GM device to "auto" for better compatibility.
AGS:
- Synced with upstream AGS 3.6.0.53.
- Sped up graphics manipulation on modern hardware with CPU-specific code.
- Added support for early font rendering, to match the original interpreter.
- Added support for playback of transcoded videos in place of unsupported codecs.
- Completed implementation of MOD audio playback.
- Fixed background music not looping in some games.
- Fixed game-breaking bugs in various games (e.g. Strangeland, Chronicle of Innsmouth)
- Multiple updates to the game detection tables.
Asylum:
- Added support for Chinese Sanitarium.
Dragons:
- Implemented localizations for the copyright screen and main menu.
Freescape:
- Improved collision and projectile detection using sweepAABB
GrimE:
- Added support for Chinese Grim Fandango.
- Added support for Russian Grim Fandango translations from Fargus,
ENPY and 7Wolf.
Kyra:
- Added support for Kyra1 Amiga French release and DOS Czech fan translation.
- Improved game controls menu accuracy for all platforms.
- Added support for Chinese EOB2.
- Added support for the PC-98 version of EOB2.
Mohawk:
- Greatly improved the accurary of the code generation for the Domes in
Riven: The Sequel to Myst to match the original game.
Private:
- Added support for the Japanese Windows release.
SCUMM:
- Added support for unpacked RuSCUMM patches for Russian localizations.
- Allow usage of the official Monkey Island 1 Roland MT-32 patch with any
EGA version, not just the English release. - Completely rewritten sound code for all Humongous Entertainment games.
- Faithfully implemented Mac GUI for Indiana Jones and the Last Crusade,
and Loom. - Implemented turning around animation when changing direction for Full
Throttle, The Dig and The Curse of Monkey Island. - Added enhancement to Loom: Ctrl D shows up list of drafts that has been
discovered. - Fixed kanji characters rendering issue in Japanese SegaCD version of Monkey
Island 1. Text rendering for this game is now pixel perfect. - Implemented complete support for the Macintosh and DOS/V Japanese versions
of Indiana Jones and the Fate of Atlantis distributed by MicroMouse. - Implemented network multiplayer support for Backyard Football,
Backyard Baseball 2001, and Backyard Football 2002.
Sherlock:
- Added support for Chinese Serrated Scalpel.
- Added data to savegames whose lack could make savegames unwinnable.
Sword1:
- Rewrote the palette fading system and the game timers to match the
original DOS version. - Rewrote all the menu code to make it match the original. This includes
the restoration of the Speed setting. - Restored the correct fonts and menu texts for all Russian versions of the game.
- Rewrote the audio engine to match the original. Compressed files are
still supported. - Tweaked the subtitles routine for the PSX version to match the original.
- Restored George's idle animation.
- Restored pause functionality: press "P"!
- Restored debug commands: CTRL-G for toggling on-screen walkable grids,
CTRL-T for displaying debug information, SHIFT-M for displaying crosshairs
for the mouse cursor and George's position, and keys 1 and 4 to toggle
respectively slow and fast frame pacing mode. - Restored the correct font for the game over screen.
- Fixed other various small inaccuracies.
- Overall the PC version of the game on ScummVM shouldn't differ
from the original executable anymore. - Implemented credits for the PSX version.
Sword2:
- Added support for Chinese translation.
Tinsel:
- Fix running out of soundreels error.
TwinE:
- Added support for Japanese translation.
Ultima:
- Improve Ultima VI responsiveness.
- Fix crash loading Ultima VI savegames when dialogs are open.
- Fix ordering of generated items in Ultima VI.
- Fix auto-readying throwing weapons in Ultima VI.
- Fix Ultima VI crash opening new-style spellbook gump.
- Fix Ultima VI actor doll and gump colors.
- Fix Ultima VI crash using look action on walls.
- Fix several other miscellaneous crashes.
- Fix spawners and projectiles to more closely match the original.
- Improved Ultima VI AdLib support and added Roland MT-32 support.
- Fix multiple Ultima VIII render order issues.
- Add support for Ultima VIII Spanish fan translation.
- Support Pentagram save game files.
- Added configurable double-click time for Ultima VIII.
Voyeur:
- Added support for German fan translation.
Xeen:
- Renamed 'xeen' engine to 'mm' for Might & Magic.
- Added custom engine option to replace the health gems with HP/SP bars.
RISC OS port:
- Double buffering is now used in full screen mode when V-sync is enabled.
- Added support for hardware palettes.
Thanks to all contributors, supporters, testers, bug-reporters, and fans for helping build yet another great release!
Merged pull requests since our previous release
- SCUMM: Fix randomly unreachable fire in DOTT (WORKAROUND) by @dwatteau in #4624
- OPENDINGUX: restore the scaler for the rs90/rg99 ports and use 320x200 for the RG99 by @citral23 in #4659
- SCUMM: INPUT: Don't substitute Left/Right clicks in HE games. by @LittleToonCat in #4664
- WIN32: Disable libjpeg-turbo SSE usage on Win95 by @sluicebox in #4662
- [WIP] DIRECTOR: Last minute fixes by @moralrecordings in #4665
- DIRECTOR: Force a widget refresh for bitmaps with custom palettes by @moralrecordings in #4666
- SCUMM HE: Disable save compression for Moonbase. by @LittleToonCat in #4667
- STARK: Better check for texture and bitmap formats by @ccawley2011 in #4671
- NEVERHOOD: Fixes for japanese neverhood by @phcoder in #4677
- GUI: Fix black rectangle around cursor in modern theme without RGB by @phcoder in #4672
- TINYGL: Remove unused code by @ccawley2011 in #4675
- STARK: Add a method for drawing filled rectangles by @ccawley2011 in #4669
- TINYGL: Make use of ColorMask templates for NearestTexelBuffer by @ccawley2011 in #4674
- TINYGL: Fix memory leak by @ccawley2011 in #4680
- STARK: Fix memory leak by @ccawley2011 in #4682
- HUGO: Use slot 99 for the "restart" fallback save instead of slot 0 by @tag2015 in #4678
- TINSEL: Handle DW2 saves that had Noir-sized SysVars by @somaen in #4661
- IMMORTAL: Add initial game engine by @Quote58 in #4634
- MACOS: Fix warning about CFBundleTypeRole by @einstein95 in #4668
- OPENGL: Check if GL_TEXTURE_MAX_LEVEL is supported before using it by @ccawley2011 in #4670
- Support KolibriOS by @phcoder in #4663
- 3DS: Specify version in .cia metadata by @phcoder in #4676
- COMMON: Simplify API for getHumanReadableBytes() by @ccawley2011 in #4679
- DEVTOOLS: COMPANION: Fix python error for createmacfonts by @antoniou79 in #4681
- CREATE_PROJECT: Set Xcode MACOSX_DEPLOYMENT_TARGET by @sluicebox in #4685
- GRAPHICS: Support flipping in scaleBlit and rotoscaleBlit by @ccawley2011 in #4686
- GUI: Don't create popups for options that aren't supported by @ccawley2011 in #4689
- RISCOS: Use dynamic areas for data and application space for plugins by @ccawley2011 in #4691
- GRAPHICS: Additional changes for RGB332 overlays by @ccawley2011 in #4629
- SURFACESDL: Fix calculating the mouse dirty rectangle by @ccawley2011 in #4625
- GRAPHICS: Remove or deprecate RGBA palette functions in ManagedSurface by @ccawley2011 in #4541
- SCUMM: Use the keymapper for bike fights in Full Throttle by @ccawley2011 in #4552
- COMMON: Add ability to handle unknown xml keys by @mduggan in #4690
- MTROPOLIS: Implement the Return Modifier and tentative opint handling by @Willem3141 in #4651
- DC: BUILD: Always disable SCUMMv7 on Dreamcast (Bug#6008) by @dwatteau in #4693
- DIRECTOR: Fixes for Hell Cab by @moralrecordings in #4688
- IOS7: Add support for 32 bit pixel formats by @larsamannen in #4694
- DIRECTOR: fix sound loop in The Seven Colours by @mistydemeo in #4697
- AGS: Fix FileStream::EOS when used on a file opened for writing by @lephilousophe in #4700
- DEVTOOLS: COMPANION: Fix bug with absolute paths as the output directory by @einstein95 in #4703
- AGI: Add detection for a few more variants by @einstein95 in #4702
- COMMON: Check CRC16 in Stuffit by @phcoder in #4654
- GUI: Add missing font files to gui/themes/fonts DEVTOOLS: Add script to archive gui/themes/fonts by @ss141309 in #4706
- SURFACESDL: Really fix mouse dirty rectangle by @lephilousophe in #4705
- SDL: Clip DPI scaling factor to ensure we get a reasonable value by @criezy in #4698
- ANDROID: Do language selection before early popup by @antoniou79 in #4709
- OPENGL: Properly take extra pixels into account when using scalers by @lephilousophe in #4711
- DIRECTOR: Fixes for Wrath of the Gods by @moralrecordings in #4699
- AUDIO/ANDROID: Add support for loading SoundFonts using SAF by @lephilousophe in #4701
- SCUMM HE: Fix loading playbooks in Football 2002. by @LittleToonCat in #4715
- DISTS: Fix project_license in AppStream metadata by @AsciiWolf in #4718
- GRAPHICS: Fix negation of unsigned integer warning by @elasota in #4719
- HPL1: Fix build with Clang on x64 platforms by @knobix in #4721
- RISCOS: Use double buffering in full screen mode when V-sync is enabled by @ccawley2011 in #4724
- GRAPHICS: Add support for cursor masks and cursor inverted pixels by @elasota in #4713
- CHAMBER: New engine for "Chamber of the Sci-Mutant Priestess" aka "Kult" by @sev- in #4714
- GLK: SCOTT: Update UNP64 by @angstsmurf in #4720
- DIRECTOR: Really fix warning by @criezy in #4722
- ASYLUM: Support hebrew fan-translation by @BLooperZ in #4716
- HDB: Fix not being able to pick up Red Unimail Envelope with keyboard by @Linkpro4 in #4726
- VCRUISE: Add V-Cruise engine by @elasota in #4710
- COMMON: Issue warning instead of error dialogs for bad configuration file, return a bool value indicating success or failure of loading. BASE: Add option for the user to proceed with resetting configuration file or quitting ScummVM. by @atta-ullah01 in #4729
- TESTBED: Add a test suite for the video player by @ccawley2011 in #4738
- GRAPHICS: Make rawBlitFrom take a ManagedSurface by @lephilousophe in #4731
- GLK: SCOTT: Fix inverted conditional statement by @angstsmurf in #4728
- DIRECTOR: Fix a couple memory leaks in Window::loadEXE by @einstein95 in #4741
- GRAPHICS: Refactor Surface::copyFrom() & Surface::copyRectToSurface by @mikrosk in #4727
- NGI: Remove parts that overlap with ExtendedSaves by @uteuliyeva in #4740
- SCUMM: Label v6 subops by @BLooperZ in #4735
- SCUMM: Add detection for non-contest Monkey Island 1 demo; size for C64 demo by @einstein95 in #4739
- CREDITS: Add dwa for macOS PPC by @dwatteau in #4747
- COMMON: Add replace() methods for U32String by @hax0kartik in #4748
- SHERLOCK: Support Chinese serrated scalpel by @phcoder in #4692
- Fix dependencies on highres and 16-bit in plumbers and dreamweb by @phcoder in #4673
- ASYLUM: Support Chinese Sanitarium by @phcoder in #4750
- ANDROID: Add ability to delete files by @lephilousophe in #4749
- ANDROID: Simplify Android startup by @lephilousophe in #4752
- GUI: Make text selectable in input boxes by @hax0kartik in #4753
- SAGA2: Fix Wrong spellID crash when using spells from inventory! by @hari01584 in #4751
- GLK:SCOTT: Fix assert failed after calling Scott::fatal() by @hari01584 in #4745
- DEVTOOLS: Add create_nancy project by @fracturehill in #4734
- TINYGL: Add a fast path for rendering opaque BlitImages by @ccawley2011 in #4684
- DIRECTOR: Add detection entry for Mitz Petel by @BLooperZ in #4758
- DOCS: Describe SAF protocol for Android by @sev- in #4760
- DOCS: Document autostart feature by @cadihowley in #4743
- LIBRETRO: add libretro platform by @spleen1981 in #4683
- ANDROID: Rewrite cache to make it more efficient by @lephilousophe in #4762
- Add new platform: Atari by @mikrosk in #4687
- DRAGONS: Add localized hardcoded copyright screen and main menu by @tag2015 in #4589
- CONFIGURE: fix build of dynamic modules under Cygwin by @carlo-bramini in #4756
- KYRA: Add support for Italian Amiga LoK by @phcoder in #4759
- COMMON: Fixed typo in sprintf_s comment by @medobob1 in #4770
- GRAPHICS: Fix cursor mask regressions by @elasota in #4746
- IMAGE: Add getTransparentColor() to the base ImageDecoder class by @ccawley2011 in #4733
- GLK: Embed the Infocom fonts in the executable by @ccawley2011 in #4695
- SLUDGE: Implement MKV decoding so WebM videos can be played. by @hax0kartik in #4766
- TINYGL: Replace tglFrustum, tglOrtho and tglClearDepth with float versions by @ccawley2011 in #4763
- GRIM: Support Chinese Fan translation by @phcoder in #4764
- ENGINES: Prevent autosave overwriting regular save without warning by @macca8 in #4393
- SCUMM HE: Online/Network Multiplayer Support by @LittleToonCat in #4725
- SDL: Fix shaking with SDL1 and negative offsets by @phcoder in #4754
- [RFC] SCUMM: COMI: Add option to enable "A Pirate I Was Meant To Be" for non-ENG versions by @AndywinXp in #4772
- TESTBED: Switch to CheckboxWidgets for Testbed by @Dio990521 in #4769
- GRIM: Add support for Russian translation (7Wolf) by @phcoder in #4776
- GRIM: Add support for Russian Translation (ENPY) by @phcoder in #4777
- CONFIGURE: ENET: Add more system headers in checks by @dwatteau in #4778
- GRIM: Support Fargus translation by @phcoder in #4774
- DIRECTOR: Even more fixes by @moralrecordings in #4755
- SDL: Fix incorrect handling of dirty rect with negative shake offset in SDL1 by @criezy in #4780
- GLK: ADRIFT: Add detection for new games (#-A) by @MarcoBorrini99 in #4781
- BUILD: Disable -Wshadow and -Wmissing-field-initializers before GCC 5 by @dwatteau in #4779
- CONFIGURE: Recognize more common architectures, and sort them by @dwatteau in #4782
- BACKENDS: CURL: Fix Deprecated API Warnings By Removing Usage on v7.4… by @digitall in #4785
- SWORD2: Support Chinese translation by @phcoder in #4757
- GUI:Added function setMachineType() which will look up the max resolution and max depth for the specified machine by @Sathvik1007 in #4787
- CI: Enable libvpx and giflib in most runners by @dwatteau in #4789
- BASE: Show SDL1.2/SDL2 in the About dialog by @dwatteau in #4788
- BACKENDS: CURL: Fix libcurl redefining ARRAYSIZE on Win32 by @dwatteau in #4794
- DEVTOOLS: Fix create_engine compilation with mingw-w64 by @hax0kartik in #4791
- SCUMM: Support playing most RuSCUMM-translated games without patching manually by @phcoder in #4803
- VIDEO: Fix VPX build for various platforms by @lephilousophe in #4807
- DIRECTOR: Add ProjectorArchive by @hax0kartik in #4801
- NUVIE: Fix Ultima 6 crash on loading save by @PushmePullyu in #4808
- NUVIE: Fix Ultima 6 item order by @PushmePullyu in #4806
- NUVIE: Fix event handling in cut-scenes by @PushmePullyu in #4804
- NUVIE: Fix Ultima 6 throwing weapon auto-ready by @PushmePullyu in #4790
- NUVIE: Fix Ultima 6 main menu input lag by @PushmePullyu in #4775
- VOYEUR - Support for the German DOS Fan-Made version by @Strangerke in #4810
- Release fixes by @larsamannen in #4811
- DIRECTOR: Changes based on unit testing by @moralrecordings in #4795
- JANITORIAL: Fix various "an" typos by @dwatteau in #4796
- COMMON: Add ability to disable warning for valueless lines in INI files by @elasota in #4792
- CREATE_PROJECT: Add required libraries for enet on Windows/CMake by @orgads in #4800
- GRAPHICS: Fix VS signed/unsigned mismatch warning by @elasota in #4802
- ENGINES: Update autosave time before adjusting interval by @macca8 in #4799
- GRAPHICS: Speed up and refactor SVG handling by @mikrosk in #4773
- GRAPHICS: Fix wrong order of arguments in big5 char drawing by @phcoder in #4815
- ASYLUM: Decrease Chinese font size to 16 closer to original by @phcoder in #4816
- GRIM: Remove Chinese font scaling by @phcoder in #4817
- GRIM: Fix handling of single-byte character in DBCS font by @phcoder in #4821
- SHERLOCK: Use more accurate ZH_CHN rather than ZH_ANY for Rose Tattoo by @phcoder in #4825
- DIRECTOR: LINGO: FileIO uses CR endings cross-platform by @einstein95 in #4824
- SCUMM: Add detection for some fan translations, more sizes by @einstein95 in #4823
- AGS: auto-detect Linux games based on executable by @marius851000 in #4814
- GUI: Add a portrait version of the launcher by @ccawley2011 in #4813
- BASE: SDL: Show SDL version in --version output by @lotharsm in #4793
- GUI: In grid view show invalid entries in grey text and darken the thumbnail by @tag2015 in #4696
- GRAPHICS: ATARI: Align surface on a 16-byte boundary by @mikrosk in #4771
- TETRAEDGE: Do not call quitGame() when receiving a QUIT or RTL event by @criezy in #4827
- I18N: Add script to automatically generate scummvm.appdata.xml from .po files by @ankushdutt in #4826
- I18N: Fix appdata file name in translation script by @ankushdutt in #4828
- SCUMM HE: BYB '01 online mod: allow forced runner turnaround by @shkupfer in #4829
- KEYMAPPER: Allow multiple inputs bound to a keymap action as defaults by @antoniou79 in #4830
- BLADERUNNER: avoid writing two times XYZ waypoints by @carlo-bramini in #4841
- Backend specific start sequence by @criezy in #4742
- KYRA: Add detection, support for Kyra1 Amiga French release and DOS Czech fan translation; accurate menus for all releases by @einstein95 in #4798
- DIRECTOR: Fixes for Wrath of the Gods by @moralrecordings in #4837
- GRAPHICS: Use standard palettes in ManagedSurface by @ccawley2011 in #4730
- IMAGE: Use the screen pixel format by default for the Xan decoder by @ccawley2011 in #4737
- SLUDGE: Added support for impulse tracker files using libmikmod! by @hari01584 in #4836
- GUI: Allow scaling dialog and widget sizes in constructors by @criezy in #4840
- DIRECTOR: Add support for "set picture of cast" and "get picture of cast" by @somaen in #4843
- NUVIE: Fix Ultima 6 crash on opening spellbook by @PushmePullyu in #4845
- NUVIE: Fix Ultima 6 actor doll and gump colors by @PushmePullyu in #4846
- NUVIE: Fix Ultima 6 crash on look action by @PushmePullyu in #4834
- NUVIE: Fix Ultima 6 spawned NPC weapon loadout by @PushmePullyu in #4835
- BASE: Add default extrapath and themepahth when running in tree by @criezy in #4839
- DIRECTOR: Update MCI parser by @vagos in #4850
- DIRECTOR: Set 'the result' for calls, Normalise xlib calls for mac delimiters (:, @:), Working Saves for TD! by @hari01584 in #4851
- SLUDGE: Fix sound decoder for .ogg file. by @pressspacetojump in #4833
- VIDEO: Fix crash when closing an MKV stream by @ccawley2011 in #4818
- KEYMAPPER: Add DPAD_CENTER as hardware input source by @antoniou79 in #4842
- NUVIE: Fix Ultima 6 failed assert on resting by @PushmePullyu in #4853
- NUVIE: Fix Ultima 6 failed assert on click during prompt by @PushmePullyu in #4855
- NUVIE: Fix Ultima 6 spawn probability by @PushmePullyu in #4857
- NUVIE: Fix input handling of modifier keys by @PushmePullyu in #4858
- NUVIE: Fix Ultima 6 projectile collision by @PushmePullyu in #4838
- GLK: ADRIFT: Add detection for new games (G-Z) by @MarcoBorrini99 in #4861
- GRAPHICS: Remove alpha channel for screenshots (OPENGL) by @tag2015 in #4854
- ANDROID: Bundle CA certificates and cleanups by @lephilousophe in #4859
- GLK: ADRIFT: detecton_tables.h general overhaul by @MarcoBorrini99 in #4864
- GOB: Add version numbers to some Adibou2 games by @BJNFNE in #4871
- GOB: Add version number to the Italian version of Adibou2 by @BJNFNE in #4875
- SCUMM: Fix Windows cursor mask regression. by @elasota in #4872
- DREAMWEB: specify CLUT8 format for titles modes by @spleen1981 in #4848
- GOB: Fixed names of different versions in Adibou2 by @BJNFNE in #4880
- ALL: Fixed typo when erasing window-size by @wyatt-radkiewicz in #4866
- VIDEO: Add setOutputPixelFormat() to the VideoDecoder interface by @ccawley2011 in #4736
- GOB: Renamed a German version of Adibou2 by @BJNFNE in #4882
- GRAPHICS: Fix incorrect Win cursor mask behavior when a non-white color is masked by @elasota in #4885
- GOB: Renamed a German version of Adibou1 by @BJNFNE in #4887
- SCUMM HE: Add "Create session" dialog for Football 2002. by @LittleToonCat in #4886
- CLOUD: Add new storage connection flow by @Tkachov in #4860
- SCI: Fix _dontRemap handling in SciMusic::soundInitSnd by @moralrecordings in #4876
- GRAPHICS: Add generic versions of applyColorKey() and setAlpha() by @ccawley2011 in #4891
- GUI: Fix signed/unsigned mismatches by @elasota in #4849
- GUI: Only use a transparent colour for BMP images by @ccawley2011 in #4819
- ENGINES: Initialize mixer volume levels to levels from config by @elasota in #4862
- VIDEO: Use endian-safe loads in for type 12 DXA frames by @ccawley2011 in #4881
- COMMON: Upgrade InstallShield archive code by @fracturehill in #4868
- VIDEO: Generic support for DXA videos with embedded audio by @ccawley2011 in #4889
- GRAPHICS: Add support for cursor as Surface by @mikrosk in #4890
- BACKENDS: ENET: Fix GCC/MinGW warning by @orgads in #4894
- SCI32: Mark PQ:SWAT demo as unsupported by @dwatteau in #4892
- GRAPHICS: Fix cursor surface when bytes per pixel greater than one by @OMGPizzaGuy in #4898
- CREATE_PROJECT/CI: Add libmikmod support by @dwatteau in #4899
- SCUMM HE: Additional data in login payload, hit quality mod by @shkupfer in #4900
- MM: MM1: Items data update by @filasfilas in #4905
- GUI: Collapsed game groups are persisted by @wyatt-radkiewicz in #4904
- GOB: Changed names of two German Addy games by @BJNFNE in #4906
- GUI: Disable text selection in list widget by @hax0kartik in #4907
- GUI: Fix draw-size computation by @su-xingyu in #4909
- VIDEO: Quicktime multiple edit reverse playback and custom rate! by @hari01584 in #4896
- GUI: Fix hard shadow under HiDPI rendering by @su-xingyu in #4908
- GUI: Fix hard shadow of tabs under HiDPI by @su-xingyu in #4911
- GUI: Change in the BDF fonts scaling code by @NischayDiwan in #4867
- TETRAEDGE: Support Hebrew fan translation by @BLooperZ in #4914
- TETRAEDGE: Encode text before draw by @BLooperZ in #4924
- DRASCULA: Track left mousebutton press and apply delay as needed by @tag2015 in #4922
- GLK/GLULX: Add multiple entries to detection table from ifdb.org by @MarcoBorrini99 in #4925
- SCUMM HE: BB01 competitive online play: no double play powerups by @shkupfer in #4919
- SCUMM HE: BB01 competitive online play: random bounces by @shkupfer in #4920
- DIRECTOR: More detection entries and other things by @einstein95 in #4927
- SCUMM: Add detection for Putt-Putt's Fun Pack Mac JP by @tag2015 in #4912
- DIRECTOR: ValkyrieXObj: Resolve CID 1509049 by @einstein95 in #4935
- Use scummvm-ios7-libs-v3 by @larsamannen in #4856
- AGS: Fix playing CLUT8 videos by @criezy in #4938
- Change orientation detection mechanism on iOS by @criezy in #4918
- SAGA: Fix wrong calculation of Big5 string height by @phcoder in #4945
- MM: Mark Chinese Xeen games as using Traditional spelling by @phcoder in #4946
- GUI: Don't redraw whole dialog stack with kRedrawTopDialog by @mikrosk in #4953
- PINK: PDA open from menu does not change pause level by @antoniou79 in #4941
- PINK: Handle animations with non standard start frame by @antoniou79 in #4942
- PINK: Fix localized text encoding by @antoniou79 in #4943
- PINK: Clear global game variables on New Game by @antoniou79 in #4944
- SCUMM: Add more entry sizes by @einstein95 in #4934
- CREATE_PROJECT: Exclude MT32Emu source files if the feature is disabled. by @elasota in #4921
- VIDEO: Fix signed/unsigned mismatch potentially breaking DXA seek. by @elasota in #4897
- GOB: remove game type AJWorld, duplicated with Adibou1 by @sdelamarre in #4884
- Inline some of the most called functions in SCI and SCUMM by @mikrosk in #4852
- WATCHMAKER: Initial engine work by @somaen in #4913
- LASTEXPRESS: Save system updates, a few warnings fixed and early demo support by @antoniou79 in #4901
- COMMON/MATH: Add some constexpr constructors to Array/List/String/Rect and the Matrix base-classes. by @somaen in #4910
- AGS: Commits from upstream up to version 3.6.0.47 by @tag2015 in #4929
- GUI: Fix inconsistent game title display for list and grid layout by @su-xingyu in #4930
- NUVIE: Fix Ultima 6 crash on FM-Towns sound load by @PushmePullyu in #4931
- CREATE_PROJECT/CI: Support vcpkg integration by @SupSuper in #4932
- GUI: Correct some grammar in the cloud connection wizard by @einstein95 in #4936
- KYRA: Add support for Chinese EOB2 by @phcoder in #4940
- AGOS: Add fallback detection for some titles by @BLooperZ in #4949
- AGS: Add stubs for AGSTrans plugin by @tag2015 in #4950
- GUI: Don't enforce full redraw upon closing tool tip by @mikrosk in #4954
- DIRECTOR: Fixes for D5 support by @moralrecordings in #4923
- AGS: Fix Windows build failing to compile by @elasota in #4957
- SCUMM HE: Bugfix: Allow turned-around runners on pop-ups to turn back around by @shkupfer in #4956
- KYRA: Add support for Chinese LoL by @phcoder in #4952
- SAGA: Fix word-wrapping bug by @phcoder in #4960
- IOS7: Implement use of Dispatch Sources to drive timeHandler by @larsamannen in #4948
- WATCHMAKER: Fix MSVC linker failure by @elasota in #4958
- SCUMM: Fix detection of Chinese Full Throttle by @phcoder in #4967
- GRAPHICS: Fix default bpp value for drawBig5Char by @phcoder in #4971
- SHERLOCK: Fix lines displayed out of visible space by @phcoder in #4970
- GLK: TADS: Add missing entries to the detection table from ifdb.org by @MarcoBorrini99 in #4963
- IOS7: Implement port specific options widget by @larsamannen in #4968
- GOB: Added a new German version of Adi 2 by @BJNFNE in #4979
- GOB: added a German version of Gobliins 2 by @BJNFNE in #4980
- GOB: added a German non interactive demo of Adi 2 by @BJNFNE in #4981
- Mark a German version of Adi 2 as unstable by @BJNFNE in #4983
- DIRECTOR: Correct spelling mistake pointed out by kane159 by @phcoder in #4985
- DUMPER-COMANION: Fix compatibility with python 3.8 by @phcoder in #4986
- SAGA2: move call to delayMillis in updatePalette() by @spleen1981 in #4984
- Ultima: Remove extra space in quest of the avatar name by @i30817 in #4978
- BURIED: Fix caching the last AVI frame by @ccawley2011 in #4977
- ULTIMA: Add detection entry for French Ultima 6 by @PushmePullyu in #4982
- Update frame on safe insets changes and update Info.plist with export compliance by @larsamannen in #4989
- DIRECTOR: More fixes for D5 by @moralrecordings in #4955
- DIRECTOR: Fix abort with director 6 by @phcoder in #4988
- SCUMM: Fix Mojibake in Japanese Macintosh atlantis by @phcoder in #4996
- GRIM: Support Chinese Monkey4 by @phcoder in #4966
- SKY: Show only available language in language selection by @phcoder in #4972
- DIRECTOR: Fixes for D5/The Cute machine by @moralrecordings in #5001
- SCUMM: Support playing MAC games dumped with --forcemacbinary or similar options by @phcoder in #4987
- GUI: Don't redraw whole dialog in Widget::setEnabled() by @mikrosk in #4962
- COMMON: Strip whitespace before checking if an INI line is a comment. by @elasota in #4991
- ASYLUM: Fix use-after-free by @phcoder in #4998
- GOB: Mark all non interactive demos of Adi 2 as stable by @BJNFNE in #5003
- TWINE: Support rendering Japanese strings by @phcoder in #5002
- DIRECTOR: Redo "Fix use-after-free" by @phcoder in #5004
- TWINE: Fade-in characters starting from the right when playing in Hebrew by @phcoder in #5006
- TITANIC: Fix -Wc 20-compat warning for the C 20 'concept' keyword by @dwatteau in #5007
- GRAPHICS: MACGUI: remove unused variable by @mistydemeo in #5009
- XEEN: Fix crash in MM4 ending cutscene by @yarolig in #4993
- DIRECTOR: Move _lastPalette to DirectorEngine by @moralrecordings in #5012
- KYRA: Support for official Polish HoF translation (floppy version) by @leloch in #5013
- HYPNO: Implement rendering of Korean font by @phcoder in #5010
- CREATE_PROJECT: Add --libs-path command line parameter that can be used instead of the SCUMMVM_LIBS environment var by @elasota in #4959
- AUDIO: Add support for manually setting sounds' sample rate by @fracturehill in #4965
- AMIGAOS: amigaos.cpp - Set default gfx_mode to "surfacesdl" by @raziel- in #5014
- MOHAWK: RIVEN: Fix autosave on exit during cutscene by @macca8 in #4820
- I18N: Add script to generate translated android strings.xml, automatically generates fake cpp file by @ankushdutt in #4831
- IMAGE: Fix MSRLEDecoder if pitch > width by @mikrosk in #4832
- BACKENDS: Add double-click time feature to support OS-configurable double-click intervals, implement it for Windows. by @elasota in #4460
- GUI: Account for the scroll bar size in ScrollContainerWidget objects by @ccawley2011 in #4569
- GUI: Dump .png files of the launcher to check UI for various translations by @PhoenixFlame101 in #4844
- SLUDGE: Add detection for v 1.0 outoforder by @pressspacetojump in #4883
- IMAGE: Speed up 16/24/32bpp BMP decoding by @ccawley2011 in #4937
- NUVIE: Fix passable actor movement by @PushmePullyu in #4947
- NUVIE: ULTIMA6: Fix sextant usage in gargoyle underworld by @PushmePullyu in #4951
- Fix various -Wformat warnings on 32-bit archs by @dwatteau in #4961
- DEVTOOLS: Allow to add .bin extension in dumper-companion. by @phcoder in #4964
- TINYGL: Remove use of Graphics::PixelBuffer for storage by @ccawley2011 in #4973
- AGS: Commits from upstream up to version 3.6.0.48 by @tag2015 in #4975
- AGS: Partial implementation of AGS_Collision_Detector plugin by @tag2015 in #4976
- XEEN: show class restriction icons in shops by @yarolig in #4994
- COMMON: Avoid makeUnique on string if trim wouldn't modify it. by @elasota in #4995
- GRAPHICS: Support PC98 font ROM by @phcoder in #4999
- TETRAEDGE: Skip garbage value entry in inventory data by @phcoder in #5015
- IOS7: Update mouse implementation by @larsamannen in #4997
- DIRECTOR: Add more order tables by @einstein95 in #4933
- AGS: Fixed std::function bool cast on clang by @wyatt-radkiewicz in #5018
- KYRA: Fix compilation when kyra is enabled but lol isn't by @phcoder in #5020
- DIRECTOR: .exe is a valid movie ext by @mistydemeo in #5019
- GRAPHICS: Fix glyph offsets for PC98 glyphs *9e by @phcoder in #5022
- COMMON: Fix logic error in macresman by @phcoder in #5026
- SCUMM: Add MD5s for Hebrew translations of fft, dir and samnmax. by @phcoder in #5028
- GRAPHICS: Change pitch from int16 to int32 by @tag2015 in #5017
- BLADERUNNER: Support merging of CDs in original layout. by @phcoder in #5025
- Sync scumm-md5.txt by @orgads in #5037
- DRAGONS: Print less noisy debug output by default by @dwatteau in #5036
- TETRAEDGE: Fix TeImage output on big-endian hosts by @dwatteau in #5035
- BLADERUNNER: Add assertion for undershort files by @phcoder in #5041
- BLADERUNNER: add BiDi support for subtitles by @BLooperZ in #5042
- SCUMM: Add MD5 for Hebrew version of atlantis by @phcoder in #5044
- SCI: Add Md5 of Another variant of Hebrew Laura Bow by @phcoder in #5051
- QUEEN: Add another FOTAQ MD5 by @phcoder in #5049
- SAGA: Fix memory and file handle leak in loadResource by @PushmePullyu in #5043
- SCUMM: Add MD5 of Hebrew version of Loom by @phcoder in #5050
- GOB: Added a German version of Littlered by @BJNFNE in #5047
- COMMON: Add new Rect constructors to make construction from coordinate size easier by @elasota in #5045
- AUDIO: Skip JUNK padding in WAV files by @tag2015 in #5053
- DIRECTOR: Improve popupxmenulib by @hari01584 in #5005
- DIRECTOR: Fixes for D5 sprite rendering by @moralrecordings in #5052
- SAGA: Fix use-after-free on handling actor action by @PushmePullyu in #5054
- DIRECTOR: Add multiple resources in exe using ProjectorArchive by @hari01584 in #5056
- COMMON: Add Bulgarian language code by @elasota in #5057
- COMMON: Fix operator[] of StableMap by @hax0kartik in #5062
- DIRECTOR: Set
rect
property of window, allow dynamic resize/move. by @hari01584 in #5059 - DIRECTOR: Cast: search for xlib by @mistydemeo in #5055
- COMMON: Add remove() to algorithm by @hax0kartik in #5064
- DIRECTOR: Implement the titleVisible & modal property of window by @hari01584 in #5067
- POSIX: Add AppImage support by @lephilousophe in #5023
New Contributors
- @ss141309 made their first contribution in #4706
- @Linkpro4 made their first contribution in #4726
- @atta-ullah01 made their first contribution in #4729
- @uteuliyeva made their first contribution in #4740
- @spleen1981 made their first contribution in #4683
- @medobob1 made their first contribution in #4770
- @Dio990521 made their first contribution in #4769
- @Sathvik1007 made their first contribution in #4787
- @marius851000 made their first contribution in #4814
- @vagos made their first contribution in #4850
- @pressspacetojump made their first contribution in #4833
- @filasfilas made their first contribution in #4905
- @su-xingyu made their first contribution in #4909
- @NischayDiwan made their first contribution in #4867
- @leloch made their first contribution in #5013
Full Changelog: v2.7.1...v2.8.0