SCRMaps
/
Sign in

What you must not touch

Some unit ids and some addresses kill the map immediately.

4 min read

EUD does no bounds checking. It writes where you told it to. Knowing the list of things to avoid is therefore a fair part of the skill.

  • Ghost-class ids - 1, 16, 99, 100 and 104 are not proper units. Reading or writing their data kills the map. Id 1 is the Terran Ghost, so the natural thought "let us use Ghosts as mobs" walks straight into it.
  • Morph states - a Mutalisk Cocoon or Lurker Egg is a transitional unit and must not be handled like an ordinary one.
  • Ids with no body - Scanner Sweep, Map Revealer, Dark Swarm, Disruption Web and the Nuclear Missile have nothing to draw, so they cannot serve as a look.
  • Units a plugin owns - a keyboard-input plugin uses a specific unit as its channel. Touch that unit's data and input stops arriving.
  • Weapon entry 130 - the table is 0-129, and 130 is the id that means "no weapon". Writing to it is writing past the end, so any function taking a weapon index as a variable must bounds-check it.

Addresses have the same problem. An address that appears in 1.16.1-era material may be classed Unsupported on SC:R, and writing it throws an EUD ERROR. When porting an old trick, check the support level first.

The hex in an EUD ERROR dialog is not the address itself. Subtract it from 0xFFFFFFFF and that is the real offset - look that up in an offset table and you know what you touched instead of guessing.

Sign in to track your progress