Language…
14 users online:  AmperSam, Cristian Cardoso, DaMarioFan, Dangil, drkrdnk, Gasterus155, Giftshaven, JPhanto, nonamelol1,  patcdr, reevebarusadar8, signature_steve, Sokobansolver, tOaO - Guests: 251 - Bots: 371
Users: 64,795 (2,377 active)
Latest user: mathew

Super Mario Advance 3 hacking

Yes, I'm a "silent watcher", too, even if I've already posted something in this thread. Well, as there's not much to comment at the moment, no one can leave a comment. The first "real" comments can come, when the editor works and already edited the game a bit (of course this'd be doable with hex-editing, too, but it's much more comfortable to have an editor). I cannot even say that it looks great, as I've not seen that it edited something. But don't let you discourage by me. Once it can edit something properly there will be lots of positive and encouraging comments, I think. Just don't give up.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31

Update: due to the overabundance of IB homework and wxWidget's (un)cooperation with properly opening files, I have my doubts that I'll be able to come up with something presentable by Sunday. Other than those two problems, it's going fairly smoothly and I'm hoping I'll be able to present you a dialog in which you can be able to edit level names.

Oh, and terribly sorry if I were acting as an egoist a few days ago. No clue why I was acting like that.


Originally posted by Yakov
Oh, and terribly sorry if I were acting as an egoist a few days ago. No clue why I was acting like that.

There are times when people are just in a different mood. I get like that sometimes when I'm tired.

Don't worry about it.


As for the editor...

I was thinking it may be pretty overwhelming to try to include graphics in the level editor part. Especially when dealing with cross sections (see level 2-7), castle backgrounds (see most castles), and the other complex objects.

When you get around to making the level editor, may I suggest trying to make something similar to Eggvine first (without the crashing or rendering problems of course), then working on the graphics once there's a working release?

I think the YI hackers out there are used to dealing with colored boxes, and I would prefer having something that's like a non-crashing GBA Eggvine (plus text capabilities etc.) if it means there will be a working SMA3 editor sooner. (It seems to me that including graphics would take another few months at the very least.)

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

Okay, just out of curiosity and maybe to have workarounds handy, in which situations did EggVine crash?

Also, until I get a final final definite voted answer for how the editor should be called, I'm codenaming it wxEVA.


Originally posted by Yakov
Okay, just out of curiosity and maybe to have workarounds handy, in which situations did EggVine crash?

Most of them are simple places where Eggvine failed to check if an action is possible. There are probably more than I list here.

- When moving a screen exit, Eggvine crashes if you try to move it out of bounds.
- Eggvine crashes if you try to create an object/sprite when you have nothing selected in the list.
- Eggvine crashes if you try to delete a screen exit when no screen exits exist.

- When saving, Eggvine crashes if an object size is set to exactly -1. I'm not sure, but it may also crash if the object size is greater than 128.
   - Eggvine renders negatively sized objects incorrectly. Size -1 does not exist. (Assuming the object is being sized horizontally, size 1 is just a width of 1, size 2 increases the width by 1 on the right side, and size -2 increases the width by 1 on the left side. However, Eggvine renders it in the way that might be expected of negative sizes (no overlap between negative and positive), which is not how the game treats it. (I have a feeling sizes 1, 2, and -2 are actually the way Eggvine displays the hex values 0, 1, and FF, but I have not confirmed this.)) (I apologize if this explanation is confusing.)

- Also, sometimes after using the search feature, Eggvine crashes on your next action. I believe it's some kind of memory overflow or something (my computer gets pretty loud before that happens).

- Finally, Eggvine just crashes randomly, especially when creating and deleting objects/sprites.


You have experimented at least a little with Eggvine, right?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
@Zeldara: I am currently getting graphics for the editor anyway, so it might not be that hard.Free counters!
Since the GBA version is almost a direct port of the SNES version, do you think it would be possible to switch the bosses around in a similar way to in the SNES version?Free counters!
Originally posted by Jeorge535
Since the GBA version is almost a direct port of the SNES version, do you think it would be possible to switch the bosses around in a similar way to in the SNES version?

I doubt it would not be possible. It might even be simpler in the GBA version. (The SNES version takes some shortcuts to save space (such as forcing messages into the x110200-x1201FF range) that the GBA version does not.)

I'll try to find the offsets to the relocating-boss values at some point (if no one else gets to it first). Though it would be much easier with a level editor...

(I could still try to test it out now, by changing level entrances to be right outside a boss room. I'd need to complete my playthrough first, though. (World 5 is pretty difficult to complete without dying.))

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Screen exits have 7 bytes in the GBA version. They follow the same format as the ones from SMW2.
In SMW2 level 6 has those screen exits:
7F 06 00 2A 02
11 3F 0E 1E 09
74 E2 4B 73 06
76 36 C7 00 08

7F 06 00 2A 06 96 04
11 3F 0E 1E 09 9A 04
74 FA 4B 73 06 27 00
76 36 C7 00 08 99 05

As you can see, the E2 turned to FA in the GBA version. Do you know what that means?
That FA is a Bandit-Minigame. So levels F6-FF are probably the Minigames.
I've tested 'em out for you:

F6 Throwing Balloons-1-Up
F7 Throwing Balloons-2-Up
F8 Throwing Balloons-3-Up
F9 ???------------------???
FA Gather Coins-------Egg-Filler (Maybe other things, too)
FB Popping Balloons--10 Stars, 20 Stars?
FC Popping Balloons--20 Stars, 10 Stars?
FD ???------------------???
FE ???------------------???
FF Seed-Spitting------Watermelon-Item (Means Water, Fire and Ice)

All the ???s are the same: A blank Bandit-House with no Bandit and no Yoshi and no decoartion with a message box popping up and close, then the game freezes. As F9; FD and FE seem to be empty they could be "transformed" into levels by changing the pointers to these levels.
The two Unknown Bytes are very confusing. If you change them you get some "earthquake" effects when entering. They seem to change from Entrance Type to Entrance Type. However, some of them seem to work everytime.
ET Bytes
00 56 04
01 ?????
02 78 04
03 26 00
04 70 04
05 29 00
06 96 04
07 1C 02
08 99 05
09 9A 04
0A 2C 00

Bandit 27 00
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Originally posted by Yoshis Fan
Screen exits have...

Thanks for finding this!


Originally posted by Yoshis Fan
As F9; FD and FE seem to be empty they could be "transformed" into levels by changing the pointers to these levels.

Unfortunately, this would not work, as there are no pointers for any levels above F5. (The pointer to level F5's level data is immediately followed by the pointer to level 0's sprite data.)


Originally posted by Yoshis Fan
The two Unknown Bytes are very confusing. If you change them you get some "earthquake" effects when entering. They seem to change from Entrance Type to Entrance Type. However, some of them seem to work everytime.

These appear to have the same purpose as the two unknown bytes in the level entrances... I wonder what they are?

(Quoting my earlier post here for convenience...)

Originally posted by Zeldara109 in this post
Edit 2:

Does anyone have any ideas about the purpose of the 2 additional bytes in each level entrance?

I copied the hex data into a .txt file for convenience.

SMA3 Level Entrances

Edit 3: I have a feeling that the last 2 bytes are a single number... When byte 6 is 00, byte 5 is always in the range 26-2C.

So these two bytes are part of the level entrances and the screen exits, but not the midway entrances (which are still only 4 bytes each)?

---

Edit:

YI info for editor.rtf (updated 2010-4-7)

I updated this to include information on screen exits, fix a few mistakes where I had used the word "byte" instead of "bit", and add the fact that one of the formerly unknown bits in the header is actually part of the Layer 3 tileset value.

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Good list!
But still contains a mistake:
1. The Music bits come BEFORE the Layer 3/ Layer 2 Position (see EggVine)
2. I have an addition for the table file. As they needed to, Nintendo added a "/" to the font. It can be used by typing in "0A". They used it for "Secret 4: Fight Toadies w/ Toadies"
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Originally posted by Yoshis Fan
1. The Music bits come BEFORE the Layer 3/ Layer 2 Position (see EggVine)

...No, they do not.

Either the order is inconsistent in the SNES version (unlikely), or Eggvine displays them in the wrong order.

Originally posted by Zeldara's SNES/GBA header decoding document that luckily is still on her computer (copy this into a fixed-width font for easier reading)
SMW2 Level 0's header (xB03C7):
D6 27 AD B6 9E 20 29 60 30 00
1101 0110 0010 0111 1010 1101 1011 0110 1001 1110 0010 0000 0010 1001 0110 0000 0011 0000 0000 0000
BBBB BTTT TPPP PPII III2 2222 2333 333e eeee eSSS SSSS pppp OOOO Oxxt tEEE EEEE 2233 4mmm mMMx xxxx

SMA3 Level 0's header (x1C1F29):
D6 27 AD B6 9B 10 0A 58 0C 00
1101 0110 0010 0111 1010 1101 1011 0110 1001 1011 0001 0000 0000 1010 0101 1000 0000 1100 0000 0000
BBBB BTTT TPPP PPII III2 2222 2333 333e eeee exSS SSSS Sxpp ppOO OOOx xttE EEEE EE22 334m mmmM Mxxx

---

SMW2 Level 23's header (xCECCA):
05 AF 6C 80 07 F0 00 08 06 80
0000 0101 1010 1111 0110 1100 1000 0000 0000 0111 1111 0000 0000 0000 0000 1000 0000 0110 1000 0000
BBBB BTTT TPPP PPII III2 2222 2333 333e eeee eSSS SSSS pppp OOOO Oxxt tEEE EEEE 2233 4mmm mMMx xxxx

SMA3 Level 23's header (x1DC050):
05 AF 6C 80 03 F8 00 02 01 A0
0000 0101 1010 1111 0110 1100 1000 0000 0000 0011 1111 1000 0000 0000 0000 0010 0000 0001 1010 0000
BBBB BTTT TPPP PPII III2 2222 2333 333e eeee exSS SSSS Sxpp ppOO OOOx xttE EEEE EE22 334m mmmM Mxxx
(Note: As this is copied from an older document, the 8th sprite set bit and the 3rd Layer 3 tileset bit are still marked "x".)


As this shows, level 0 (1-1) has music 0 ("Make Eggs, Throw Eggs"), and level 23 (part of 4-Extra) has music 13 (pre-boss, does not disable items). I verified all of the music values for levels DE-F5 as well (with the exception of F2, which uses welcome music).

This would not be true if the music bits came before the layer position bits.

Also, it's Eggvine's highest bit of music (which should be the bit right before music) that affects Layer 3. If the music bits came before that Layer 2/3 position, the extra bit would be part of special effects, not part of Layer 3 position.

(I did extra testing (not written down though) to make sure the order is really the way it is on the SNES version-- remember, when I made the info sheet, Yakov had not decided to make it a GBA-only (for now) editor yet, so I made an effort to include accurate SNES version information. And it confused me that Eggvine displayed the settings in the wrong order.)

(Note: Looking back on my header file, I accidentally said levels DE, DF, and F3 use music 12. I re-decoded them and the result was music 10, as expected. (It was hand-decoded, with the help of a base 2/10/16 calculator. I must have thought the 1010 was 1100 at the time.)


Originally posted by Yoshis Fan
2. I have an addition for the table file. As they needed to, Nintendo added a "/" to the font. It can be used by typing in "0A". They used it for "Secret 4: Fight Toadies w/ Toadies"

As for the table file, it's not exactly a mistake. I do not believe I provided a table file here, instead directing Yakov to the "don't use" table file in the Eggvine folder (the one that contains descriptions of the symbols).

If I did provide my table file, it's not the most accurate one anyway, as I made it for convenience in viewing text (replacing all of the FF's and 12's with "~", and the symbols with "%", "(", ")", or "#").

Anyway, thanks for the addition. (A slash should be useful...)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Yeah, you're right, my fault. But why did Squash Monster swap the position of the Music and Layer 3/Layer 2 Position? Well, the reason's actually irrelevant :P

But I have a bit more info for you. As I ported the SMA3 Secret levels to SNES, I found out a bit about the levels of the SMA3.
1. They rarely use S065 as Red Coin. They rather take the "Green Red Coins", which are objects 82; 83; 84 and X17. They have modified them so they look like red coins and they corrected their SFX. (Check the SNES version. In this those objects are green coins, which make weird sounds, when you collect them, depending on the music track you're using)
2. They use some weird sprites, which seem to be NSP?. Those are the Tileset&Palette-Changers in the SNES version, Meaning S1BA-S1C9. But judging from YouTube Videos they do nothing and are not even visible.
3. Instead of using S1D6, they use S1E0 to block the horizontal movement of the screen. S1E0 is NSP in the SNES version.
4. They've added sprites. They use S04D, which is Bad Animation Space for static balloons in Secret 4. They also seem to have added a "Kamek-Blocker", which makes, that Kamek won't attack you any more. (Check Secret 6-Final Area (Level F5))
5. They've added Sprite Sets. They've added a few more Sprite Sets. I can't say, which Sprites they consist at the moment, but they are really cool. They were made for the Secret Levels (Which are cool, too, BTW :D). That was the reason why porting became much more difficult. I had to change the Sprite Set to something, which works for the essential Sprites of a level and replace other sprites or leave them out at all.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Porting the secret levels to SNES? Good idea. Secrets 5 and 6 are some of my favorite levels.

One more thing added on the GBA-- in the first room of 6-8, Kamek will stop attacking you when you reach the door. If you wait a little, he appears on the far right of the screen, sees Yoshi, and flies off.

(Also, a 4th Middle Ring was added in 4-4, in the X room, but that's just a level design change.)

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

Status update: in case there are people thinking I've abandoned the editor, you are wrong. Since spring break ended, I now have a shitload of stuff to do, so I pretty much have no time. Hopefully I'll be able to do something useful this weekend, but for now...

It's bio time!


Originally posted by Zeldara109
Porting the secret levels to SNES? Good idea. Secrets 5 and 6 are some of my favorite levels.


I have already ported them, however, as I don't know how to edit Sprite Sets not to mention change the header so I can add Sprite Sets, they are not fully identical.
However, here are some essential things, which MUST be done to make this port a proper "remake":
TODO
The first thing isn't important for the port, but it's important for me, as I need a few additional levels for my "NEW! Yoshi's Island".
In this port, I've changed the haeder and the levels so, that they look VERY VERY similar to the GBA version and can be played with 100 PTS.
NEW! SMW2 Yoshi's Island is done!
Last update: 2012-12-31
Something I think may be helpful at some point...

Originally posted by SmaIIhacker in the SMA2 level differences topic
Level header:
SMW: 33 40 08 80 27
SMA2: 33 40 08 80 07 22 00

Aside from the two new bytes that SMA2 adds to the level header (I have yet to determine how exactly these bytes work)...

I have a feeling the two extra bytes in the SMA2 header are the same as the two extra bytes in the SMA3 level entrances and screen exits...

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
Originally posted by Yoshis Fan
...I don't know how to edit Sprite Sets not to mention change the header so I can add Sprite Sets, they are not fully identical.
I figured out the location of the sprite set data some time ago, but the ROM offsets thread is so large, it got buried.

Essentially, each sprite set is made up of 6 GFX files which are one row of 16x16 tiles. I don't have a list of what the values correspond to, but you can download images of each one here. Valid values fall in the ranges from 1A-71 and A9-B0. Other values are either non-sprite graphics or glitches.

This data in SMA3 is in the same format, but located at the 166044-1663C7 range instead. There are 22 sprite sets new to SMA3.

Here is a visual listing of the Secret level sprite sets:
Sprite Set 128 (80):
[20 21 1C 71 36 1C]







Sprite Set 129 (81):
[20 21 4C 51 71 29]







Sprite Set 130 (82):
[55 47 51 4E 1C 1C]







Sprite Set 131 (83):
[51 31 38 2A 46 1C]







Sprite Set 132 (84):
[47 1D 29 59 1C 1D]







Sprite Set 133 (85):
[35 68 1F 29 1C 1C]







Sprite Set 134 (86):
[35 3E 1A 3D 1A 1A]







Sprite Set 135 (87):
[2E 1C 1C 71 1C 1C]






Boring...

Sprite Set 136 (88):
[1A 1E 1A 1A 1A 29]






Same here. |-O

Sprite Set 137 (89):
[2B 47 1C 1A 31 1A]







Sprite Set 138 (8A):
[2B 47 37 71 1C 1C]







Sprite Set 139 (8B):
[2B 47 1A 52 31 1C]







Sprite Set 140 (8C):
[2B 47 1C 1A 31 1A]






Why does this exist? It's just a duplicate of 137!

Sprite Set 141 (8D):
[27 5D 1C 4E 71 29]







Sprite Set 142 (8E):
[27 51 45 4E 71 29]







Sprite Set 143 (8F):
[27 5E 37 2E 1C 29]







Sprite Set 144 (90):
[59 31 26 56 35 29]







Sprite Set 145 (91):
[66 45 30 51 31 1C]







Sprite Set 146 (92):
[27 57 38 4E 1C 1C]







Sprite Set 147 (93):
[3A 3B 1C 71 1C 1C]







Sprite Set 148 (94):
[1F 64 38 5C 1C 1C]







Sprite Set 149 (95):
[20 21 5E 1C 6A 6C]





Originally posted by Mattrizzle
[Information about sprite sets]

How did you access the SMA3 graphics? (Graphics editing will be needed for making/rearranging level icons at the very least...)

Sprite sets 149 and 150 might have been added somewhere in levels 0-DD to fix a glitch of some kind...

As for the duplicates and boring sprite sets, the developers probably were lazy and decided to give a different sprite set to every new level (except F3 and F4 for some reason).

---

Edit:

Wait, did you number the sprite sets correctly?

Sprite sets 129-149 in your list correspond to the levels that I have as sprite sets 128-148...

And sprite set 128 in your list matches sprite set 127 in Yoshis Fan's reference sheet...

As for sprite set "150", I realized I made a mistake in my header list. Level F5 has sprite set 149, not 21 (which is 149-128). (I re-uploaded the file. As I said in the document, there may be a few mistakes, as I decoded it by hand (plus a base 2/10/16 converter).)

(Edit 2: Mattrizzle's post now contains correct sprite set numbers.)

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

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.