Language…
14 users online:  Ahrion, Anas, crocodileman94, DasFueller, eltiolavara9, Foxy_9000_, Hammerer, Isikoro, jump_run_repeat, monkey03297, Mythundare,  Nanako, Necrotext, pzyko103 - Guests: 275 - Bots: 433
Users: 64,795 (2,377 active)
Latest user: mathew

Super Mario Advance 3 hacking

Originally posted by Yakov
Does anyone mind replace the statement "editor in progress" in the title to either "editor on hiatus" or "discussion in progress"? Because I don't think I'll be able to work on it for some time.

As long as you're planning on working on the editor when you have time, it's still in progress, isn't it?

But I'll edit the title (probably back to "Super Mario Advance 3 hacking") if you would prefer that. (If I do this, I'll add a note about your editor to the top of the first post.)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3

Well, unless you consider "in progress" being "pretty much not moving at the moment", I think the title should be changed. I'll make sure that the thread won't be buried too deeply though.

And yes, if you can add the whole editor story to the first post, please do so.


Is this good?

(See first post)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Originally posted by Mattrizzle
Abnormally useful information


I can't thank you enough once again. Now one of the major issues in the port can get solved. If you have time, could you help me with the other issues, too, please? I really want that the port is identical or very close to the original.
Thank you very much :D

But I have a question: Why are there only 150 Sprite Sets? Zeldara109 said, they added 1 bit to the Sprite Set value. So there actually should be 256 different ones? Or do all the Sets about 150 not work?
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Originally posted by Zeldara109
Wait, did you number the sprite sets correctly?
The sprite set in the original game took up 7 bits of the header, so the values are 0-127. This translates to 0-7F in hexadecimal, so the first set new to SMA3 is 128 (80 in hex).

Edit: Corrected the listing.

@ Yoshis Fan: There are only 150 sprite sets because I suppose that's all they needed...
Ah, OK, but what would happen if you'd type in 97? Does it use a different type of data as Sprite Set, then?
BTW: 149 and 150 aren't unused. 149 is used for the forest area with the Welcome-music in Secret 6 and 150 is used for the Welcome-level remake in Secret 6, when you take the secret path in the cave Kamek will attack you there.
Oh, and there's a problem with the Sprite Sets. There is a Sprite Set, which uses Baseball Boys and the purple Bubble-spitting things. (NR 149: 1F 64 38 5C 1C 1C)
The bubble-spitting things don't work with this. Their head also "refers" to the last picture of the third byte of the Sprite Set. So it's the baseball boy's glove. If I change it to 38 64 1F 5C 1C 1C, then the baseball boys are glitched. They also seem to "refer" to the third byte of the Sprite Set, so they're displayed as egg/cactus shooting flower, then.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Originally posted by Mattrizzle
The sprite set in the original game took up 7 bits of the header, so the values are 0-127. This translates to 0-7F in hexadecimal, so the first set new to SMA3 is 128 (80 in hex).

Except the sprite set you labeled 128 is actually 127 (see Yoshis Fan's sprite set list), the one you labeled 129 is actually 128, and so on (the highest is 149)... (Did you forget that the first sprite set is 0?)

Try comparing the sprites in those images to my level header file (re-download it if you haven't already; I made some corrections yesterday)...


Originally posted by Yoshis Fan
Oh, and there's a problem with the Sprite Sets. There is a Sprite Set, which uses Baseball Boys and the purple Bubble-spitting things. (NR 149: 1F 64 38 5C 1C 1C)
The bubble-spitting things don't work with this. Their head also "refers" to the last picture of the third byte of the Sprite Set. So it's the baseball boy's glove. If I change it to 38 64 1F 5C 1C 1C, then the baseball boys are glitched. They also seem to "refer" to the third byte of the Sprite Set, so they're displayed as egg/cactus shooting flower, then.

Yet another special exception for level F2 (besides music and middle ring number)?

I wonder if there is some special override for level F2's header somewhere (which led the developers to ignore making the header accurate)...

(This could be tested by seeing if changing the header has any effect...)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Well, I don't think that this is a special header setting, as it only doesn't work in the SNES version. It's more a matter of how the game handles the GFX files, which are loaded and not, that they made a special setting for this one level. They made one, though for F2, that is the Welcome Music. They probably can determine somewhere else in the ROM, which levels use this track. Other than that the header is fully correct.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Originally posted by Yoshis Fan
Other than that the header is fully correct.

As I've said, level F2 contains middle ring #3, but according to the header, it should be middle ring #0.

And level F2 is the one with Baseball Boys and purple bubble-spitting things...

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Oh, OK, I haven't been aware of the Midring-thing. But the thing will the Baseball Boys and the Bubble-Spitters is an SNES-issue. Or does it happen if you try it out in level 0 for example?
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
I posted my fix to the SNES Baseball Boy/Bubble-Spitter issue in your hack's thread to avoid further derailment of this one(since it does seem to be a SMW2 issue rather than a SMA3 issue after all).

Status update! No progress. :( I really had it from C++ so I'm finding different ways to make this program so that its widgets won't look like garbage (so that throws Perl/Tk out of the window). I'll probably be looking at wxPython, meaning I can just copy-paste the code and do some minor modifications.

That is all. And don't let this thread die, even though it didn't go down too far.


Hm, actually the only one I know is S1D6. It's S1E0 in the GBA-version. Other than that, the Enemy Generators have other numbers and the scrollings sprites either.
Also, to expand the ROM, you could use LunarExpand. I don't know if it works for GBA-games, though, but actually it does nothing except adding 00s to the ROM, so it should work. If not, maybe you can fool it by changing the file extension and maybe by adding the header of SMW.

NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31

Wow, this thread is probably umptillion years old... but it's not dead. I'm currently rewriting the damn thing so that I don't have bash my head against C++. Instead, I'm rewriting it in Perl. So, stay tuned, and if possible, I'd like an updated SMA3 guide.


You're still working on the SMA3 editor? What a nice surprise. I'll be looking forward to more progress.

Originally posted by Yakov
So, stay tuned, and if possible, I'd like an updated SMA3 guide.

What kind of guide? There haven't been any updates to SMA3 hacking other than what's found in this topic... Do you mean a guide to the game itself?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3

Originally posted by Zeldara109
What kind of guide? There haven't been any updates to SMA3 hacking other than what's found in this topic... Do you mean a guide to the game itself?
By guide I mean addresses, text tables (e.g. ingame hex code=human letter), etc. Or is everything the same as it was on page 2/3?


Text tables? The most accurate one is probably the one included with Mattrizzle's font expansion patch. Just check the images in that topic closely, as there are a few differences. (You can ignore the credits table, as SMA3 uses the same method for the credits as the rest of the text, as far as I know.)

By the way, D0 is a space.

As for other things not found in this topic...

You can use the files included with Eggvine (make sure to download the newest V0.81+) for lists of the objects/sprites. (O4Data and O5Data contain normal objects, O4SData contains extended objects, and SpriteData contains sprites. LevelList might also be useful.)

A few of the objects/sprites are numbered differently from SMW2, and/or act differently. Exactly what the differences are is currently unknown, though a large portion of the objects/sprites are the same as the SNES version. (One notable difference is that the "Green Red Coins" are normal red coins in SMA3.)

Information about header settings is scattered all over this forum. Some posts are more accurate than others, and of course it's possible that certain header settings were modified for the GBA version. (How relevant would header setting information be at this point?)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3

At this stage I'd just like to make it possible to edit messages, level names, etc.


OK then. Mattrizzle's table and my offsets from earlier should be enough, right?

I'm looking forward to seeing progress!

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
For the level names and the messages, use the pointer tables. I'd also give the opportunity to change the pointers, so the player can expand the size of some level names. The best thing would be, if you would integrate a text editor. It should have a sub-menu, where the player can manually type what they want. If it has more bytes than there is room for it suggests to search for free space, where the name/text fits in. Also don't forget to make a small submenu for any other thing than letters, for example you must give the opportunity to use message box pictures and the buttons used by the game (I mean the "B"-Button, "R"-Button, Start and Select and so on) Furthermore it must have width recognition, as the letters have different widths, means it automatically makes you continuing in a new line, when the current line is full. So it also needs to load the width-table. It could look like this: (I know, the example is from the SNES-version, but that actually doesn't matter...)


NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31