Banner
Views: 1,004,347,616
Time:
10 users online: ASMagician Maks, DasFueller,  Deeke, El Cuh Fermin, Konaoto, Maw, PhantasyReal,  Segment1Zone2, Soul Storm, VinylHeart - Guests: 66 - Bots: 143 Users: 54,877 (2,024 active)
Latest: Felsmann
Tip: Take advantage of easy to install Patches in your hack. The No More Sprite Tile Limits or SA-1 patches should be considered if you're encountering glitches where Mario and/or sprites are turning invisible.
Not logged in.
Same Fall Acceleration Speed 2.3 by HammerBrother
Forum Index - Valley of Bowser - Moderation Questions - Patches - Same Fall Acceleration Speed 2.3 by HammerBrother
Pages: « 1 » Link
File Name: Same Fall Acceleration Speed 2.3
Submitted: by HammerBrother
Obsoletes: Same Fall Acceleration Speed 2.2
Authors: HammerBrother
Tool: Asar
Requires Free Space: Yes
Bug Fix: Yes
Featured: No
Description: Comes with 3 patches, All of these fixes "exceeding the terminal velocity" glitch (the game sets the Y speed to $40, but then gets increased by $03 or $06). It also allows you to have Y speed greater than $46 set by ASM (such as blocks) to override the maximum Y speed (it simply will not accelerate Y speed any further nor clamps it).

-[TerminalVelocity.asm] only fixes the aforementioned bug.
-[GravFall.asm] disables slowing fall speed if you're falling
-[GravFall2.asm] same as above but also disables your slowfall if you let go. It will remain disabled until you are on the ground or bounce on enemies or note blocks.

Now added sa-1 support.
Screenshots:
Rejecting this since the only change you made to the code made it less optimized for seemingly no reason.
Originally, you have this code to check if the freeram flags are set (used twice, although the second instance uses different freeram addresses but the size/cycles are the same):
Code
; Used twice
LDA $60
ORA $61
ORA $62

This uses 12 bytes total, and takes 18 cycles.
Now, you moved that in a subroutine to JSL to (why not JSR? The code is in the same bank!):
Code
; Used twice
JSL RAMAddressToDisableGravity

; Used once
RAMAddressToDisableGravity:
	.CheckIfAnyAreToDisableGravity
		LDA $60
		ORA $61
		ORA $62
		BNE .GravityDisabled
	.GravityEnabled
		CLC
		RTL
	.GravityDisabled
		SEC
		RTL

which uses 18 bytes, and takes 41 cycles (even if the freerams were set to long addresses, the result would be a loss of optimality. Same thing if using JSR instead of JSL).

tl;dr such a short piece of code isn't really fit to be moved to a subroutine, especially since it's only used twice. It's good that you made the freerams be the same both times (why were they even different in the previous version??), but if your intent was to have them in a single place in the asm file, then why not just use defines? (so it's also easier for the user to change them).

I'll also point out that the info in the readme is inaccurate: you say to search for "[RAM to disable cape write to $7D]", but there's no instance of that in the asm files. The correct phrase is "[RAM to disable gravity]".
Pages: « 1 » Link
Forum Index - Valley of Bowser - Moderation Questions - Patches - Same Fall Acceleration Speed 2.3 by HammerBrother

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