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.
- 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.
- 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
- 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.
- 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.
- Small Devices Backend -- this is 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
- Our release guideline for ScummVM Release HOWTO
- Our release testing status for the latest stable release Release Testing
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
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. If you subscribe to this one you'll just be notified about new tracker items. If you want to keep track of an arbitrary tracker item you have to use the "Monitor" option/button on the page of that tracker item.
There is one note about scummvm-cvs-logs and scummvm-tracker. Consider them as a read-only lists, i.e. if you have comments/questions on someone's commit, post your follow-up to scummvm-devel.
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. Believed to be defunct, logs were available here.
- ScummBot -- build bot. It notifies when one or more ports change their status. There's more information on the Buildbot page.
- echelog-1 -- log bot. Another bot that logs the channel and places them here. There are also stats available.
IRC logs are stored at:
- logs.scummvm.org -- Not updated when LeChuck is down
Team Member Benefits
Every active ScummVM Team member is eligible for following:
- being added to our main credits (do it by yourself in scummvm/tools/credits.pl)
- @scummvm.org forwarding address
- operator status at #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, i.e. game copies, software licenses etc
If you need any of above, talk to Fingolfin or sev.