-
-
Notifications
You must be signed in to change notification settings - Fork 1
LoadoutManager
Author: Miksuu
LoadoutManager is a C# program (created by Miksuu) designed for managing various vehicle loadouts. It manages generating code for Arma 2’s SQF language for the essential files: EASA_Init.sqf & Common_BalanceInit.sqf
Additionally the program brings these changes (and any other code change excluding mission.sqm, and version.sqf files) to our modded maps which we currently run biweekly events on the weekends.
Before we started working The Air Balance Patch, we noticed that editing the aircraft loadouts manually to the SQF code could have became a bit tedious. So we created this tool to help reduce that workload. Now, providing that the weapon/ammunition type/vehicle is defined in to the program, editing the loadouts became multiple times faster. Later on, I made change to the program that it automatically takes data from Chernarus and Takistan and updates every terrain that is defined in the code as it's own class. This way, every time the program is ran, those maps are kept up to date too. This reduces the workload on the developer since he only needs to edit two of the maps (Forest and desert types).
SqfFileGenerator.cs is a C# utility class central to the LoadoutManager program. It specializes in generating SQF (Status Quo Script) files that are tailored to specific loadout configurations. The class serves as a vital link between the program's data models and the SQF files used in the game. One of the key methods inside the class is GenerateAircraftSpecificLoadouts(), that invokes a method: GenerateLoadoutsForTheAircraft() from the BaseAircraft.cs class. This method plays a significant role in generating aircraft-specific loadouts and leans heavily on other classes like BaseWeapon.cs and BaseAmmunition.cs to manage various types of ammunition. This data is processed to generate the SQF files' content, providing a seamless transition from the program's internal logic to the external SQF files. By doing so, the class ensures that the generated files are compliant with the specific loadout requirements that are setup properly to create a balanced game environment. Beyond generating content, SqfFileGenerator.cs has methods for writing these configurations to files. This makes it easier to integrate them into different modded terrains. The class contains properties that store the text content for these SQF files, which can then be written to disk.