Language…
11 users online: codfish1002, eltiolavara9, GiraffeKiller, Ice Man, koffe190, LazyRuns, RicardoDeMelo, sinseiga, SirGabe, yoshi9429, YuriGamer - Guests: 256 - Bots: 375
Users: 64,795 (2,375 active)
Latest user: mathew

Yoshi hack

Hey, I'm planning a future hack where you play as Yoshi. I'm not planning on changing Mario into Yoshi, though, as he wouldn't have the same powers as him. So what I'm looking for is:

Always have Yoshi.
Doesn't lose Yoshi when hit.
Can't jump of Yoshi. <- I think this one exists, not too sure though.
Life counter. <- I know this one exists.
Flutter-jump. <- I know this one exists too.

So you see, I'm either removing Mario completely or merging his graphic with Yoshi's and the way to die is to lose all lives. From there I'll look into making Yoshi's eat/spitting more advanced, but not at the moment.

Is there any way to do this or is there even a patch for this already?

Thanks.
Originally posted by KTurbo
Hey, I'm planning a future hack where you play as Yoshi. I'm not planning on changing Mario into Yoshi, though, as he wouldn't have the same powers as him. So what I'm looking for is:

Always have Yoshi.
Doesn't lose Yoshi when hit.
Can't jump of Yoshi. <- I think this one exists, not too sure though.
Life counter. <- I know this one exists.
Flutter-jump. <- I know this one exists too.

So you see, I'm either removing Mario completely or merging his graphic with Yoshi's and the way to die is to lose all lives. From there I'll look into making Yoshi's eat/spitting more advanced, but not at the moment.

Is there any way to do this or is there even a patch for this already?

Thanks.

This is actually a good idea.

Well, life counter and flutter jump do exist. Your correct.
Can't jump off Yoshi does partially exist in the form of 'Spin jump disable', however you would still loose Yoshi if you died, for example.

To do this properly I'd imagine you need ASM.
I imagine not losing Yoshi when hit would be pretty easy to accomplish without ASM. As for having Yoshi all the time would be something like changing the byte which tells if you have Yoshi in the start of the level. I'm pretty new to this and I haven't looked too much into it, this was pretty much an idea I pitched a few days ago.
There are a few bytes in the ROM Map that could be changed to do something like this, like 052D5 which controls whether or not Yoshi is lost when you fall down a pit.
What I've found that could be useful for this so far:

$7E:187A 1 byte Yoshi Riding Yoshi Flag (0=No, 1 or 2=Yes)

I already tried storing 01 to that Address using LevelASM, and the result was... well, interesting:

You seem to be riding Yoshi, although he isn't visible, not even on the OW. If you jump on enemies, it will always be a spin jump, just as if you were riding Yoshi. You can also touch enemies from the sides and bottom without getting hurt. You can't use his tongue either, and if you stand on platform sprites, you'll stand one tile above it.
If you get Yoshi from a ?-Block, Mario will have the "Riding Yoshi" pose, but he'll fall through the ground. If you manage to jump on Yoshi before his message shows up, Yoshi will disappear, though Mario still seems to be riding him. You still can't use his tongue though.

So... No, that's not what you want. :/


 
Oh, that's too bad. :( Back to square one.

I also just now found another obstacle to overcome. The FlutterJump patch (The A_Yoshi one) is not very good. It doesn't work with Yoshi, you can pretty much flutterjump through the whole level if your timing is right and you can still flutterjump after you've touched the ending pole and I'm sure there are more things that I've missed.
Edit: Found another fault with the flutterjump patch, you can flutterjump even when you die.

Edit: I've been looking around for some gameshark/gamegenie codes and found an interesting one:

Effect: Always Have Yoshi
Code: 7E0DC101

^ That basically means that you start every level with Yoshi. If I only knew how to make that into something useful. :P
It means address 7E:DC10 set to 1 gives you Yoshi.
Also, to use Yoshi, just set FF to $78 to get rid of Mario (he won't show) instead of blacking out GFX32. Just write a patch that does that and you'll be good...perhaps instead of stopping Mario from getting off Yoshi, just make the level exit without activating anything (cause disabling getting off Yoshi would mean that you have a invincible Yoshi on your hands.)

However, I don't know about the flutterjump...


EDIT: Just tried that cheat, it doesn't seem to work.
Originally posted by Maxx
It means address 7E:DC10 set to 1 gives you Yoshi.
Also, to use Yoshi, just set FF to $78 to get rid of Mario (he won't show) instead of blacking out GFX32. Just write a patch that does that and you'll be good...perhaps instead of stopping Mario from getting off Yoshi, just make the level exit without activating anything (cause disabling getting off Yoshi would mean that you have a invincible Yoshi on your hands.)

However, I don't know about the flutterjump...


EDIT: Just tried that cheat, it doesn't seem to work.


Strange how it worked for me, several time with different roms... :/

Nah, he wouldn't be invincible I just have to make the life counter take a hit even though you're on Yoshi. And when the counter is at 0 he would die anyway.

Edit: I tried using the tool which converts game genie code to HEX, I changed the value 914A09 to 7E and something interesting happened. The "100-sec-left" sound played over and over and the music just kept getting faster and faster, not just one time or two times faster. You should try it out. :P

Anyway, that didn't work.
smwcentral iconFor the health patch, it is in the patches section, the "SMW Health Bar - Final Version" one. To modify the patch, refer to the asm file in there.
As for the flutter jump, you could try to use the one I made. (The: "(xkas) Flutter Jump V1" one.) To enable the flutter jump on yoshi, you should remove the:
Code
    LDA $187A
    BNE Return

I originally inputed that part of the code because the poses looked wierd on yoshi. As for the flutter jump working in the wrong places, you could add a little section that looks like:
LDA $???? ;address for the "wrong areas"
CMP #$?? ;value that creates the "wrong areas"
BNE Reset ;or Return, it depends on how you'd like it.

Here's an example, for disabling it after the goal:
Code
LDA $1493;the address that ends the level.
BNE Reset;the address works in several/a few ways

around this part:
Code
    LDA $77
    AND #$04
    BNE Reset
    LDA $75
    BNE Return
    LDA $74
    BNE Return
    ;preferably here.
    LDA $187A
    BNE Return

Hope this helps.
You know, it would be cool if someone made a sword sprite(s) and released it to the public. That would help a lot of people........ Now that I think about it, that would be perfect for C3! (Not that I could program a sword sprite)