Reformat the CONTRIBUTE file

This commit is contained in:
Yamagi Burmeister 2016-12-03 09:23:13 +01:00
parent 21035bef8d
commit f6ef5cff1b

View file

@ -11,33 +11,33 @@
At this time there're no open tasks regaring Quake II. Nevertheless the hints At this time there're no open tasks regaring Quake II. Nevertheless the hints
for working with the code: for working with the code:
- Sign up for a Github account and fork our yquake2 repository. This allows - Sign up for a Github account and fork our yquake2 repository. This allows the
the easy integration of upstream changes into your branch and sending of easy integration of upstream changes into your branch and sending of pull
pull requests. You'll get a wiki and a bugtracker for free. requests. You'll get a wiki and a bugtracker for free.
- To contribute your changes back into the main project send pull requests - To contribute your changes back into the main project send pull requests via
via Github. It's much easier to review and merge pull requests than patches. Github. It's much easier to review and merge pull requests than patches.
Please send only pull reqeuests from a distinct branch at not from your Please send only pull reqeuests from a distinct branch at not from your
"master" branch! "master" branch!
- Quake II has a very fragile and broken codebase. Even after years of cleanup - Quake II has a very fragile and broken codebase. Even after years of cleanup
it's still a disaster. Therefore: it's still a disaster. Therefore:
- Do only one change at a time! - Do only one change at a time!
- Test after each change (play at least through base1.bsp) - Test after each change (play at least through base1.bsp)
- Commit early and commit often to create a fine grained history. - Commit early and commit often to create a fine grained history. This helps
This helps "git bisect" to find bugs and errors. "git bisect" to find bugs and errors.
- Do not try to clean up things or even rewrite code that you do not - Do not try to clean up things or even rewrite code that you do not
understand to 110%! Even small behavioral changes can introduce understand to 110%! Even small behavioral changes can introduce gameplay
gameplay changes and trigger new bugs! Especially everything that changes and trigger new bugs! Especially everything that depends on map data
depends on map data (e.g. path finding or collision detection) is (e.g. path finding or collision detection) is very likely to break in
very likely to break in interesting ways! interesting ways!
- Do not add new dependencies. If you must add a new one contact the Yamagi - Do not add new dependencies. If you must add a new one contact the Yamagi
Quake II developers prior to it! Everything that adds dependencies should Quake II developers prior to it! Everything that adds dependencies should be
be hided behint preprocessor macros. hided behint preprocessor macros.
- If your changes change the gameplay experience, make them optional by - If your changes change the gameplay experience, make them optional by
introducing a new cvar. introducing a new cvar.
- Linux is not the only operating system out there. All changes should be - Linux is not the only operating system out there. All changes should be
portable to other platform (writing pure ANSI-C or C99 is recommended but portable to other platform (writing pure ANSI-C or C99 is recommended but not
not always applicable). always applicable).
- x86 ist not the only CPU architecture. All changes should be done in pure - x86 ist not the only CPU architecture. All changes should be done in pure C
C (e.g. no inline assembler) and in an endianess independed way. (e.g. no inline assembler) and in an endianess independed way.
- gcc is not the only compiler. Test your changes with clang. - gcc is not the only compiler. Test your changes with clang.