The Questionable Level Design Contest ends in…
Views: 913,017,446
14 users online: Anas, CONLUSH666, Denicentek, ehab N, ExONightZ, Ezel, jesus, katun24,  MarioFanGamer, Nciktendo, qantuum, Renegade763,  Tahixham, UTF - Guests: 45 - Bots: 84 Users: 51,132 (2,208 active)
Latest: JoeyDude
Tip: There's a fine line between difficult and unfair - avoid the latter.
Not logged in.
Details for Custom Scale Platform + Disassembly
SMW Sprites - Custom Scale Platform + Disassembly Link - Show random
File Name: Custom Scale Platform + Disassembly
Authors: MarkAlarm
Tool: PIXI
Type: Standard
Dynamic: No
Disassembly: Yes
Includes GFX: No
Description: This is a customizable version of the scale platform sprite, along with an unmodified disassembly of the original sprite that is now SA-1 compatible. Credit is unnecessary.

With this, you're able to customize things such as the distance between platforms, the rise/fall speeds, and the tiles that the sprite generates. It makes use of three extra bytes in order to pull this off. Check the .asm file for more details, since it documents these things in a bit more depth.

As for the disassembly, it acts just as the original sprite does, so the X position will still determine whether the distance between platforms is long or short. This may be altered in a future update to use the extra bit instead, but for now it is based on position.
Tags: lorom, pacifist, platform, sa-1
Rating: No rating
Download: Download - 6.93 KiB
Love these.

One problem I did run into is that despawning is tied to the position of the left platform. This is fine for horizontal levels but it's a big issue in tall levels, e.g. if you move the right platform too much it can despawn from underneath you. For my purposes, an acceptable workaround was to have the platforms only ever despawn if they're at their starting positions. This workaround involved replacing this bit of code:

	LDA #$05						; \ using #$05 since it acts closest to the original's weird offscreen routine
	%SubOffScreen()					; /

with this code:
	LDA !sprite_y_low,x
	CMP !1534,x
	BNE DontSubOffScreen
	LDA !sprite_y_high,x
	CMP !151C,x
	BNE DontSubOffScreen			
	LDA #$05						; \ using #$05 since it acts closest to the original's weird offscreen routine
	%SubOffScreen()					; /
	DontSubOffScreen:				;;
Posted by: Wyatt - | Link
Tested with:

• Lunar Magic 3.21
• SA-1 Pack v1.32
• PIXI v1.31
• Snes9x v1.60
• bsnes plus v05

Works as intended, so, accepted. There is one issue that while not enough for rejection, should be kept in mind. If the "returning" speed of the customizable platforms is high enough and is not equal to the "pushing" speed, there is a possibility that when the platforms return to their start positions, they will shiver up and down rapidly until stepped on again. The higher the returning speed is, the more likely this is to happen, but it can be avoided completely by ensuring the push and return speeds are equal.
Posted by:  JamesD28 - | Link
Screenshot #3: Going up!!!
Posted by: Klug - | Link

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

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


Follow Us On

  • YouTube
  • Twitch
  • Twitter


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