Debug Rings - RetroKoH/S1Fixed GitHub Wiki

Dynamic Objects

The Ring is an object in Sonic the Hedgehog, appearing in all playable stages in the standard game mode GM_Level, though only in Debug Mode. In the original game, collectible rings were proper objects, but this changed with the integration of the Rings Manager. Now, rings are a more efficient pseudo-object, stored elsewhere in RAM.

The classic Ring Object can still be placed via Debug Mode, and still works exactly as intended.

Code

File: _incObj/25 Rings.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.
  • The art for the spinning ring is now dynamically loaded, saving VRAM space.
  • Because the ring object is no longer coded into the object layout, this object no longer "decompresses" into groups of rings based on subtype, like how it did in the original game. It simply initializes as a single ring.

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 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
⚠️ **GitHub.com Fallback** ⚠️