127 lines
5.8 KiB
Markdown
127 lines
5.8 KiB
Markdown
# 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](https://17th-gs.iceberg-gaming.com:5443/hizumi/MissionTemplate/releases/latest) and copy its contents to the folder where your mission file lives.
|
|
|
|
Once copied, the final structure should appear similar to the following:
|
|
```markdown
|
|
├── aaFrameworkUtils/
|
|
├── defines/
|
|
├── framework/
|
|
├── images/
|
|
├── scripts/
|
|
├── sounds/
|
|
├── textures/
|
|
├── CHANGELOG.md
|
|
├── description.ext
|
|
├── mission_settings.hpp
|
|
├── mission.jpg
|
|
├── mission.sqm
|
|
```
|
|
|
|
> **Note:** If you're building a mission for use and not actively developing code, the `aaFrameworkUtils` and `framework\x` directories **should be deleted**. *These are for the purposes of development and 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 are where the mission maker is able to add/replace/modify the 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
|
|
|
|
## 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 in `fbcb2_assets`.
|
|
- `BattalionInfo.hpp`: Used for representing Battalion structure, element callsigns, and radio frequency assignments. Used primarily in `fbcb2_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 in `fbcb2_main` for the Signal Colors diary record.
|
|
- `SupplyCrates.hpp`: Contains the types, contents, and metadata for all supply crate types in the `resupply` module.
|
|
- `VehicleFlags.hpp`: Defines system information, flag categories, and flag options used to populate ACE3 interaction menus for vehicles. Used by the `vehicleFlags` module.
|
|
|
|
|
|
### 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.
|
|
- `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.
|
|
- `vehicleFlags`:
|
|
- Provides an ACE3 interaction menu that allows players to attach and remove flags from vehicles.
|
|
- Flags are defined in `defines/VehicleFlags.hpp`.
|
|
|