{
  "PackageName": "my_map",
  "Dependency": ["outerrim"],
  "HTML": "outerrim::main.html",
  "Include": [".rules_src/units.json"],
  "JsonSection": {
    "tank_base": { "Mass": 25.0, "SpeedType": "vehicle" }
  },
  "UnitType": {
    "light_tank": { "Extends": "tank_base", "Speed": 8.0 }
  }
}

—
—
—
—
—
—

#include <stdint.h>

// Logic VM: once when the map loads, then every frame.
extern "C" __attribute__((export_name("rts_logic_main"))) void rts_logic_main() {}
extern "C" __attribute__((export_name("rts_logic_frame"))) void rts_logic_frame(uint64_t frame) {}

// Proxy VM: the same, right after each frame is committed.
extern "C" __attribute__((export_name("rts_proxy_main"))) void rts_proxy_main() {}
extern "C" __attribute__((export_name("rts_proxy_frame"))) void rts_proxy_frame(uint64_t frame) {}