Name: | Carryable Pipe |
Author: | wye |
Added: | |
Tool: | PIXI |
Type: | Standard |
Dynamic: | No |
Disassembly: | No |
Includes GFX: | Yes |
Description: | This sprite is used in pairs. You can carry them around, and when you enter one of them, like a pipe, you'll be teleported to the other end. You can have up to four different pairs in a level at the same time, which act independently of each other and are distinguished by their color. The pairing depends on the extra byte. A pair of pipes only works when there are exactly two of them in the level, and both are spawned (=the player has encountered both); they won't let you enter otherwise. |
Tags: | carryable lorom pacifist sa-1 |
Comments: | 23 (jump to comments) |
Rating: |
Download
9.82 KiB | 1,366 downloads
Comments (23)
What appears to be happening is the teleport starts and disables the player 1 controller. Due to the death routine and retry prompt and whatnot, the code to restore the controller state never runs since the level is still loaded and the teleport never finishes. I'm not entirely sure why that disable code is there, but I didn't notice anything super off by removing it. Doing that fixes the softlock, but I'm not sure if there's some regression I'm not noticing in my mild experimenting with it. Does that code need to be there?
Edit: No, no they do not
Lunar Magic usually creates automatic backups; check "File --> Restore".
When you have a ROM that's not broken, you should be able to insert the pipes just fine. (Maybe try it out on a fresh ROM to be sure.) If you're still having trouble, it'd probbaly be best to ask for help in the forums or on Discord.
That patch is only to clean things up in case you want to remove the pipes from your ROM at some later point. You're not supposed to apply it otherwise. Just insert the sprites and nothing else into a working ROM as usual, and you should be good to go.
I did precisely that and it caused my ROM to freeze anyway (used Pixi). Then I tried to remove the sprite to not avail. It still freezes. I wish I had created a backup ):
That patch is only to clean things up in case you want to remove the pipes from your ROM at some later point. You're not supposed to apply it otherwise. Just insert the sprites and nothing else into a working ROM as usual, and you should be good to go.
e: After some testing, it looks like this might just be the turn block bridges that cause this behavior, it seems they're handled differently than most everything else in the aforementioned patch.
Updated with a quick fix to that, thanks for noticing.
Thanks so much, I really appreciate it!
Fixed a few bugs during moderation, most notably:
- The $9D bug causing sprites to not properly freeze during transportation (note that this fix applies an actual hijack, and hence an unpatch file is included as well)
- Yoshi being able to eat the pipe during transportation, resulting in a variety of issues
- An OAM issue with SA-1
EDIT: you might want to breakpoint $9D as depending on what sprite slot it is on may be affected by $9D.
EDIT2: it seems to also happens vice verse as well between A and B. So certain sprite slots ignore $9D.