Gargoyle's Quest II/RAM map

From Data Crystal
Revision as of 02:41, 24 January 2024 by Xkeeper (talk | contribs) (Xkeeper moved page Gargoyle's Quest II:RAM map to Gargoyle's Quest II/RAM map: normalize subpages and titles)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Gargoyle's Quest II.

0x40 - Room ID
 00: Overworld
 01: Town (outside)
 02: Town (building)
 03+: Battle scene (room #)
0xE4-0xE7 - RNG (Fibonacci LFSR)

Object attribute arrays:

X = object slot (20 total)
00: Firebrand
01-03: Firebrand's projectiles
04-13: Other objects
0x0300,X - Action script ID (00 = empty)
0x0314,X - X-subpixel
0x0328,X - X-pixel
0x033C,X - X-screen
0x0350,X - Y-subpixel
0x0364,X - Y-pixel
0x0378,X - Y-screen
0x038C,X - X-speed low (subpixels/frame)
0x03A0,X - X-speed high (pixels/frame)
0x03B4,X - Y-speed low
0x03C8,X - Y-speed high
0x03DC,X - Object attribute flags
 0x80: Damages Firebrand on contact
 0x40: Able to be damaged by Firebrand
0x03F0,X - Object movement flags
0x0418,X - Object HP
0x042C,X - Object local memory 1
0x0440,X - Object local memory 2
0x0454,X - Object local memory 3
0x0468,X - Object local memory 4

The purpose of these attributes varies, but they are most commonly used as counters/timers.

0x04CC,X - Object sprite flags
0x04E0,X - Object animation frame
0x04F4,X - Object animation ID
0x0508,X - Object animation timer
0x051C,X - Pointer to object's AI script (low byte)
0x0530,X - Pointer to object's AI script (high byte)

Note: These values are originally set to the beginning of an object's AI script ("Phase 0"), but can be overwritten within that object's script in order to switch to different phases.