Difference between revisions of "Developer Central"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Update ref to Portability Guide to Coding Conventions)
(→‎Getting started: Mention git explicitly, and link to the git tips page)
Line 2: Line 2:


== Getting started ==
== Getting started ==
* The first thing you need to be able to do is [[Git#Retrieving_the_code|get the ScummVM code]].
* The first thing you need to be able to do is [[Git#Retrieving_the_code|get the ScummVM code]] from our [[Git]] repository.
* Then you should [[Compiling ScummVM|compile ScummVM]].
* Then you should [[Compiling ScummVM|compile ScummVM]].


Line 10: Line 10:
* 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.
* 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, you should read and respect the general [[Coding Conventions]].
* Also, you should read and respect the general [[Coding Conventions]].
* If you have write access to our repository, you are expected to have read and to comply with our [[Commit Guidelines]].
* If you have write access to our repository, you are expected to have read and to comply with our [[Commit Guidelines]]. Also, read up on the [[Git tips]].
* If you do not have write access, you should use our [http://sourceforge.net/tracker/?group_id=37116&atid=418822 patch tracker] to submit your contributions.
* If you do not have write access, you should use our [http://sourceforge.net/tracker/?group_id=37116&atid=418822 patch tracker] to submit your contributions.
* 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.

Revision as of 11:28, 27 April 2011

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

That was easy, right? Here are some more tips:

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.
  • The Dynamic Modules HOWTO describes how to implement loadable modules on a smaller backend, even without operating system support.

For Web site maintainers

  • If you want to update the main web site, update the files you want in /web trunk, and then login to the SF shell, change to the directory /home/project-web/scummvm/htdocs/ and run ./update.sh

Projects, plans, things to do

We are usually happy to receive any kind of help with the things listed below.

  • 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).
  • Our bug tracker lists bugs that need to be resolved
  • Our feature request tracker also lists features requested by all kinds of people.

The following are partially outdated, but kept for now for the sake of reference.

New GUI

Our "new" GUI is themeable and translatable. If you are interested in writing a custom theme, the following may be of help for you:

Release Management

Code statistics

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

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.

If you need any of the above, talk to Fingolfin or sev.

Misc