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

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

Previous topic - Next topic

thebigstar

Would it be smarter to have the Z Sabre do random damage instead of nerfing it to crap? Or maybe every charge level boost its damage by the charge amount? I'd just hate to see the sabre do as much damage as X's charged shot when it's so much cooler...

justin3009

#21
It'd still do more damage than X's charged shot, but it'd be more difficult to kill bosses.  The damage right now is pretty ridiculous.  If not, I'm hoping I could boost the bosses life depending if it's Zero or X.  That I know is possible, but the issue being is that if I add more life, it goes off the screen.  Not entirely sure how to make two bars or maybe them overlaying each other.

Edit: Zero's now able to fill up Energy Tanks, Sub-Weapons and use Energy tanks.  Still trying to figure out how the damage works :/

Edit 2: http://www.youtube.com/watch?v=eA0TjO5oi4s - Zero doing Air Dash without double jump.  Air Dash and double jump call the same routine, but there's different Jump codes.  So I moved the jump code, added a character check and bam, this is the result.  I did want to give Zero double jump, but I'm not sure how I'll be able to change the graphics used.  This video also has Zero using a Sub tank.  I STILL can't figure out how to get his life saved to memory, but I think I found out where it's located in general.
'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.'

tcaudilllg

Don't. Just tell it not to lower the bar if HP is above a certain value.

justin3009

That could work..I'm just not entirely sure where and how the Saber damage is even done.  I've found about 3-4 areas that annihilate the graphics but also the damage as well so it's really confusing.  I think the damage is actually loaded different for each boss in a way, I'll have to double check it later on.
'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.'

IrohDW

Quote from: justin3009 on July 26, 2010, 08:51:26 PM
That could work..I'm just not entirely sure where and how the Saber damage is even done.  I've found about 3-4 areas that annihilate the graphics but also the damage as well so it's really confusing.  I think the damage is actually loaded different for each boss in a way, I'll have to double check it later on.

Damage is indeed loaded differently for every boss. I know this because I have started hacking the game to change how much damage the x buster charge shots do. Not only does every boss have different offsets for the damage they receive, but enemies from different stages, each miniboss, and more have offsets determining how much damage every weapon does, which makes it royal pain to change. There are 3 offsets that deal with how much damage the saber does. The first is for how much damage it does when X gets it without the charge upgrade (normally it is 16 damage). The second byte is for the first hit of the Saber when it is used if X gets it with the charge upgrade (normally this is 8 damage). The third byte is for how much damage the remaining hits of the saber do after it is thrown at the enemy (normally it does 4 damage per hit). This file contains the offsets I have gathered so far.

justin3009

#25
Dear god that's a pain in the ass.  I'm glad I'm not the only one that was working on something like this.  Thank you for the offsets, this should really help a lot.

Edit: Wow this is actually really neat.  Now I can specify how much it does per boss, that makes things really easily customizable actually.

Edit 2: I've got all the selectable stage bosses saber damage figured out.  It's all a repetitive pattern, so it's fairly simple to figure out where everything is.

Quote from: Justin3009 and Red Xboss life=7e0d3f

Blast Hornet (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x3674D





Blizzard Buffalo
------------------
Regular Shot [ 1 ] 0x36771
Dash Attack Damage [ 1-2 ] 0x36777
Charge Level 1 (green) [ 1-2 ] damage 0x36772
Charge Level 2 (yellow) [ 2-3 ] damage 0x36774
Charge Level 3 (1st shot of purple/red) [ 2-3 ] 3678e
Charge Level 4 (center shot) [ 3-4 ] 0x36790
Charge Level 4 (other shots) [ 2-3 ] 0x36791
Saber (Without Charge Upgrade)[ 16-5 ] 0x36773
Saber (With Charge Upgrade first hit) [ 8-2 ] 0x36775
Saber (With Charge Upgrade 2nd hit) [ 4-2 ] 0x36776




Gravity Beetle (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x36799




Toxic Seahorse (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x367BF




Volt Catfish (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x367E5



Crush Crawfish (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x3680B



7e133f

7e0dbf
regular enemy damages
Regular Shot 3 0x3655d
Saber (Without Charge Upgrade)[ 30-15 ] 0x3655f
Saber (With Charge Upgrade first hit) [ 18-6 ] 0x36561
Saber (With Charge Upgrade 2nd hit) [ 4-6 ] 0x36562

another set of attack values
Regular Shot 0x365cf
Saber (Without Charge Upgrade)[ 30-15 ] 0x365d1
Saber (With Charge Upgrade first hit) [ 18-6 ] 0x365d3
Saber (With Charge Upgrade 2nd hit) [ 4-6 ] 0x365d4

yet another set of attack values
miniboss hp 7e0d3f

Regular Shot [ 1 ] 0x36855
Dash Attack Damage [ 1-2 ] 0x3685b
Charge Level 1 (green) [ 1-2 ] damage 0x36856
Charge Level 2 (yellow) [ 2-3 ] damage0x36858
Charge Level 3 (1st shot of purple/red) [ 2-3 ] 0x36872
Charge Level 4 (center shot) [ 3-4 ] 0x36874
Charge Level 4 (other shots) [ 2-3 ] 0x36875
Saber (Without Charge Upgrade)[ 16-5 ] 0x36857
Saber (With Charge Upgrade first hit) [ 8-2 ] 0x36859
Saber (With Charge Upgrade 2nd hit) [ 4-2 ]   0x3685a

Tunnel Rhino
------------------
Regular Shot 0x3682f
Saber (Without Charge Upgrade) [ 16-5 ] 0x36831 (Justin3009)




Neon Tiger (Justin3009)
------------------
Saber (Without Charge Upgrade) [ 16-5 ] 0x36857
'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.'

Piotyr

You should make one bosses weakness Zeros Saber.

justin3009

Hmm..Maybe.  I might do that but not sure.  I might just make this Mega Man X3 Remastered or something because I have a lot of ideas that I want to put in, plus different/extended dialogue because Zero being fully playable.

Edit: I actually have a question on this now.  I want to nerf the Z-sabre on bosses only, but not sure how much damage?  I'm definitely going to make it variate depending on the boss.  Like Tunnel Rhino for example, he seems more built for heavy attacks so maybe it'd take like 8 hits for the Z-Sabre to kill.  But then you have some other boss that's prone to heavier attacks so it'd be the normal 2 hits.

So maybe to you guys, which boss should have how much damage dealt?  Each boss has 32 life, and the Z-sabre initially takes 16.
'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.'

metallicat65

Could try to use power and speed levels or both.  B. Buffalo, T. Rhino, N. Tiger, B. Hornet are the strongest regular bosses (speed and power combined).  T. Seahorse and C. Crawfish are next followed by V. Catfish and G. Beetle.  If you just use power levels the lineup would change.
strong boss 5 health
med boss 7 or 8 health
light boss 10 or 11 health
Also should take into consideration the upper level bosses too.
I have a similar idea to what you are doing but I have little experience.  I would like to import sprites from other SNES mega man games.  What are you using to mod this game with?  I'm guessing your not making an ips patch, sounds like your remaking the whole rom
"Now let it work.  Mischief, thou art afoot.  Take thou what coarse thou wilt."

--Mark Antony, Julius Caesar by William Shakespeare

justin3009

#29
I'm wanting to import other sprites as well for reasons.  I'm not sure how it all works yet though, so I can't.

Nope, this is purely all going to be an IPS patch.  Think of it as a re-done Mega Man X3 or an expanded one, whatever suites your taste best.  Also, that's a really good idea on the boss health.  I may take that into play actually.

Edit: I'm using Tile Molester for graphics, Snes9X Geiger's Debugger for figuring where things are and using that and/or translhextion to actually modify the data.

Edit 2: I think I found the mystery of Zero's life being preset to 1C.

Quote from: Justin3009$04/8DD8 E2 30       SEP #$30                A:40FF X:0018 Y:0015 P:envMXdIzc - Character life (Maybe Zero's) - NOP this and Zero shares life with X
$04/8DDA A5 B6       LDA $B6    [$00:0A8E]   A:40FF X:0018 Y:0015 P:envMXdIzc - Character Check on life
$04/8DDC D0 0A       BNE $0A    [$8DE8]      A:4000 X:0018 Y:0015 P:envMXdIZc - Go to 8DE8 if it's not = to 0 ( X )
$04/8DDE A5 BD       LDA $BD    [$00:0A95]   A:4000 X:0018 Y:0015 P:envMXdIZc
$04/8DE0 85 27       STA $27    [$00:09FF]   A:400B X:0018 Y:0015 P:envMXdIzc
$04/8DE2 22 A6 DB 04 JSL $04DBA6[$04:DBA6]   A:4562 X:00FF Y:001B P:envMXdIZc
$04/8DE6 80 10       BRA $10    [$8DF8]      A:4562 X:00FF Y:001B P:envMXdIZc
$04/8DE8 A5 27       LDA $27    [$00:0027]   A:4562 X:00FF Y:001B P:envMXdIZc - Start of Zero's life
$04/8DEA 85 BD       STA $BD    [$00:00BD]   A:4562 X:00FF Y:001B P:envMXdIZc
$04/8DEC A9 1C       LDA #$1C                A:4562 X:00FF Y:001B P:envMXdIZc - Zero's preset life
$04/8DEE 8D D2 1F    STA $1FD2  [$06:1FD2]   A:4562 X:00FF Y:001B P:envMXdIZc
$04/8DF1 85 27       STA $27    [$00:0027]   A:4562 X:00FF Y:001B P:envMXdIZc

$04/DBA6 08          PHP                     A:400B X:0018 Y:0015 P:envMXdIzc - X's Life
$04/DBA7 E2 30       SEP #$30                A:400B X:0018 Y:0015 P:envMXdIzc
$04/DBA9 A2 08       LDX #$08                A:400B X:0018 Y:0015 P:envMXdIzc
$04/DBAB 9C 00 00    STZ $0000  [$06:0000]   A:400B X:0008 Y:0015 P:envMXdIzc
$04/DBAE AD D4 1F    LDA $1FD4  [$06:1FD4]   A:400B X:0008 Y:0015 P:envMXdIzc
$04/DBB1 2A          ROL A                   A:4000 X:0008 Y:0015 P:envMXdIZc
$04/DBB2 90 03       BCC $03    [$DBB7]      A:4000 X:0008 Y:0015 P:envMXdIZc
$04/DBB7 CA          DEX                     A:4000 X:0008 Y:0015 P:envMXdIZc
$04/DBB8 D0 F7       BNE $F7    [$DBB1]      A:4000 X:0007 Y:0015 P:envMXdIzc
$04/DBBA AD 00 00    LDA $0000  [$06:0000]   A:4000 X:0000 Y:0015 P:envMXdIZc
$04/DBBD 0A          ASL A                   A:4000 X:0000 Y:0015 P:envMXdIZc
$04/DBBE 18          CLC                     A:4000 X:0000 Y:0015 P:envMXdIZc
$04/DBBF 69 10       ADC #$10                A:4000 X:0000 Y:0015 P:envMXdIZc
$04/DBC1 8D D2 1F    STA $1FD2  [$06:1FD2]   A:4010 X:0000 Y:0015 P:envMXdIzc
$04/DBC4 28          PLP                     A:4010 X:0000 Y:0015 P:envMXdIzc
$04/DBC5 6B          RTL                     A:4010 X:0000 Y:0015 P:envMXdIzc

The only thing right now is trying to get Zero's life to frikin save to memory so he doesn't heal himself every time you switch out.  Once that's set, hello Heart Tank collecting with Zero 100% working!
'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.'

DarknessSavior

Quote from: metallicat65 on July 27, 2010, 01:08:20 PM
What are you using to mod this game with?  I'm guessing your not making an ips patch, sounds like your remaking the whole rom
Apparently you misunderstand what a patch does, regardless of format (IPS, UPS, Ninja, etc). It essentially compares the edited ROM to the original one,
copying down all of the changes you've made, and making a file that details those changes.

He could change every byte in the ROM, and he could make a patch of it. It doesn't matter.

~DS
Red Comet: :'( Poor DS. Nobody loves him like RC does. :'(
Sliver-X: LET ME INFRINGE UPON IT WITH MY MOUTH
DSRH - Currently working on: Demon's Blazon, Romancing SaGa, FFIV EasyType.
http://www.youtube.com/user/DarknessSavior

justin3009

#31
I'm getting a little help on writing a routine that saves Zero's life to memory and loads it back up when you swap him back in.

From the looks of what we understood, the preset life 1C is saved and essentially that routine is loaded up everytime Zero is loaded.  Considering Zero was only meant to be played once, that'd be why.  We almost have it set though.  I think I'll be setting Zero's life to 16 as default compared to X's 10.  Bump the life bar down a couple notches on the X coordinates so it doesn't go off the screen for Heart Tanks.  I'll then re-do the Sabre damage on bosses and such.  I'll probably release a beta IPS patch then so people can play around with Zero a bit.  There's still a lot more work to do but this is the basics that people want.

Edit: I decided to see if I could give Zero his MMX4 victory pose, this is what came out.

- When I learn how to change the animations and SA I'll be importing this in I believe.

Edit 2: I've also semi-figured out how animations are loaded in a way.

$04/A7F5 E2 30       SEP #$30                A:0002 X:0002 Y:0015 P:envMXdIzC
$04/A7F7 A9 70       LDA #$70                A:0002 X:0002 Y:0015 P:envMXdIzC - Animation to load when X shoots Ray Beam into air
$04/A7F9 20 00 B9    JSR $B900  [$04:B900]   A:0070 X:0002 Y:0015 P:envMXdIzC
- This code is taken from when X charge shoots his Ray Shot attack.  A9 70 is the part to load the animation, 70 is the actual choice.  This is the animation where he looks up into the air and shoots it.

Another segment of code $04/A7BC E2 30       SEP #$30                A:0088 X:0004 Y:0000 P:eNvMXdIzc
$04/A7BE A9 68       LDA #$68                A:0088 X:0004 Y:0000 P:eNvMXdIzc
$04/A7C0 4C 00 B9    JMP $B900  [$04:B900]   A:0068 X:0004 Y:0000 P:envMXdIzc
- This is when X double jumps.  A9 68 would be code to load, then 68 would be the actual animation.
'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.'

andrewclunn

Awesome find with the double jump animation.  The real question is whether there's room to add a check there or not without breaking everything.

justin3009

#33
Yep there's enough room.  I've already thrown it into empty space so it can be modified to how we want.  There's a few more things before I release a demo patch of this.

Edit: I'm also trying to see if I can find how it loads music.  Then maybe make a check so if it's Zero fighting the boss, you have different music.  I can already import SPC's from Mega Man X2, but nothing from X1 I think.

Edit 2: I've also got a lot of event editing to do for future releases.  I'm wanting to re-do a lot of the dialogue so it's a bit more cleaned up and has more personality slightly with each character.  Also expanding the dialogue so it includes Zero in most of it and having Zero talk during cut scenes.  Eventually, if there's a level editor or anything out for this, I'll probably add a couple more levels if possible where you can either go X's way or Zero's way during Doppler's area or the Intro area.

Edit 3: BIG UPDATE! - Thanks to Zarra's help, we got Zero's life being saved to memory and loading up correctly AND Zero can now obtain Heart Tanks just like X and get more life throughout the game :D
'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.'

andrewclunn

Does this mean I'll have to chose who 's life to increase when I gety a heart?  Will sub tanks also only be usable by the character that collects them?

justin3009

Nope, it gets shared between both of them :D
'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.'

DarknessSavior

I'm quite impressed with your work thus far. I can't wait to try it! :D

~DS
Red Comet: :'( Poor DS. Nobody loves him like RC does. :'(
Sliver-X: LET ME INFRINGE UPON IT WITH MY MOUTH
DSRH - Currently working on: Demon's Blazon, Romancing SaGa, FFIV EasyType.
http://www.youtube.com/user/DarknessSavior

Thanatos-Zero

Hi Justin3009!^^
Say how far are you with the subtanks now? If you are wondering, it is me from Youtube.

justin3009

#38
Subtanks are able to be collected and used by Zero.  I haven't put in the Megaman Zero feature, I might not depending.

Heart Tanks are now able to be collected and work for both of them perfectly as far as I can tell.

Once I alter the Saber damage on the regular bosses, I'll throw up a little test patch for people to play with.

Edit: Interesting note, Gravity Beetle and Bit/Byte's combined form share the same damage value.
'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.'

Thanatos-Zero

By the way, if you are looking for more Zero Sprites, ask JKB(productions) on Youtube; he has all the sprites needed for Zero's 3-hit Combo.
http://www.youtube.com/watch?v=X7D9iZJp60M.

He can certainly help you with the sprites he has.