Banner
Views: 959,028,910
Time:
13 users online: Children's Digest 1950-2009, Classfan, codfish1002, foxypal, hoagie, Miscalc, MrMisanthropic, Renhoek, Runic_Rain, S.U, Skewer, Sonikku,  Tahixham - Guests: 43 - Bots: 91 Users: 53,111 (2,250 active)
Latest: I43OBF
Tip: Check this thread for a list of SMW sound effects.
Not logged in.
Details for Custom Scroll Limits (+ Megaman Flip Screen Effect)
UberASM Repository - Custom Scroll Limits (+ Megaman Flip Screen Effect) Link - Show random
File Name: Custom Scroll Limits (+ Megaman Flip Screen Effect)
Added:
Authors: HammerBrother
Type: Level
Includes GFX: No
Includes Hijack: Yes
Featured: No
Description: This ASM pack enables you to have custom scroll limits in your level.

It also comes with a feature of a flip-screen effect seen in Megaman, Metroid, Legend of Zelda, Celeste and many others to divide a level into rooms. These can easily be set by editing the table.

Of course, I also made a single screen version (but each zone will always be 256x256, not overlapping).

Very useful for designing levels to have areas where you don't want horizontal or vertical scrolls.
Tags: screen, scroll
Rating: No rating
Download: Download - 1.11 MiB
100 downloads
Screenshots
Previous 
 Next
Hooded Edge
This looks awesome. Definitely can see this being used in very creative ways.
Posted by:  Hooded Edge - | Link
HammerBrother
Originally posted by qantuum
looks cool, does it prevent enemies from spawning in the room that's not displayed,


I was thinking of this too, but sadly no, since the sprite spawning is handled by LM.

One thing you can do however is not place sprites using LM, but manually using uberasm tool (loop all 12/22 slots). The provided routines (UberasmTool/libraryLibraryScrollLimits.asm) comes with an output that indicates the beginning or end of the scroll effect:
  • ScrollLimitMain: Carry flag. This is only set when the transition ends. This is called under gamemode 14
  • SetScrollBorder: $0D. This is only set during the first frame the transition triggers. This is called during level

I would recommend the latter option, after calling it, check the carry flag or $0D and from there write your own ASM code that do this:

You first delete the sprites (all 12/22 slots) before spawning the new ones (in the screen the player is going to).

Make sure all the sprites in the area processes off-screen (especially if the zone is more than a single screen wide or tall, else they would permanently disappear when despawning until you reenter the scroll zone). This can be done by setting $167A's bit 2 (%-----P--, ORA.b #%00000100 : STA !167A,x).

Note that this method causes the whole area to be limited to 12/22 sprite slots
Posted by: HammerBrother - | Link
qantuum
looks cool, does it prevent enemies from spawning in the room that's not displayed,
Posted by: qantuum - | Link
BlueToad
Wow, this looks really cool!
Posted by: BlueToad - | Link
HammerBrother
lx5 Also thanks. I really wanted the camera to behave in a way so you can make L-shaped levels without the camera being able to focus outside the area. This is especially true for boss rooms.

A vanilla method in doing this can be achieved by using separate levels, but I would like hackers to be able to have multiple scroll sections per level, giving it a somewhat seamless transition without the reloading and fading to black.
Posted by: HammerBrother - | Link
HammerBrother
lx5 suggestion taken. Readme is also slightly modified.
Posted by: HammerBrother - | Link
lx5
Also small suggestion: Try to not include git files, they may confuse the end user.
Posted by: lx5 - | Link
lx5
Neat idea... but man, that's a lot of things one must do in order to get it to work.
Posted by: lx5 - | Link

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

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


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy
  • sm64romhacks