Banner
Views: 924,133,346
Time:
17 users online: ageVerrly,  AmperSam,  Anorakun, Daizo Dee Von, Fausateeeee, FYRE150, Justin20020, MarioriaM, MMaxwell, Nint, ocked, RPG Hacker, slakkmichael, Ultima, Wolfguy423, WSGMaster, YouFailMe - Guests: 56 - Bots: 79 Users: 51,681 (2,052 active)
Latest: Ollati12
Tip: Try playing around with the Horizontal Level Settings in Lunar Magic. You can create some uniquely-designed levels unlike anything seen in the original Super Mario World.
Not logged in.
Line-Guided Grinder disassembly help
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Line-Guided Grinder disassembly help
Pages: « 1 » Link
Hi I wanted to make the speed of the line guided grinder faster using the disassembly. However I have nno idea for how the speed tables work. Could you please help me?


The X/Y speed tables aren't for the grinder's movement on the rope, they're the speed values the grinder recieves when it falls off the end of a rope.

Instead, speed for line-guided sprites is handled in somewhat of an awkward way. Each line guide tile is actually defined as a list of X/Y offsets within the tile, and the sprite just uses a timer to step through that list. Instead of a value you can directly modify to change the speed, you can instead change how fast the sprite steps through the offset list.

There's actually some code in the disassembly already that does that. Find these lines:
Code
INC !1534,x	;
LDA !187B,x	; if this sprite table is set...
BEQ SkipFrameChk1	;
LDA $13		;
LSR		;
BCC SkipFrameChk1	; then the frame counter increments again every other frame
INC !1534,x	;
SkipFrameChk1:	;

In the original game, this code was used to make certain lineguided sprites move faster (the grinder included) by incrementing the offset timer by an extra 1 every other frame, effectively making it move 1.5 times the normal speed.

If you want to increase the speed by an additional 1.0, add another INC !1534,x line at the top of that. If you want to reduce it by 0.5, remove the "LDA !187B,x" line through the "SkipFrameChk1:" line. Or to reduce it by 0.25, change the "LSR" line to "AND #$03" and the BCC to BNE. So, for example, here is how to do the following speeds:





Note: I make no guarantee that there are no bugs from this, line guides are just very awkward sprites to work with, hah.

Professional frame-by-frame time wizard. YouTube - Twitter - SMW Glitch List - SMW Randomizer
Pages: « 1 » Link
Forum Index - SMW Hacking - SMW Hacking Help - ASM & Related Topics - Line-Guided Grinder disassembly help

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


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

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