====== ArmA 2 Rapify ======
[[https://www.pmctactical.org/forum/viewforum.php?f=50|ArmA 2 Forum]], [[:arma2|ArmA 2 Home]], [[arma2:config|ArmA 2 Config]], [[arma2:file_formats|ArmA 2 File Formats]], [[arma2:missions|ArmA 2 Missions]], [[arma2:modeling|ArmA 2 3D Modeling]], [[arma2:scripting|ArmA 2 Scripting]], [[arma2:terrain|ArmA 2 Terrain]], [[arma2:texturing|ArmA 2 Texturing]], [[arma2:tools|ArmA 2 Tools]]
Rapify is aware of both OFP and, Elite / ArmA raPification.
Either binary type will be binarised from standard text class statements.
Usage:
Rapify [options...] whatever
Output is to whatever.bin
-l Lintcheck only (no save file)
-lF ignore includes for lintchecking only
-n Noisy. show processing
-s silent (default)
-a Arma force arma compile, otherwise detect _ARMA_
-r relaxed lintcheck (default)
-e exacting lint check (examine extern classes)
Note for Elite and Arma
To rapify into arma (or elite) the macro:
#define _ARMA_
Should be declared as first statement of the text body.
For xbox files that require authentication keys use:
#define _XBOX_ with Signature
The 20 key sig will be auto generated by this application.
Historical reference¶
Historically, there is no contextual difference between arma and elite 'text' files.
Thus mission.sqm eg, config.cpp eg 'appear' the same.
There is, in other words, NO indication that the file is destined for an ArmA, or, an OFP engine.
Since this suite of tools is also intended for OFP use, and, since the text files (as mentioned above) are textually identical. The default option for this tool is to produce OFP files.
Therefore, the preferred method for ArmA is to:
#include ARMA as the first definition of any text file intended for ArmA.
Like OFP, ArmA can read either text, or pre-rapified files. The preference of course, is to pre-raPify them for faster engine loads, but, for development work, it is convenient not to do so.
The
#include ARMA
Statement has no ill effect for those text files, but makes a world of difference if raPifying .
A second option for people preferring NOT to edit their arma mission.sqm's is to FORCE ArmA compilation.
An option switch above does just that. However, it is recommended that you use the #define in preference, and, as a documentation source so you and others know what that config.cpp (eg) is intended for.
#include notes
Of uses relative addressing, arma uses both. In the case of ArmA:
#include "\somewhere\.......
Is a reference to the Pbo PREFIX name
The only way these references work is to use a:
subst P: somewhere drive command
Requires DePbo.dll - Check [[http://dev.withsix.com/projects/mikero-pbodll/files|Mikero tools homepage]] in Dev-Heaven.