News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Disabling Wall Climb - is it possible?

Started by StardustVenom, January 12, 2013, 07:19:14 PM

Previous topic - Next topic

StardustVenom

I'm not sure where to post this and this is my first thread but I searched the site 3 or 4 times and couldn't find anything but I was wondering if anyone knows how or if you can disable wall climbing (going straight up walls) and not the wall jump?

If anyone knows I would love the help. Sorry if this is posted in the wrong place.
Thanks for reading.

Black Soldier

#1
You're going to have to change the wall jumping physics a bit. Those values listed below are for unheadered ROMs. Open up a hex editor (get HxD from the main site if you don't have one).

From the Hex Page on the main site:
Quote82049 - 01 to ??
Speed at which Samus moves left/right through the air after performing a walljump. 00 = slower, 01 = standard, 02 = slightly faster, etc. (found by Black_Falcon)

Increase that value.

Quote81ED1 - 04 to ??
Walljump height. 03 = lower, 04 = standard, 05 = higher, etc.

81EDD - 05 to ??
Walljump height (with high-jump boots). 04 = lower, 05 = standard, 06 = higher, etc.

Reduce those values. Also, test your ROM to see if your changed values are what you want.

Edit:
Quote81ED5 - 02 to ??
Walljump height in lava/acid without Gravity suit. 01 = lower, 02 = standard, 03 = higher, etc.

81EE1 - 03 to ??
Walljump height in lava/acid without Gravity suit (with high-jump boots). 02 = lower, 03 = standard, 04 = higher, etc.

Reduce those values to whatever you feel works. The walljump height in water w/o Gravity is already at 00.

StardustVenom

Quote from: Black Soldier on January 13, 2013, 12:28:59 AM
You're going to have to change the wall jumping physics a bit. Those values listed below are for unheadered ROMs. Open up a hex editor (get HxD from the main site if you don't have one).

Quote82049 - 01 to ??
Speed at which Samus moves left/right through the air after performing a walljump. 00 = slower, 01 = standard, 02 = slightly faster, etc. (found by Black_Falcon)

Quote81ED1 - 04 to ??
Walljump height. 03 = lower, 04 = standard, 05 = higher, etc.

81EDD - 05 to ??
Walljump height (with high-jump boots). 04 = lower, 05 = standard, 06 = higher, etc.

Quote81ED5 - 02 to ??
Walljump height in lava/acid without Gravity suit. 01 = lower, 02 = standard, 03 = higher, etc.

81EE1 - 03 to ??
Walljump height in lava/acid without Gravity suit (with high-jump boots). 02 = lower, 03 = standard, 04 = higher, etc.

Reduce those values to whatever you feel works. The walljump height in water w/o Gravity is already at 00.

Thanks for the reply. That's what I've been doing but it doesn't seem like that solves the wall climbing issue I have. All I've done by fooling with physics and the heights and speed of wall jumping is making it harder and that's a good start for me. I go through with a hex editor trying to find little things here and there but nothing that would totally disable wall climbing without removing the wall jump. I don't know much about ASM yet but I'm hoping to get there because I hope to accomplish disabling the wall climb until the screw attack is obtained or something like that. but I have a ton of ideas, non of which I know how to employ yet lol

TheAnonymousUser

81D87 - 22 7F 96 94 to EA EA EA EA
81DAC - 22 7F 96 94 to EA EA EA EA
(straight from the main site)

This one completely disables walljumping altogether. If you can't find what you're looking for on the forum, try looking through the hex page of the main site; it's full of useful (and interesting) tweaks.

StardustVenom

Quote from: TheAnonymousUser on January 13, 2013, 05:31:25 AM
81D87 - 22 7F 96 94 to EA EA EA EA
81DAC - 22 7F 96 94 to EA EA EA EA
(straight from the main site)

This one completely disables walljumping altogether. If you can't find what you're looking for on the forum, try looking through the hex page of the main site; it's full of useful (and interesting) tweaks.

Starred at it for a good four hours and still going strong. Unfortunately that disables wall jumping according to the hex section and not the wall climb. What I'm trying to prevent is straight upwards wall climbing like you see in speed runs and normal game play. I appreciate the response though! and yeah it was filled with awesome stuff. There were things I wish it had though. Like changing the palettes of beam weapons or changing the functions of them but that just leaves stuff for me to discover on my own, which is always a blast

Zero One

Straight upwards wall climbing? That's just single-wall walljumping. I don't see why that hex tweak wouldn't work, but correct me if I'm wrong.

MetroidMst

Quote from: Zero One on January 13, 2013, 08:04:47 AM
Straight upwards wall climbing? That's just single-wall walljumping. I don't see why that hex tweak wouldn't work, but correct me if I'm wrong.
From what I gather, he wants walljumping in the hack, just not the single wall walljumping.

StardustVenom

Quote from: Zero One on January 13, 2013, 08:04:47 AM
Straight upwards wall climbing? That's just single-wall walljumping. I don't see why that hex tweak wouldn't work, but correct me if I'm wrong.

Quote from: MetroidMst on January 13, 2013, 08:29:56 AM
From what I gather, he wants walljumping in the hack, just not the single wall walljumping.

Yeah I want wall jumping. Wall Climbing or single-walljumping or whatever its called now-a-days would be nice if I could find a way to get rid of it. Not having it requires more interesting level design and I've always found it way too abusable but the physics changing idea that BLS (Black Luster Soldier. Anyone that's every played Yu-gi-oh can tell lol) is working so far. but I'm still curious if it would be possible to disable walljumping and use ASM to attach it as a function to the screw attack and kinda get a Metroid prime thing goin there?

Drewseph

In Redesign I too wanted to try to limit 1 wall jumps as much as possible.  a fix I did at the time was to slow down the speed more moving in mid air.  This made jumping without reaching full speed feel real sluggish, and in retrospect was a bad design.

For Axeil I have not entirely removed 1 wall jump, but I have made a code which will do what you want it to do.  the downside is that its pretty sloppy, and customized for Redesigns existing code changes, so is not useful as a stand alone code, but here's what you should do.

Firstly I Hijack the wall jumping routine so that the moment samus wj's, I save 2 things, her X location in the room, and the direction she is wjing.  I then hijack the NMI routine and check this direction byte with will be '0' whenever she is not wall jumping.  it is also STZ'ed when she starts falling.

Once I see that she ahs wj'd and I have the direction, I then compare her X distance NOW, to the X distance she was when the WJ began.   if  the distance is smaller than a specified amount, then I TURN OFF the left/right/shooting buttons until she has reached that maximum distance.  thus samus cannot turn around to 1wj until she's X tiels away from the wall.

you will probably have to hijcack a few other momentum routines so that samus doesn't stop in mid air when you let go of all the buttons on the controller though.

I hope this was helpful...

Black Falcon

Quote from: StardustVenom on January 12, 2013, 07:19:14 PM
I'm not sure where to post this

Questions like this go into the Engine Works board.
If you have a question try looking if someone else already asked for it there.
You might find something you can make good use with.  :^_^:

Quote from: Drewseph on February 21, 2013, 12:47:31 PM
you will probably have to hijcack a few other momentum routines so that samus doesn't stop in mid air when you let go of all the buttons on the controller though.

Actually all you need to do is to override the button input routine in that very moment you start walljumping. If you do this, the buttons are still recognized as hold, even if you aren't holding them, also new input will be ignored, too, so if you let go all the buttons, Samus would still have momentum.
If Samus reached the maximum distance you mentioned, enable the button input again, so Samus loses momentum when no buttons are pressed.
I think that's what was done in Fusion. You however need to insert certain exceptions, maybe only make it ignore input from left, right and shoot buttons.
Just a raw concept, but I'm sure this could actually work.