Invisible Solid Barrier - RetroKoH/S1Fixed GitHub Wiki
| <- $70: SBZ Girder | Object List | $72: SBZ Teleporter -> |
|---|
The Invisible Solid Barrier is an object in Sonic the Hedgehog, appearing in various levels throughout the game. It is an invisible object spanning across a designated rectangular space based on its subtype, similar to the Lava Tag. This object is placed over portions of the foreground that require additional solidity-related properties. These objects allow Sonic to be crushed by ceilings, and pushed out of walls while standing still on moving objects. Without this object, both of these functions would be impossible without an extensive rework of the solidity detection system.
File: _incObj/71 Invisible Barriers.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.
The subtype dictates the size of the block, with the low nybble determining obHeight, and the high nybble determining obDispWid.
For both size parameters, the formula is the following:
SIZE = (NYB + 1) * 8
Every subtype has the following SolidObject parameters.
- Type: Full
- Width: obDispWid + 11
- Height (jumping): obHeight
- Height (walking): obHeight + 1
| 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 | ~ | ~ | ~ | ~ | RespawnAddr | RespawnAddr | ~ | ~ | Priority | Priority | Frame | ~ | ~ | ~ |
| 2x | ~ | ~ | ~ | DispWid | ~ | ~ | ~ | ~ | Subtype | ~ | ~ | ~ | ~ | ~ | ~ | ~ |
| 3x | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ |