Difference between revisions of "Developer Central"

From ScummVM :: Wiki
Jump to navigation Jump to search
m (Add some information about the tracker list based on an old -devel mail)
m (Added a section for backend developers and removed engine and backend information from the general information)
Line 7: Line 7:
* Also, please read and respect the [[Portability Guide]].
* 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 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 [[HOWTO-Engines|Engines HOWTO]].
* If you want to port ScummVM to a new platform, check out our [[HOWTO-Backends |Backends HOWTO]].
* Our [http://doxygen.scummvm.org/ Doxygen source code documentation] may help you to get the big picture about ScummVM.
* Our [http://doxygen.scummvm.org/ 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]]
* Also, you might want to check our list for current [[Platform Limitations]]
Line 17: Line 15:
* 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.
* 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 [[HOWTO-Open_Files|how to open files]].
* Accessing files in a portable fashion is non-trivial. Read all about [[HOWTO-Open_Files|how to open files]].
== For Backend authors ==
* If you want to port ScummVM to a new platform, check out our [[HOWTO-Backends|Backends HOWTO]].


== Projects, plans, things to do ==
== Projects, plans, things to do ==
* [[OpenTasks|List of open tasks]], with relatively detailed descriptions, and contact points. Some rather small ones, some bigger ones, take a look.
* [[OpenTasks|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.
* [[Small Devices Backend]] -- this is under development as part of the GSoC, but additional help is welcome.

Revision as of 21:56, 10 April 2009

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 at here
  • ScummBot -- build bot. It notifies when one or more ports change their status. There's more information on the Buildbot page

IRC logs are stored at:

Misc