Torbjörn Andersson c0c072f4c4 SCUMM: Add hack against Mac Loom distaff glitch
Here is what I think happens: When text is removed, the text surface is
cleared in its entirety. This means that the next time the screen is
updated, it may redraw the low-resolution background. Since this has no
information about the high-resolution text, any such text is lost.

The distaff notes and note names are drawn in with the high-resolution
font. When using the distaff, only the note name is redrawn, not the
note itself. The way screen updates are handled, a larger area than just
the note name gets redrawn, and then part of the note may be cleared
away.

To get around this, when a note name is drawn on the distaff the text
surface is also updated with the note itself. (There is no need to
redraw the note, since we can assume it's already on screen, and we
don't want to bother with getting the color right.)

The only time the printChar() function prints note names should be on
the distaff. The Practice Mode box is handled by drawChar() instead.
2021-05-17 18:44:29 +02:00
2021-05-17 14:19:54 +00:00

ScummVM README · Build Status 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 Edit Game 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 completeable 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.

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/

Description
ScummVM main repository
Readme 1.8 GiB
Languages
C++ 90.7%
C 7.3%
Python 0.3%
Lua 0.3%
Assembly 0.3%
Other 0.8%