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 Super Mario World hacking: labmaster | 3 guests
Acmlm's Board - I2 Archive - Super Mario World hacking - Found code for gravity and jumping. | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
rubixcuber

Red Goomba
Level: 12

Posts: 3/46
EXP: 6125
For next: 1796

Since: 10-13-04
From: St. Louis, MO USA

Since last post: 331 days
Last activity: 293 days
Posted on 10-16-04 04:24 AM Link | Quote
At offset 5B30 in the rom:
A57D3014D9AFD79003B9AFD7A672F008E00BD004A22486721879A5D7857D

Is how the game does gravity for mario.
Changing A57D to A57B and 857D to 857B will cause gravity to pull horizontally, changing 79A5D7 to F9A5D7 will reverse the direction of gravity, changing 79A5D7 to EAEAEA will disable gravity, and changing 79A5D7 to 79A2D7 causes a somewhat neutral gravity where you can lower mario by holding jump.


I haven't looked into the jump code, but I know that the 857D at offset 5866 is the store instruction in the jump function, so 857B causes mario to jump to the left instead of up.

Hope this helps someone.

-I also have a question, if I want to use my own function for gravity by using a jump, how does the long absolute jump work? Like if I want to jump to 0B:BBBB and then return?


(edited by rubixcuber on 10-15-04 09:22 PM)
gnkkwinrrul

Dry Bones
Level: 39

Posts: 284/647
EXP: 402054
For next: 2717

Since: 03-15-04
From: LYKEOMGIMFROMSOMEPLACE????

Since last post: 81 days
Last activity: 40 days
Posted on 10-16-04 05:06 AM Link | Quote
whoamg. I'll have to use this
Escherial

Shyguy
Level: 17

Posts: 64/90
EXP: 20866
For next: 3877

Since: 03-15-04
From: Pasadena, CA

Since last post: 202 days
Last activity: 38 days
Posted on 10-16-04 05:56 AM Link | Quote
Use JML for "jump long" (can specify an absolute address, if you like); use RTL to return from a long jump (i.e. at the end of your code).
rubixcuber

Red Goomba
Level: 12

Posts: 4/46
EXP: 6125
For next: 1796

Since: 10-13-04
From: St. Louis, MO USA

Since last post: 331 days
Last activity: 293 days
Posted on 10-16-04 06:19 AM Link | Quote
yah, i thought it was jml and rtl, but i havent gotten it to work. i'm editing directly in hex so i had tried something like 220B BBBB and then 6B to return, but the screen always goes black. i'll keep messing with it though


(edited by rubixcuber on 10-15-04 09:21 PM)
gnkkwinrrul

Dry Bones
Level: 39

Posts: 288/647
EXP: 402054
For next: 2717

Since: 03-15-04
From: LYKEOMGIMFROMSOMEPLACE????

Since last post: 81 days
Last activity: 40 days
Posted on 10-16-04 06:46 AM Link | Quote
keep trying and tell us when you fix it
Keikonium
Banned
Level: NAN

Posts: 743/-2459
EXP: NAN
For next: 0

Since: 04-02-04

Since last post: 63 days
Last activity: 9 hours
Posted on 10-16-04 07:29 AM Link | Quote
So let me get this straight:
Pull horizontally makes mario move horizontally without or with moving him first? Or does it just make you go faster when moving?

For reverse gravity is that mean that up is down and down is up? If so SOMEONE MAKE IT A CUSTOM BLOCK FOR ME!!!

And for disabled gravity, can you move at all?
Alastor the Stylish
Hey! I made a cool game! It's called "I poisoned half the food, so if you eat you might die!" Have a taco.


Level: 114

Posts: 2407/7620
EXP: 16258468
For next: 51099

Since: 03-15-04
From: Oregon, US

Since last post: 2 hours
Last activity: 2 hours
Posted on 10-16-04 08:03 AM Link | Quote
Originally posted by Keikonium
So let me get this straight:
Pull horizontally makes mario move horizontally without or with moving him first? Or does it just make you go faster when moving?

For reverse gravity is that mean that up is down and down is up? If so SOMEONE MAKE IT A CUSTOM BLOCK FOR ME!!!

And for disabled gravity, can you move at all?
Pull horizontally makes him BE PULLED HORIZONTALLY BY GRAVITY. Could you possibly think a little? And of course reverse gravity does that, but it wouldn't affect graphics so you'd be upside down and it'd look hideous, and it may (not certain of this) screw with jumping even if you included the reverse the way you jump bit. Also. You want a custom block of it, make it yourself. I don't care if you don't know ASM, you need not be so damn greedy As for the disabled gravity: It doesn't affect your ability to move except that you don't fall. I'm not certain about the way jumping works, it may or may not have jumping propel you indefinitely...


(edited by Kratos Aurion on 10-15-04 11:04 PM)
(edited by Kratos Aurion on 10-15-04 11:05 PM)
rubixcuber

Red Goomba
Level: 12

Posts: 5/46
EXP: 6125
For next: 1796

Since: 10-13-04
From: St. Louis, MO USA

Since last post: 331 days
Last activity: 293 days
Posted on 10-16-04 08:31 AM Link | Quote
to gnkkwinrrul: no, no, the things i describe work but i am trying to make a custom block to change the direction of gravity and was having problems with causing a black screen, if you just do the hacks as describe you can change gravity through the whole game

to Keikonium: i am working on a custom block and can make it public at some point. with the disabled gravity you can move horizontally, but when you jump you keep going up until you hit something
Alastor the Stylish
Hey! I made a cool game! It's called "I poisoned half the food, so if you eat you might die!" Have a taco.


Level: 114

Posts: 2408/7620
EXP: 16258468
For next: 51099

Since: 03-15-04
From: Oregon, US

Since last post: 2 hours
Last activity: 2 hours
Posted on 10-16-04 09:36 AM Link | Quote
Tell me. With gravity reversed will you be able to jump if the jump is set in reverse? That is to say, you would jump backwards... I think it would be possible to temporarily overwrite the data with what you've shown, but I'm not certain... Additionally, would it be possible to add graphics data for an upside-down Mario to be loaded when the gravity is flipped, or possibly just to flip the graphics over the x axis? Because it wouldn't be of much use if you couldn't jump and if you were standing on your head at the time, except for forcing Mario to move upward, and there are already blocks that do that.


(edited by Kratos Aurion on 10-16-04 12:38 AM)
rubixcuber

Red Goomba
Level: 12

Posts: 6/46
EXP: 6125
For next: 1796

Since: 10-13-04
From: St. Louis, MO USA

Since last post: 331 days
Last activity: 293 days
Posted on 10-16-04 09:56 AM Link | Quote
I'm working on rewriting the gravity and jumping code in the game to check a variable and change directions depending on the value, and you would be able to jump left if gravity is to the right, etc. As soon as I complete that, I intend to rotate mario's gfx as well. When all or part is complete, I'll post again, but no guarantees on how soon.
Smallhacker

Green Birdo

SMW Hacking Moderator
Level: 68

Posts: 654/2273
EXP: 2647223
For next: 81577

Since: 03-15-04
From: Söderhamn, Sweden

Since last post: 10 hours
Last activity: 9 hours
Posted on 10-16-04 02:14 PM Link | Quote
Yay! Really interesting. I'll play around with it later.
blackhole89

LOLSEALS
Moderator of ROM hacking
EmuNET IRC network admin
Head GM of TwilightRO
Level: 47

Posts: 366/971
EXP: 739208
For next: 26995

Since: 03-15-04
From: Dresden/Germany

Since last post: 14 hours
Last activity: 12 hours
Posted on 10-16-04 02:30 PM Link | Quote
Concerning the jumps,

if there is any assembler that supports JML, DON'T USE THAT. Just jump means, your current address is not put into RAM. Use JSL (Jump Subroutine Long or JSR with a 24 bit parameter (depends on your current assembler)) and RTL (Return Subroutine Long).
In hex, your example (jump to 0B:BBBB) would be 22 BB BB 0B. Or, to make it even more clear, a jump to 0A:BCDE is 22 DE BC 0A. RTL, as you said, is 6B.

Have fun,
~Blacky.

Someguy

Buzzy Beetle
It seems as though the girl you've fallen for is also a pyromaniac.
Level: 32

Posts: 102/397
EXP: 193329
For next: 13113

Since: 03-15-04
From: I'm proud to be an American... I think...

Since last post: 1 day
Last activity: 5 hours
Posted on 10-16-04 09:31 PM Link | Quote
Originally posted by rubixcuber
I'm working on rewriting the gravity and jumping code in the game to check a variable and change directions depending on the value, and you would be able to jump left if gravity is to the right, etc. As soon as I complete that, I intend to rotate mario's gfx as well. When all or part is complete, I'll post again, but no guarantees on how soon.


I thought that the SNES didn't naturally support rotating without certen modes, hence the need for rotated graphics for the triangle blocks. I may be wrong, or you may know of a way to add something like what YI used, or possibly just hack the whole animation system to allow a set for normal and sideways gravities.
gnkkwinrrul

Dry Bones
Level: 39

Posts: 294/647
EXP: 402054
For next: 2717

Since: 03-15-04
From: LYKEOMGIMFROMSOMEPLACE????

Since last post: 81 days
Last activity: 40 days
Posted on 10-16-04 09:58 PM Link | Quote
I believe all you would have to change would be some extra mario sprites that are him upside down...not all the graphics
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 1792/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 10-17-04 01:31 PM Link | Quote
*drool*

You can do X/Y flips, but you'd have to do some TSA re-arrangement for it to look right. I dunno how he intends to do sideways, though. This'd be so cool... I'd do it if he wasn't.
Smallhacker

Green Birdo

SMW Hacking Moderator
Level: 68

Posts: 669/2273
EXP: 2647223
For next: 81577

Since: 03-15-04
From: Söderhamn, Sweden

Since last post: 10 hours
Last activity: 9 hours
Posted on 10-17-04 01:55 PM Link | Quote
You know what would be perfecty to do with this info? Super Mario Space Adventure!
blackhole89

LOLSEALS
Moderator of ROM hacking
EmuNET IRC network admin
Head GM of TwilightRO
Level: 47

Posts: 369/971
EXP: 739208
For next: 26995

Since: 03-15-04
From: Dresden/Germany

Since last post: 14 hours
Last activity: 12 hours
Posted on 10-17-04 02:53 PM Link | Quote
For that, you would have to add some vertical movement code (for gravity wouldn't work anymore...).

Actually, I was playing around with gravity already for a long while, but using a different method (BMF's palette hook installed subroutine applying its own gravity). Horizontal gravity could btw be used as wind (that's what I did with it,too).
Keikonium
Banned
Level: NAN

Posts: 746/-2459
EXP: NAN
For next: 0

Since: 04-02-04

Since last post: 63 days
Last activity: 9 hours
Posted on 10-18-04 03:09 AM Link | Quote
You know what would be perfecty to do with this info? Super Mario Space Adventure!

I was actually making a hack with this kind of theme (thats why I was so interested in this info and asked someone to make me a block). With my first hack, SME (Super Mario Era), when bowser is beaten, he will fly to the moon and thats where the second story begins. It will probably be called SME2: BMB (Bowser's Moon Base) or something like that. Thats why low gravity is essential for my next project (which wont be for awhile).
Alastor the Stylish
Hey! I made a cool game! It's called "I poisoned half the food, so if you eat you might die!" Have a taco.


Level: 114

Posts: 2423/7620
EXP: 16258468
For next: 51099

Since: 03-15-04
From: Oregon, US

Since last post: 2 hours
Last activity: 2 hours
Posted on 10-18-04 03:26 AM Link | Quote
Have you played Paper Mario 2? Make him team up with Grodus while at the moon
rubixcuber

Red Goomba
Level: 12

Posts: 7/46
EXP: 6125
For next: 1796

Since: 10-13-04
From: St. Louis, MO USA

Since last post: 331 days
Last activity: 293 days
Posted on 10-18-04 03:52 AM Link | Quote
Actually, the space adventure wouldnt be too hard, the 79A5D7 to 79A2D7 modification I mentioned does almost that. Even though there's no gravity, you can control your direction by holding th jump button. It's not perfect though and with some work you could probably achieve a better version of it.
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Super Mario World hacking - Found code for gravity and jumping. | |


ABII


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



Page rendered in 0.032 seconds.