News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Mega Man X6 Tweaks/Patcher (v06)  (Read 7003 times)

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Mega Man X6 Tweaks/Patcher (v06)
« on: June 14, 2018, 12:32:30 am »


Mega Man X6 Tweaks



Tweaks to make Mega Man X6 more enjoyable.
Starting from v05, this patch comes in two versions:

Light: Various tweaks without cutting any content. Recommended for a first playthrough.

- Parts and Injured Reploids are no longer permanently missable. Will reappear after getting infected or killed as if you've never encountered them.
- Modified Parts allowance per Rank table (so you can equip at least one Part as soon as you get one) and reduced souls requirement for higher Ranks.
Considering you only get 200 souls for each defeated boss, and get 4-8 for each orb obtained, you'll probably spend most of the game barely equipping anything (unless you grind orbs, or know the game beforehand and go straight to fighting Dynamo several times, which is just as tedious). I edited the table so you don't spend more than 1-2 stages without being able to equip something, and then building up linearly from there within numbers you'll get by playing normally
- Final levels won't unlock until you reach 3500, allowing you to fight Nightmare Zero Lvl.4 after reaching rank PA (which is now set to 2500 souls).
The game is coded so Nightmare Zero would appear as Lvl.4 if you encounter him with a Rank of PA or higher. Beating him in Lvl.4 has the effect of unlocking Black Zero instead of regular Zero, no cheat code needed.
This is however blocked by the event that enables the final stages when you reach 3000 souls (which is less than the 5000 souls you need to grind to reach rank PA). Once the final stages are unlocked, you can't encounter Nightmare Zero anymore.
By changing these requirements, you now have a 2500-3500 souls window to encounter Nightmare Zero Lvl.4
- X and Zero share Life and Energy bar upgrades, so you don't have to pick who gets what.
- X and Zero share Souls collected and Rank, so whoever gets Souls and finished stages, it adds to a common final Rank.
- Remapped Zero's Sentsuizan (from Up + Main attack to Up + Secondary Attack). Hack made by Z3R0X


Complete: A heavier cut of annoyances and other tweaks. Recommended for repeated playthroughs.

- All modifications from the Light version.
- Disables all "Nightmare Effects" (hazards on stages activated by the previous stage visited)
- "Exit Stage" button always available
- Disables Alia's alerts and other dialogues inside stages (all except dialogues with bosses)
- Disables Stage Select screen dialogues inside stages
- All injured Reploids not holding any items are marked as "RESCUED" at the start of the game, drastically reducing the number of Reploids clogging stages (keeping only the ones that matter).
- Disables injured Reploids giving extra lifes. Instead you get a consistenly higher number of lives (from 2 normal/4 with EX Tank, to 4 normal/6 with EX Tank).

Note: older versions of this patch decreased the amount of Souls to get a Rank instead of allowing the use of parts in lower ranks. This was changed to preserve difficulty scaling (gettings Ranks earlier would also gives bosses higher levels a bit too early).

All these options, and others, can be completely customized using the Mega Man X6 Tweaks Patcher.
Also, all the information required to make these and other changes manually can be found on the Mega Man X6 Tweaks Spreadsheet.

DOWNLOAD (v05)
Format: xdelta
Target: "Mega Man X6 (USA) (v1.1)", "REDUMP" release.

Changelog:
v05
- Completely remade using the new patcher.
v02
- Fixed a bug on the injured Reploids modification where getting Reploids attacked/killed would glitch their entries on the report list in the stage select menu until you rescued them.
v01
- Initial release.




Mega Man X6 Tweaks Patcher



The previous patch is designed as a base project of stuff I think most people would call an improvement. However further customization can be done with this tool I'm releasing alongside it.

This includes:

Extra Lives/Continues customization:
Extra lives are weird in Mega Man X6. You earn them by rescuing reploids, but that means you'll easily reach the 9 lives cap at the very start of the game, and get very few by the end of it.
Also, this is probably the only Mega Man X game where you can get stuck and forced to kill yourself to get out of the stage if you don't have the right armor/parts equipped, so even if you manage to save a lot of lives for a difficult part, you may end up being forced to lose all of them.
Worst of all, in most places (at least in the 8 main stages), a "continue" will take you back to the same checkpoint as losing an extra life, so extra life are almost irrelevant anyway.
While there isn't an obvious way of how to address this, with this tool you can try a few things to shake things up, for example:
- Rise the 9 lives limit (up to 99) so you don't lose any extra lives you get from rescuing several reploids.
- Make available number of lives consistent by disabling getting extra lives from rescuing reploids, and setting a higher base number of lives instead.
- Disregard them completely, make them infinite. Just add the ability to exit stage anytime so you don't get stuck.

Dialogues skipping:
If you're not particularly interested of every single little bit of lore, or have played the game multiple times already, you may find the constant beeping for dialogues with Alia a bit annoying. Here you can disable them, plus a couple of others instances of "first run explanations":
- The first, long, dialogue in the Stage Select screen after you finish the intro stage.
- The explanation of what Nightmare Souls are during Mission Report after you get the first one.
The "other in-game dialogues" option covers two instances thare are written in a different routine than the main one for Alia's dialogues. These are the injured reploids in the introduction stage, and the dialogue at the start of Infinity Mijinion's stage.
Activating all of the above will render the game free of in-stage dialogue, except for the dialogues with bosses, which are preserved in all cases.

Nightmare Effects:
Disable Nightmare Effects individually, all of them, or in any combination. Includes necessary modifications to not leave a certain secret area unreachable.

New Game Status (Parts, Rescued Reploids, Armors, Upgrades):
Start a New Game with a pre-filled list of Parts and rescued Reploids (marked as rescued, dead, or whatever you like).
I made this option because I think the number of Reploids in stages is a bit excessive (and a bit distracting), so I like to filter out the ones that don't hold any items (which also tend to be the ones in plain sight, so they're not even fun to collect).
Yon may also choose to start the game with any Part, or with any character/armor available from the start.

A general note: Most of these tweaks are there to cut "content". My opinion is that this game has too much padding on top of it to make it longer than it should, and for all the wrong reasons (forced restarts, missable items, excesive grinding, unnecessary "helpful" dialogues, etc). While this doesn't fix the game's worst problems, it helps to shave off some unnecesary frustration, specially for succesive playthroughs.

DOWNLOAD (v06)
Target: "Mega Man X6 (USA) (v1.1)", "REDUMP" release.
Run your patched image through STARWIN's EDC/ECC Recalculator after patching. Otherwise, you might have some problems with real hardware or the more accurate emulators.

Disclaimer:
The patcher has little to no error handling. Make sure your BIN file and directory is accessible before using, and that your inputs make sense (ex.: have Souls requeriments in ascending order; don't get yourself stuck by enabling "infinite lives" without enabling "always Exit Stage", etc.). I also recommend patching outside of synced folders (Dropbox, Google Drive), or at least pausing those services during patching.
I'm not an experienced coder, this was written in AutoHotkey and released as-is, so in case you have any problem with the patcher or want to build on top of this and/or write your own version of the tool, a spreadsheet with all the information to do these edits directly on an Hex editor is available below.

Changelog:

v06
- (Fix) Shared Souls and Rank would cause the Souls explanation on the Mission Report screen to be skipped (even if the option to skip it wasn't selected).
- (Fix) Wrong default Souls value for Rank SA (900 instead if 800)
- (New) Contributions by Z3R0X: Hyoroga and Shador Armor's jump height, and X's saber duration.
- (New) Contributions by injoon84: Be able to cancel Shadow Armor's saber with a dash.

v04f/v05
- (Fix, hopefully) Fixed a problem with Life and Energy parts on the Shared Stats options that was affecting playthroughs on PSP
- (New) Added input modification for Sentsuizan. Thanks to Z3R0X for this contribution!
- Additional notes added.
v04e
- (Fix) Slots of Speedster and Hyper Dash were swapped. Now all Parts should work perfectly.
- (New) Choosing to start with Zero available now allows you to fight Nightmare Zero as Zero (doesn't skip straight to High Max as it normally would)
- Additional notes added to the GUI.
v04d
- (Fix) Using any of the New Game Status options would break the use of cheats to get Ultimate Armor or Black Zero (the value gets rewritten). It's changed so it's only affected if a "Characters Available" is selected (which effectively rewrites whatever is set by the cheat). Using other any other part of the patcher besider this one will keep the normal cheat codes functional now.
- (Fix) Also related to "Characters Available", fixed Falcon Armor not being disabled when unchecked.
- (Fix) Some individual Parts wrongly assigned.
- (Fix) Fixed a bug in the patcher where it wouldn't reset values correctly between different patch attempts. (Reloading the patcher for using different options is still recommended just in case)
- (New) Changed the way the "Exit Stage" option is presented
- Added some additional notes.
v04c
- (Fix) "Shared Nightmare Souls and Rank" was causing a freeze in the Mission Report screen (detected on PSP). It should work ok now, on PSP and everywhere.
v04b
- (New) Unblocked a wall in the Hidden stage for the ice stage (when the Fire Nightmare Effect is disabled)
- (New) "Disable Stage Select screen dialogues" now covers all three possible events (introduction, getting Zero, and reaching final stages)
v04a
- Complete rewrite. Added a bunch of new options, and bug fixes of previous ones.
v03a
- Initial testing for some of a couple of new options.
v02
- Fixed a bug on the injured Reploids modification where getting Reploids attacked/killed would glitch their entries on the report list in the stage select menu until you rescued them.
- Fixed the "Disable getting extra lives" option (it wasn't really working)
v01
- Initial release.


Mega Man X6 Tweaks Spreadsheet

An XLSX spreadsheet with all the address, values and ASM modifications to do everything the patcher above does.

DOWNLOAD (v05)
« Last Edit: July 15, 2018, 05:19:58 am by acediez »

ThegreatBen

  • Sr. Member
  • ****
  • Posts: 373
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #1 on: June 14, 2018, 08:11:50 am »
So awesome, this game will be so much better now, thanks.

injoon84

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #2 on: June 14, 2018, 12:05:45 pm »
Whoa, this is fast! I thought of pm you.
I haven't finish writing my gameshark but you already post a modded Megaman X6.
Anyway, I finally able to list down the gameshark for Megaman X6:

#Hp Gauge Full X (0040=+16, 0038=+12, 0030=+8, 0028=+4) (Permanent effect)
300CCF2B 0040

#Hp Gauge Full Zero (0040=+16, 0038=+12, 0030=+8, 0028=+4) (Permanent effect)
300CCF2C 0040

#Infinite Lives (Will have 9 lives) (Permanent effect)
800CCF08 0900

#Infinite All Weapons (0180=+8, 0150=+4, 0120=+0) (Temporary effect)
50000802 0000
8009714A 0180

#Infinite Giga Attack (0180=+8, 0150=+4, 0120=+0) (Temporary effect)
80097148 0180

#Infinite Dash (Note: 0000=Jump normal/ 0001=Jump have shadow effect) (Temporary effect)
80097124 0000

#Infinite In-Air Moves (0000=Infinite, 0001=No air moves) (Temporary effect)
80097126 0000

#Infinite Leg Jets (Ultimate) (Temporary effect)
80097178 7000

#Infinite Distance Nova Strike/ Delay Giga Attack (0000=Short/ 0100=Infinite&Delay)
80097180 0100

#Have All Weapons (00FF=All, 0000=None) (Note: The game will freeze on Shadow Armor) (Temporary effect)
30097169 00FF

#No Level Time (Temporary effect)
800CCF60 0000

#Max Mavericks Defeated (Temporary effect)
800CCF64 03E7

#No Damage Received (Temporary effect)
800CCF68 0000

#Have All Armors & Black Zero (003F=Black, 001F=Red, 0000=N/A) (Permanent effect)
300CCF2F 003F

#Have All Armor Parts for Shadow & Blade & Normal Mode (FF00=Easy, FF01=Normal, FF02=Xtreme) (Permanent effect)
800CCF38 FF01

#Have All Power Up Parts (Permanent effect)
800CCF40 FFFC
800CCF42 03FF

#Have Sub-Tanks, W-Tank & EX Tank (Permanent effect)
300CCF3B 00FF

#All Reploids Rescued (Permanent effect) (Note: Not recommended as you won't obtain any parts)
50002002 0000
800CCFA8 2222

#Boss Fight Level 4 (0000=Level 1, 0001=Level 2, 0002=Level 3, 0003=Level 4) (Temporary effect)
300CCF5F 0003

#Max Lifebar For Boss (Temporary effect)
300CCF5C 007F

#Optional Boss (0000=Nightmare Zero, 0001=High Max, 0002=Dynamo) (Permanent effect)
300CD30B 0000

#X Have All Souls (270F=9999, 0B86=2950, 0320=800, 01F4=500) (Permanent effect)
800CCFA2 270F

#Zero Have All Souls (270F=9999, 0B86=2950, 0320=800, 01F4=500) (Permanent effect)
800CCFA4 270F

#X's Rank (0000=HU, 0001=PA, 0002=GA, 0003=SA, 0004=A) (Temporary effect)
300CCF5D 0000

#Zero's Rank (0000=HU, 0001=PA, 0002=GA, 0003=SA, 0004=A) (Temporary effect)
300CCF5E 0000

#Have All Reploids Except Reploids With LifeUp & EnergyUp (0/1=No Data, 2=Rescued, 3=Death, 4=Missing) (Permanent effect)
800CCFA8 2020
800CCFAA 2222
800CCFAC 2222
800CCFAE 2222
800CCFB0 2222
800CCFB2 2220
800CCFB4 2022
800CCFB6 2222
800CCFB8 2222
800CCFBA 2222
800CCFBC 2202
800CCFBE 2220
800CCFC0 2222
800CCFC2 2202
800CCFC4 2222
800CCFC6 2202
800CCFC8 2222
800CCFCA 2220
800CCFCC 2222
800CCFCE 2220
800CCFD0 2222
800CCFD2 2022
800CCFD4 2202
800CCFD6 2222
800CCFD8 2220
800CCFDA 2022
800CCFDC 2222
800CCFDE 2222
800CCFE0 2222
800CCFE2 2222
800CCFE4 2202
800CCFE6 2220

#Parts Equip1 (0000=Nothing, 0004=Speedster*, 0008=Jumper*, 000C=Speedster+Jumper, 0010=HyperDash*, 0020=EnergySaver, 0040=SuperRecovery, 0080=BusterPlus, 0100=SpeedShot, 0200=ShockBuffer, 0400=D.Barrier, 0800=D-Converter, 1000=HyperDrive, 2000=PowerDrive, 4000=WeaponDrive, 8000=LifeRecover) Temporary
8009718C 8FE0
Note: The one mark* doesn't have effect even if they are equip.

#Parts Equip2 (0000=Nothing, 0001=W.Recover, 0002=Overdrive, 0004=Rapid5, 0008=U.Buster, 0010=QuickCharge, 0020=WeaponPlus, 0040=SaberPlus, 0080=SaberExtend, 0100=ShotEraser, 0200=MasterSaber) Temporary
8009718E 03F4
Note: Weapon select screen will becomes glitchy once you include X/Zero only parts.

#Movement Speed (Note: 0000=Cannot-move/ 0100=Slow/ 0200=Normal/ 0300=Speedster/ 0F00=Ultra-speed) Temporary
80097195 0300

#Jump Height (Note: Without jumper, 0000=No height/... 05D0=Normal/ 06D0=Jumper/... 0F00=Highest) Temporary
80097199 06D0


Now is the Gamesharks code with Joker Command:
Before I start, I want to share my personal preference control button so that you understand why I choose those Joker Command value for specific cheats.
 
Button Config.                           Default        My Joystick Preference
--------------                               -------         ----------------------
X-Buster / Z-Saber                     Square        Square
Jump                                         X                X
Dash                                         Circle          R1
Special Weapons / Z-Buster       Triangle       Triangle
Weapon Select L                        L1              L1
Weapon Select R                        R1              L2
Giga Attack                               R2              Circle

#Normal Joker Command
D00C456C ????
#Max Reversed Joker Command
D00CF922 ????

1) Warp in Animation + Transform
#Warp-In Animation (Activate=Up/Down+Select, Stop=Select)
D00C456C 1100
80097170 0001
D00C456C 4100
80097170 0001
D00C456C 0100
80097170 0000
#Ultimate X (Up+Select) (Note: Perfect on Ultimate/Normal X while other Armors will have sprite glitch) (Temporary effect)
D00C456C 1100
80097186 0400
#Normal X (Down+Select) (Temporary effect)
D00C456C 4100
80097186 0000
Note:
Mugshot will remain the same as the initial chosen character.
Falcon, Blade, and Shadow can have 3 transformation although their Ultimate sprite is glitchy. No harm though.
To reset back to initial chosen character, release Up/Down but hold Select button once the animation started.
There will also be glitch if you activate this code during conversation. Try it and you will know what I meant.
Also, you might want to include Black Zero transformation.
eg.
#Have All Armors & Black Zero (003F=Black, 001F=Red, 0000=N/A) (Permanent effect)
D00C456C 1100
300CCF2F 003F
However, in doing so you might risk of not able to collect any remaining armor parts. Therefore, you might need to add another code.
#Have All Armor Parts for Shadow & Blade & Normal Mode (FF00=Easy, FF01=Normal, FF02=Xtreme) (Permanent effect)
D00C456C 1100
800CCF38 FF01
Then to turn back to Red Zero.
#Have All Armors & Red Zero (003F=Black, 001F=Red, 0000=N/A) (Permanent effect)
D00C456C 4100
300CCF2F 001F
#Have All Armor Parts for Shadow & Blade & Normal Mode (FF00=Easy, FF01=Normal, FF02=Xtreme) (Permanent effect)
D00C456C 4100
800CCF38 FF01
Get what I mean?

2) Manuever Leg Jets
#Leg Jets Hover Up (Left=Max Reverse Joker)
D00C456C 1000
8009717A 0009
D00C456C 3000
8009717A 0009
D00CF922 FF6F
8009717A 0009
D00C456C 1080
8009717A 0009
D00C456C 3080
8009717A 0009
D00CF922 7F6F
8009717A 0009
#Leg Jets Hover Down (Left=Max Reverse Joker)
D00C456C 4000
8009717A 0001
D00C456C 6000
8009717A 0001
D00CF922 FF3F
8009717A 0001
D00C456C 4080
8009717A 0001
D00C456C 6080
8009717A 0001
D00CF922 7F3F
8009717A 0001
Note:
This is only for Ultimate armor.
Why Left button use Max Reverse Joker? Well, my keyboard not supporting it.

3) Gravity control jump
#Infinite Float Down (Diagonal Down+X) (FFFF=Slowest/ FFFD=Slower than normal/ FFFC=Faster than normal) Temporary
D00C456C 6040
800970C6 FFFD
D00C456C 60C0
800970C6 FFFD
D00C456C 6048
800970C6 FFFD
D00C456C 60C8
800970C6 FFFD
D00CF922 BF3F
800970C6 FFFD
D00CF922 3F3F
800970C6 FFFD
D00CF922 B73F
800970C6 FFFD
D00CF922 373F
800970C6 FFFD
Note:
Infinite float down slightly slower than normal.
Shadow can now pass impossible stage like Amazon Area 2.
Also, Shadow can slide down the wall at will. Other characters can slide down the wall faster.
Blade can perform super slow straight down air-dash.
Characters that can air-dash able to perform diagonal down air-dash.
All characters can do squat little jump tricks, and jump kick down the wall. Very cool. I like this.

#Infinite Float Up (Diagonal Up+X) (0000=Slowest/ 0002=Slower than normal/ 0003=Faster than normal) Temporary
D00C456C 3040
800970C6 0002
D00C456C 30C0
800970C6 0002
D00C456C 3048
800970C6 0002
D00C456C 30C8
800970C6 0002
D00CF922 BF6F
800970C6 0002
D00CF922 3F6F
800970C6 0002
D00CF922 B76F
800970C6 0002
D00CF922 376F
800970C6 0002
Note:
Infinite float up slightly slower than normal.
All characters can slide up the wall.
Blade can perform super slow straight up air-dash.
Characters that can air-dash able to perform diagonal up air-dash.
Shadow and Zero will suffer performing using this codes because of their super jump moves.
I don't like it. Kind of kill of the fun for platforming games.


I think that will do. The rest is a repetitive of basic gameshark value with Joker Command.
I hope this gameshark will end up helpful and thank you. I'm gonna try your game soon.
« Last Edit: July 11, 2018, 12:35:56 pm by injoon84 »

gledson999

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
    • Canal Retro Jogos
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #3 on: June 14, 2018, 01:48:41 pm »
This is so cool  :woot!: I'm translating Megaman X6 into Brazilian Portuguese and i'll apply this improvement tweak from Nightmare Zero Lv04, thanks!

Here is some images





Zero Dozer

  • Full Member
  • ***
  • Posts: 159
  • The world is just my medicine ball, you're all in
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #4 on: June 14, 2018, 05:03:40 pm »
You already have my like and my download on this tweak patch.

x6fan

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #5 on: June 16, 2018, 09:46:32 pm »
Thank you so much for doing this! Always thought X6 deserved some fixes and improvements. These tweaks are amazing and they make the game so much more approachable. I really like the tweaker program and the documentation.

Do you have more plans for X6? I have some ideas: remove the nightmare system; make collected heart tanks apply to both X and Zero. I wish I had the reverse engineering skills to implement these ideas and contribute.

injoon84

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #6 on: June 17, 2018, 02:35:20 am »
I have try your Mega Man X6 Tweaks Patcher (v01). I like the idea very much. It let us customize to our liking. No more dispute among us. Hooray!
However, it seems like some selection not working accordingly.

1) Disable status change
Seems like there will be glitch on the Rescue File if we activate this one. Some Japanese words there.

2) Disable gaining lives (Rescued Reploids)
Correct me if I'm wrong. This suppose to disable us from getting extra live from the Reploids that been rescued right?
Well, it's not working. Each Reploids still give 1 extra live.

The rest seems to be functioning. I think? I hope there will be more selection in the future.

From what I notice from your file:
Mega Man X6 Tweaks Spreadsheet (v01) (worksheet: Lives_Continues)
Adding Lives
BIN Offset   PSX Ram      Description
496402556   8004EF5C   Stores in r2 number of lives to add
496402560   8004EF60   Adds the previous number of lives to total lives

If I use the PSX Ram as Gameshark:   
#Extra lives gain from Reploids modifier (0000=0, 0001=+1, ..., 0009=+9) Permanent effect and cannot be overwritten
8004EF5C 0000
#Rescued Reploids behaviour modifier (0000=No extra lives+EXIT, 0002=No extra lives, 000F=Wrap out and clear the stage with no extra lives but will jam at miniboss Magma Area stage) Permanent effect and cannot be overwritten
8004EF60 0000

Also, check this out.
https://www.youtube.com/watch?v=FQ8Ymlzjpc0
https://www.youtube.com/watch?v=CX-dnjHdlfY
Regarding assigning new actions to button presses, maybe you should get some advice from this guy.

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #7 on: June 17, 2018, 02:54:30 am »
Thanks for testing the patcher injoon84

1) Disable status change
Seems like there will be glitch on the Rescue File if we activate this one. Some Japanese words there.
You mean the list of rescued reploids in the stage select screen? I never encountered this, I'll have to check again.
For now, having them be marked as "not rescued" should have the same intended effect (the selected interaction will simply reset the status)

2) Disable gaining lives (Rescued Reploids)
Correct me if I'm wrong. This suppose to disable us from getting extra live from the Reploids that been rescued right?
Well, it's not working. Each Reploids still give 1 extra live.

This was working on the BIN I patched for testing. Then again the operation for giving lives seems to be in more than one location of the BIN, so there's probably additional changes I need to make for it to work in all cases. I'll take another look.

Also thanks for all the additional addresses you've provided!


Do you have more plans for X6? I have some ideas: remove the nightmare system; make collected heart tanks apply to both X and Zero. I wish I had the reverse engineering skills to implement these ideas and contribute.
Those two ideas are on my wishlist too at the moment, I'll try to figure out how to implement them. But first I need to spend some time making sure everything already included is working as intended. This is the first release and I'm just starting to get some feedback. And as you see in the above post there's already a couple of things that need fixing.

Lumiere

  • Jr. Member
  • **
  • Posts: 15
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #8 on: June 17, 2018, 01:37:33 pm »
When using the patcher, I chose to have the reploids that don't give anything auto-resuced but, It also rescued the reploids that gave common parts. Also, do you have any plans to add the ability to edit the damage chart?

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v01)
« Reply #9 on: June 17, 2018, 04:37:14 pm »
About reported bugs so far


1) Disable status change
Seems like there will be glitch on the Rescue File if we activate this one. Some Japanese words there.

2) Disable gaining lives (Rescued Reploids)
Correct me if I'm wrong. This suppose to disable us from getting extra live from the Reploids that been rescued right?
Well, it's not working. Each Reploids still give 1 extra live.

Ok, these two are now fixed on the v02 version I just submitted the site. They should be up shortly. For now, here's the scratchpad download links (they'll automatically be deleted once the update goes live on the site)

Tweaks Base Patch (v02) http://www.romhacking.net/scratchpad/13788/
Tweaks Patcher (v02) http://www.romhacking.net/scratchpad/13789/

Thank you for testing and reporting these issues. Apologies to to all 136 people who downloaded the first version  ;D



When using the patcher, I chose to have the reploids that don't give anything auto-resuced but, It also rescued the reploids that gave common parts.

I'm gonna have to ask you to double check this by patching the game again, as I can't reproduce this problem. Works fine for me

NEVERMIND. I did have this problem now when running the game on a different emulator. Thanks for reporting it.
The current method works fine on no$psx and ePSXe, but incorrectly on Mednafen PSX and hardware, where it looks like the whole list is written in RAM with a 8 byte offset...
This is gonna be very difficult to tackle, since it depends on whats being used to run the game...



About feature requests
There's a few things I'd definitely like to look into
- Remove the nightmare system (or at least selectively remove the more annoying effects)
- Make collected heart tanks apply to both X and Zero
- Edit some mini bosses life bar sizes
Etc.

However I need to focus on other stuff for awhile. I will however try to address any bugs or problems that may come up with what's already implemented, so please keep reporting any issue you have (confirmations of features working correctly are helpful too!)

June 18, 2018, 12:15:45 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Something I didn't notice until I ran this on mednafen: depending on the options selected, it may be necessary to recalcualte ECD/ECC fields for it to work properly on hardware and on more accurate emulators.

If you run into an uenxpected freeze, try running your patched bin through STARWIN's EDC/ECC Recalculator. It's a simple drag-and-drop process.
« Last Edit: June 19, 2018, 11:29:57 pm by acediez »

ThegreatBen

  • Sr. Member
  • ****
  • Posts: 373
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #10 on: June 20, 2018, 07:43:56 am »
Now that Black Zero is available in game I’ll most likely be using the Ultimate Armor X code, however I believe it replaces the Falcon armor, it would be nice to be able to have both.

injoon84

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #11 on: June 20, 2018, 01:22:33 pm »
This time I play around with the Mega Man X6 Tweaks Patcher (v02) and this is the results I get.
Also, count me out from testing from the time being. It's tiring.
Anyway, I used ePSXe 2.0.5.

1) Status by default
a) Not holding parts
87/88 reploids. Missing Leon from Northpole Area.
b) Common parts
Suppose there is only 10 reploids but 1 reploid name Leon from Northpole Area also included making it 11 reploids.

2) Rank/Nightmare Souls Table
Once you reach higher rank, your rank will not drop even if you set lower rank with higher souls needed.
eg. Rank A needs 1000 souls but rank UH only needs 10 souls. Once you collected 10 souls, your UH rank will not drop even if you collected more than 1000 souls later.

3) Boss Levels
It won't acknowledge lower level boss for higher ranks.
eg. Rank UH for Nightmare Zero lv.2 and rank A for Nightmare Zero lv.4. If this happens, you will have lv.4 boss no matter which ranks achieve first.

4) Alia explaining soul
a) This event only triggers if you clear a normal stage with enough souls collected.
b) If you collected enough souls but exit the stage, this event will not trigger.
c) In the original version, with enough souls collected, Alia will explain souls by just exit, clear a normal stage, or defeating Nightmare Zero. High Max not included though.

5) Unlock Final Stage
a) If you clear a normal stage with enough souls collected, Alia will explain souls. Then, Gate event will trigger and enable Final Gate's Lab 1.
b) If you exit with enough souls collected, Alia will not explain souls. Then, follow by Gate event and enable Final Gate's Lab 1.
c) By setting the number of souls needed higher than 4), Alia might explain souls thrice by triggers 4a) twice with both X and Zero, then again on 5a).

6) Disable losing lives (Infinite lives)
X will not show any extra lives available.

7) Disable gaining lives (Rescued Reploids)
It's working now but it also disable us from gaining extra lives from X/Zero helmet that provides extra lives.
That's weird because when I used gameshark I posted above, both codes only disable extra lives from reploids.
I used below gameshark to test it as it's hard to get extra lives by defeating enemies.
#Always drop Extra Life item (Permanent effect not recommended)
8004E71A 2400
8004D848 000A
8004D84A 1000
8004D874 0008
8004D876 3402


To ThegreatBen,
Nope. You will still be able to keep the Falcon armor but starts the game as Ultimate armor.
Only X5 disable you from keeping the Fourth armor if you activate the Ultimate armor code.
Seems like you mix up your memory between X5 and X6.


acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #12 on: June 20, 2018, 01:37:49 pm »
Thank you so much for your testing!

1) Status by default
a) Not holding parts
87/88 reploids. Missing Leon from Northpole Area.
b) Common parts
Suppose there is only 10 reploids but 1 reploid name Leon from Northpole Area also included making it 11 reploids.
Fixed!
I simply put one reploid on the wrong category list (as I took megaman.wikia.com as reference, where this one Reploids is wrongly listed as having a Common Part)

Also thanks for confirming this feature is currently working ok in ePSXe.
Next version will include a fix that makes this work consistently on Mednafen PSX/hardware too.

2) Rank/Nightmare Souls Table
Once you reach higher rank, your rank will not drop even if you set lower rank with higher souls needed.
eg. Rank A needs 1000 souls but rank UH only needs 10 souls. Once you collected 10 souls, your UH rank will not drop even if you collected more than 1000 souls later.

3) Boss Levels
It won't acknowledge lower level boss for higher ranks.
eg. Rank UH for Nightmare Zero lv.2 and rank A for Nightmare Zero lv.4. If this happens, you will have lv.4 boss no matter which ranks achieve first.
Triggers by # of souls are intended to be put in ascending order, I put a warning about this on the description. That's the way it needs to be because of how the game reads it (it compares your current souls number with the reference table from highest to lowest, and stops once it finds a match).
Rank based triggers COULD be implemented out of order (the game reads the level from a separate byte for each corresponding Rank), but for simplicity's sake I decided to automatically adapt non ascending orders from highest to lowest when using the patcher. If for some reason anyone wants to make it out of order, the addresses for said table are in the spreadsheet.

c) By setting the number of souls needed higher than 4), Alia might explain souls thrice by triggers 4a) twice with both X and Zero, then again on 5a).
That's kind of funny :heh:
I didn't do any testing using Zero, so I didn't realize this got triggered separately for both characters.

A way around this could be to have X and Zero share Souls and Rank level (something I'm working on at the moment)
Maybe there is a separate flag I could use to make this only be shown once. But I'm thinking that the only other condition it checks is having triggered the Gate/Final stages scene...

Probably more trouble than it's worth, but I'll give it another look just to see if there's something I can do.
For the moment, I may leave this one out of the base patch on the next version.

6) Disable losing lives (Infinite lives)
X will not show any extra lives available.
I actually went out of my way to make it be this way. I thought it would be a nice touch :)
Similarly, I made the lives counter disappear on the pause menu when increasing the limit of lives above 9 because displaying double digits for lives in the pause menu causes graphical glitches.
Both of these changes are detailed on the spreadsheet.

7) Disable gaining lives (Rescued Reploids)
It's working now but it also disable us from gaining extra lives from X/Zero helmet that provides extra lives.
That's weird because when I used gameshark I posted above, both codes only disable extra lives from reploids.
I used below gameshark to test it as it's hard to get extra lives by defeating enemies.
#Always drop Extra Life item (Permanent effect not recommended)
8004E71A 2400
8004D848 000A
8004D84A 1000
8004D874 0008
8004D876 3402
Thanks, I was about to get into testing what effect this had on regular 1-ups items. I'm gonna compare my modification to your gamesharks to test it further.
Ideally, I'd have them both be set as separate options in the patcher... (I actually forgot this game had regular 1-ups).

Again, thank you so much for this. I know it's tiresome, you've more than done your part. I'm gonna credit you on the readme for future releases :)


June 21, 2018, 12:52:19 am - (Auto Merged - Double Posts are not allowed before 7 days.)
When using the patcher, I chose to have the reploids that don't give anything auto-resuced but, It also rescued the reploids that gave common parts.

Ok, I already figured this one out  :woot!:
Will be fixed on the next update (along with a few other neat stuff)
« Last Edit: June 21, 2018, 11:20:15 am by acediez »

ThegreatBen

  • Sr. Member
  • ****
  • Posts: 373
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #13 on: June 21, 2018, 11:18:27 am »
Have a free bump so you can post your updates on a clean post.

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #14 on: June 22, 2018, 03:06:40 am »
 :laugh: Thanks, I guess

Here's a sneak peak/beta of the next version.



"Reploids / Status marked by default" is completely fixed, now it works as it should on hardware, Mednafen PSX, ePSXe, etc. Also, number of lives "after continue" now also applies to the lives you start with when loading a savefile.
I haven't fully tested some of the new stuff yet, so I won't release it on the site just yet. But here's a temporary download link if anyone wants to play around with it for the moment, an alpha of sorts.

Just make sure you start a new game if you plan to try any of the "shared stats" options.
« Last Edit: July 04, 2018, 12:04:37 am by acediez »

Zero Dozer

  • Full Member
  • ***
  • Posts: 159
  • The world is just my medicine ball, you're all in
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #15 on: June 22, 2018, 11:41:32 am »
Uh, I'll send you a PM.

injoon84

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #16 on: June 22, 2018, 12:09:24 pm »
Nice addition as always. The latest patcher (v03a), not sure these are mistakes or not.

1) Disable gaining lives (Rescued Reploids)
Rescued Reploids give 1 extra live but not from Extra Life items.

2) Disable gaining lives (Extra Life items)
Extra Life items give 1 extra live but not from rescued Reploids.

Shouldn't it be the other way round? I mean swap between these two codes.


Plus, aren't you missing the Common, X, Zero, and Limited Parts?
I only have Gameshark value.

#Have All Power Up Parts
800CCF40 FFFC
800CCF42 03FF
Note: Already posted before.

Maybe you're trying to separate it nicely.

#Have All Common Parts
800CCF40 0FFC
#Have All X Parts
800CCF42 003C
#Have All Zero Parts
800CCF42 03C0
#Have All Limited Parts
800CCF40 F000
800CCF42 0003

But, it's not going to get all parts if you combine it all together.
At least that's what happened when I used Gameshark.


By the way, for X and Zero sharing the Life Up upgrade, does it have anything to do with the below gameshark?
#Hp Gauge Full X (0040=+16, 0038=+12, 0030=+8, 0028=+4) (Permanent effect)
300CCF2B 0040
#Hp Gauge Full Zero (0040=+16, 0038=+12, 0030=+8, 0028=+4) (Permanent effect)
300CCF2C 0040
Note: Already posted before.

It it does, then, these codes may help you making X and Zero share Weapon Energy Up.
#Weapon Energy Gauge X (+8)
300CCF31 0040
#Weapon Energy Gauge Zero (+8)
300CCF32 0040
Note:
I just retrace back this codes. Not sure if there's any bug on it.
I wonder why I deleted these codes. Maybe because X5 Zero Weapon Energy gauge is buggy.

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #17 on: June 22, 2018, 12:28:06 pm »
Nice addition as always. The latest patcher (v03a), not sure these are mistakes or not.

1) Disable gaining lives (Rescued Reploids)
Rescued Reploids give 1 extra live but not from Extra Life items.

2) Disable gaining lives (Extra Life items)
Extra Life items give 1 extra live but not from rescued Reploids.

Shouldn't it be the other way round? I mean swap between these two codes.


 :laugh: :laugh: :laugh: :laugh:
Yes, it should!

Plus, aren't you missing the Common, X, Zero, and Limited Parts?

I'm not sure what you mean here.
Missing them where?

If you mean you don't get those parts when you filter those reploids out, that's just how it is at the moment. The description says you don't get the parts (I made this option pretty much only to filter the ones that don't hold items so I never worried about the rest)

But now that you provided the address where the values are registered, I can try to to implement it separately!

But, it's not going to get all parts if you combine it all together.
At least that's what happened when I used Gameshark.
By the looks of it, the entire collection is registered the same couple of bytes (by using different multiplies as different items and adding the value up) so replacing the whole value replaces the whole collection (with one gameshark code after the other). Try adding up the hex values instead. The byte that registers your current subtanks works the same.

By the way, for X and Zero sharing the Life Up upgrade, does it have anything to do with the below gameshark?

I will try to do the same for the weapon upgrade for the next release though. I just ran out of time last night.
Your addresses have just confirmed that weapon upgrades are indeed separate values just like the life upgrades. I didn't remember that clearly.

Once again, thanks for all your help!! This really helps me keep it going
« Last Edit: June 24, 2018, 05:47:18 am by acediez »

injoon84

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #18 on: June 24, 2018, 11:55:05 am »
Just notice another bug when try to play the game.
If X and Zero share soul and rank, the rank will not increase even though Alia reporting rank improvement.
It somehow freeze the rank. Since X started the game as rank D, the game will stay at rank D.

acediez

  • Full Member
  • ***
  • Posts: 172
    • View Profile
Re: Mega Man X6 Tweaks/Patcher (v02)
« Reply #19 on: June 25, 2018, 03:44:25 am »
Can you describe me step by step how to reproduce the problem? It' working fine here, so you're probably doing something differently than me.
Remember to not reuse save sates taken from different bins.



By the way, I've been working on some new options over the weekend.
- Missing stuff from the previous version (shared Energy bar upgrades, Red Orb values) and fixes (swapped "disable losing lives" options).
- Nightmare Effects: you'll be able to disable them (individually, or all of them). Can someone confirm if any of these is needed to access an item or injured reploid, or is it safe to just disable them in all cases? I'm thinking of adding this to an alternate version of the base patch.
- Customizable Ranks table. Not just the Souls requirement, also how many parts can you equip on each rank.
- The "Mark injured reploid as rescued by default" section is gonna be rewritten into a complete list of Parts you can individually select to start the game with (which will mark the corresponding Reploid as rescued).
- Characters (armors) available on a new game (giving the option to play as Zero right away)


It'll look a bit like this...

All the hacking is done, now I just need to implement all these new inputs into the patcher.

Once properly tested, I'm thinking this will be the last "big" update, at least for awhile. I hope I got most easily fixable issues with the game covered  :D