DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/DeveloperFAQ]Developer F. A. Q.[/url][/size][/b]
This is the developer FAQ for everyone who wants to contribute to OpenArena. Regular users/players can get info from the default
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/FAQ]FAQ.
Anything I need to know before I contribute?
Although OpenArena is a
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Quake_III_Arena]Quake III Arena[/I] content replacement project, we aren't bound to a certain style. Concepts would be loose, so don't expect a remake of Klesk in his original Klesk form, or any direct remakes of any map/weapon/model.
License
In general,
GNU General Public License v2 a.k.a. GPLv2 (
NOT GPLv3) is the law here, but truly
Public Domain (non copyrighted) stuff counts too. Licenses clashing with both of them aren't allowed. Please take take this in consideration before contributing.
Reasons for GPLv2 adoption include distribution and maintenance. GPLv2 allows a wider distribution, and allows others to copy, change and redistribute your contributed work, like it is done in GNU/Linux. None of us in OA are making money from it, but the GPL allows OA to be mirrored without any legal risk or included as instalable in many commercial Linux distros, for example.
Other licenses like CC respect some of these points, but have restrictions for distribution, such as CC-NC and CC-BY, or creation, such as CC-ND and CC-SA.
If you release something under the GPLv2 license, you must release also the "source" which you've used to make that asset. What the sources are, are listed below. Also, ALWAYS include the license file. And YOU must be the one who submit what you've done, no one else, unless there's a wrote authorization for it.
How can I contribute?
The following list tells you the ways in which you can contribute with the game:
- First, it's suggested for development to grab the latest SVN build of OA. For this, do a checkout on http://openarena.ws/svn and http://www.mancubus.net/svn/openarena. You can't play online with the SVN build, but it contains all the stuff which will be included in future versions of OA.
- If you know about image editing, you can help by creating some of the DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/List_of_missing_textures]missing textures/GFX replacements, or by helping the mappers with the needed textures/GFX.
- If you know about modelling, mapobjects and character assitance is appreciated. If you want to rework some of the already done work, (for example, player & item/weapon models) fine. The sources, in this area, are the .blend files from Blender. You can use other programs, as long as their license doesn't clash with GPLv2. (As in, imposing restrictions over derivatives or distribution) At any doubt, just check the forums.
- If you know about sound creating/editing, then your help on, for example, weapon/item/ambiental sounds and voices is more than welcome. Here's a DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/List_of_missing_sounds]list of missing sounds, so far. Here's a sort of guide about DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Missionpack]missionpack audio lines.
- If you're a coder, then you can help the people working on DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/OpenArena_eXpanded]OpenArena eXpanded (the game-logic portion of OA, topic), or with the binaries.
- If you're a mapper, then your help is appreciated. There're some maps on OA's SVN waiting to be retexturized or reworked. If you want to do work on existing maps, that's nice too.
- Or, even if you have or not any of the previously mentioned skills, you can throw your own suggestions/help on how to improve the existing stuff of OA, on the development forums. Just remember to read NOTTODO for stuff which won't be part of the game.
Once you feel something you've created for the game it's done, you can post it in
this thread on the Development forum, and fromhell will integrate it into OpenArena, if it meets the criteria needed. Just remember again: license file and the sources along with the finished work.
Another way to help the community is to contribute expanding this wiki site: take a look to the
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/WikiWorks]WikiWorks[/I] page, where you will find a list of pages that should be created and of pages that should be updated.
How can I contribute?
If you have some more detailed questions regarding specific areas of contribution, here's a list of experienced members you can contact on the
boards:
- Project leader: fromhell
- Coding, scripting:
- Art:
- Documentation, help:
- Community:
Textures/Graphics
See also: DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Graphics_resources_%26_tutorials]Graphics resources & tutorials[/URL][/B]The art direction of Open Arena is about "double" as Quake III Arena:
- Double texture resolution, i.e. 512x512 as opposed to a 256x256.
- The triangle limit is between 1500 and 2250, with an average of 1600/2000 triangles max. 1400 triangles maximum total for highest LoD.
- Sound is mixed in 44khz rather than 22khz. Music is also 44khz.
The detail should still be scalable with texture resolution and LoD's for slower computers.
Modelling
See also: DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Models]Models[/URL], DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Modeling]Modeling,
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Making_a_player_model]Making a player model[/B][/I]
How do I export md3s in Blender?See also: DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/MD3_format]MD3 format[/URL][/B]You can use the script found
here for 2.49. A few notes:
- All scripts must be copied to the scripts folder.
- To export an animated md3 you MUST load the md3 export script in the text editor then run it. Also you must select the last frame of animation your model has too.
- Tags are made from empties.
- Work with your objects in 0,0,0 origin as much as possible. Moving them will cause the tags to be misaligned in export.
Mapping
See also: DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Mapping_resources_%26_tutorials]Mapping resources & tutorials[/URL][/B]How do I setup GtkRadiant for OpenArena?Here are articles to setup GTKRadiant on
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Configure_GTK_Radiant_under_Windows]Windows &
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Configure_GTK_Radiant_under_Linux]Linux, and
DO NOT LINK[/b]) h t t p s : / / openarena . wikia . com/wiki/Mapping_with_MacRadiant]MacRadiant on Mac.
Coding
See also: DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/Coding_resources_%26_tutorials]Coding resources & tutorials[/URL][/B]Engine differences compared to ioquake3The engine is close to ioquake3 but the following changes have been done:
- Bloom support
- Changed defines in q_shared.h (PRODUCT_NAME etc.)
- Removed pak0 check from files.c
- Changed defines in qcommon.h (PROTOCOL, AUTH server, UPDATE server and MASTER server)
- Added extra protocols to common.c
- Increased DEF_COMHUNKMEGS (56 is not enough for bloom)
- Patched snd_codec.c so the engine will look for ogg files if no wav is found
- Added g_humanplayers + g_needpass in client* and removed g_punkbuster from the same places
- Changed default sound from sound/feedback/hit.wav to sound/misc/silence.wav (so missing sounds are not to annoying)
- Changed the save path in sys/*. Replace "Quake3" with "OpenArena" and ".q3a" with ".openarena"
How do I compile the sourcecode?Where to get the source
Linux/MacTo extract the files enter 'tar -xvf <filename>.tar.bz2'That will extract all the files to two directories named 'oa-0.8.8' (game logic) and 'openarena-engine-source-0.8.8' (engine).
On Debian, check for following dependencies :
- build-essential
- libsdl2-dev
- libopenal-dev
- libvorbis-dev
- libcurl-dev (there are different versions, they should all work)
The compiling under Linux is as easy as typing 'make'. Change to the specific directory and enter the command 'make'. Provided you have all the required libraries the binary openarena.i386 (or openarena.x86_64) will be created in a subdirectory. You may have to change the mode of the executable by entering the command 'chmod +x openarena.i386'
Windowsexport WINDRES=i586-mingw32msvc-windres
to
export WINDRES=windres.exe
[LIST=1]
- Download the source you want.
- Download and install MinGW and MSys with the installer found at http://sourceforge.net/projects/mingw/files/latest/download - In the installer, check:
- Under MinGW Compiler Suite: check C Compiler and C++ Compiler
- MSYS Basic System
- MinGW Developer Toolkit
- Start the MSys Terminal ( Start/Programs/MinGW/MSYS/MSYS ) or in Startup Menu: MinGW > MinGW Shell
- Change to the directory where the source code is located (you can copy it to your MSYS user folder located at x:\MinGW\msys\1.0\home\username\
- Edit the file cross-make-mingw.sh:
- Run 'make clean'
- Run 'sh cross-make-mingw.sh'
- a new directory named "build" should appear
- If everything goes well, the build folder will contain either the qvm files that can be placed in vm/*.qvm inside a pk3 file or the binaries depending on source package used.
TroubleshootingIf you have problems compiling the game look
here. If there were errors, look the errors in the terminal and try to google them. If nothing helps visit the
forums.
Music
Please keep in mind that we want to create content under the GPLv2. This means you have to provide a source of your work. The only format OpenArena currently accepts for music therefor is a tracker-format. For more information please use
the forum.