Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Super Mario World hacking: labmaster | 3 guests
Acmlm's Board - I2 Archive - Super Mario World hacking - How to edit the ending text [howto, no ASM]
  
User name:
Password:
Reply:
 

UserPost
Sukasa
Posts: 1407/1981
well, if when you make this program (you always come up with the killer apps), please credit FuSoYa for this, since All I did was post this info after learning what I needed.
Smallhacker
Posts: 1893/2273
Originally posted by Keikonium
would you beable to mass compile all your programs into one?


Trust me. You're not the first one to think of that. It may happen sometime, once I feel like rewriting more than half of my programs since their source codes was lost when my HD went boom.

*Puts "SMW Ending Text Editor" on the to do list*
Keikonium
Posts: 1948/-2459
Kind of offtopic, but Smallhacker, if you do create a program that does this, would you beable to mass compile all your programs into one? Just a thought.

Good work Darkflight and FuSoYa!
Juggling Joker
Posts: 951/1033
Originally posted by UnsurpassedDarkness
And I
UnsurpassedDarkness
Posts: 635/746
And I
ExKay
Posts: 835/1114
Nice job, I'm gonna change my text, too.
Sukasa
Posts: 1380/1981
No, this is the text for when you defeat bowser.
HyperLamer
Posts: 5975/8210
Cool, but doesn't LM already support this?
Sukasa
Posts: 1377/1981
OK, I've put together a small tutorial about how to edit the ending text, mainly thanks to FuSoYa, since he let me know how the data was formatted. This tutorial will show you how to edit the first 4 tiles in the text, but you can re-use the stuff you learned, since all the entries are the same.

First off, the data for the text starts at PC $1D724 and ends at PC $1D873. Each letter is 4 bytes long, which will be explained below.

Byte 0x0 is the Y position byte, which determines the line that the tile is on. It is measured in pixels, but all of the entries count up by 0x10, starting at $20, going until $50

The second byte is the X position. Like byte 0x0 is is 8 bits, counting from $18 to $D0. Spaces are determined here, since letters normally count up by 8 pixels, but for spaces this byte will count up $10 pixels, going from $38 to $40 for no spaces, and $40 to $50 for a space.

The third byte is the one you'll be changing the most, as it is the low byte of the tile number itself. Check GFX file $0D for the letter numbers, be note that to make things easy for yourself, place GFX file $0D into a slot on the lower half of whatever page you use, such as FG3 or SP2.

Lastly, the forth byte also picks the tile, but for this one you do not need to change this, since you won't be changing your GFX page at all.

Now, to give an example, I'm going to demonstrate a five-letter sequence, "A B _ C D", which has a space between B and C. Note that the tiles are all going to be the first 5 tiles to appear, and case-insensitive.

The hex:

20 18 88 0E 20 20 89 0E 20 30 8A 0E 20 38 8B 0E

Now, if you look at the second byte of the third entry, the X position has increased by $10 instead of by $08, like everything else did. That is how SMW creates a space. An example of a line break would be:

20 18 88 0E 30 18 88 0E

In this, the final result would be:

A
A

Because the first byte in the second tile was $10 more than the first byte in the first tile.

I hope that someone other than me can use that well. Remember, credit shuold go to FuSoYa for finding that data, not to me.
Acmlm's Board - I2 Archive - Super Mario World hacking - How to edit the ending text [howto, no ASM]


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.003 seconds.