{"name":"Mod.cpp/bin File Format","title":"Mod.cpp/bin File Format","type":"topic","url":"https://community.bistudio.com/wiki/Mod.cpp/bin_File_Format","revid":373415,"updated":"2025-05-08T11:27:11Z","aliases":[],"markdown":"> **Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.**\n>\n> This page contains unofficial information.\n>\n> 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.\n> 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.\n\n### mod.cpp/bin\n\nAs of Arma 2: Operation Arrowhead, the root folder of your @mod can contain an (optional) mod.cpp/bin.\n\n```\nsomewhere\\@YourMod\\mod.bin\n```\n\nand on the command line to start Arma 2: Operation Arrowhead\n\n```\n-mod=somewhere\\@YourMod\n```\n\nA mod.cpp/bin 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`)\n\nContents of this cpp/bin could be as follows:\n\n```cpp\nname            = \"mod_\";                    // Name of your mod\nauthor            = \"author_mod\";                // Affects Arma 3 Launcher, when the mod are loaded as local\nlogo            = \"files\\ic.paa\";            // Logo displayed in the main menu\nlogoOver        = \"files\\ic_active.paa\";    // When the mouse is over, in the main menu\ntooltip            = \"mod_\";\ntooltipOwned    = \"credit_mod\";                // Tool tip displayed when the mouse is left over, in the main menu\npicture            = \"files\\overview.paa\";        // Picture displayed from the expansions menu. Optimal size is 2048x1024\nactionName        = \"GitHub\";\naction            = \"https://github.com/my-mod-page\";            // Website URL, that can be accessed from the expansions menu\noverview        = \"This awesome mod does this and that.\";    // Supports structured text\nhideName        = 0;                        // Hide the extension name\nhidePicture        = 0;                        // Hide the extension menu\ndlcColor[]        = { 0.23, 0.39, 0.30, 1 };    // Color used for DLC stripes and backgrounds (RGBA)\nlogoSmall        = \"files\\ic_small.paa\";        // Display in creative lists, next to the entities added by the mod\n```\n\nThis is the standard, easy to apply, method.\n\nAs convenient (and clever) as it may be, it does not fit well with standard methods of distribution. E.g.m, all things pbo.\n\n> [!NOTE]\n> **Arma 3:** In Arma 3 the `mod.cpp` is needed to display mod information in the Arma 3: Launcher.\n\n### CfgMods\n\n> [!WARNING]\n> As of Arma 3 v2.02 CfgMods is broken and does not work!\n\nThe alternative is to insert a CfgMods class into one of your pbo's, or, make one specifically for this.\nThe following are BI samples of how it is done (find more samples here):\n\n> [!IMPORTANT]\n> `true`/`false` values are invalid values in `mod.cpp`; use `1`/`0` instead or define them with\n>\n> ```cpp\n> #define true 1\n> #define false 0\n> ```\n\n#### Arma 2\n\n```cpp\n//config.cpp\n#define true 1\n#define false 0\n\nclass CfgMods\n{\n    defaultAction = \"http://www.arma2.com/mods\";\n\n    class Expansion\n    {\n        dir = \"Expansion\";\n        name = \"Arma 2: Operation Arrowhead\";\n        picture = \"ca\\ui\\data\\logo_arma2ep1_ca.paa\";\n        hidePicture = false;\n        hideName = true;\n        action = \"http://www.arma2.com/arrowhead\";\n    };\n\n    class BAF\n    {\n        dir = \"BAF\";\n        name = \"Arma 2: British Armed Forces (Lite)\";\n        picture = \"ca\\data_baf\\mod.paa\";\n        action = \"http://www.arma2.com/BAF\";\n        hash = \"BAF v. 1.03\";\n        hideName = 1;\n        actionName = \"Buy Now\";\n        hidePicture = 1;\n        islite = 1;\n    };\n\n    class PMC\n    {\n        dir = \"PMC\";\n        picture = \"ca\\ui\\data\\logo_arma2pmc_ca.paa\";\n        hash = \"PMC v. 1.02\";\n        action = \"http://www.arma2.com/PMC\";\n        hideName = 1;\n        name = \"Arma 2: Private Military Company\";\n        hidePicture = 0;\n    };\n};\n```\n\n#### Arma 3 - Zeus\n\n```cpp\nclass CfgMods\n{\n    class Mod_Base;\n    class Curator : Mod_Base\n    {\n        picture = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_zeus_icon_ca.paa\";\n        logo = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_curator_logo_ca.paa\";\n        logoOver = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_curator_logoOver_ca.paa\";\n        tooltipOwned = \"$STR_A3_CFGMODS_CURATOR_NAME\";\n        action = \"http://zeus.arma3.com\";\n        fieldManualTopicAndHint[] = {\"Curator\",\"Curator\"};\n        dlcColor[] = { 0.31, 0.78, 0.78, 1 };\n        overview = \"$STR_A3_DLC_CURATOR_DESCRIPTION\";\n        hideName = 1;\n        hidePicture = 0;\n        name = \"$STR_A3_CFGMODS_CURATOR_NAME\";\n        dir = \"Curator\";\n        appId = 275700;\n    };\n};\n```\n\n### Notes\n\n> **Benargee** (2015-02-02):\n>\n> **ARMA 3**\n> Use **<br />** to get a line break for mod overview.\n>\n> HTML Link tags can also be used in overview, but you must use single quotes around the url. Example:\n> **\"<a href='http://www.arma3.com'>Arma 3 Home Page</a>\"**\n> Colored text works too: **<t color='#ffff00'>Your yellow text!</t>**\n> Other html tags might work, but I have not tested them. See: Structured Text.","sections":[{"heading":null,"level":1,"markdown":"> **Disclaimer: This page describes internal undocumented structures of Bohemia Interactive software.**\n>\n> This page contains unofficial information.\n>\n> 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.\n> 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."},{"heading":"mod.cpp/bin","level":3,"markdown":"As of Arma 2: Operation Arrowhead, the root folder of your @mod can contain an (optional) mod.cpp/bin.\n\n```\nsomewhere\\@YourMod\\mod.bin\n```\n\nand on the command line to start Arma 2: Operation Arrowhead\n\n```\n-mod=somewhere\\@YourMod\n```\n\nA mod.cpp/bin 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`)\n\nContents of this cpp/bin could be as follows:\n\n```cpp\nname            = \"mod_\";                    // Name of your mod\nauthor            = \"author_mod\";                // Affects Arma 3 Launcher, when the mod are loaded as local\nlogo            = \"files\\ic.paa\";            // Logo displayed in the main menu\nlogoOver        = \"files\\ic_active.paa\";    // When the mouse is over, in the main menu\ntooltip            = \"mod_\";\ntooltipOwned    = \"credit_mod\";                // Tool tip displayed when the mouse is left over, in the main menu\npicture            = \"files\\overview.paa\";        // Picture displayed from the expansions menu. Optimal size is 2048x1024\nactionName        = \"GitHub\";\naction            = \"https://github.com/my-mod-page\";            // Website URL, that can be accessed from the expansions menu\noverview        = \"This awesome mod does this and that.\";    // Supports structured text\nhideName        = 0;                        // Hide the extension name\nhidePicture        = 0;                        // Hide the extension menu\ndlcColor[]        = { 0.23, 0.39, 0.30, 1 };    // Color used for DLC stripes and backgrounds (RGBA)\nlogoSmall        = \"files\\ic_small.paa\";        // Display in creative lists, next to the entities added by the mod\n```\n\nThis is the standard, easy to apply, method.\n\nAs convenient (and clever) as it may be, it does not fit well with standard methods of distribution. E.g.m, all things pbo.\n\n> [!NOTE]\n> **Arma 3:** In Arma 3 the `mod.cpp` is needed to display mod information in the Arma 3: Launcher."},{"heading":"CfgMods","level":3,"markdown":"> [!WARNING]\n> As of Arma 3 v2.02 CfgMods is broken and does not work!\n\nThe alternative is to insert a CfgMods class into one of your pbo's, or, make one specifically for this.\nThe following are BI samples of how it is done (find more samples here):\n\n> [!IMPORTANT]\n> `true`/`false` values are invalid values in `mod.cpp`; use `1`/`0` instead or define them with\n>\n> ```cpp\n> #define true 1\n> #define false 0\n> ```"},{"heading":"Arma 2","level":4,"markdown":"```cpp\n//config.cpp\n#define true 1\n#define false 0\n\nclass CfgMods\n{\n    defaultAction = \"http://www.arma2.com/mods\";\n\n    class Expansion\n    {\n        dir = \"Expansion\";\n        name = \"Arma 2: Operation Arrowhead\";\n        picture = \"ca\\ui\\data\\logo_arma2ep1_ca.paa\";\n        hidePicture = false;\n        hideName = true;\n        action = \"http://www.arma2.com/arrowhead\";\n    };\n\n    class BAF\n    {\n        dir = \"BAF\";\n        name = \"Arma 2: British Armed Forces (Lite)\";\n        picture = \"ca\\data_baf\\mod.paa\";\n        action = \"http://www.arma2.com/BAF\";\n        hash = \"BAF v. 1.03\";\n        hideName = 1;\n        actionName = \"Buy Now\";\n        hidePicture = 1;\n        islite = 1;\n    };\n\n    class PMC\n    {\n        dir = \"PMC\";\n        picture = \"ca\\ui\\data\\logo_arma2pmc_ca.paa\";\n        hash = \"PMC v. 1.02\";\n        action = \"http://www.arma2.com/PMC\";\n        hideName = 1;\n        name = \"Arma 2: Private Military Company\";\n        hidePicture = 0;\n    };\n};\n```"},{"heading":"Arma 3 - Zeus","level":4,"markdown":"```cpp\nclass CfgMods\n{\n    class Mod_Base;\n    class Curator : Mod_Base\n    {\n        picture = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_zeus_icon_ca.paa\";\n        logo = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_curator_logo_ca.paa\";\n        logoOver = \"\\A3\\Ui_F_Curator\\Data\\Logos\\arma3_curator_logoOver_ca.paa\";\n        tooltipOwned = \"$STR_A3_CFGMODS_CURATOR_NAME\";\n        action = \"http://zeus.arma3.com\";\n        fieldManualTopicAndHint[] = {\"Curator\",\"Curator\"};\n        dlcColor[] = { 0.31, 0.78, 0.78, 1 };\n        overview = \"$STR_A3_DLC_CURATOR_DESCRIPTION\";\n        hideName = 1;\n        hidePicture = 0;\n        name = \"$STR_A3_CFGMODS_CURATOR_NAME\";\n        dir = \"Curator\";\n        appId = 275700;\n    };\n};\n```"},{"heading":"Notes","level":3,"markdown":"> **Benargee** (2015-02-02):\n>\n> **ARMA 3**\n> Use **<br />** to get a line break for mod overview.\n>\n> HTML Link tags can also be used in overview, but you must use single quotes around the url. Example:\n> **\"<a href='http://www.arma3.com'>Arma 3 Home Page</a>\"**\n> Colored text works too: **<t color='#ffff00'>Your yellow text!</t>**\n> Other html tags might work, but I have not tested them. See: Structured Text."}],"categories":["ArmA: Armed Assault: Addon Configuration","Real Virtuality File Formats"],"groups":["Tools and File Formats"]}