No description
Find a file
AndywinXp 1a0b05dcff
Some checks failed
CI / Windows (push) Has been cancelled
CI / Xcode (push) Has been cancelled
CI / Ubuntu (push) Has been cancelled
SCUMM: v0-1-2-3: Implement post-load fixes (from orig. menu to GMM)
This commit implements proper loading of savestates saved from
the original menu in v0-3 games and loaded either from launcher
or GMM. Why is all of this necessary? It is because these saves
are built under the assumption that they will be reloaded from the
main menu room, and that therefore there will be a graceful
termination of the global script handling the main menu.

Terminating said script gracefully implies cleaning up variables,
stopping menu related scripts, and reboot other scripts which had
previously been stopped.

This certainly doesn't happen when reloading said savestates from
the GMM/launcher, and what instead happens is, in order:
- The game loads from the menu room;
- The menu scripts continues from an inconsistent location,
effectively re-saving the game;
- This invalidates the thumbnail of the savestate, which will now
show a picture of the menu;
- Closing the menu gets the user back to the saved state,
with probably an inconsistent state of some variables and scripts.

This fixes all of this, by detecting if we are loading a savestate
saved from the original menu, and by manually running the correct
script operations for each game in order to correctly close the
menu and resume the game.

Please note that this commit works under different assumptions
from the ones pertaining the already available post-load fixes
(which assume that you are saving the game from GMM).
2023-07-05 20:36:25 +02:00
.github CI: Bump vcpkg 2023-07-01 21:01:11 +01:00
audio IOS7: Remove support for non-sandboxed mode 2023-04-27 21:43:40 +01:00
backends BACKENDS: OPENGL: Don't depend on USE_ASPECT 2023-07-01 14:42:58 +03:00
base BASE: Fix --logfile command line option 2023-03-27 00:26:17 +02:00
common KEYMAPPER: Add HAT AXIS (DPAD as movement) to hw input 2023-04-05 09:18:57 +03:00
devtools FREESCAPE: renamed shaders filenames and added them into shader.dat 2023-07-03 22:18:13 +02:00
dists DISTS: Sync dists/win32/migration.txt with master 2023-07-05 14:06:33 +02:00
doc NEWS: Mention AGS text improvement in German NEWS file 2023-07-04 07:52:32 +02:00
engines SCUMM: v0-1-2-3: Implement post-load fixes (from orig. menu to GMM) 2023-07-05 20:36:25 +02:00
graphics GRAPHICS: OPENGL: added another setUniform function to set an uniform value in shaders from an array of ints 2023-07-03 22:18:13 +02:00
gui GUI: Ommit aspect ratio checkbox if this feature is missing 2023-07-01 14:42:49 +03:00
icons
image SURFACESDL: Fix crash when saving screenshots in paletted screen modes 2023-02-08 11:42:59 +00:00
LICENSES
math MATH: Add ray triangle intersection and tests 2023-01-16 17:36:43 +01:00
po IOS7: Implement port-specifc option widget 2023-05-06 10:21:17 +02:00
test ULTIMA8: Additional item sort rules and test. 2023-01-22 12:10:58 -06:00
video VIDEO: Fix theora playback rate 2023-02-23 13:46:02 +09:00
.clang-format
.clang-tidy
.editorconfig
.gitattributes
.gitignore DS: Display the ScummVM logo on the top screen when the launcher is active 2022-12-22 18:21:04 +00:00
.gitmodules
AUTHORS CREDIS: Update credits for TETRAEDGE 2023-01-16 19:31:52 +01:00
config.guess BUILD: Update config.guess and config.sub 2022-11-18 17:06:59 +01:00
config.sub BUILD: Update config.guess and config.sub 2022-11-18 17:06:59 +01:00
configure IOS7: Remove support for non-sandboxed mode 2023-04-27 21:43:40 +01:00
CONTRIBUTING.md
COPYING
COPYRIGHT ALL: Update copyright year 2023-01-01 00:00:51 +01:00
engines.awk
Makefile BUILD: Disable -Wshadow and -Wmissing-field-initializers before GCC 5 2023-04-12 09:56:30 +02:00
Makefile.common DISTS: Added classicmacfonts.dat 2023-07-05 14:06:09 +02:00
NEWS.md NEWS: Mention AGS text improvement 2023-07-03 23:22:51 +01:00
plugin.exp
ports.mk CREATE_PROJECT: Remove deprecated --use-canonical-lib-names 2023-07-01 19:24:55 +01:00
README.md
rules.mk
TODO
vcpkg.json CI: Update to use latest vcpkg version and integration 2023-07-01 19:34:21 +01:00

ScummVM README · CI Translation status PRs Welcome Codacy Badge

About ScummVM

ScummVM allows you to play classic graphic point-and-click adventure games, text adventure games, and RPGs, as long as you already have the game data files. ScummVM replaces the executable files shipped with the games, which means you can now play your favorite games on all your favorite devices.

So how did ScummVM get its name? Many of the famous LucasArts adventure games, such as Maniac Mansion and the Monkey Island series, were created using a utility called SCUMM (Script Creation Utility for Maniac Mansion). The VM in ScummVM stands for Virtual Machine.

While ScummVM was originally designed to run LucasArts SCUMM games, over time support has been added for many other games: see the full list on our wiki. Noteworthy titles include Broken Sword, Myst and Blade Runner, although there are countless other hidden gems to explore.

For more information, compatibility lists, details on donating, the latest release, progress reports and more, please visit the ScummVM home page.

Quickstart

For the impatient among you, here is how to get ScummVM running in five simple steps.

  1. Download ScummVM from our website and install it.

  2. Create a directory on your hard drive and copy the game datafiles from the original media to this directory. Repeat this for every game you want to play.

  3. Start ScummVM, choose 'Add game', select the directory containing the game datafiles (do not try to select the datafiles themselves!) and press Choose.

  4. The Game Options dialog opens to allow configuration of various settings for the game. These can be reconfigured at any time, but for now everything should be OK at the default settings.

  5. Select the game you want to play in the list, and press Start. To play a game next time, skip to step 5, unless you want to add more games.

Hint:

To add multiple games in one go, press and hold the shift key, then click 'Add game' -- the label will change to 'Mass Add' and if you press it, you are again asked to select a directory, only this time ScummVM will search through all subdirectories for supported games.

Reporting a bug

To report a bug, go to the ScummVM Issue Tracker and log in with your GitHub account.

Please make sure the bug is reproducible, and still occurs in the latest git/Daily build version. Also check the compatibility list for that game, to ensure the issue is not already known. Please do not report bugs for games that are not listed as completable on the Supported Games wiki page, or on the compatibility list. We already know those games have bugs!

Please include the following information in the bug report:

  • ScummVM version (test the latest git/Daily build)
  • Bug details, including instructions for how to reproduce the bug. If possible, include log files, screenshots, and any other relevant information.
  • Game language
  • Game version (for example, talkie or floppy)
  • Platform and Compiler (for example, Win32, Linux or FreeBSD)
  • An attached saved game, if possible.
  • If this bug only occurred recently, include the last version without the bug, and the first version with the bug. That way we can fix it quicker by looking at the changes made.

Finally, please report each issue separately; do not file multiple issues on the same ticket. It is difficult to track the status of each individual bug when they aren't on their own tickets.

Documentation

User documentation

For everything you need to know about how to use ScummVM, see our user documentation.

The ScummVM Wiki

The wiki is the place to go for information about every game supported by ScummVM. If you're a developer, there's also some very handy information in the Developer section.

Changelog

Our extensive change log is available here.

SAST Tools

PVS-Studio - static analyzer for C, C++, C#, and Java code.

Credits

A massive thank you to the entire team for making the ScummVM project possible. See the credits here!


Good Luck and Happy Adventuring! The ScummVM team. https://www.scummvm.org/