Developer Central

From ScummVM :: Wiki
Revision as of 23:07, 15 June 2009 by Salty-horse (talk | contribs) (→‎Team Member Benefits: Linked to wiki user pages)
Jump to navigation Jump to search

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

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

TODO lists

New GUI

Release Management

CVS/SVN statistics

Our commit logs are fed to several freely available statistics tools:

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. 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.

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. 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:

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.

Misc