Script Compatibility

GPC3 supports the common controller, combo, timing, math, keyboard/mouse, remapping, memory, and polar scripting patterns used by Titan Two/GPC2 and selected Cronus scripts.

Common Compatible Names

Aliases such as get_lval(), get_ival(), get_ptime(), get_brtime(), event_press(), get_rtime(), block(), random(), and the all-combo controls are available for easier script migration.

Untyped functions and parameters default to int, and the compatibility form define name = value; is accepted alongside #define.

Expected Differences

  • Hardware-management calls for device ports, memory slots, displays, LEDs, batteries, power, and SD-card macros are not part of the PC scripting surface.
  • The ffb_set, ffb_get, ffb_get_actual, ffb_reset, set_rumble, get_rumble, block_rumble, and reset_rumble names are accepted for source compatibility, but they currently do not read or produce rumble.
  • Helios pmem slots retain settings only during the current script run; they do not survive a script reload or application restart. See Memory & Persistent Data.
  • rand() takes no arguments and returns a decimal from 0.0 up to but not including 1.0; use random(min, max) for inclusive integers.
  • elapsed_time() takes no arguments and reports the previous main-loop interval. Use system_time() - saved_time for a time window.

When migrating a script, compile it in Helios and review every reported unsupported name instead of replacing hardware-specific behavior with guessed equivalents.