Skip to content
KoH edited this page Feb 19, 2026 · 3 revisions
Dynamic Objects

The Shield object is an object in Sonic the Hedgehog, appearing in all playable stages in the standard game mode GM_Level, along with Sonic. It is spawned when Sonic breaks open a monitor containing the shield icon. The Shield makes use of dynamic art loading via UltraDMAQueue, to load Shield art without taking up too much memory in VRAM. This is particularly useful if you have the S3K Shields elective mod enabled. It should be noted that, with said mod, this object holds code for all included variations of the shield, along with their sub-objects:

  • Blue Shield
  • Insta-Shield
  • Flame Shield
  • Bubble Shield
  • Lightning Shield
  • Flame Shield Dissipation
  • Lightning Shield Spark
  • Lightning Shield Destroy (Causes the water flash)

Code

File: _incObj/-- Shield.asm

Changes from Sonic 1
  • Word-length obPriority pointer due to the new Priority Manager.
  • Word-length obRespawnAddr added due to the S3K Object Manager.
  • Removed from the Static Object Pointer List due to its dynamic nature.
  • Its art is dynamically loaded with DPLCs via UltraDMAQueue.
  • BUGFIX: The object's sprites now appear correctly when Sonic is balancing.
  • BUGFIX: The object's sprites now appear correctly when Sonic is moved by certain objects.
  • ELECTIVE MOD: The object has added routines for the S3K Shields.

Subtypes

This object has no subtypes.

Object Status Table

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x Render Addr Addr Addr Gfx Gfx Map Map Map Map XPos XPos XPos XPos YPos YPos
1x YPos YPos ~ ~ ~ ~ ~ ~ ~ ~ Priority Priority Frame ~ ~ ~
2x ~ ~ ~ DispWid ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
3x ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Clone this wiki locally