18 users online: Angel Miranda, Batata Douce, bersi, BUX88, Cote de Boeuf, Digital Entertainment, FrostyLosty, Heitor Porfirio, Housemeister, Ice Man, itsam, Kaijanmeyer, LeonardoGamerTrainz, MarsAmpere, prpleish, Saela, SomeGuy07, Tulip Time Scholarship Games - Guests: 201 - Bots: 181
Users: 64,443 (2,491 active)
Latest user: LetsAGo123

Counterbreak for Yoshi's Island

YI Patches → Counterbreak for Yoshi's Island

Submission Details

Name: Counterbreak for Yoshi's Island
Author: Sillymel
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: Clears all of the players egg items except keys during room transitions. Also prevents the player from getting pause inventory items without your permission by removing bonus games that give the player pause items. Finally, rearranges bonus stages on the overworld to remove the ones that give you pause items.

Please see ASM file comments for details.

Used to help prevent cheese in kaizo and puzzle hacks.

Modifies addresses $01bf2c, $01bf2e, $01bf30, $01bf32, $01bf34, $01b436, and $01bf58.

Hijacks addresses $01b2bc and $17b4b6.

Dummies out code from addresses $01b2c0-$01b2d3.

I plan to eventually make it an option to remove the pause inventory graphics as well.

Version History:
* v2.01: Initial release to SMW Central (previous versions were released elsewhere)

* v3.00: Added code to remove bonus games that give you pause items, and removed expicit prevention of writes to pause inventory. (This fixes a bug in v2.01 where the array containing your pause items was uninitialized. If you applied the old version, follow the instructions in upgrading_from_version_2.txt applying v3.)

* v3.02: Current release. Disabled secret Mini Battles menu.
- v3.02b: (No change to main code) Added a small patch and instructions to prep a ROM with version 2 applied for upgrading to version 3.
* v3.03: Fixed incorrect freespace allocation (was allocated into $00 blocks, now uses $ff blocks).
Tags: anti-cheat anti-cheese anticheese cheese counterbreak de-cheese decheese kaizo puzzle
Comments: 2 (jump to comments)
Download 2.15 KiB | 159 downloads

Comments (2)

Sillymel Author Link
Originally posted by BTD6_maker
There was a very minor issue, where you had db $2b instead of db $2a (for determining what bonus game to load when you get Roulette with 1 life). It's now fixed.

I changed that on purpose to prevent you from getting a bonus game that gives you items. It works because you never get there with the index being 0.

EDIT: Wait, no, it was to prevent you from just getting Roulette again and getting cheated out of a bonus game.

EDIT 2: Specifically, you only ever get Roulette in Worlds 3 and 5, never in World 1, so indexing address $01bf2a instead of $01bd2b to get the bonus game two entries before it in the table (the previous world's life minigame) instead of just one entry before it (the other bonus game for the same world) is perfectly safe.
Let me add that info to the code comment there and submit an update.

EDIT 3: Wait, I see what happened. My bad then, actually. I did mess that up. I think I'm still gonna update that code comment, though.

EDIT 4: Sorry about all these edits. I remembered I still plan on actually doing something with the secret menu, so I'll wait until then to update the code comment.
 BTD6_maker Link
There was a very minor issue, where you had db $2b instead of db $2a (for determining what bonus game to load when you get Roulette with 1 life). It's now fixed.