* Added initial DOCUMENTATION.md

* Updated README.md with FF-specific information (renamed from just README)
This commit is contained in:
squeek 2013-09-03 23:03:31 -07:00
parent 79efcf837b
commit 9b85904aca
3 changed files with 90 additions and 43 deletions

39
DOCUMENTATION.md Normal file
View file

@ -0,0 +1,39 @@
### Legend
* __TODO__ Things that need documentation
* *Unconfirmed statements*
* Confirmed statements
* (FF) Fortress Forever specific
# New Entity Implementation Checklist
* __TODO__ Document general entity requirements
## Demos
* __TODO__ Document the requirements for something being replicated in a demo
* __TODO__ Document how ConVars get set when watching someone else's demo and how to include/exclude ConVars from doing that
### SourceTV
* __TODO__ Document the requirements for something being replicated to a SourceTV client or in a SourceTV demo (and what would exclude them)
* *Variables in a _NOBASE DataTable do not get recorded in SourceTV demos*
## Prediction
* __TODO__ Document how to make something properly predicted
## DataTables / Networked Variables
* __TODO__ Document DataTables in how they interact with other people on the server (how to send netwrorked variables to specific clients depending on certain conditions)
* SendProxys are used server-side to determine how the variables in the DataTable are sent (see game/server/sendproxy.cpp)
* __TODO__ List the available SendProxys (or link to a SendProxy section)
# Example Feature
General description/overview of the feature (optional)
## Usage
* List of guidelines for dealing with the feature
* Information about things like how to implement a new derived class or how to handle a new feature-related entity

43
README
View file

@ -1,43 +0,0 @@
SOURCE 1 SDK LICENSE
Source SDK Copyright(c) Valve Corp.
THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE
CORPORATION ("Valve"). PLEASE READ IT BEFORE DOWNLOADING OR USING
THE SOURCE ENGINE SDK ("SDK"). BY DOWNLOADING AND/OR USING THE
SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO
THE TERMS OF THIS LICENSE PLEASE DONT DOWNLOAD OR USE THE SDK.
You may, free of charge, download and use the SDK to develop a modified Valve game
running on the Source engine. You may distribute your modified Valve game in source and
object code form, but only for free. Terms of use for Valve games are found in the Steam
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
You may copy, modify, and distribute the SDK and any modifications you make to the
SDK in source and object code form, but only for free. Any distribution of this SDK must
include this LICENSE file and thirdpartylegalnotices.txt.
Any distribution of the SDK or a substantial portion of the SDK must include the above
copyright notice and the following:
DISCLAIMER OF WARRANTIES. THE SOURCE SDK AND ANY
OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED
"AS IS". VALVE AND ITS SUPPLIERS DISCLAIM ALL
WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
If you would like to use the SDK for a commercial purpose, please contact Valve at
sourceengine@valvesoftware.com.

51
README.md Normal file
View file

@ -0,0 +1,51 @@
# Fortress Forever (Source SDK 2013)
## Git
We will be using the branching model laid out here: http://nvie.com/posts/a-successful-git-branching-model/
* __TODO__ Specific instructions on how to work within that model (information about when to use rebase, when to merge, etc)
### Committing
* Always make sure the code you are committing compiles
* Try to commit features and changes separately, rather than 20 files at once. This means we can easily revert certain pieces if we don't like them, rather than going through manually to remove stuff
* Be descriptive in your revision comments.
* If you aren't sure you're doing something the best way, comment it in code and possibly comment ("First pass, needs cleaning up!" for e.g.)
## Code
### Syntax
#### Variable, Function, File Names and Directory Structure
* __TODO__ Decide on a naming convention
* Always make variable and function names as descriptive as possible (if 'i' stands for 'currentPlayerIndex' then use 'currentPlayerIndex')
### Adding/Removing Files
Solution and makefiles are no longer stored on the repo, they are generated using [VPC](https://developer.valvesoftware.com/wiki/Valve_Project_Creator). To add/remove files from the project, you must edit game/client/client_ff.vpc and/or game/server/server_ff.vpc files and then execute createallprojects(.bat) in the src/ directory. To remove a non-FF-specific file from the project (like HL2DM files), add exactly what you would to add the file (or copy the line from the .vpc that includes it), but put a - before "$File".
## Documentation
### DOCUMENTATION.md
For documentation of general Source engine things or of implemented features, commit to the develop branch. For each feature branch, document the in-development feature as it is worked on; the documentation will get merged along with the feature once it is complete.
### Doxygen Inline Commenting
Note: only use Doxygen commenting *as necessary* (see section *Variable, Function, File Names and Directory Structure*)
To describe classes/functions/files ([List of available @ commands](http://www.stack.nl/~dimitri/doxygen/manual/commands.html#cmdreturns)):
/// Brief description. (optional)
/** Detailed description.
@param parameterName Description of the param
@returns Description of the return value
*/
To describe member variables:
int var; ///< Detailed description of the member variable
///< and more if needed