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 compile ScummVM.
- 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 expect to have read and to comply to the Commit Guidelines.
- If you want to provide a new Engine for ScummVM, check out our Engines HOWTO.
- If you want to port ScummVM to a new platform, check out our Backends HOWTO.
- 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
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.
- Small Devices Backend -- this is under development as part of the GSoC, but additional help is welcome.
- Modular Backends -- partially implemented. More work needed.
- Keymapping Improvements -- still in the design stage. Help is welcome.
TODO lists
New GUI
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
Mailing Lists
Primary channel for important development-related discussion is scummvm-devel mailing list. All developers should subscribe to it.
The full set of public lists are:
- scummvm-devel -- development-related discussions
- scummvm-cvs-logs -- commit logs. Basically we're on SVN now, but the list name was not changed
- scummvm-tracker -- Notifications of all new bugs, patches and feature requests
There is one note about scummvm-cvs-logs. Consider it as a read-only list, i.e. if you have comments/questions on someone's commit, post your follow-up to scummvm-devel.
IRC
For all kinds of live discussions we use #scummvm @ freenode.net IRC channel. All ScummVM developers get an operator status there, so if you have some questions, talk to them. There are several notes about usage of this medium:
- IRC is not the best place for informing everyone about some important development conclusions. I.e. when you discussed something and came up with a solution, it's best to e-mail results to scummvm-devel. That is, don't expect everyone in the team to know that you uttered something at #scummvm.
- All developers who want to get operator status should register with NickServ. Assistance with registration is provided here.
- Most people on FreeNode have so-called anti-spam feature turned on. That is, you will not be able to PM them unless you registered with NickServ
We have several bots living there:
- LeChuck -- our own bot. It's primary usage is infobotting and logs.
- lisppaste -- paste bot. It notifies when ScummVM-related pastes are posted here
- CIA -- commit notification bot. It notifies on all commits. Further information could be found on CIA.vc site
- cmeme -- IRCbrowse log bot. Records logs and keeps them here
IRC logs are stored at:
- logs.scummvm.org -- Down when LeChuck is down
- IRCbrowse -- cmeme's logs. Most reliable solution at present time.
Misc
- MIME types, useful for setting the svn:mime-type.
- Documentation on how we performed our CVS to Subversion conversion.
Old / obsolete stuff
- Discussion about Autodetection of games in ScummVM.
- Discussion about CVS versus Subversion