Mega Man X Legacy Collection 2

Mega Man X Legacy Collection 2

View Stats:
acediez Aug 13, 2018 @ 9:11pm
Mega Man X6 Tweaks for MMXLC2 (sort of)
Hello, I'm the author of the Mega Man X6 Tweaks[www.romhacking.net] mod recently released for the PS1 version of the game.

From day 1, I've had requests about doing the same for MMXLC2's version. Unfortunately, it's not that simple. The game is compiled differently (obviously), so all instruction-based modifications would have to be rewritten from scratch, and I'm not the most qualified person to do it. I've never modded a PC game before.

My first goal here is to direct anyone more knowledgeable who might be interested in hacking this game to the documentation I wrote for my project[www.romhacking.net]. While the instructions won't be the same, it should help as a guide on how the game handles the things we like to change. I'd be more than happy to guide you through the stuff I worked on.

Until then, here's the good news: there are *a few* modifications based on simple value tables within the game, which are stored exactly the same in this version. And since I want people to support this release more than anything, here it is! All I can offer for now.

I'm not able to make a patcher tool at the moment though (I'm knee-deep into another unrelated project), so grab an Hex editor, you're gonna do these yourself.

If you've never done this before, don't be intimidated. Just grab HxD[mh-nexus.de], it's gonna be as simple as following these steps:

- Ctrl+G: Go to offset. Check "Hex" mode, offset from beginning. Paste the offsets I'll give you, and you should find the base values I'm providing.
- Ctrl+B: While Ctrl+V is a "add-paste", Ctrl+B is a "overwrite-paste". Use this to replace the values I provide. Make sure you're selecting the Hexadecimal side of the window (the one in the middle) at the right address (check the status bar at the bottom)
- If you don't know exactly what a byte is, just think of it as a PAIR of digits. For example, 0F27 is 2 bytes.

Also:

- DO THESE AT YOUR OWN RISK. I DON'T KNOW WHAT EFFECT DOES THIS HAVE ON ACHIEVEMENTS AND OTHER STUFF
- There's a chance the address offsets I'm looking at aren't the same for the current version of the game, so if that happens, just use the find tool of HxD (Ctrl+F) and look for the "Base values" I provide. I don't even own the Steam version (I got it for PS4), so I don't have access to a legit copy of the executable. If you feel generous, you can change that

Now, here we go:


  • Nightmare Effects:

Offset:
2DD7264

Base values:
030707 040404 020808 030508 040707 010505 020606 010606

These are eight 3-byte identifiers the game uses to assign which Effects are triggered after visiting a certain stage.
Replacing them with zero means visiting that stage won't produce any effects.
Use this to remove the ones you hate the most.
The order is: C. Yammark, B. Wolfang, B. Heatnix, M. S. Player, G. Scaravich, R. Turtloid, S. Sheldon, I. Mijinion

"X6 Tweaks" values (Not really):
000000 000000 020808 000000 000000 000000 000000 000000
I actually removed all of them on my hack, because I was able to isolate the one unlockable that needs an effect to 100% the game and removed the requirement.
This modification here would remove all Effects except the one needed for said unlockable.


  • Parts per Rank allowance table:

Offset:
2DD7220

Base values:
0403020201000000 0101010000000000
The first set of 8 bytes is, in descending order, the number of Regular Parts you can equip on each Rank (UH, PA, GA, SA, A, B, C, D)
The second set is the number of Limited Parts you can equip on each Rank.

"X6 Tweaks" values:
0404030202010101 0101010100000000
With this, you can start using Parts from the start (the minimum for Regular Parts is 1) and will get to each upgrade one Rank earlier.
You can set values above 4 for the regular Parts, but the menus will act funny.
You can't equip more than 1 Limited Part in-game even if you equip more in the Stage Select screen menu.


  • Soul requirement per Rank table:

Offset:
2DE99A4

Base values:
0F27 8813 B004 2003 F401 2C01 C800
Each byte pair is the number of souls needed to reach a Rank. They're in descending order (UH, PA, GA, SA, A, B, C). I'm not counting D, which is obviously 0000.
If those don't look like number to you, it's because they're Hexadecimals in Little Endian form. This means you'd have to flip the pairs (0F27 is actually 270F), and convert THAT to Decimals (270F = 9999. You can use Windows' own Calculator in Programmer mode to make these convertions).
So, in ascending order, the above progression table is: 0/200/300/500/800/1500/5000/9999

"X6 Tweaks" values:
A00F C409 B004 2003 F401 2C01 C800
These only modifies the requirement for the two last Ranks. In ascending order: 0/200/300/500/800/1500/2500/4000
Of course, following the above instruction, you can set them to whatever you want.
If you use this together with the boss level per rank table modification below, you should be able to fight Nightmare Zero Lvl.4 between 2500~3000 souls (which unlocks Black Zero, but is unreachable in the original game. More info here[www.themmnetwork.com]. I haven't tested if it works in this version though).


  • Boss level per Rank table:

Offset:
2DC8C68

Base values:
03 03 02 01 00 00 00 00

Each byte represents a Rank (in descending order: UH, PA, GA, SA, A, B, C, D).
Each number represents a boss level (03 = Lvl.4, 02 = Lvl.3, 01 = Lvl.2, 00 = Lvl. 1)

"X6 Tweaks" values: It's untouched.
Instead, I increased the Souls requirement for the events that unlock the final stage and disables the Nightmare Zero fight. However, I can't do that here, so you may want to lower the Rank/Level table by one step, like:
03 03 03 02 01 00 00 00
That way you'll be able to reach Lvl.4 bosses ar rank GA (1500 souls, if you didn't change it above)


  • Damage table: Nightmare Snakes (aka The Donut, Blaze Heatnix's entire stage sub-boss)

Offset:
2DDAB48

Base values:
00010002 0005FF00 00050005 00040200 00020001 00040008 FF000008 00080008 00020008 00040004 0004FF00 0008FF00 00030003 00050002 00020002 00020002 00020005 FF000005 00060003 00020002 00020002 00040002 00080001 00040008 00040004 00030003 00010005 0001007F 00030008 00040004 000F0005 000F0003 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00007F

These are 80 pairs of bytes, one for each attack in the game.
The first byte means either damage (00) or no effect (FF). The second byte is the actual damage value.
I haven't identified each individual attack yet (it's pretty easy with a PS1 debugger, I just haven't had the need to, I modified the whole thing instead).

"X6 Tweaks" values:
00040008 0014FF00 00140014 00100800 00080004 00100020 FF000020 00200020 00080020 00100010 0010FF00 0020FF00 000C000C 00140008 00080008 00080008 00080014 FF000014 0018000C 00080008 00080008 00100008 00200004 00100020 00100010 000C000C 00040014 0004007F 000C0020 00100010 003C0014 003C000C FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00007F

Here all the values are buffed up by x4.


  • Damage table: Nightmare Mother (Gate's Lab 1 boss)

Offset:
2DDA5A8

Base value:
00020005 0003FF00 00060003 FF000200 FF000002 00030003 FF000008 0003FF00 0003FF00 00050005 0005FF00 0008FF00 00030003 00060003 00030003 00030003 00030003 FF000008 00030003 00030003 00030003 FF000003 FF000002 00040008 00030002 00030003 00020003 0004007F 00040008 00040004 000F0005 000F0004 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00007F

"X6 Tweaks" values:
0004000A 0006FF00 000C0006 FF000400 FF000004 00060006 FF000010 0006FF00 0006FF00 000A000A 000AFF00 0010FF00 00060006 000C0006 00060006 00060006 00060006 FF000010 00060006 00060006 00060006 FF000006 FF000004 00080010 00060004 00060006 00040006 0008007F 00080010 00080008 001E000A 001E0008 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00FF00 FF00007F

Here all the values are buffed up by x2.


...

Well, that's it for now.

I know it's a rather underwhelming list of things to hack compared to the original project, and I'm sorry it doesn't include some of the more important options (like making dead injured Reploids always reappear, or enabling the Exit Stage button permanently), but I'm sure someone well-versed in Cheat Engine can get there. Check the documentation I linked above.
Last edited by acediez; Aug 17, 2018 @ 6:07am
< >
Showing 1-14 of 14 comments
Zombie Aug 13, 2018 @ 9:17pm 
I saw your update last week. Really good stuff dude. It's still one of my least favorite X games but you've done a hell of a job smoothing out the rough edges
Vanacutt Aug 15, 2018 @ 2:20am 
Thank you, these tweaks are pretty good.
this are the type of things that would make X7 more enjoyable, like every character getting the life+ shared at least.

I'm already done with X6, but when I do play again, this time with zero I'm going to try that.
holy smokes! this is amazing!
Andrea Aug 16, 2018 @ 10:26pm 
cringe
MCPShephard Aug 18, 2018 @ 9:25pm 
Thanks for your contributions to the scene! Hopefully the community can fix whatever Capcom ends up leaving behind.
Snorenado Jan 1, 2019 @ 12:21am 
I wanna bump this because I just got LC2 in hopes that OP's hack can be inserted into the game somehow someday and want to give it more visibility in case anyone else is interested. I have no clue how to handle it myself, even the HxD method seems intimidating.
Clawlesslion Jan 3, 2019 @ 5:06pm 
la raja, gracias.
Kaed✩Wolf Apr 8, 2019 @ 6:08pm 
Thank you very much for these tweaks! I tested "Parts per Rank allowance table", "Soul requirement per Rank table" and "Boss level per Rank table". Finally fought Zero Nightmare level 4 and unlocked Black Zero! The achievement "Blackout" (Defeat an enemy as Black Zero) unlocked just fine. :mmx2::mmx_zero::life_up::mmx:
https://steamcommunity.com/sharedfiles/filedetails/?id=1707567736
https://steamcommunity.com/sharedfiles/filedetails/?id=1707567849
Snorenado Apr 10, 2019 @ 6:44pm 
Acediez has made even more progress since then, MMX6 is looking better than ever with their tweaks. https://www.romhacking.net/forum/index.php?topic=26507.360
Kaed✩Wolf Apr 10, 2019 @ 7:56pm 
Originally posted by Snorenado:
Acediez has made even more progress since then, MMX6 is looking better than ever with their tweaks. https://www.romhacking.net/forum/index.php?topic=26507.360
That's awesome! I hope that some day these changes can be made for MMXLC2 too. :life_up:
El Milos Jul 25, 2020 @ 7:52pm 
Originally posted by Kaed✩Wolf:
Thank you very much for these tweaks! I tested "Parts per Rank allowance table", "Soul requirement per Rank table" and "Boss level per Rank table". Finally fought Zero Nightmare level 4 and unlocked Black Zero! The achievement "Blackout" (Defeat an enemy as Black Zero) unlocked just fine. :mmx2::mmx_zero::life_up::mmx:
https://steamcommunity.com/sharedfiles/filedetails/?id=1707567736
https://steamcommunity.com/sharedfiles/filedetails/?id=1707567849

Hello, I am new to HxD but familiar with Hex editing, can you share the location of the savefile and how to open on the editor to proceed with the replace of values?
Kaed✩Wolf Jul 25, 2020 @ 8:28pm 
Originally posted by El Milos:
Hello, I am new to HxD but familiar with Hex editing, can you share the location of the savefile and how to open on the editor to proceed with the replace of values?
You must open the game's executable through a Hex Editor (the RXC2.exe file, inside the game main folder steamapps\common\Mega Man X Legacy Collection 2). If I remember correctly, with Hex Editor Neo, I simply used CTRL + F, checked to search for Type: Hex - BYTE, searched for the "Base values" and replaced them with the "X6 Tweaks values" provide by acediez, saved the changes in a new RXC2.exe file, and run the game.
Last edited by Kaed✩Wolf; Jul 25, 2020 @ 8:46pm
Says in the description that X and Zero now share stats and you get more souls from a part. Why have them share stats? Doesn't that make the game too easy? Also, why didn't you go ahead and have Megaman be called Rockman and Maverick to Irregular?
Last edited by SaviorAssassin1996; Apr 20 @ 12:04am
Originally posted by SaviorAssassin1996:
Says in the description that X and Zero now share stats and you get more souls from a part. Why have them share stats? Doesn't that make the game too easy? Also, why didn't you go ahead and have Megaman be called Rockman and Maverick to Irregular?
It depends on how easy you want to make it. And changing the names isn't something everyone wants to do.
< >
Showing 1-14 of 14 comments
Per page: 15 30 50