Navigation

  • index
  • next |
  • previous |
  • Antistasi Guide documentation »
  • Dev Guide »
  • Antistasi Porting Instructions »
  • Police Stations

Logo of Antistasi Guide

Table of Contents

  • Beginners Guide for Antistasi v3.0
  • Detailed Reference Guide
  • Dev Guide
    • General
    • Development
      • Dev Tools Starter Setup
      • How to build Antistasi
      • Advanced build methods
      • Antistasi Porting Instructions
        • Antistasi Porting Maps
        • Antistasi Porting Mods
        • Street Artist Generation
        • Street Artist Editor
        • Police Stations
          • Selection of Police Stations
          • Furnishing
          • Building the data
          • Testing
      • How to Extend Antistasi?
      • Technical Standards for Core Code Contributions
      • Addon Functions & Folders Library
      • Debug Console Commands for Devs
      • Translation-Localization of Antistasi via Tolgee
    • Deprecated

GitHub

Star
Follow @official-antistasi-community

Police Stations

Selection of Police Stations

Selection of Police Stations

First, browse through the mid-size and larger towns in the editor (100 population is the current margin). Identify suitable buildings within 100-150m of the center to use as police stations, and make notes of their classnames. Buildings need interiors, which ideally shouldn’t be too large or too small. Not every town with 100 population needs to have a police station, but most of them should.

Add the chosen classnames to the map’s policeStationTypes[] array in mapInfo.hpp. Note that this doesn’t use inheritance, so you may need to add multiple similar buildings here.

Furnishing

Furnishing

Create a new editor scenario in the VR map. Place one of your selected buildings down in this (you can use class Land_whatever in the search bar to find it, if necessary). Add banners, an old office table, a NATO weapons crate and whatever else you want. Avoid placing objects near building positions (mostly near windows) or blocking routes through the house.

In some cases, similar buildings will have a common parent class. If so, you only need to define the furniture for that class.

Special case classnames:

  • Banner_01_F: Will be textured with the faction flag. Make sure it has the correct orientation and distance from wall.

  • OfficeTable_01_old_F: Will have intel placed on top of it.

  • Land_Document_01_F: Can be used instead of the office table as a direct intel position on other furniture. However, check that the furniture supports the document. None of the CUP tables seem to. Note that definition order doesn’t matter, as the intel is placed afterwards.

  • Box_NATO_Wps_F: Replaced with faction-defined surrender crate.

Building the data

Building the data

Once the objects are placed, place a player unit, start the mission, look at the house and run the following code to get the relative object positions:

_house = cursorObject;
_objects = ((8 allObjects 0) + (8 allObjects 1)) select { typeof _x != "CBA_NamespaceDummy" };

_output = [];
{
   _pos = _house worldToModel ASLToAGL getPosASL _x;
   _dir = getDir _x - getDir _house;
   _output pushBack [typeof _x, _pos, _dir];
} forEach _objects;

_output

Convert these to config. See a houses.hpp file as an example. Make sure you use the correct inheritance for the building.

Testing

Testing

Restart Arma (it’s config so it needs it). Start up an Antistasi campaign on the map and then search for initPoliceStations in the RPT. Cases where a valid police station building wasn’t found within 150m are reported. Check if these are reasonable. You may need to add additional buildings.

In some cases you may need to move town centers to more reasonable locations. See config_fixes/CUPMapsCore/CfgWorlds.hpp for an example. Positions may be copied to the clipboard with a right-click action in the editor.

Navigation

  • index
  • next |
  • previous |
  • Antistasi Guide documentation »
  • Dev Guide »
  • Antistasi Porting Instructions »
  • Police Stations
© Copyright 2025, Official Antistasi Community. Last updated 2025/July/20