Banner
Views: 762,208,450
Time:
6 users online:  BTD6_maker, ExONightZ, Maniek,  Meirdent,  PercentN, Spinjumper - Guests: 32 - Bots: 263Users: 40,069 (1,960 active)
Latest: EclipseMain2
Not logged in.
Details for FuSoYa's SMB3 Screen Scrolling Pipes
SMW Patches - FuSoYa's SMB3 Screen Scrolling Pipes
File Name: FuSoYa's SMB3 Screen Scrolling Pipes
Added:
Authors: Deflaktor, Erik, FuSoYa, GreenHammerBro, spel werdz rite
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: FuSoYa's screen scrolling pipes, now with GPS and SA-1 compatibility. Includes the translucent block fix.
Tags: blocks, lorom, sa-1, smb3
Download: Download - 21.71 KiB
185 downloads
Screenshots
Image
GreenHammerBro
Would be nice if the map16 files can be edited with a text editor instead of hex (or someone could make a tool that import/export and convert the .map16 data), especially with notepad++ with its column editing mode. Something similar to GPS's list file:

Code
;BlockNumberToChangeBehavior:BehavorToSetTo
400:130
401:400
402:40F

And we can just replace the leftmost digit with any number to adjust the page.
Posted by: GreenHammerBro - | Link
Blind Devil
(ninji'd)

Well yeah I retested it, and the problem was on Map16 acts-like settings. Whenever we remap pipes, we need to update their acts-like settings accordingly as well.
Posted by:  Blind Devil - | Link
Shiny Ninetales
Oh right, I got it.
It's still a tricky thing though, especially since the defines implies just changing the value would make it work.
Posted by:  Shiny Ninetales - | Link
GreenHammerBro
@Shiny Ninetales
All the “mirrored” pipes have their map16 behavior set to $4XX from the .map16 file, including turn corners other than the top-left of the 2x2 group of blocks. Thus, when set to a different page, the map16 file still uses the behavior of page 4.
Posted by: GreenHammerBro - | Link
Shiny Ninetales
In my end, this works fine but JUST IN PAGE 4, if I move them elsewhere (of couse, editing the !Map16Page define before patching, and then remapping the pipes in the sample level) some pipes doesn't work at all, particularly the ones that doesn't change Mario's position, which makes him to death:

Not sure if a bug or I'm doing something wrong.
Posted by:  Shiny Ninetales - | Link
Blind Devil
Tested with Asar v1.71, SNES9x v1.58, in both normal and SA-1 ROMs.

I've taken the liberty to change the free RAM area which by default was using part of the stack, and this caused a few oddities such as $9D being always set in instances it shouldn't, like during the title screen movie. I've also removed a faulty 'endif' command within the 'hijackoffset' macro, which was throwing errors in Asar and making insertion fail. Aside from that, everything works properly despite pipe blocks themselves being tricky to use sometimes. Accepted.
Posted by:  Blind Devil - | Link
kamekku14
Now you can finally fix broken pipes in old hacks with this one.
Posted by: kamekku14 - | Link
GreenHammerBro
Originally posted by yygdrasil
he background breaks with this!
how to fix it


It may sound like it is using SMB3.asm that the old blocktool by jhonwilson, that uses RAM that is the background. Remember, this is a very old tool equivalent to the augean stables but with minor fixes.
Posted by: GreenHammerBro - | Link
Erik
Originally posted by yygdrasil
he background breaks with this!
how to fix it

try changing the free ram
Posted by:  Erik - | Link
yygdrasil
he background breaks with this!
how to fix it
Posted by: yygdrasil - | Link
GreenHammerBro
Just to note, make sure you install GPS before you install this patch, or your game will crash before the title screen loads. Another thing to note is make sure you change the freeram to another address, they are, by default using these RAM address, which are part of the level map16 table:

Code
if !sa1
        !Status1        = $41FFE6
        !Image          = $41FFE8       ;#$0042 makes him disappear and #$0043 is a peace sign
        !Travel         = $41FFEA       ;#$01 means vertical and #$00 means horizontal
        !Vertical       = $41FFEC       ;#$01 goes up and #$00 goes down
        !Horizontal     = $41FFEE       ;#$01 goes right and #$00 goes left
        !PowerupHold    = $41FFF0       ;A holder of Mario's current powerup
        !Status         = $41FFF2       ;#$0042 if Mario is in a pipe and #$0000 if he isn't
        !MarioXPos      = $41FFF4       ;Mario's X position in a pipe
        !MarioYPos      = $41FFF6       ;Mario's Y position in a pipe

else
        !Status1        = $7FFFE6
        !Image          = $7FFFE8       ;#$0042 makes him disappear and #$0043 is a peace sign
        !Travel         = $7FFFEA       ;#$01 means vertical and #$00 means horizontal
        !Vertical       = $7FFFEC       ;#$01 goes up and #$00 goes down
        !Horizontal     = $7FFFEE       ;#$01 goes right and #$00 goes left
        !PowerupHold    = $7FFFF0       ;A holder of Mario's current powerup
        !Status         = $7FFFF2       ;#$0042 if Mario is in a pipe and #$0000 if he isn't
        !MarioXPos      = $7FFFF4       ;Mario's X position in a pipe
        !MarioYPos      = $7FFFF6       ;Mario's Y position in a pipe
endif

As a side note, each of them are 2 bytes large except !PowerupHold (1 byte).
Posted by: GreenHammerBro - | Link
GreenHammerBro
Just note that currently, no bugs have been fixed since the last time fusoya and me fixed on the older. So this is merely a port to the newer tools.


If you are making a hack and you don't want the player to cheat the level, be aware of these glitches:
  • You can glitch the vertical small pipe's top by attempting to enter it while falling down-rightwards and slipping off the top right corner. It's important to note that enterable small pipe top caps don't have a corner offset, so it's actually the above offset, just on the far right edge as possible that would still trigger that offset. So put a wall or extend the exit tile 1-block to the right to prevent this exploit.
  • Hitting the bottom of any horizontal pipe caps (normal and small) will teleport you to the last exited pipe cap. Make sure you make it impossible for the player to do that
  • Horizontal pipe caps can be entered when the player is in the air (most of the time depending on his vertical speed).
  • When small horizontal pipe caps are placed on solid ground, they can play the pipe sound more than once per passing through them.
  • You can “nudge partial-enter” leftward-facing horizontal pipe caps, then get ejected to where the player is entering by standing in front of them and tap rightwards (1 or 2 frames though). Not a major glitch, but is weird. I assume what happens is that when you hold right, the block behaves $025, but does not immediately forces you in a pipe state until the player is further embedded into the block (partial enter and forcing pipe state are separate and not in one execution frame). It's better to just not only render the block $025, it should also set the pipe state together within 1 frame so the player guarantees that even a small nudge is a 100% enter.
  • If your pipe travel ends with going left, then up or down, then exit, you come out of the pipe, pushed slightly leftwards and off-center. Anytime the player goes leftwards then vertical, the vertical travel part is always off-centered.
  • Mario interacts with any blocks placed below the horizontal pipes, for example, the muncher can kill the player inside the pipe.
  • To enter small vertical pipe caps, the range of X positions that is allowed is too narrow and off-centered: To enter the top or bottom of the pipe, the player's X position relative to the cap (MarioRelativeXPos = MarioXPos - PipeCapXPos) must be inclusively -1 to +6. Relative X position 0 means being exactly centered. Therefore, the entire range to enter the pipe is “skewed” towards the right by about a half-block.
  • After exiting the top of a vertical small pipe, the player is 1 pixel to the left from being perfectly centered; the player slightly gets clipped from the top cap which caused this.
Posted by: GreenHammerBro - | Link
yygdrasil
great!
Posted by: yygdrasil - | Link
Darolac
It's great to finally have some easier-to-insert screen scrolling pipes compatible with the newest tools.
Posted by: Darolac - | Link
Erik
the mad lad.
Not a remoderation since it had been removed. Integrated Deflaktor's fix for the translucent block, SA-1 compatibility, and GPS support without needing to modify GPS itself.
Posted by:  Erik - | Link

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2019 - SMW Central
Legal Information - Privacy Policy - Link To Us


Total queries: 27

Menu

Follow Us On

  • Facebook
  • Twitter
  • YouTube

Affiliates

  • Talkhaus
  • SMBX Community
  • GTx0
  • Super Luigi Bros
  • ROMhacking.net
  • MFGG
  • Gaming Reinvented