Originally posted by RuberjigI can't remember at the top of my head but do coins or any collectable in the objects list do the same?
Yes, but if the sprite memory is set to "index 3 no track", they will all act like map16-access tiles, regardless of whether they are placed via object or not.
Also not perfect, sprite memory'll only keep track of the x-position, not the y-position (in horizontal levels, for vertical, idk). Collect one coin, all coins in that column will disappear upon re-entry.
To make matters worse, levels that share sprite indecies (index 0x0, 0x1, or 0x2 are the only options) also share data on collected coins yes/no. For example, if two sublevels share a yoshi-coin in the same x-position on the same screen, collecting one will make the game not spawn either next time the level is loaded. This is extremely rare, though, and usually is only the case with (near)-identical levels, which you'd want to happen anyway, so it's not a distinct disadvantage.
More complicated still, all collectables (i.e. coins, Yoshi blocks, Yoshi coins, etc) just use a boolean "collected yes/no" byte, meaning collecting a coin causes a yoshi coin directly above it from not spawning upon reentry, or vice-versa. Also happens across levels within the same sprite index, so large areas of coins can cause problems if two levels happen to share a sprite index (which usually isn't needed, though)
Putting all three rules together, collecting a coin in one screen in one sublevel could stop a Yoshi Block from spawning (turns into a brick block instead), if it is in the same screen, and same x-position as the coin, and both sublevels are set to the same sprite index, which isn't 0x3.
Which is exactly what my level did, if you want to see an example.
So... unofficial incomplete tutorial on sprite memory, I guess?
Want to see my Super Mario Timeline?