This is a place for miscellaneous Arma 3 tweaks - Configs, SQF code, etc. to be distributed and used by the Carpe Noctem Tactical Operations gaming community. Others are free to use them (per the license terms) too!
If you're a CNTO member, see
this related forum thread,
otherwise please follow general github contribution practices - create a fork,
make and commit a change, create a pull request against the dev
branch.
PBO Manager is an older tool, but still in heavy use by CNTO. To use it, simply
- Enter the
addons
folder - For each subfolder there,
- right-click on it
- PBO Manager --> Pack into "something.pbo"
- (optionally, delete the folder, only the
.pbo
is used by the game)
Armake is/was a community-made tool to replaced old Mikero's tools and BI's Addon Builder. Later, Armake2 was created as a rewrite of Armake(1) from C to Rust, but the tools have very similar/identical functionality. One advantage of the older Armake(1) are binary builds available for download whereas you have to compile Armake2 from source code yourself.
Armake is meant to be used from batch scripts or manually on a command line
(ie. cmd.exe
). See its --help
:
armake binarize [-f] [-w <wname>] [-i <includefolder>] <source> [<target>]
armake build [-f] [-p] [-w <wname>] [-i <includefolder>] [-x <xlist>] [-k <privatekey>] [-s <signature>] [-e <headerextension>] <folder> <pbo>
armake inspect <pbo>
armake unpack [-f] [-i <includepattern>] [-x <excludepattern>] <pbo> <folder>
armake cat <pbo> <name>
armake derapify [-f] [-d <indentation>] [<source> [<target>]]
armake keygen [-f] <keyname>
armake sign [-f] [-s <signature>] <privatekey> <pbo>
armake paa2img [-f] <source> <target>
armake img2paa [-f] [-z] [-t <paatype>] <source> <target>
Specifically, to build cnto-additions, call this for every folder (called ie.
something
) in addons
:
armake build -p something something.pbo
- Install Powershell 7+.
- Open powershell and go to root of git repository.
- Run
Copy-Item .\tools\Setup-Tools.ps1.init -Destination .\tools\Setup-Tools.ps1
- Setup paths in
.\tools\Setup.ps1
to proper location on your disk.
When you want to run the build just run .\tools\Build-Pbo.ps1
.
Please take a look at other addons
to get a general idea for the coding
style that should be maintained. Code is art and there are no hard rules
like "80 characters per line" here, but, in general, your code should be
- Consistent - if you're using
or
andand
, don't mix it with||
and&&
, if you're using CamelCase for variables, don't use snake_case for other variables elsewhere, if you're spacing out{ ... }
, don't use{...}
elsewhere, etc.- If editing an existing addon, follow its code style as close as possible
- Clean - don't leave extra spaces at the end of lines, end files with a newline, don't mix tabs and spaces for indent, etc.
- Performant - don't waste resources unless you have to, Pull Request reviewers will hopefully suggest improvements
- Tolerant - don't use global variables unless really needed, prefix any
global identifiers with
cnto_
, followed by your addon name, at least
Don't let this put you off - it's here so that others can maintain your code in case you disappear, and to set some common language. The above describes an ideal situation, "ugly" code that works well is still good code.
Pull Request reviews will hopefully have some feedback.
Please see each subfolder inside addons
for COPYING
, LICENSE
and
similar files, with or without a .txt
file extension - if present, these
dictate the license for that specific addon. If you wish to use and/or
distribute this collection of addons, you need to remove addons which license
doesn't allow you to do so from your distributed copy.
If a COPYING
or LICENSE
, with or without a .txt
extension, doesn't
exist for a particular addon, the global COPYING.txt
file in the root of
this repository applies.