New Super Mario Bros. 2/Unused Features
This is a sub-page of New Super Mario Bros. 2.
Like all of its predecessors, New Super Mario Bros. 2 has quite a few unused settings that the sprites in the game did not use. Sprites can have no settings coded in the game; some use all of them, while some use a few, but leave others unused. Some are even from New Super Mario Bros. U!
The Autoscrolling Controller, sprite 0 in the game, has an unused target ID nybble. If this had functionality, at the end of the autoscroll, it would activate an event. Sadly, the field for it is loaded in memory but is never used, as it is not returned in the constructor of the autoscroller class.
The Whomp has a setting where if nybble 10 is set to 2, a Star Coin will appear behind it.
The Amp, sprite 16 in the game, has an unused nybble 5 that when set to 1, it will shift half a block to the right. This is useless, since the sprite could easily be placed half a block to the right when the level is being created.
The Golden Block, sprite 20, has a setting in nybble 5 that makes it spout coins instantly, when set to 1.
The Note Block, sprite 21, has two deprecated nybbles. One of them is a mask of 1 on nybble 5 with an unknown purpose, and the other is a movement ID on nybbles 21-22, which would allow the note block to move.
The Big Thwomp has an unused setting when nybble 6 is set to 2, it automatically falls upon loading. The smaller Thwomp uses this setting, but the Big Thwomp does not use this setting at all, thus rendering it unused. It is good to note that this behavior is unused in New Super Mario Bros. Wii.
Fireball Pipe Spawner
This sprite has an unused value in nybble 10, where the reward will actually be nothing. What a waste.
The Buzzy Beetle has the same features on nybble 6. When it is a value of 0, it spawns a normal Buzzy Beetle. When the nybble is 1, it spawns an upside down Buzzy Beetle. When set to 2, it will spawn an empty Buzzy Beetle shell that the player can kick around. A value of 3 spawns an upside-down empty beetle shell. This behavior is also unused in New Super Mario Bros. Wii.
The Spiny has an entire unused nybble 6. When it is a value of 0, it spawns a normal Spiny. When it is 1, it spawns an upside down Spiny. When set to 2, it will spawn an empty Spiny shell that the player can kick around. A value of 3 does the same thing as 2, except the shell is upside down. Like the Buzzy Beetle, this is unused in New Super Mario Bros. Wii.
The Signboard has a setting when nybble 6 is set to 8, it has an exclamation mark symbol on it.
The Bill Blaster has a setting when nybble 6 is set to 1, it will fire Bull's-Eye Bills that act like the ones in NSMBW, but without the "flashing" effect. When nybble 7 is set to 1, the Bull's-Eye Bills will explode after a while - like in NSMBU, but without the siren sound, flashing or particle effect. Bull's-Eye Bills sometimes get stuck facing the wrong way if a Gold Ring is activated on the same screen.
The Cheep Cheep has a setting when nybble 6 is set to 8, it will be an Eep Cheep. Equivalent settings are used in New Super Mario Bros. Wii, New Super Mario Bros. U and New Super Luigi U.
The Golden Block has a method in it's virtual method table (vtable) that inherits from something called BlockBase, which is what every block that can contain an item inherits to use for functions, such as spawning items. The Golden Block, however, inherits a method named getItem, which returns nybble 14, which is unused. Unfortunately, this is deprecated, but it is still interesting. It is also interesting to note that it has two unused settings, a checkbox on nybble 5 and 6.
Fire Bars in the game have a single unused setting at nybble 18, which is an odd position considering that the rest of the used settings are 5, 6 and 7, that determines the speed. The value of 1 may look normal, but the value of 2 increases the speed so much that it does not smoothly rotate, it simply warps around the axis.