Language…
6 users online: 1392year, Anas, CONLUSH666, Firstnamebutt, kirito86, Zavok - Guests: 172 - Bots: 402
Users: 64,795 (2,380 active)
Latest user: mathew

SMW2 Yoshi's Island offsets and helpful info

Resource

Originally posted by Zeldara109
I don't really understand what you're saying (do you know of any good GBA ASM tutorials?), but do you think you could re-post this in the SMA3 hacking thread (which I recently decided to sticky)?

This thread is generally seen as for SNES-version information only (in fact, I actually edited that into the first post a few days ago).



Okay, sorry. =)

My information had to do with using asm to produce the same effect as a gameshark, etc. (Useful for flash carts.) I'll edit my post out and re-post it somewhere else.
Here is the progress on the overworld editor I've been working on

Supports:

Editing BG 1 Layer
Editing BG 2 Layer
Editing Yoshis positions
Imports/Exports world tile data

Toggle BG1/BG2/BG3/Sprites
Does animations
Grid boundaries



I would like to know what features others want to see in the overworld editor, so I can put them in before I release it.






Can anyone confirm that there is a missing tile on the world 1 BG 2 layer?


I have checked several versions, and even have seen this in YI walkthroughs on Youtube 5:38
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
But... tehaxor69!
That's awesome! And yes, I can confirm this, this already came to my attention earlier and is already fixed in the current version of the hack I have on my computer.

Sorry for the digression, but I must tell you that changing the pointers from SNES 0x3D56B to 0x3D570 will cause the Tileset&Palette changers to not change the tileset anymore. I don't know, whether other sprites in the range from 0x1BA to 0x1FF are affected, but that's what I've seen. Those pointers are changed, when I apply the custom Sprite patches you've made. I mean the Kamek Blockers and the Kamek Offset Sprite.
@tehaxor69:
Creating custom Sprites 1FD 1FE and 1FF seems to be impossible (or hard, at least). So I've used the unused Sprites 1E1, 1E3 and 1F3. The pointer space for the Sprites from 1F5 to 1FF seems to be used for some Sprite code already. Maybe by using some free space in bank $03 (if there is some), it would be possible to use those pointers, too. Anyways, I got the Sprites to work.
Also, any news?
Yes, In addition to the overworld editor I am also adding a editor for the rotating 3D stuff in the title screen back ground


Title Screen 3D BG editing

Here are the addresses for the sprites/ rotating objects

ROM 0x87124-0x872DF -World 1-5
ROM 0x87361-0x87460 -Completed world 6

There are 4 bytes per object
Object format OO XX ZZ YY

OO = Object
XX = X cord
YY = Y cord
ZZ = Z cord

The cords all start from the center and move out from there.

Object list
0x00 = None
0x01 = Big Mountain
0x02 = Medium Mountain
0x03 = Small Mountain
0x04 = Tower with red pointy top
0x05 = Red castle large
0x06 = Volcano
0x07 = Small green mountain
0x08 = Flat raised green pain
0x09 = Small light gray castle
0x0A = Bigger small light gray castle
0x0B = Smaller green mountain
0x0C = Tiny light gray building
0x0D = Yoshi House?
0x0E = Ruble
0x0F = Green Tree

0x10 = Blue/Red fungus?
0x11 = Small brown tree
0x12 = Small green tree
0x13 = Brown tree
0x14 = Light gray ruble
0x15 = Cloud
0x16 = Buildings on cloud
0x17 = TNT Plunger?
0x18 = Grass
0x19 = Fungus?
0x1A = Small gray mountain
0x1B = path dot?
0x1C = White particle -frame 1
0x1D = White particle -frame 1
0x1E = White particle -frame 1
0x1F = White particle -frame 1

0x20 = White particle -frame 1
0x21 = White particle -frame 1
0x22 = White particle -frame 1
0x23 = Seagull -frame 1
0x24 = Seagull -frame 2
0x25 = Seagull -frame 3
0x26 = Seagull -frame 4
0x27 = Seagull -frame 5
0x28 = Seagull -frame 6
0x29 = Seagull -frame 7
0x2A = Seagull -frame 8
0x2B = Yoshi
0x2C = Yoshi
0x2D = Yoshi
0x2E = Yoshi
0x2F = Yoshi

0x30 = Yoshi
0x31 = Yoshi
0x32 = Yoshi
0x33 = Yoshi
0x34 = Yoshi
0x35 = Yoshi
0x36 = Yoshi
0x37 = Yoshi
0x38 = Yoshi
0x39 = Yoshi
0x3A = Yoshi
0x3B = Yoshi
0x3C = Yoshi
0x3D = Yoshi
0x3E = Yoshi
0x3F = Yoshi

0x40 = Yoshi
0x41 = Yoshi
0x42 = Yoshi
0x43 = Yoshi
0x44 = Yoshi
0x45 = Yoshi
0x46 = Yoshi
0x47 = Yoshi
0x48 = Yoshi
0x49 = Yoshi
0x4A = Yoshi
0x4B = Yoshi
0x4C = Yoshi
0x4D = Yoshi
0x4E = Yoshi
0x4F = Yoshi

0x50 = Yoshi
0x51 = Yoshi
0x52 = Yoshi
0x53 = Yoshi
0x54 = Yoshi
0x55 = Yoshi
0x56 = Yoshi
0x57 = Yoshi
0x58 = Yoshi
0x59 = Yoshi
0x5A = Yoshi
0x5B = Vine with white top
0x5C = small vine with white top
0x5D = 2 fungus
0x5E = Large shroom
0x5F = Small shroom

0x60 = Curled plant
0x61 = Pointy rock
0x62 = Small rock
0x63 = Small rock dark 1
0x64 = Small rock dark 2
0x65 = Small house
0x66 = Tall shroom 1
0x67 = Tall shroom 2
0x68 = Tall shroom 3
0x69 = Tall shroom 4
0x6A = Tall shroom 5
0x6B = Blank
0x6C = Dark tree
0x6D = Dark tree small
0x6E = Castle ruble
0x6F = Small ruble

0x70 = Dark building
0x71 = Dark building small
0x72 = Grey Castle
0x73 = Red wide castle
0x74 = Explosion 1 -palette flashes
0x75 = Explosion 2 -palette flashes
0x76 = Explosion 3 -palette flashes
0x77 = Explosion 4
0x78 = Explosion 5
0x79 = Explosion 6
0x7A = Explosion 7
0x7B = Explosion 8
0x7C = Explosion 9
0x7D = Explosion 10
0x7E = Flag 1
0x7F = Flag 2

0x80 = Flag 3
0x81 = Flag 4
0x82 = Flag 5
0x83 = Flag 6
0x84 = Flag 7
0x85 = Flag 8
0x86 = Flag 9
0x87 = Flag 10
0x88 = Flag 11
0x89 = Flag 12
0x8A = Cloud
0x8B = Yoshi -radiating 1
0x8C = Yoshi -radiating 2
0x8D = Yoshi -radiating 3
0x8E = Yoshi -radiating 4
0x8F = Yoshi -radiating 5

0x90-0xFF Garbage

Some objects are hardcoded like the Yoshi, Seagull, Volcano Smoke, Y-Flags, and ruble, but are still easy to edit.

These are the addresses for the ground tilemaps

Light
ROM 0x1F9A00
ROM 0x1F9DFF

Dark
ROM 0x1F9E00
ROM 0x1FA1FF

Edit:
Here are the tile map sets, these can be found in the ALLGFX 0x144E40, using codec 4bpp linear, reversed-order
and in ram at 0x7E8BBE, using codec 8bpp linear.

Light


Dark


I took the time to put the maps together

Light


Dark


As for the overworld map editor

Right now it supports:
BG 1 Editing
BG 2 Editing
BG 3 Editing
Yoshi position Editing

Hacks:
Fix green Yoshi offset bug
World limitation hack -support for easy 1-5 world setup
Change event triggers like the darkword and others
Can edit the Mini-Game code button sequence

Not done yet:
Yoshi walk paths.
Assign different palette indexes to Yoshis
Add icons to blank buttons
Add preview to world selector
Make GUI better looking
And others as I think of them.





Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Wow, you are quite industrious, tehaxor69! So you are going to make an all-round map editor for Yoshi's Island! That sounds (and also looks) great, tehaxor69! Sorry, in case I didn't see it, but does it also feature an explosion-relocator, then, so you can move the castles around? I've seen the explosion-objects, but will they also trigger the actual explosion on the spot you set them?
Also, interesting the game has 8BPP GFX. I thought it would only have SNES 4BPP and GB 2BPP.
Wow, this was unexpected.

The title screen BG/sprite editing should be very useful to me in the future. (Especially if there ends up being an editor for that, though I might be looking too far ahead.)

By the way, if you don't mind taking another random offset request, could you find how to change the rows of tiles affected by the title screen logo's ripple effect (or remove it entirely)?

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
To prevent the ripples from working, but keep the color effect, change
Edit:ROM 0x0B8A5B from 0x85 to 0x64.
To kill both, change ROM 0x0B8A53 from 0x20 to 0x00.

HDMA color table
ROM 0x1FCE2E-0x1FCEAD



NEW 3D Editor

I have 3D renders from my program, it was easier to create than I thought, still a ways to go.





I used shading for the following ones-


Reminds me of the trees in SM64-



I hope to have this done before Spring, definitely before the Summer.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
This is definitely coming along very good!
Is the World Map editing feature portion of the program done already?
Well, either way, if you give the hacker the opportunity to view the island from all sides, it might be a good idea to add a button or hotkey to the program, so the island is viewed from its initial angle again, as it is in the game. The bird's eye view might be good for having an overview, but it's not how it looks in the game, so bringing the view back to how the actual player sees it when he plays the game, would be an important feature, I think.
Originally posted by Yoshis Fan
Is there a collision-effect code for the big fireballs Bowser shoots at Yoshi? At the moment, the fireball makes Yoshi lose Baby Mario. I think it would be a bit more logic, if the fireball would be an instant-kill like the lava for example. So Yoshi starts smoking and and flies out of the screen, when hit.


It took me while to track down the information for that, cause those flags were hidden in FX-Registers, but here are three hacks.
The first one works exactly as you have requested,
the second one works with all enemies -burnt type death,
the third one works with all enemies -spike type death.

Instant Bowser Kill IPS
Sudden Death IPS
Sudden Death Alt IPS

The second two are just to make the game really challenging, if you want to make such a hack.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Originally posted by Yoshis Fan
Is there a collision-effect code for the big fireballs Bowser shoots at Yoshi? At the moment, the fireball makes Yoshi lose Baby Mario. I think it would be a bit more logic, if the fireball would be an instant-kill like the lava for example. So Yoshi starts smoking and and flies out of the screen, when hit.

Why would the fireballs need to be instant death?

(They pretty much are already instant death for players who care about 100 points. And for players who don't, it doesn't seem fair to me to change it.)

–=–=–=–=–=–=–
Advynia: a Yoshi's Island editor - Alyssa's Unlikely Trap demo 3
I have some questions about the animation of the Middle Ring sprite. For one thing, what are the X and Y offsets of each of the stars that make it up (displacement from the base position)? What determine which frame they each show? And what are their speeds as they spread out?

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
@tehaxor69:
Very nice, thanks a lot! They all work as intended, but would it be possible to make them play the original K.O.-scene? When one of Bowser's fireballs hit Yoshi, he still makes the "lose-baby-Mario" sound, then flies off the screen. Is it possible to make it play the original lava-death scene?

@Zeldara:
C'mon, seriously, how easy is it to dodge Bowser's fireballs? He's the final boss, he must be very challenging. (Especially in a hack, that is intended to be harder than the original game.)
I could also think about other things to make the battle harder, but those would be hard to implement, for example a life-meter. Once the battle against the big Bowser starts, Yoshi has a life-meter that equals the number of stars left. It looks exactly like the star count, but the number itself is a different color (so the thing itself uses a different palette). It never vanishes throughout the whole Big Bad Baby Bowser battle. For each hit, the number is decreased by 10. If it reaches 0 or lower, Yoshi goes K.O. After the fight, you get one point for each health-point left (So if you still got 30 you can get 100pts). Something like this. But I doubt anyone is willing to code such a thing.
@imamelia

I have been looking into that and also for the end level goal, it is controlled by the FX chip so it will take longer to hack.

@Yoshis Fan
I don't see why that couldn't be done, and I wanted to add a timer element to the game, like in SMW.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
I said it would be hard to make it and much work, too, not that it would be impossible. I just thought nobody would ever want to take the time to code such a thing. The timer thing in SMW always was a thing, that annoyed me somehow, but some hackers might want to have one.

("Small" digression: What's the deal with the green red coins, anyway? Golden Egg says the bit length of code executed is incorrect, thus they shouldn't be used... Romi said it's easy to fix the sound effect thing, but he didn't mention how to do so. The palette can be fixed by editing the Map16 tiles at ROM 0xCD4A2 so this [40 0E 41 0E 42 0E 43 0E] becomes [40 0A 41 0A 42 0A 43 0A]. Then the sound played must be fixed and the code of the Magnifying Glass must become the same as the code of some other Bonus Card (this way the code of the Magnifying Glass itself can be left unchanged, saving time and effort), f.e. the Watermelon (would be good, if a simple pointer change could do this). Sorry for pushiness.)
EDIT: In the GBA version the Magnifying Glass has got the effect, that it simply changes the palette of the Red Coin objects. This effect can be achieved by changing 0xCD4A2 to [40 06 41 06 42 06 43 06]. The coins then look EXACTLY like in the GBA version with used Magnifying Glass effect.
To fix the sound effect,
change: ROM 0x0061EF from [01 1A] to [EA EA]

I have tried changing the palette before, but the pipes use the same one.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Thank you, tehaxor69, thanks a LOT!! It works! (Doesn't it have any side-effects?) The only thing left to do for the red coin objects to function perfectly is the thing with the Magnifying Glass; there are two options.
But what do you mean by the pipes use the same one? Don't the pipes use a green color? Or do you mean pipes would also become red?

*Edit*
It has a side effect: Object Xtended 16, the red coin in a stump won't work anymore. The game crashes, once you ground-pound the stump...

*Edit2*
I've found a quite simple way to fix that thing:
I've copied the string from ROM 0x61E2 to 0x61EE and the string from 0x61F1 to 0x6216 and pasted it over some random free space at 0x7B00. Then I went to 0x6174 and changed it to [00 F9]. X16 and the red coin objects both work perfectly now. Thank you, tehaxor69! Without your Offset I would never had an idea what to do.
But there still is another thing: The red coin objects still don't play the "all-coins-get" sound.
Here is a patch that corrects both sound effects, and prevents X16 from crashing. Green-Red Coin fix IPS

It looks like Nintendo wrote some code already for the green-red coins, but never finished.

I guess hijacking the routine that updates the tiles would be the best way to get the magnifying glass to work.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.
Thank you so much, tehaxor69! From what I can tell, this time everything works! It plays the correct sound every time and also the "all-coins-get" sound.

And about the Magnifying Glass...
Would it be possible to make the game replace the "green" red coins with another Map16 tile? As far as I know there are plenty of unused Map16 tiles in the ROM. Or must the routine that updates the tiles be hijacked? But aside from that it already applies to the red coin sprites. Is a different coding required to make them change their palette or could some of the code be adapted and used for the coin-objects?

*Edit*
Updated the GBA -> SNES Todo file.


*Edit*
I just had a glimpse on the SMW custom sprites and saw, that some SuperFX sprites from YI were ported to SMW, which doesn't use a SuperFX chip.
So actually this could be used in order to un-SuperFX sprites like doors, lava bubbles and bullet bill cannons, no?
SMW custom sprites video
Here is a patch that makes the snowball only use 1/2 FX memory
Snowball FX mod IPS

I'm also working on a way to allow more than 5(4 + Mario) FX sprites at a time.
Working on Super Mario World 2 - Yoshis Island Boss Rush
Other projects on hold.

Resource