Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Welcome to the scummc wiki!
NOTE: Most content has been retrieved from Alban Bedel’s old ScummC wiki.
ScummC: A Scumm Compiler
What is it ?
ScummC is a set of tools to create SCUMM adventure games, allowing to create 100% free games that run on the popular ScummVM engine.
The ScummC suite comprises editors and compilers to combine images, costumes, background boxes, fonts, sounds and game code to complete adventure games.
ScummC takes a developer’s approach: most of the tools are commandline-based, the build process uses UNIX makefiles, source files are plain text, and the ScummC programming language is modelled after C (hence the name).
ScummC version 0.2.0 has been released as of 12-Apr-2008. The newly added demo game OpenQuest is now playable in ScummVM. Both releases are available for download.
Most of the features offered by SCUMM v6 are now supported, and it is possible to build small, but fully playable SCUMM games. However, there is still a lot to do: improve the language, better document SCUMM and ScummC, increase tool usability, improve the v7 support, finish the debugger, etc.
Help of fellow developers, SCUMM experts and the larger adventure community is much appreciated.
Up to now, version 6 of SCUMM was targeted, mainly because of its good support in ScummVM at the time ScummC started. However, this engine is quite limited, particularly in terms of graphics. There is now an initial v7 support and v8 should hopefully follow some day.
For the TODO list see ScummC TODO.
ScummC itself doesn’t have much documentation currently, but that’s changing a bit:
- Howto make a room for a small description of the process.
- ScummC Grammar for more info about the language used by ScummC.
- Scumm 6 functions for a list of the built-in functions in ScummC.
- Scumm 6 variables for a list of the engine variables in SCUMM 6.
- Scumm Scripts for an overview of the scripts used by the engine.
- ScummC Internals for a (too short) description of the inner workings of ScummC.
- ScummC Data formats for a description of the formats used by ScummC.
For this project, some documentation of the SCUMM engine is needed. There are some docs available but they’re very limited. So along the path I’m keeping notes on nearly everything I find out about the engine. Nearly all the information I have has come from the ScummVM code.
- Scumm6 Data format
- Scumm6 Strings
- Scumm7 Data format
- Scumm8 Data format
- Scumm Image formats
- Scumm Costume formats
ScummC isn’t the only open source scumm project about! Over the years there have been numerous projects from compilers to runtimes like ScummVM.