Table of Contents

NPC Data

Overview

When a map is loaded, all NPCs defined for the specified map are loaded.

Offsets

Description Value
Pointers (16-bit) $C41A10
Nr of Pointers (bytes) $01A0 ($0340)
Data Address $C41D52
Block size $09

The structure is a sequence of two-byte pointers. The index of the pointer is relative to the map number.

The actual offset of the appointed data is the pointer value plus the base offset.

The game system checks the actual pointer and the next pointer to determinate the amount of data to read. It can include multiple data blocks.

Data

Offset Description
$00 event address, low byte
$01 event address, middle byte
$02 $03 event address, high bits
$1C palette
$20 ?background scrolls
$C0 bit identifier (see NPC Flags)
$03 $01 bit identifier
$FE byte identifier
$04 $7F X position
$80 Show rider in vehicle
$05 $3F Y position
$C0 Speed
$06 Actor Sprite
$07 $0F movement type
$30 map layer
$C0 vehicle
$08 $03 start direction
$04 don't change graphic
$18 ?background layer
$20 ?
$40 ?mirror graphics
$80 ?

NPC Flags

As set of bits located at $1EE0 control NPC visibility. “bit identifier” and “byte identifier” above index into these flags. If the flag is set, the NPC is visible/active.