Development for Bos Wars
This file should give you some information to help with development of
the project.
For most up to date information, it is highly recommended to check the
information on the Bos Wars website,
including the page on development.
IRC - Internet Relay Chat
You can try to meet other Bos Wars developers and users on the
Libera.chat IRC Network, in the
#boswars channel.
Mailing list
If you want to help with development, you should 
join 
the bos-dev mailing list.
Bugs and tasks
You can find known bugs
 on the project pages
for Bos Wars.
Before starting work on a bug or task, please ask on the mailing list or in the 
IRC channel whether anybody else is already working on it.
Building Bos Wars
Installing the Git client
If you want to help develop, you should use Git. 
The online Git documentation will
help you master Git.
Getting Bos Wars from Git
The Bos Wars project has the following main repositories:
    - boswars - The Bos Wars source code
	The source code for the whole game including the engine.
    The source is licenced under the GNU General Public License.
	This contains the sources needed for development.
     
- website.bos - The Bos Wars Website
	The website is stored in git for easy updating and version management
	by multiple people.  This module is not needed unless you plan to update
	the website.
     
- materials.bos - Bos Wars assets
	Sources of large or difficult to generate Boswars assets like graphics
    and sounds.
 
Getting Bos Wars without Git
Only releases are made outside of Git.  If you wish to be involved with
development, you should obtain the sources via Git.
Git usually remains quite stable and is easier
for you to keep up to date. Release versions of Bos Wars are available 
here.
Building Bos Wars
You can find instructions for compiling Bos Wars at 
install.html.
Since you already have a copy of the source, you may skip 
ahead to step 2.
Source code documentation
The engine has tagged source documentation.
You need either DoxyGen or 
DOC++ 
to generate source code documentation.
Tags used in source code
We use the doc++ tags:
Multi line source code documentation:
/** ... */
Single line source code documentation:
/// ... 
Start grouping:
//@{ or /*@{*/
End grouping:
//@} or /*@}*/
    - @name
    
 Name of file or group.
- @param
    
 Describes function/macro parameter
- @return
    
 Describes function return
- @see
    
 Links to other section
Please read the doxygen/doc++ documentation.
Sending a patch
Once you have completed some work, you will probably want it to be 
included in the main Bos Wars source.
You can create a pull request on the
Bos Wars Codeberg project page.
Alternatively, you can create a patch with these steps:
    - git diff > your-nickname.diff
    
- upload 'your-nickname.diff' to the 
    patch tracker.
(C) Copyright 1998-2023 by The Bos Wars Project 
under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.