This is based on GHB's pipes, but acts like FuSoYa's fast scrolling pipes. It was modified from GHB's version 3.1.2(4/8/2017) which is about 1-2 months older than the newest version.
Submitting this by request.
FuSoYa's pipes patch wasn't compatible with Gopher Popcorn Stew, so I uploaded my own.
These pipes, when entered, will cause mario to travel through pipes within the same level rather than refreshing the screen, useful for maze levels for those who refuses to use screen exits (which is a pain).
Whats best is that:
-unlike wiiqwertyuiop's, this centers the player correctly and is impossible to make the pipes play a "pipe sfx" multiple times for entering/exitng the pipe.
-there are several (more like countless) bugs in mikeyK's pipes (outdated) ranging from passable corners, to horizontal pipe caps that you can enter randomly not working should there be a level time limit, all the way to ceiling slopes teleporting mario (or killing him based on y position).
-now there are pipe turn-corners for mini pipes!!
-the best thing ever about this is that GPS has a "block to insert" list, due to having multiple blocks in this package, It made it easier for inserting all the block at once just by copying whats in "pipe_tiles_list.asm" and pasting it in "list.txt". THANK GOD that was faster than tedious editing whats in "edit block database" of btsd and that btsd insert the blocks one by one at a time.
I couldn't fit the description in the print command (they are often long; they would overwrite descriptions of other blocks), but I made a .map16 so its easier to understand.
see the readme for details.
-If there are at least 2 sprites on screen, and mairo enters a pipe, mario will partially disappear as he enters a pipe, you should download the "no more sprite tiles limit" to prevent that.
-If you have a low-gravity generator that DEC $7E:007D (mario's Y speed), make sure that you add a check that if $7E:009D or a ram address for "!pipe_dir" is a non-zero, then skip/return, because mario will then rise up slowly while traveling through horizontal pipes.
-If you have converted ram address (and modify the GPS tool) to be compatable with sa-1, you also have to convert the "sprite slot loop" to use 22 slots. Because SA-1 has updated the number of slots from 12 to 22, otherwise yoshi glitches up.
Be careful not to use them in layer 3 tides, mario's x/y speed is still effected by the tide even when in pipes.
Also: the data bank register is not guaranteed to be equal to the program bank when running the uberasm code. This can cause the speed tables to sometimes be inacessible (for me, it worked every 2nd time i ran uberasmtool). the uberasm code should explicitly set the data bank instead of hoping it's equal to the program bank.
(edit: maybe that's a side effect of inserting it as a library. idk)