This is the LUA code for the FAF coop mod.
If you want to contribute, then you'll need to know how git works. Here is a nice short tutorial to get you started.
You should get local copies of both fa-coop and faf-coop-missions.
You should have a local copy of the code (both fa-coop and faf-coop-missions) on your computer. Now you'll want to set up your test environment, i.e. running the game based on your local copies.
Inside of the fa-coop repository is an init_coop_beta.lua
file that you need to copy inside C:\ProgramData\FAForever\bin\
If you didn't use the default location for your GitHub folders, then you'll have to edit the file and change some file paths. The lines are at the start of the file, so you can't miss them.
( Make sure you don't edit the original file, to avoid problems later )
Inside the same folder, C:\ProgramData\FAForever\bin\
, you'll find ForgedAlliance.exe
Make a shortcut for it and put it in an easily accessable place. (For example your desktop)
Go into its properties (right click) and change the target:
ForgedAlliance.exe /init init_coop_beta.lua
or
ForgedAlliance.exe /init init_coop_beta.lua /showlog
If you add /showlog
then the log window will automaticaly appear. There is an ingame keybind to summon the log window aswell. So it depends on your own prefence if you want it from the start or not.
You're finally ready to make changes to the lua code and test them!
The main way of communication on github is done with issues and pull requests.
To make an issue about a bug/possible improvement/new feature/etc, you should go to the original repositories webpage and create an issue there. Don't make issues in your own forked repository unless you don't want anyone to know about them.
When making an issue, you should follow these guidlines:
C:\ProgramData\FAForever\logs
To make a pull request with your changes for a bugfix/possible improvement/new feature/etc, you should go to the original repositories webpage and create a pull request there. Most of the time pull request will be related to an issue and merging it will solve the issue. You can close an issue manually but its a lot easier if it would automaticaly close when the pull request is merged. You can achieve this by adding a keyword and a reference to the issue inside the body of your pull request message.
When making a pull request, you should follow these guidelines:
Use the normal git conventions for commit messages, with the following rules:
We use git flow for our branch conventions.
When making backwards incompatible API changes, do so with a stub function and put in a logging statement including traceback. This gives time for mod authors to change their code, as well as for us to catch any incompatibilities introduced by the change.
Please follow the Lua Style Guide as much as possible.
For file encoding, use UTF-8 and unix-style file endings in the repo (Set core.autocrlf).