FBZ1_Sprites: dc.w $80, $80, 0, $2EE0, $85E0, $8F00, $FFFF, 0, 0Now, what do you imagine we'll find if we look up object ID $8F, or 143 in the master object list?
... dc.l Obj_LBZ_EndBoss ; 140 dc.l Obj_CNZEndBoss ; 141 dc.l Obj_CNZMiniboss ; 142 dc.l Obj_AA_1_FBZ1_Boss ; 143 dc.l Delete_Current_Sprite ; 144 dc.l Delete_Current_Sprite ; 145 dc.l Delete_Current_Sprite ; 146 ...Okay, that probably wasn't much of a surprise if you happened to watch the video I linked to in my previous post. That's right, it's the boss of Flying Battery Zone 1, Gapsule:
In my video, I mentioned how the only difference between the S3A version of Gapsule and the one in Sonic & Knuckles lies in its color: the S3A version uses a slightly different shade of black from every other capsule in the stage.
Unfortunately, I made a slight faux pas while talking about Gapsule's button: I mentioned how its colors are also slightly different, using a dark tan around its edges rather than the light tan that every other capsule in the game uses.
Check this out, though. Here is the palette used by every other capsule in the game: the player palette:
Now, here's the palette that Gapsule uses, which is loaded over the level's regular enemy palette:
Do you see it? If you force the button to use Gapsule's palette instead of the player palette, then its edges become dark tan instead of light tan. The button simply uses a different palette line between S3A and Sonic & Knuckles.
Reader Silver Sonic 1992 asks:
Also, why is there a copy of the FBZ Gapsule boss in the disassembly labelled as unused? Is there anything special about it?Let me elaborate. Way down at the bottom the S&K disassembly, there's a duplicate of Gapsule's art directly before the remaining Flying Battery Zone bosses; all three of them Nemesis-compressed. As the label notes, this copy of the art is unused: there are no other references to it anywhere in the disassembly.
ArtNem_FBZMinibossUnused: binclude "Levels/FBZ/Nemesis Art/Miniboss Unused.bin" even ArtNem_FBZ2Subboss: binclude "Levels/FBZ/Nemesis Art/Act 2 Subboss.bin" even ArtNem_FBZEndBoss: binclude "Levels/FBZ/Nemesis Art/End Boss.bin" evenSo what's the deal? Let's look at an excerpt of Gapsule's init code from S3A:
move.l #loc_4C9CA,$34(a0) moveq #$5E,d0 jsr (Load_PLC).l lea Pal_FBZMiniboss(pc),a1 jsr (PalLoad_Line1).lIn S3A, the Nemesis art is neither a duplicate nor is it unused. As part of its setup, the boss performs a PLC request for PLC $5E, which happens to fall right inbetween the PLCs for Carnival Night Zone and Icecap Zone's act 1 bosses, and contains a reference to the Nemesis-compressed Gapsule art.
PLC_5C_5D: dc.w 1 dc.l ArtNem_CNZMiniboss dc.w $A5C0 dc.l ArtNem_BossExplosion dc.w $A000 PLC_5E: dc.w 4 dc.l ArtNem_FBZMiniboss dc.w $A5C0 dc.l ArtNem_EggCapsule dc.w $89C0 dc.l ArtNem_BossExplosion dc.w $A000 dc.l ArtNem_Squirrel dc.w $85C0 dc.l ArtNem_BlueFlicky dc.w $8800 PLC_5F: dc.w 1 dc.l ArtNem_ICZMiniboss dc.w $9520 dc.l ArtNem_BossExplosion dc.w $A000In Sonic & Knuckles, this was changed so Gapsule's art is instead stored in KosM format, most likely because Nemesis decompression isn't fast enough to display the boss immediately as it scrolls into view.
move.l #loc_6EF14,$34(a0) lea (PLC_83D64).l,a1 jsr (Load_PLC_Raw).l lea (ArtKosM_FBZMiniboss).l,a1 move.w #-$5A40,d2 jsr (Queue_Kos_Module).l lea Pal_FBZMiniboss(pc),a1 jsr (PalLoad_Line1).lAs a result, PLC $5E was neutered pretty hard, and the reference to the Nemesis-compressed Gapsule art removed...
PLC_5E: dc.w 0 dc.l ArtNem_BossExplosion dc.w $A000...except apparently, the developers forgot to remove the art itself from the build. Whoops.
Bonus chatter: Here are some PAR codes that allow you to place the unused Flying Battery Zone objects using debug mode. First, these two force every level to use FBZ's debug list:
|Gapsule||Laser boss||Act 2 boss|
05BFC2:0004 05BFC4:C948 05BFC6:0016 05BFC8:0B48 05BFCA:A52E
05BFCC:0004 05BFCE:D558 05BFD0:0016 05BFD2:37FE 05BFD4:252E
05BFD6:0004 05BFD8:DBA0 05BFDA:0016 05BFDC:33F8 05BFDE:A3E0