Developer Central
The purpose of this page is to give a link to all kinds of resources that contain information valuable to current and future developers of ScummVM.
Getting started
- The first thing you need to be able to do is get the ScummVM code.
- Then you should compile ScummVM.
That was easy, right? Here are some more tips:
- Some hints on debugging ScummVM.
- Before you write/submit code, you must read about our Code Formatting Conventions. Patches which do not follow them will be rejected or at least delayed until they are cleaned up to comply to them.
- Also, please read and respect the Portability Guide.
- If you have write access to our repository, you are expected to have read and to comply with our Commit Guidelines.
- Our Doxygen source code documentation may help you to get the big picture about ScummVM.
- Also, you might want to check our list for current Platform Limitations
For Engine authors
- If you want to provide a new Engine for ScummVM, check out our Engines HOWTO.
- If you work on a game engine for ScummVM, consider implementing Advanced Engine Features.
- If your engine supports multiple games / game variants, properly detecting and differentiating them all can be a nuisance. Use the Advanced Detector to overcome this hurdle.
- Accessing files in a portable fashion is non-trivial. Read all about how to open files.
For Backend authors
- If you want to port ScummVM to a new platform, check out our Backends HOWTO.
Projects, plans, things to do
- List of open tasks, with relatively detailed descriptions, and contact points. Some rather small ones, some bigger ones, take a look.
- Main TODO list (contains links to many further specialized TODO pages, e.g. for specific engines).
The following are partially outdated, but kept for now for the sake of reference.
- Small Devices Backend -- this was under development as part of the GSoC, but additional help is welcome.
- Keymapping Improvements -- still in the design stage. Help is welcome.
- Music drivers redesign -- in phase of discussion
New GUI
Our "new" GUI is themeable. If you are interested in writing a custom theme, the following may be of help for you:
Release Management
- Our release guideline for ScummVM Release HOWTO
- Our release testing status for the latest stable release Release Testing
CVS/SVN statistics
Our commit logs are fed to several freely available statistics tools:
- FishEye SVN statistics
- FishEye CVS statistics prior to Feb 6th, 2006
- CIA SVN statistics, current development
- ohloh project analysis nice graphs and devs activity
- Koders statistics
Team Member Benefits
Every active ScummVM Team member is eligible for enhanced access to our Project Services and some further benefits:
- being added to our main credits (do it by yourself in scummvm/tools/credits.pl)
- @scummvm.org forwarding address
- operator status in our IRC Channel #scummvm @ freenode
- address cloak on freenode (in form of scummvm/undead/nick)
- moderator status on ScummVM Forums and appropriate badge "ScummVM Developer" or "ScummVM Porter" or special one
- ScummVM Wiki account
- having development blog displayed on ScummVM Planet
- using project donations for purchasing necessary things for the development, such as game copies, software licenses etc.
Misc
- MIME types, useful for setting the svn:mime-type.
- Documentation on how we performed our CVS to Subversion conversion.
- Old page listing pros and cons between CVS and SVN before the conversion was made.
- A guide on submitting Screenshots for use on our website.