A quick-and-dirty utility for checking, modifying and generating (parts of) ARMA3 sqm files.
These utilities are governed by the GNU GPL v2.0 license, but includes works from different people, licensed under different terms. See LICENSE
for more information.
- It can read and write both binarized and non-binarized SQM files as well as PBOs.
- Extracting a mission.sqm from a PBO to a non-binarized SQM:
zeusSqm input.pbo mission.sqm
- Extracting a mission.sqm from a PBO to a binarized SQM:
zeusSqm --saveBinarized input.pbo mission.sqm
- Converting a binarized SQM to a non-binarized SQM:
zeusSqm binarized.sqm non-binarized.sqm
- Converting a non-binarized SQM to a binarized SQM:
zeusSqm --saveBinarized non-binarized.sqm binarized.sqm
- Extracting all files from a PBO to a folder:
zeusSqm input.pbo C:\my_output_folder --extractAllFromPbo
--inplace
: Write output to input file. Use with care.--extractAllFromPbo
: Extract all files from a PBO file and save them to the given directory.--extractFromPbo <name>
: Extract the mission.sqm from PBO file and save it to name, untouched. This is not the option you are looking for, if you just want the file, this is meant for debugging differences between the original input file and the internally produced output.--stripComments
: Remove comments (lines starting in // and #define) from SQMs, even from the 'unchanged' extract from PBO.--saveBinarized
: Sets the output SQM file to be binarized. Default is non-binarized.--saveBinarizedIfBinarizedInput
: Sets the output SQM file to be binarized, if the input was binarized.
Say you want your NATO markers to always be on the center of the 100m grid, but doing this in the editor sucks. Well, you are in luck:
-m
or--markers
: Check marker placements for grid alignment.--markerMaxDistance
: Maximum distance of marker from grid center to be considered for correction (to leave deliberately placed markers where they are). Default: 25.--markerAskConfirmation
: Will ask for each marker whether it should be moved. Default: no.--markerGrid
: What grid the markers should snap to. Default: 100.
Did you forget to set the side relationships and OP is about to start?
--setBluforVsIndependent <new relation>
: Overwrite side relations between BLUFOR and independent. New relation can be eitherwar
orpeace
.--setOpforVsIndependent <new relation>
: Overwrite side relations between OPFOR and independent. New relation can be eitherwar
orpeace
.
Did you ever want to translate a 2D picture into a structure in ARMA3?
You have an nice picture like the one shown above and want a festive tree in your mission? No problem, zeusSqm
got you covered:
--buildFromImage <image>
: Build a 2D structure from an image, where a non-transparent pixel is translated to a block and to air otherwise.--buildMinAlpha <1 - 255>
: Minimal alpha channel value for a pixel not to be considered transparent.--buildStartingPoint x,y,z
: Coordinates of where to start building the structure, e.g.1000,1000,10
.
You want a festive pyramid of stacked gifts in your mission? No problem, zeusSqm
got you covered:
--buildPyramid <object_name>
: Build a 3D pyramid from the given object, e.g.rhsusf_explosive_m112x4
.--pyramidLayers <1 - 255>
: Number of layers in the pyramid.--pyramidOffsets x,y,z
: The distances between neighboring objects, e.g.0.35,0.15,0.115
.--buildStartingPoint x,y,z
: Coordinates of where to start building the structure, e.g.1000,1000,10
.
Saved your mission with mods loaded that not all players necessarily have?
--checkMods <whitelist.txt>
: Loads whitelisted mods from the given file, one per line. Complains if the mission requires mods outside of these values.--dropUnlistedMods
: Removes references to non-whitelisted mods from the mission.
- Clone the repository
https://github.com/blizzard4591/sqmTools.git
to a folder of your choice, we will call this folderD:\sqmTools
. Be sure to include submodules:git clone --recurse-submodules
! - (Optional) Fix the path to your Qt5 installation in
CMakeLists.txt
in the variableCMAKE_PREFIX_PATH
. - Execute CMake on the sources, if possible, do an out-of-tree build.
On Window, in CMake, the source directory would be
D:\sqmTools
andWhere to build the binaries
would beD:\sqmTools\build
. Then clickConfigure
andGenerate
. On Linux, create a build dir (mkdir build
in a location of your choice) and call CMake accordingly:cmake ../path/to/the/root/of/sqmTools.git
. - On Windows, open the created project file
ZeusDebug.sln
in Visual Studio. Build the solution in eitherDebug
orRelease
configuration, depending on your needs (if unsure, choose Release). On Linux, executemake
.