Map Location Data (7) Magic Locations - HoraceAndTheSpider/Bloodwych-68k GitHub Wiki

Firepath

Subtype 1 enters the same centred drawing path as a type-6 trigger pad. It uses the trigger-pad template rather than a dedicated Firepath graphic and flashes between two four-byte colour masks:

$090C0B0D
$090A0B0D

These masks are stored as the eight-byte table at memory $0094D4 (SPS 439 file position $9150). The two masks supply the alternating colours; the picture geometry still comes from the trigger-pad template.

Mindrock

Subtype 2 conditionally enters the ordinary stone-wall rendering path. Its visibility is controlled by renderer state, producing the flashing behaviour; there is no separate Mindrock wall graphic.

Formwall

Subtype 3 enters the solid stone-wall rendering path. There is no separate Formwall graphic in SPS 439.

Creation by spells

Formwall and Mindrock share a spell-placement routine. It accepts only an empty target cell, changes the cell to location type 7, and stores the subtype in the low two bits of the first location byte:

Spell Subtype Stored strength band Linked-feature entry
Mindrock 2 (casting power + 2) << 2 No
Formwall 3 (casting power + 2) << 2 Yes

Formwall additionally registers the packed map location in the linked-feature list. Firepath is initially launched as airborne code $87; its conversion into subtype 1 belongs to later dungeon-effect handling rather than this shared Formwall/Mindrock placement routine.

See Spell Effects and Handlers for the complete SPS 439 handler table.

The relevant source routines are:

  • adrCd0094BC — selects the Firepath colour mask;
  • adrCd0094DC — sets the trigger-pad colour mask;
  • adrCd0094E6 — draws the pit, pad or ceiling-hole component.

See Dungeon Graphics Renderer for the shared centred and wall-face tables.

Location Occupancy

The value of C determines the current occupancy of this location, as previously defined in: Map-Location Data - (0) Spaces