remove unneeded publicVariable declaration to reduce network traffic
Installation Instructions
The only file which should be pre-existing in your mission folder is mission.sqm, once freshly saved from Arma 3's EDEN Editor.
Download the latest mission template zip from the latest release and copy its contents to the folder where your mission file lives.
Once copied, the final structure should appear similar to the following:
├── defines/
├── framework/
├── images/
├── scripts/
├── sounds/
├── textures/
├── CHANGELOG.md
├── custom_leaflets.hpp
├── custom_scripts.hpp
├── CHANGELOG.md
├── description.ext
├── mission.jpg
├── mission.sqm
├── mission_settings.hpp
├── README.md
Note: If you're building a mission for use and not actively developing code, you should download the
mission-maker-templatezip file which is a cleaned version of this framework. TheaaFrameworkUtilsandframework\xdirectories in the source tree are for the purposes of development and would only add size bloat to the mission download when players connect to your mission.
After the requisite configuration file edits have been made, your mission is ready to be packed into a pbo for deployment.
Files
Almost none of the template files should be edited in anyway as they have been formatted specially and specifically for their purpose.
The following files however must be edited:
mission_settings.hpp
The following files however should be edited:
mission.jpg
mission_settings.hpp
The contents of this file must be edited to reflect the naming of your mission for display purposes. All variables are self-documented inside the file to clearly identify the purpose of each piece of required text
The contents of the lower half of the file contain templated declaration blocks where the mission maker can define custom waypoints to be automatically added to the ACE MicroDAGR, and define/edit the custom built in #ace-fortify preset.
mission.jpg
This file will be displayed the client mission loading screen.
File should remain small (under 300KiB) and should optimally be 1024px by 512px in resolution
custom_leaflets.hpp
This file contains the temeplate block for declaring custom leaflets to be used within missions.
custom_scripts.hpp
This file contains an accessbile CfgFunctions declaration block for custom functions which require setup in this manner.
defines/
This directory contains the definition files use by the framework in various places. Contents should not be edited
framework/
This directory contains the code for the mission framework. Contents must not be edited.
images/
This directory is for organizational purposes for any images you wish to use in your mission
scripts/
This directory is for organizational purposes for any custom scripts you wish to use in your mission.
Note: Scripts may need to be edited to account for their new location
sounds/
This directory is for organizational purposes for any custom scripts you wish to use in your mission.
Note: Using custom sounds require adding the proper CfgSounds codeblock into mission_settings.hpp
textures/
This directory is for organizational purposes for textures files used by mission scripts.
Development Notes
All modules are broken apart as such in /framework. Client and server inits are managed in /framework/init.
Pay attention to framework/script_mod.hpp prior to deployment of releases, as the debug settings within will determine what is logged during prod missions.
CfgFunctions is sensitive to the folder/script_component.hpp of each module.
defines Directory
This directory contains a number of hpp files used to define constants throughout the framework. These should ONLY be edited by or with the supervision of a developer to reflect format battalion-wide changes.
ApprovedAssets.hpp: Contains subclasses for approved aerial assets with their assigned callsigns. Used primarily infbcb2_assets.BattalionInfo.hpp: Used for representing Battalion structure, element callsigns, and radio frequency assignments. Used primarily infbcb2_main.DisallowedEquipment.hpp: Contains flagged item classnames by category that players may not use, or may use only in specific roles. Used to monitor and enforce equipment restrictions.SignalColors.hpp: Contains smoke/flare/chemlight colors and what they represent in the field. Used primarily infbcb2_mainfor the Signal Colors diary record.SupplyCrates.hpp: Contains the types, contents, and metadata for all supply crate types in theresupplymodule.VehicleFlags.hpp: Defines system information, flag categories, and flag options used to populate ACE3 interaction menus for vehicles. Used by thevehicleFlagsmodule.
Modules List
Within framework:
ambience:- Adds ambient flak capabilities.
client:- Contains core client-side event handlers and actions that don't fit into other modules.
common:- Contains common functions and variables used by multiple modules.
fbcb2_main:- Contains the main FBCB2 functionality and initialization code. Populates the briefing/diary with mission information.
fbcb2_assets:- A subcomponent of
fbcb2_main. Used to gather, display, and manage diary records as intel for assets near known bases.
- A subcomponent of
init:- Contains core initialization functions. Both server and client inits across all modules are managed here.
mapcopy:- Gives players the ability to copy each other's maps.
performance:- Contains functionality for monitoring and logging performance data.
reinsert:- Provides a reinsertion queue system for players and pilots to maximize efficiency of the reinsertion process.
resupply:- Provides a Zeus module and standalone function to spawn pre-equipped supply crates onto the battlefield.
- Supply crate definitions are stored in
defines/SupplyCrates.hpp. - Optionally, allows players to spawn supply crates from arsenal boxes.
triageIcons:- For those with medical permissions (
ace_medical), provides a configurable 3D icon over unconscious units indicating their current ACE Triage Card status.
- For those with medical permissions (
vehicleFlags:- Provides an ACE3 interaction menu that allows players to attach and remove flags from vehicles.
- Flags are defined in
defines/VehicleFlags.hpp.
c