Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Water_State_Bubbler has incorrect behavior. #277

Open
LittlePlanetCD opened this issue Mar 31, 2024 · 1 comment
Open

Water_State_Bubbler has incorrect behavior. #277

LittlePlanetCD opened this issue Mar 31, 2024 · 1 comment

Comments

@LittlePlanetCD
Copy link
Contributor

In the steam version of Mania (as well as Sonic 3), there's a very small chance where Water_State_Bubbler can create a VERY small bugged bubble instead of a big one:

image

this does not happen on the decomp.

@VAdaPEGA
Copy link

Gotta love unintentional bug fixes.

bubbleSizes is a table of values with pre-determined final bubble size frames in the bubble clusters, a bubble is to increase in frame count until reaching this final frame. One of these gets turned to a breathable bubble through a dice roll and, should it fail, the last bubble is guaranteed to be breathable. Tiny frame 0 bubbles are NOT a part of this, only frames 2 and 4 are used (side tangent : this is technically incorrect since these are the same values used in the other remasters where the frames fit 1:1 with the original games and mania vastly increased the number of frames. Additionally, one value in the table was changed to a mid bubble, likely because they thought not enough of those were spawning per cluster).

Megadrive ASM version, which uses subtypes to determine the bubble size instead of relying on the frame number :
image
RSDK 4 version (rearranged for comparison) :
image
Mania decomp :
image

What may be causing it :

bubbleType1 is somehow a negative number, meaning it bypasses the big bubble failsafe flag and reads a bubble frame that's located out of bounds, explaining the invalid final size.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants