Mod.cpp/bin File Format

From Bohemia Interactive Community
Jump to navigation Jump to search
bohemia interactive logo black.png
Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.

This page contains unofficial information.

Some usage of this information may constitute a violation of the rights of Bohemia Interactive and is in no way endorsed or recommended by Bohemia Interactive.

Bohemia Interactive is not willing to tolerate use of such tools if it contravenes any general licenses granted to end users of this community wiki or BI products.

As of Operation Arrowhead, the root folder of your @mod can contain an (optional) mod.cpp/bin.


and on the command line to start arrowhead


A mod.bin/cpp allows for more detailed information in the Game's expansion menu for mod folders (rather than the engine simply declaring there is a mysterious @yourmod)

Contents of this cpp could be as follows:

name = "Cold War Rearmed²";
picture = \some\paafile\somewere.paa;
actionName = "Website";
action = "";

This is the standard, easy to apply, method.

As convenient (and clever) as it may be, it does not fit well with standard methods of distribution. Eg all things pbo.

NOTE: Be careful: true/false are invalid values in the mod.cpp.

The alternative is to insert a cfgMods class into one of your pbo's, or, make one specifically for this.

The following are BI samples of how it's done (find more samples here):

#define true 1
#define false 0

class CfgMods
	defaultAction = "";
	class Expansion
		dir = "Expansion";
		name = "Arma 2: Operation Arrowhead";
		picture = "ca\ui\data\logo_arma2ep1_ca.paa";
		hidePicture = false;
		hideName = true;
		action = "";
	class BAF
		dir = "BAF";
		name = "Arma 2: British Armed Forces (Lite)";
		picture = "ca\data_baf\mod.paa";
		action = "";
		hash = "BAF v. 1.03";
		hideName = 1;
		actionName = "Buy Now";
		hidePicture = 1;
		islite = 1;
	class PMC
		dir = "PMC";
		picture = "ca\ui\data\logo_arma2pmc_ca.paa";
		hash = "PMC v. 1.02";
		action = "";
		hideName = 1;
		name = "Arma 2: Private Military Company";
		hidePicture = 0;

Arma 3 Zeus:

class CfgMods
	class Mod_Base;
	class Curator: Mod_Base
		picture = "\A3\Ui_F_Curator\Data\Logos\arma3_zeus_icon_ca.paa";
		logo = "\A3\Ui_F_Curator\Data\Logos\arma3_curator_logo_ca.paa";
		logoOver = "\A3\Ui_F_Curator\Data\Logos\arma3_curator_logoOver_ca.paa";
		tooltipOwned = "$STR_A3_CFGMODS_CURATOR_NAME";
		action = "";
		fieldManualTopicAndHint[] = {"Curator","Curator"};
		dlcColor[] = {0.31,0.78,0.78,1};
		hideName = 1;
		hidePicture = 0;
		dir = "Curator";
		appId = 275700;


Currently in ArmA3 (version 1.08) the CfgMods entry in config.cpp does not seem to work, and the mod.cpp file must be used.
Posted on January 15, 2013 - 15:26
ArmA3 (version 1.38) the CfgMods entry in config.cpp appears to be working, providing the 'dir' attribute in the CfgMods class is pointing to the correct folder. Best practice is to use both cfgMods in the config.cpp and the mod.cpp
Posted on February, 2015 - 16:14

Bottom Section

Posted on Feburary 2, 2015 - 00:23 (GMT-5)
Use <br /> to get a line break for mod overview.

HTML Link tags can also be used in overview, but you must use single quotes around the url. Example:
"<a href=''>Arma 3 Home Page</a>"
Colored text works too: <t color='#ffff00'>Your yellow text!</t>
Other html tags might work, but I have not tested them. See: Structured Text