Apply for Membership
Don't forget to vote!
Donate

Donate

Recent Donations
[TWC] Captain Austalia
€30.00 EUR
19th May
[TWC] Solitare
£10.00 GBP
20th Apr
[TWC] Nathan
£10.00 GBP
21st Mar
[TWC] Mr T
€10.00 EUR
21st Mar
[TWC] Solitare
£10.00 GBP
12th Mar
Next »
Events
Online Members
[TWC] Robot
Online now

[TWC] Cryogenic
19 minutes ago

[TWC] LessThanDave
58 minutes ago
Online Guests: 44
Time Zones

UK

01:13:29

EU

02:13:29

US EST Time

20:13:29

Contributing to Public
Forum » Public Server » Public Server Announcements
Joined: 29th Aug 2015
Rank: Management
Likes 1435
26th Apr

On occasion there has been an inquiry about whether people could contribute to public development and if so how they could. Here's a guide telling you what you need to know:

1. Tell Rik you are interested in contributing so that he can add you to the Public Contributors group on the TWC GitHub. You will need a GitHub account.
2. Install GitHub Desktop. GitHub Desktop allows you to download and make changes to the repository with a nice UI and buttons instead of Git Shell commands.
3. Install the desired repository by clicking "Add" in the top left. If you are a member of the Contributors group, you will be able to select the relevant repository from the dropdown. Each mission has its own GitHub repository.
4. Create a Branch, by clicking "Branch" and "Create New Branch" in the top. Branches are created from the Master branch, allowing you to make changes without them automatically going into the master version. These branches can then later be merged into the master branch.  
5. Make the changes you want, commit them, and then pull request the branch into the master. A pull request now appears on the master, allowing me to review the changes and make comments. If everything is fine, I will merge it into master.

What do I contribute?
Edits can be made to just about anything. These could be trivial bugfixes, performance improvements, additions to existing systems, or entirely new systems. It is what you want to contribute. However, you cannot just go around editing willy-nilly, the changes you make have to be good code, good gameplay, and good design. If you are not sure whether you should be making a change, just ask me. It is better for me to tell you it's not worthwhile before you make the change than after you submit a pull request. For larger changes in design, I suggest making a forum post to discuss them with the rest of the community so that you can see if they supported. 

If you are not sure where to start, try something small or simple! Play around with what is already there!

Coding Guidelines:
If you are new to coding, be mindful that I may request changes several times if you submit a pull request; I often rewrite bits I made myself too. What is most important about the code you write is that it is efficient and performant. Here is a page on the BI Wiki about optimisation of code, I highly recommend the rules on this page as they will provide a good basis for you to start with. It also has several tips and tricks specifically for Arma 3 commands. 

It also helps to comment code, especially if its function is more complicated. Comment blocks should explain the why you are doing something. Don't bother commenting when code is self-evident (e.g. "This creates a vehicle" when you use the createVehicle script command). 

There is also a certain "house-style" in the repositories. I recommend emulating this to the best of your ability. For example, local variables should be camelCased.

A lot of good practice can also be found from the ACE3 guide here. However, ACE3 implements a variety of things like a lot of macros that are not relevant to our missions.

This may seem very overwhelming at the start, and that is understandable. These things will be picked up over time, and when you submit your pull requests I ask you to make changes if necessary. 

Editing misson.sqm files:
Arma missions are based around the mission.sqm in the mission folder. The editor will save into these. The files are often very large and it is extremely easy to get conflicting submits when two people edit them at the same time, which would mean one of the submissions has to be discarded. Do not edit these at your own volition, but clear it with me first so that I can reserve the relevant mission.sqm specifically for you and there will not be a conflict. 

Editing FSM files:
Mission may make use of .fsm files. These finite-state machines often serve as a sort of brain. They are best edited with the FSM Editor from the Arma 3 Tools package on Steam. 


Signature Picture
Last Edit: 26th Apr by Rik
Forum » Public Server » Public Server Announcements
Please login or register to reply.
Chat Box
[TWC] Ross 11th Jun
I get you if you post on here or the discord people will generally be up for a game but usually in the evening now
[TWC] Joe 11th Jun
Ah ok cool - yeh i was on there this morning but not much you can do on your own...
[TWC] Ross 11th Jun
Yeah usually, it is undergoing a massive overhaul at the moment though so it’s been a bit quieter recently
[TWC] Joe 11th Jun
Does anyone play on the public server anymore?
[TWC] Alec 10th Jun
sweet
[TWC] Aleyboy 9th Jun
The rolesheet will be up tomorrow
[TWC] Aleyboy 9th Jun
Next Tuesday will be a revenant Tuesday yes
[TWC] Alec 9th Jun
Are we going to have an Revenant OP next tuesday?
[TWC] Lukey 8th Jun
Join for training scenario
[TWC] Joe 8th Jun
haha yeh I used to chill on the public server to get it seeded most days... probs will do again if my t'interweb ever downloads all the required mods!
[TWC] Ghostie3k 7th Jun
Get signed up for the Scenario Training!
Countdown
Operation HARM
5 Days, 17 Hours, 6 Minutes and 31 Seconds
Newest Players
FakeFrenchGuy
5 days ago

Andrew Tijua
5 days ago

BOB2
30th May

Fredriksen
28th May

HeadGoesBoom
26th May
Roster