Pages: 1
Posted on 01-03-19, 09:40 pm (rev. 15 by  TheGameratorT on 05-15-20, 10:23 pm)
Shyguy
DMA problems.

Karma: 819
Posts: 9/89
Since: 07-19-18
As of 15th May 2020 I recommend just using my NSMBe fork, since it works better and has editing support for this class.
The documentation below isn't completely accurate and so I don't recommend the use of it. You can find my NSMBe fork on my GitHub.
==========================

So, I have been messing up with a Dirbaio finding that allowed to spawn Powerups out of blocks and I decided to spend the 2h 30mins documenting what I found about the item spawner.

There might be some stuff yet to be discovered. If new stuff is found I will add it here. If you found new stuff about it please reply to me (if thread gets old PM me so you won't bump it).

Dirbaio tutorial on how to activate the sprite:
http://jul.rustedlogic.net/thread.php?pid=239134#239134

ClassID 0x1F (Hidden Item Spawner) Findings

Documented by TheGameratorT

========================
Raw Sprite Data:
AB CD EF GH IJ KL
========================

Notes: Setting both E and J nibbles to 3 locks the item in
place and ignores the coming out of block animation (X Axis).

Nibble AB CD [UNDISCOVERED MIGHT DO NOTHING]
Nibble E
(
Move right stuff:
0 = Spawn coming from invisible block then move right.
1 = Spawn jumping low out of invisible block to right.
2 = Do nothing, useless.
3 = Spawn jumping high out of invisible block to right.
4 = Spawn jumping medium out of invisible block to right.
5 = Spawn jumping medium and falling fast out of invisible block to right.
6 = Spawn falling stairs to right, wut???
7 = Spawn coming from invisible block then move right.

Move left stuff:
8 = Spawn coming from invisible block then move left.
9 = Spawn jumping low out of invisible block to left.
A = Spawn stuck in place, uncollectable. Useful for decoration.
B = Spawn jumping high out of invisible block to left.
C = Spawn jumping medium out of invisible block to left.
D = Spawn jumping medium and falling fast out of invisible block to left.
E = Spawn falling stairs to left, wut???
F = Spawn coming from invisible block then move left.
)
Nibble F [UNDISCOVERED]
Nibble GH [UNDISCOVERED]
Nibble I [Layer Priority] (Spawn item above tiles. 0 = No, 1 = Yes)
Nibble J [Animation] (0 = Coming from block, F = Coming from inventory)
Nibble KL [Spawn Items]
(
Tutorial:
(
How to use?
Get the spawn method offset (it is the first interval number)
and then the ID of the item to spawn. Then apply this formula:

0xOFFSET + 0xID = 0xRESULT

Then remove the 0x and you should get just RESULT as the offset to use.

Example:
If I want a coming out of block Blue Shell do 0x00 + 0x0B = 0x0B -> 0B
If I want a normal spawn Blue Shell do 0x60 + 0x0B = 0x6B -> 6B
If I want a coming from inventory Blue Shell do 0x80 + 0x0B = 0x8B -> 8B
)

Spawn Methods:
(
[00 to 1F] = Comes out of invisible block (up)
[60 to 7F] = Comes out of invisible block (down)
[80 to 9F] = Comes from inventory
)

Filtered IDs (without duplicates)
(
00 = Mushroom (or Fireflower)
01 = Starman
02 = Coin jumping out of block
03 = Mushroom
05 = Mega Mushroom
07 = 1-Up Mushroom
09 = Fireflower
0A = Vine coming out of block (grows until block is hit)
0B = Blue Shell
12 = Entrance Vine (grows 7 tiles and then stops)
19 = Mini Mushroom
)

Unfiltered IDs (with duplicates)
(
00 = Mushroom (or Fireflower)
01 = Starman
02 = Coin jumping out of block
03 = Mushroom
04 = Coin jumping out of block
05 = Mega Mushroom
06 = Mushroom
07 = 1-Up Mushroom
08 = Mushroom
09 = Fireflower
0A = Vine coming out of block (grows until block is hit)
0B = Blue Shell
0C = Mushroom
0D = Mushroom
0E = Mushroom
0F = Mushroom
10 = Mushroom
11 = Mushroom
12 = Entrance Vine (grows 7 tiles and then stops)
13 = Coin jumping out of block
14 = Coin jumping out of block
15 = Mushroom
16 = Mushroom
17 = Mushroom
18 = Mushroom
19 = Mini Mushroom
1A = Mushroom
1B = Mushroom
1C = Mushroom
1D = Mushroom
1E = Mushroom
1F = Mushroom
)
)

_________________________
NSMB Hacking Discord
Posted on 01-03-19, 10:51 pm
Giant Red Paratroopa
Not Edible

Karma: 3366
Posts: 694/1447
Since: 02-12-16
This is actordata documentation for actor 31, right? I'm pretty sure these were already found by meromero, here: https://nsmbhd.net/thread/2966-new-actor-discoveries-and-extra-info-on-old-ones/#43123. Also worth noting that you can change the classid of a sprite slot using the class ID tool.
_________________________
Nothing to say, so jadnjkfmnjamnfjkldnajfnjkanfjdksan jsdnvj m.

Posted on 01-04-19, 10:03 am (rev. 6 by  TheGameratorT on 01-04-19, 03:38 pm)
Shyguy
DMA problems.

Karma: 819
Posts: 10/89
Since: 07-19-18
I know about the ClassID tool.

It was already found but not the other stuff also the table shown is of sprite 83 and this class ID has a bit different table. I'm now doing some more research.
_________________________
NSMB Hacking Discord
Pages: 1