Development: Difference between revisions

From Spring
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
This is a page for information on how to help out with the development of the Spring engine itself.<br>
Outlined below is information on assisting with the development of the Spring source itself.
If you're interested in developing a mod (content) see the [[Mod Development]] page.


::<small>If you're interested in developing a mod (content) see the [[Mod Development]] page.<small>
You will need to know C++ to modify or understand Spring's source code. If you're interested in learning C++, check out these links:
*[http://www.planetpdf.com/developer/article.asp?ContentID=6634 Thinking in C++] A free online text.
*[http://www.lysator.liu.se/c/ten-commandments.html The Ten Commandments for C Programmers] A comical introduction to the principles of the language.
*[http://www.amazon.com/exec/obidos/tg/detail/-/0130384747/002-6409742-5712035?v=glance C++ How to Program] Although it's a commerical volume, it is an excellent introduction to the language.
==Starting Development==
To start development, you'll need
To start development, you'll need
#The latest version of the source code  
#The latest version of the source code  
#A program to compile your modified source code  
#A program to compile your modified source code  


===Obtaining the Source===
One option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the CVS. The CVS is updated nightly, and is considered "bleeding edge" because it may or may not work properly. However, the CVS will always have the most up-to-date version of the source code. Look at this [[CVS tutorial]] for instructions on how to get the source code from the CVS.


To obtain the source code, one option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the CVS. The CVS is updated nightly, and is considered "bleeding edge" because all it may or may not work properly. However, the CVS will always have the most up-to-date version of the source code.Look at this [[CVS tutorial]] for instructions on how to get the source code from the CVS.
===Compiling the Source===
 
Now that you have something to compile, it is time to actually compile it. The simplest way is to obtain a copy of Microsoft Visual C++ .NET 2003 which is what the core developers use. Simply navigate to the rts folder inside the source treen, open Lesson2.vcproj, and hit compile.
Now that you have something to compile, it is time to actually compile it. The simplest way is to obtain a copy of Microsoft Visual C++ .NET 2003 which is what the core developers use. Simply navigate to the rts folder inside the source treen, open Lesson2.vcproj, and hit compile.


Line 14: Line 23:




====Development Suggestions====
==Development Suggestions==
 
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, a list of [[example projects]] have been compiled. You can also check the list of [[whois doing what]] to see what others are doing.
Before starting to make modifications to the source, take a look at the [[development guidelines]] which outlines some important things to think about. To find something interesting to work on, a list of [[example projects]] have been compiled. You can also check the list of [[whois doing what]] to see what others are doing.


===Making something "official"===
If you create something that you think should be included into the official source tree, you can submit a patch to [http://sourceforge.net/tracker/?group_id=137982&atid=739725 SourceForge]]. It could also be useful to post about it in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get some feedback.
If you create something that you think should be included into the official source tree, you can submit a patch to [http://sourceforge.net/tracker/?group_id=137982&atid=739725 SourceForge]]. It could also be useful to post about it in the [http://taspring.clan-sy.com/phpbb/viewforum.php?f=12 development forum] and get some feedback.


Line 22: Line 33:
At this moment the Linux porting effort is a seperate branch.
At this moment the Linux porting effort is a seperate branch.


If youre interested on general resource on developing in c/c++, you can take a look at those book:<br/>
Thinking in C++ - free on the web - all you need for c++, also explains the standard library<br/>
The Ten Commandments for C Programmers - free on the web - sound comics, it's a great guidance<br/>
Design Patterns - Addison Wisley -it's a commercial book, I know, but it's like the standard lib for the designer. Never reinvent the wheel! Someone did it. Better.<br/>


See [[Glossary]]
See [[Glossary]]


[[Category:Development]]
[[Category:Development]]

Revision as of 03:03, 16 October 2005

Outlined below is information on assisting with the development of the Spring source itself.

If you're interested in developing a mod (content) see the Mod Development page.

You will need to know C++ to modify or understand Spring's source code. If you're interested in learning C++, check out these links:


Starting Development

To start development, you'll need

  1. The latest version of the source code
  2. A program to compile your modified source code

Obtaining the Source

One option is to manually download it along with the latest released version of the game. However, for serious developers, a better way would be to download the source straight from the CVS. The CVS is updated nightly, and is considered "bleeding edge" because it may or may not work properly. However, the CVS will always have the most up-to-date version of the source code. Look at this CVS tutorial for instructions on how to get the source code from the CVS.

Compiling the Source

Now that you have something to compile, it is time to actually compile it. The simplest way is to obtain a copy of Microsoft Visual C++ .NET 2003 which is what the core developers use. Simply navigate to the rts folder inside the source treen, open Lesson2.vcproj, and hit compile.

If you don't have access to this compiler, it should be possible to use the free version of Visual C++ instead. Look at the end of this forum thread for more information. Hopefully this will be turned into a Wiki guide by someone who has gotten this to work.


Development Suggestions

Before starting to make modifications to the source, take a look at the development guidelines which outlines some important things to think about. To find something interesting to work on, a list of example projects have been compiled. You can also check the list of whois doing what to see what others are doing.

Making something "official"

If you create something that you think should be included into the official source tree, you can submit a patch to SourceForge]. It could also be useful to post about it in the development forum and get some feedback.

If you like to work on the Linux port please look at the Linux page.
At this moment the Linux porting effort is a seperate branch.


See Glossary