Mega Man X3 - Zero Project (V4.4 & Source Code Released)

Started by justin3009, July 16, 2010, 01:38:59 PM

Previous topic - Next topic

justin3009

https://github.com/justin3009/MMX3-ZeroProject

Decided to put the source on GitHub. Sorry if it's a little messy. Never used it before.

But this should be a lot easier to manage overall for future cases.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

niuus

Quote from: pleasejust on December 30, 2019, 05:58:39 AM
Sorry for kind of necro posting but is there a way to disable double tap directional pad to dash? I could've sworn there was an option for it in previous mega man games but I don't see it anywhere for this hack. It's driving me nuts, it makes the gameplay flakey, I can't count the number of time I've accidentally double tap dashed.
If you or anyone shares a patch or hex hack way to do this, it would be great!

pleasejust

Yes, there's a way. I made a request in the Rom hacking discussions thread some time ago and thanks goes out again to DarkSamus993 who replied with all the answers!

https://www.romhacking.net/forum/index.php?topic=29811.0

diego-rbb-93

Then, there's a chance now something can be done to get this compatible with Bsnes?

Anyway, thanks so much for everything you have done for this game.

niuus

Quote from: pleasejust on March 05, 2020, 01:35:58 AM
Yes, there's a way. I made a request in the Rom hacking discussions thread some time ago and thanks goes out again to DarkSamus993 who replied with all the answers!

https://www.romhacking.net/forum/index.php?topic=29811.0
Almost missed your post. This is cool, i'll check it out!  :thumbsup:

Jerkntworstboi

I'm not sure if its a problem with the game or with the emulators I've been using, or the Xbox 1 controller, but each time I press the dash button, it eats my weapon charge and doesn't do anything, even when not pressing anything else. Other than that, I love the hack~

I used ZSnes and Snes9x, is there any other emulator you all could recommend in case it is the emulator? And if not, I hope I can make this aware. The buttons DID work to bring up the swap screen between X and Zero mid stage so its not they don't work, but nothing *happens* and it deletes my movement and charge

justin3009

Just a quick update for everyone.

I have updated the source code a bit more so it fixes a few more bugs that were present like the 'L''R' button eating X's charges, thanks to DarkHunter for those as I didn't even know about that bug.

Also, here's a nice update for everyone too:

Quote<?xml version="1.0" encoding="UTF-8"?>
<cartridge region="NTSC">
  <rom>
    <map mode="linear" address="00-7f:8000-ffff"/>
    <map mode="linear" address="80-ff:8000-ffff"/>
  </rom>
   
  <ram size='2000'>
    <map mode='linear' address='70-77:0000-7fff'/>
    <map mode='linear' address='b0-bf:0000-7fff'/>
  </ram>
 
  <cx4>
    <map address="00-3f:6000-7fff"/>
    <map address="80-bf:6000-7fff"/>
  </cx4>

  <msu1>
    <map address="00-3f:2000-2007"/>
    <map address="80-bf:2000-2007"/>
  <mmio>
    <map address="00-3f:2000-2007"/>
    <map address="80-bf:2000-2007"/>
  </mmio>
  </msu1>
</cartridge>

As far as I'm testing, this manifest SHOULD work with the Zero Project using bsnes as long as it's named the same file as the ROM with a .xml extension inside the ROM folder.

I just gave this a test and I was able to actually run the game, save and load games properly. I found the msu1/cx4 stuff from google so hopefully this allows the MSU-1 patch to work as well on top of the project.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

G30FF

Thanks for the continued updates! Are the bug fixes committed to GitHub? All I see on the project that's been updated is the bsnes manifest.xml file. Are you planning to release the updated patch on RHDN?

justin3009

The last updates are actually from 2 months ago, it was pretty much a week or so after I uploaded to github that the bugs were fixed. I should probably update it here sometime.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

G30FF

Understood. Thanks for clearing it up!

EDIT: I'm sorry if this is a dumb question, as I've never used any of the tools required to build this patch before, but when I try to run the Atlas .bat files (namely the Everything file) to apply script and damage table files, Atlas throws errors regarding "Nothing.tbl". It seems that the damage table .txt files all reference "Nothing.tbl", which does not exist, and causes Atlas to error out. Is that normal? Am I doing something wrong? Apologies again!

Piotyr

Just finished a playthrough and it has made this mediocre game a fun experience! One thing I think should of been done is tie Zeros double jump and air dash to the leg upgrades to make it feel like Zero doesn't start out being just better than X at the start(This was done in Xtreme 2) but otherwise I have no complaints! Not asking for an update or anything just my only thoughts on it beyond great!

justin3009

Quote from: G30FF on May 04, 2020, 03:25:26 PM
Understood. Thanks for clearing it up!

EDIT: I'm sorry if this is a dumb question, as I've never used any of the tools required to build this patch before, but when I try to run the Atlas .bat files (namely the Everything file) to apply script and damage table files, Atlas throws errors regarding "Nothing.tbl". It seems that the damage table .txt files all reference "Nothing.tbl", which does not exist, and causes Atlas to error out. Is that normal? Am I doing something wrong? Apologies again!

Shoot, I'll throw that up into the Atlas folder. I didn't even think about that table. It'll be up on github now.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

G30FF

That solved the problem, I can run the Atlas scripts! They all worked fine, except it threw an error that the file "mmx3_PC4_MenuSubWeapon_000.txt" was missing. The Asar batch script worked perfectly, and I can build The Zero Project! Thanks for your support!

justin3009

I must've forgot that file too. I'll throw that up in there then as well. PC3/PC4 go completely unused but I left room in there in case someone was crazy enough to add in more characters. Thanks for letting me know about all of this!

I also apologize if my code and everything is a mess. I was trying to go through it yesterday and clean things up but I just looked at my wall and gave up lol. It's.. not my proudest looking project by any means underneath but it gets the job done.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Sabin Stargem

I have a very...odd, request for Justin3009:  Would it be possible for you to modify BSNES at Github to have support for expanded Cx4 roms?  I don't know if it is appropriate to ask since I have no idea if your hacking experience translates to emulator development.  Anyhow, the reason why I ask is to future-proof Zero Project to be compatible with modern emulation.

https://github.com/bsnes-emu/bsnes


QuoteQwertymodo:  The SD2SNES implementation of the Cx4 allows for larger ROM files than the actual Cx4 chip does (specifically to support this MMX3 hack). I don't know if higan allows this as well, but if not, then higan won't support the hack.

CaptainJustice:  So the game uses more of a C5 than a C4? That'd do it.  Is it a case of the processor doesn't actually support it, or the processor supports it but not on the board it was used with?

Qwertymodo:  At some point, I know people were able to build real carts by adding extra mapping hardware, but it's been updated several times since then, including the addition of SRAM, so I don't know if the "final" version is doable on real hardware or not (though I suspect it is).

Byuu:  The chip select emulation may not work as expected if the ROM is larger. But other than that, I'll allow my generic Cx4 board ID to exceed 16mbit if it doesn't already, but I won't go past 32mbit.  FEoEZ is the only game I will directly support with a truly custom board configuration.

Ice Man

I think asking the author of bsnes would be better instead. ;)

Sabin Stargem

I think Byuu placed his personal development of BSNES/Higan on hold, and put it up on Github so people can develop it further in his absence.

justin3009

#977
https://github.com/justin3009/MMX3-ZeroProject

So some updates happened the past couple days on this.

QuoteV4.2 + V4.2a
-------------
01.   Fixed the Frog Armor walking sprites glitching out. (Due to sprite assembly not being written in compilation)
02.   Fixed some Save/Load Menu text issues. (Wasn't removing all of the text data properly)
03.   Slightly reorganized some code in various files. Regioned some of it off so it's more readable, grouped a few things, etc.. not a lot done.

V4.3
-------------
01.   Fixed a palette bug with the Z-Saber wave striking enemies.
      a.   This is a natural game bug oddly but hopefully this fixes any issues arising with it.
02.   Altered the Helmet Chip upgrade along with the Golden Armor variation.
      a.   The Helmet Chip will allow X to regenerate health as normal like the original game again.
      b.   The Golden Armor will allow X's regeneration to double each time it's successful capping at #$08.
03.   The Helmet Sensor will NO LONGER run at the start of a level if every single upgrade has been obtained. Although, this does NOT check for Hard Mode currently which goes unused.
04. Fixed some minor Save/Load screen text problems.
05. Fixed cursor coordinates when selecting "Yes   No" in the Save/Load screen.
06. Altered Bit & Byte spawning randomization code just a tiny bit but it effectively does the same thing.
07. Fixed a bug in which Godkarmachine O Inary's (Bit & Byte combined) hands would not deal damage.
08. Added in the ability for Zero to use the Z-Saber projectile.
      a.   This is only available if you have the Black Armor and are on NG+.
09. Asar will now expand the ROM for you without having to use Lunar Expand creating a much easier experience.
      a.   Run "Asar MMX3.bat" then drop "MMX3.sfc" into the "Atlas" folder. Run "Atlas.exe - X3 (Everything).bat" and you're good to go.


Otherwise, I've generally updated the Readme and included asar.exe into the main source files making it a bit easier to compile right off hand.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

niuus

Quote from: justin3009 on September 26, 2020, 04:04:14 PM
https://github.com/justin3009/MMX3-ZeroProject

So some updates happened the past couple days on this.


Otherwise, I've generally updated the Readme and included asar.exe into the main source files making it a bit easier to compile right off hand.
Awesome changes! Thanks for your hard work.

Would you consider an optional patch to disable dashing when double tapping the d-pad?

Elyos03

#979
"'Atlas' is not recognized as an internal or external command..."

Where I can possibly get that 'Atlas.exe' thing?
buy mega man zero/zx legacy collection with money