News:

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

Main Menu

Hex tweak submission

Started by begrimed, December 16, 2010, 05:08:55 PM

Previous topic - Next topic

Quote58

Sooo, just thought I'd toss in here
086F10   E0 04 00 -> E0 ?? ??
That's the number of echoes samus has behind her, so if you want more or fewer, change that.

Quote58

#51
sorry for the double post, but here's another thing.
There's no tweak for changing the amount of damage done when shinesparking (because it simply DECs her health), but if you would like to have it /not/ damage her, here you go.
$0850CE CE C2 09 -> EA EA EA
$085129 CE C2 09 -> EA EA EA
$0850FD CE C2 09 -> EA EA EA

EDIT: already on the site, sorry. (though in a different way, as the ones on the site change the DEC to an LDA)

Quietus

Actually, those are already listed, though they're listed as 'Super Jumps' - a term that hasn't been used for shinesparks in a looong time. :^_^:

Prime Hunter

#53
NORFAIR RIDLEY 2.0

All of these were found through Kejardon's old Ridley AI documentation. They should be accurate based on my notes, but if something's off let me know.


132174
7A 0F to 7A EA

13217A
7E 0F to 7E EA
Change these to have Ridley start wherever he's placed in SMILE. He'll still fly to the far left after his initial attack


132186
AA 0F to ?? ??
X component of flying speed

132189
AC 0F to ?? ??
Y component of flying speed


13219E
40 00 to ?? ??
Highest Y position Ridley can reach

1321A5
A0 01 to ?? ??
Lowest Y position Ridley can reach (includes starting height? initial liftoff messes up if you make this lower)

1321AC
40 00 to ?? ??
Farthest left X position Ridley can reach

1321B3
E0 00 to ?? ??
Farthest right X position Ridley can reach


1321C1
78 00 to ?? ??
Damage of tail


1332F4
40 00 to ?? ??
Target X position for initial attack (bytes are reversed)

1332F7
00 01 to ?? ??
Target Y position for initial attack (bytes are reversed)


133456
C0 00 to ?? ??
Target X position to activate right to left U Swoop (bytes are reversed)

13345F
40 00 to ?? ??
Target X position for activate left to right U Swoop (bytes are reversed)


13335B
40 38 to ?? ??
Check for this HP value before next part of AI begins [2nd stage] (bytes are reversed)

133382
28 23 to ?? ??
Check for this HP value before next part of AI begins [3rd stage] (bytes are reversed)


133BEB
40 00 to ?? ??
00 00 to ?? ??
D0 00 to ?? ??
Locations that Ridley tries to bring Samus to when she's grabbed?


ANIMATION SPEEDS

1366F6: 08 to ??
Turn from left to right

13670C: 08 to ??
Turn from right to left


13674C: 05 to ?? (launch 1st)
136754: 05 to ?? (launch 2nd)
13675C: 05 to ?? (launch 3rd)
136764: 05 to ?? (launch 4th)
13676C: 30 to ?? (close mouth)
136784: 05 to ?? (launch 1st)
13678C: 05 to ?? (launch 2nd)
136794: 05 to ?? (launch 3rd)
13679C: 05 to ?? (launch 4th)
1367A4: 30 to ?? (close mouth)
Fireball attack, facing left

1367C2: 05 to ?? (launch 1st)
1367CA: 05 to ?? (launch 2nd)
1367D2: 05 to ?? (launch 3rd)
1367DA: 05 to ?? (launch 4th)
1367E2: 30 to ?? (close mouth)
1367F8: 05 to ?? (launch 1st)
136800: 05 to ?? (launch 2nd)
136808: 05 to ?? (launch 3rd)
136810: 05 to ?? (launch 4th)
136818: 30 to ?? (close mouth)
Fireball attack, facing right


RIDLEY FORGOT HOW TO USE EMBER... AND... RIDLEY LEARNED FLAMETHROWER!

13673A to 136827


17 E5 B4 E7
Check if facing left or right

D2 E4 AC E7 08 00 83 E9 BE E4 08 00 C7 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 03 00 E9 E9 4D E8 04 E9 06 00 E9 E9 08 00 C7 E9 CA E4 01 00 83 E9 2F 81 EA EA EA EA EA EA EA EA
"Flamethrower" while facing left

D2 E4 20 E8 08 00 A5 E9 BE E4 08 00 0B EA 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 03 00 2D EA 4D E8 04 E9 06 00 2D EA 08 00 0B EA CA E4 01 00 A5 E9 2F 81 EA EA EA EA EA EA
"Flamethrower" while facing right

Scyzer

Quote from: Prime Hunter on April 18, 2014, 07:20:49 PM
132174
7A 0F to 7A EA

13217A
7E 0F to 7E EA
Change these to have Ridley start wherever he's placed in SMILE. He'll still fly to the far left after his initial attack

132186
AA 0F to ?? ??
X component of flying speed

132189
AC 0F to ?? ??
Y component of flying speed

These need to be fixed. The values you gave are for RAM addresses, and changing them to something you shouldn't can break things. You are not preventing the write/read of data, you are just changing where it is going.
If you look one byte backwards for those addresses you'll probably see an $AD (LDA) or $8D (STA); you need to include this part in your changes when it refers to an address. The hex change for addresses should mostly be "XX YY ZZ to EA EA EA" or "XX YY ZZ to 80 01 ZZ".

Prime Hunter

Huh, guess I got lucky then when I was tinkering around with those and they gave me the effect I was looking for. I'll have to take a closer look at them later. Thanks for the heads up.

Kitsune_Phoenix

#56
*deleted post*

Quietus

Or you could just apply the patch, and witness it for yourself. :^_^:

Quote58

So, I noticed that ridely does not function outside of norfair (or ceres depending on which version of ridley is being used), but that it'd be an easy thing to change. So, if you want ridley to activate in an area other than norfair and not have the room hexplode, here's what to change.

At each of the below locations, change 9F 07 C9 02 to 9F 07 C9 ??
where ?? is the area index value. Ie. 00=Crateria
--> 13215D, 132425, 13245A, 132479, 135915, 13593C, 135F8B, 1364D3 <--
Those locations are where his AI LDY $079F (region number) and compares with the area value.


Kitsune_Phoenix

#59
*deleted post*

Quietus

But downloading and extracting one would take you less time than typing the question and waiting for a reply. :heheh:

Kitsune_Phoenix

#61
*deleted post*

Quietus

All of them?  That's one fussy computer. :whoa:

JAM

A super tweak from me.

10272F
Change 89 10 00 to AD 76 0A
Triple effect.
1. Separate Hyper Beam vulnerabilies for enemies. Field Charge/Hyper/Special in vulnerabilities window in SMILE will be used only for Hyper Beam.
2. Join the beams charged and uncharged vulnerabilies. If some enemy is immune to Spazer, for example, it can't be hit with Charged Spazer, but can be hit by Charged Plasma.
3. Special Beam Attack is mixed with the same beams.

Kitsune_Phoenix

#64
*deleted post*

personitis

No. EA simply means "No operation" and does nothing at all. I'm going to take a wild, educated guess, and say that the three values before the last setup the check for which area he must be in to properly load him. In other words, Super Metroid does not have 234 areas (EA in decimal), only 8. :P

Kitsune_Phoenix

#66
*deleted post*

personitis

With the proper tweaks/coding, of course it's possible. That's the beauty of using assembly to modify the game. Though, the difficulty of doing so depends on how you go about coding it and how far you want to take the idea.

Quote58

#68
Person is correct, as was stated in the post. If you want him to work in any area you need to change the operation before it, however you may need to change other code as well. I only needed to change his location, so I changed that value since it was the fastest method.

Mettyk25jigsaw

Hi, It is Possible and I have successfully done it myself, there are probably other ways but there is a negative with mine.

Negative = Each new Ridley would have to take up a full extra bank (eg, number of extra Ridleys wanted = 5 = 5 new banks you would need to use) I do not know if this would worry you, it may well do.

Instructions for the interested...This is how to do 1 new Ridley in another world and still have him in Norfair, repeat steps to do each other new Ridleys (paste to a new bank again though for more ['der' I spose])...

1. Copy bank $A6 over to a bank that has completely free space, eg banks E0 to FF.
2. Now instead of going to '13215D' go to 'ZZ 21 5D' where 'ZZ' is the bank where you pasted the data to. Change this byte to the world you now want the new Ridley to go into and do the same thing to the other 7 stated locations stated by 'Quote58' NOTING that 13245A is wrong, it is actually 13246A.
3. Make a clone of Ridley and inside the DNA of the cloned Ridley, change the bank in the first window of the DNA up the top to the equivelant bank you pasted the data to.
4. Download and patch 'JAM'S patch called 'FF events and tubes' Patch and use an unused event bit to use as Ridleys event using the DB44 PLM. Also have Ridley marked as '01' enemies to clear room inside enemy editor down the bottom left. Use the event state E6 12 (12 E6 in rom) as your alternative state and one byte after that 12 E6 bytes (in rom) put the same event bit as you used in the "DB44 PLM. In the event 1 state showing inside Smile, have a enemy population pointer that will give 0 enemies inside room and of course you have to have the cloned ridley inside standard state.
5a. Make sure you left bank $A6 data there as you still need bank $A6 for cloned Ridley.
5b. Make sure Ridleys world location bytes you have changed in the new banks for cloned Ridleys remain as '02' inside Bank $A6 so you can still use the uncloned Ridley for Norfair.

Reason I have done it in my game? = I have a 6 mb rom and am using the extra space in those last 2 MB for cloned Ridleys, music data, enemy GFX tiles, BG data & Scroll PLM special scrolling data on which only Snes9x emulators will only be able to play my game with the exception of 1 particular version of Zsnes emulator done by Fusoya...Smile does not need to recognize these lots of material, so I can dump them here, (except for BG data, which I have repointed after finishing modifying).

People may not want to use like 5 banks to have Ridley in every world (or 7 if you are using ceres and Debug) but I thought I would put the instructions here in-case some people are interested.



Quote58

Quote from: Mettyk25jigsaw on June 07, 2014, 09:45:51 PM
other 7 stated locations stated by 'Quote58' NOTING that 13245A is wrong, it is actually 13246A.
Woops, that was a typo sorry. Thanks for pointing it out!

personitis

Making multiple Ridley clones sounds like a ginormous waste of space and time when you could simply do some reworking around where the area checks are in his AI to make him work in any area. Then again, I haven't extensively poked around his AI, but I would assume that as long as nothing else would fall apart by changing bytes at the addresses listed by Quote, my plan of execution would work fine.

Oh well. What do I know? :neutral:

Kitsune_Phoenix

#72
*deleted post*

Mettyk25jigsaw

Yeah I get what you mean Person701, I agree completely. As for me though since I have an extra 2 megabytes of rom with a total of 6 megabytes on which I'll probably use no more than half of that extra space, it would be appropriate for me to do it, but I thought I would instruct people on 1 way it can be done if a couple a people didn't worry about it , as I mentioned the waste of space thing in my negative part of the idea in my first post and I can imagine it would be too big a negative for most people.
      If I didn't have the extra 2 MB, there would only have to be one ridley in my game for that very reason, I need that space for level data. In saying all this I am only having 3 extra Ridleys in my hack---Crateria, Debug and ceres plus the original Norfair Ridley. Although what sucks a little, is something that can't be helped and am in no way criticising, is that I would of liked to be only 1/4 or so through my hack when I found out I could do this, but as I said that is no-ones fault, it's totally left down to chance. Anyway being about 70% way through my level design, and the way I am designing it makes it so that I have to have all 4 Ridleys in that last 30%...Oh well, life goes on...
      1 last thing is, I also agree, if someone could figure out a way where Ridley can be used in every world in a different way but uses little extra space, it would be waaaaaaay much better than my idea.

Metaquarius