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 Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Bouncing turtle shell for SMB2 (ASM?) OPEN hack! | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Ice Ranger

Leever
Level: 23

Posts: 122/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-09-05 11:55 PM Link | Quote
Is it possible? Why else would I do this:



Yes! I found out how to use FCEUXD's tracer logger to my advantage. I found out how to make the turtle shell bounce back after hitting something (yes, even though Acmlm didn't make it public (on 12/31/2004), I found it ). I don't know if I should call this an ASM hack even, I just changed the where the JSR went. (or is that ASM ?) Anyway, I was really surprised how simple it was to do.

Change the offset 0x0058BC to be A9 9E.

A9 9E is where the routine will jump to cause the sprite to flip back the other direction (in other words, bounce off) when it hits something that should cause it to disappear .

I would have changed the sound, but I couldn't find anything that worked better than the orginal (it sounds weird for a Birdo egg shot or a subspace door appearing. That offset is 0x0058B7 (for the sound the reflect makes) set to 00 for no sound.

It's simple, but here's a link smb2shellbounce.zip. But there is a better one below (or if you feel like a TRUE SMB fan ). Get that one instead.

I will be using this in my TEK hack.

As far as I know, no one has did this yet (except Acmlm), but I went ahead and made this open for everyone to use since iamhiro1112 wanted it in my 5 cherries gives invincibility thread when I asked for some other stuff to hack.

EDIT - Fixed some grammar.


(edited by Chill Penguin on 04-09-05 06:59 AM)
(edited by Chill Penguin on 04-09-05 07:20 AM)
(edited by Chill Penguin on 04-09-05 08:16 AM)
iamhiro1112

Armos
Level: 35

Posts: 367/487
EXP: 259927
For next: 20009

Since: 03-27-04
From: sd

Since last post: 18 days
Last activity: 7 days
Posted on 04-09-05 11:58 PM Link | Quote
Sweet dude. Im definately gonna try that. Shell riding is fun in this game but the ride ends too soon.
Rockman

Flurry
Level: 26

Posts: 171/250
EXP: 96387
For next: 5888

Since: 03-17-04

Since last post: 18 days
Last activity: 16 days
Posted on 04-10-05 12:27 AM Link | Quote
Nice work. You are starting to really get the hang of ASM hacking.
Ice Ranger

Leever
Level: 23

Posts: 123/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-10-05 12:33 AM Link | Quote
Eh, I've got to fix something... going to make it hurt you when hit from the side (not from the top, though I did figure out how to make it hurt you altogether). I'll fix it... or should I just post it as a link as well? I don't think it keeps true to SMB games if it doesn't hurt you after bouncing back.

Heh, now I know that I'm doing something right Rockman .
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 1724/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 04-10-05 12:37 AM Link | Quote
Wow, good job Chill, starting to really get good with the asm hacking.
Ice Ranger

Leever
Level: 23

Posts: 124/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-10-05 01:09 AM Link | Quote
Well, here's one for TRUE SMB fans [DON'T USE: I changed the code in a wrong way, the hawkmouth will hurt if you press against it, along with many other sprites that shouldn't):

smb2shellbouncehurts.zip

Whipped it up in about 5 more minutes .

Here's screen shots of it:


Surfing on a shell.


But don't run into it while it's traveling.

The offset I modified for this was 0x007AC4 replacing the code with a JMP (which the game also uses) for getting hit by an enemy (a Ninja was where I got the address from). I replaced the first few bytes with the JMP to B9FC then a RTS follwed by NOPs.

4C FA B9 60 EA EA EA EA EA EA EA EA EA EA


(edited by Chill Penguin on 04-13-05 06:42 PM)
DahrkDaiz

Red Super Koopa

Acmlm's Mosts 2005
Best ROM Hacker

Level: 45

Posts: 596/885
EXP: 643520
For next: 16644

Since: 03-15-04
From: K-Town

Since last post: 4 hours
Last activity: 4 hours
Posted on 04-10-05 02:58 AM Link | Quote
I must say, Im quite impressed with how you're coming along Chill Penguin. I hope with all this practice, you can create a nice, full fledge hack with many extra features in it. Just keep up the pace and you'll be up there at the top in no time
iamhiro1112

Armos
Level: 35

Posts: 368/487
EXP: 259927
For next: 20009

Since: 03-27-04
From: sd

Since last post: 18 days
Last activity: 7 days
Posted on 04-10-05 03:39 AM Link | Quote
Allowing you to be hit by the shell is a good idea too. Cause this game needs some challenge anyway. Your making the my personal favorite kinda hacks. Added features but no new levels. If there were ever any future updates to the smb2 editor I think that this could be a good addition. As in have a selection of premade patches built into the editor. The castlevania editor Stake has that feature. I don't know who wouldn't want to use a bouncing shell in their super mario 2 anyway.


(edited by iamhiro1112 on 04-09-05 10:42 AM)
Ice Ranger

Leever
Level: 23

Posts: 127/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-10-05 01:12 PM Link | Quote
Found a problem with the way I did things (well, having it hurt you when from the side). It also affects all the other sprites that acted similar to how the shell did (key, bombs, orb). Apparently, that's where the code jumps to whenever you touch the shell from the side, I just need to switch the JMP (or is it JSR) when the shell makes contact. I must have missed where the jump is. I'll need to fix this, it's a major pain to get hurt by things that shouldn't now. Where I have the JMP now goes to where an enemy hurts you. The same must be true for the other types (or at least which sprites hurt you from the side compared to all sides [Porcupo, Panser, all the bosses except Birdo]).

I'll try to search in the next couple of days or weeks (mainly whenever I get time again). I knew it was too easy for 5 minutes later .

For now, go ahead with the original bouncing shell.
iamhiro1112

Armos
Level: 35

Posts: 371/487
EXP: 259927
For next: 20009

Since: 03-27-04
From: sd

Since last post: 18 days
Last activity: 7 days
Posted on 04-10-05 10:49 PM Link | Quote
If your feeling lazy just draw some thorns or a jagged edge on the side of keys. Kidding. I hope u find what you are searching for.
Ice Ranger

Leever
Level: 23

Posts: 130/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-12-05 11:06 PM Link | Quote
Rockman said he'd help me look into it for right now. I changed it so it doesn't hurt you... for now (just to make testing a lot of other stuff easier).

Now, I figured out the routine for what item you get after you grab a 1-up in a level. Get greedy? How about a "BOMB!" explosion? Heh, no warning, you just get blown up for that. I don't know, it seemed like a better idea than a small vegetable.

Anyway, that offset is 0x0010DF change the value to something else there. It uses sprite values (not level values) so 01 is a red shy guy, 09 is a bomb-omb (but it explodes immeditately), 32 is the small vegetable (the next couple over are just like pulling a regular item up to 3A). The rest are assorted sprites or crash the game. Eh, just use Acmlm's SMB2 Discombolator to find what you're looking for.


(edited by Chill Penguin on 04-12-05 06:09 AM)
iamhiro1112

Armos
Level: 35

Posts: 380/487
EXP: 259927
For next: 20009

Since: 03-27-04
From: sd

Since last post: 18 days
Last activity: 7 days
Posted on 04-14-05 11:34 AM Link | Quote
So, you fix the shell then?
Ice Ranger

Leever
Level: 23

Posts: 134/183
EXP: 60462
For next: 7261

Since: 03-16-04

Since last post: 82 days
Last activity: 3 days
Posted on 04-15-05 11:58 AM Link | Quote
Originally posted by iamhiro1112
So, you fix the shell then?


No, just use the first one. I ran into a lot of problems with it hurting you (as I've mentioned), so it's going to take awhile to figure it out.

Also, after reading the thread of Pixel Mario, I found this relatively easy to do as well.

Originally posted by Heran_Bago
Explosive shells.


Simple, but I don't feel like making an IPS patch this time. Just change the same offset I mentioned before (0x0058BC) and change the values there to 05 91. Your shell will explode upon impact.

Meaning the code will JSR to $9105 instead of $91B0. $9105 is the routine of a bomb exploding. $91B0 is the routine of the original disappearing act the shell did.


(edited by Chill Penguin on 04-14-05 07:00 PM)
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Bouncing turtle shell for SMB2 (ASM?) OPEN hack! | |


ABII


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



Page rendered in 0.006 seconds.