logo
 drop

Main

Community

Submissions

Help

Author Topic: Some MM4 hacking help...  (Read 202 times)

Googie

  • Hero Member
  • *****
  • Posts: 655
  • Location: Bronx, New York
  • eeee!
    • View Profile
    • My work in progress ROM Hacking site
Some MM4 hacking help...
« on: May 19, 2017, 12:24:48 pm »
I'm trying to disable the flashing in the background, when click the BG Palette button to 1 or 2 the flashing stops and I save the ROM, only when I play up to that part the background flashing is still there.



Can someone please point me in the right direction to disable the flashing? This is the only thing that's stopping me from hacking MM4, thanks everyone... :)
The ROM Hacking community's cartoonist...

SpiderDave

  • Jr. Member
  • **
  • Posts: 22
    • View Profile
    • spiderdave.com
Re: Some MM4 hacking help...
« Reply #1 on: May 19, 2017, 01:31:52 pm »
Setting it back to 0 doesn't change it back, and changing the Scroll GFX Load below it to 1 then 0 doesn't change it back either.  This could be a bug or a quirk of the editor.  Maybe you could message the author about it.

Googie

  • Hero Member
  • *****
  • Posts: 655
  • Location: Bronx, New York
  • eeee!
    • View Profile
    • My work in progress ROM Hacking site
Re: Some MM4 hacking help...
« Reply #2 on: May 19, 2017, 07:39:57 pm »
I e-mailed Matrix with a link to this thread, hopefully something'll pop up.
The ROM Hacking community's cartoonist...

FCandChill

  • Sr. Member
  • ****
  • Posts: 444
    • View Profile
Re: Some MM4 hacking help...
« Reply #3 on: May 19, 2017, 11:35:15 pm »
I think you are editing in the wrong window. The later Mega Man engines have a unique way of dealing with the dynamic palettes. The palette swapping sets have their own palettes ... but are technically used for a split second when the level is loaded. The game has a selection of dynamic palettes that are specific for certain palette set(s)...

The bg palette option in the current window is useful for switching out palettes between different screen transitions, which is tricky when editing...

Ness

  • Jr. Member
  • **
  • Posts: 51
  • Location: France
    • View Profile
Re: Some MM4 hacking help...
« Reply #4 on: May 20, 2017, 05:15:47 am »
The game use effect objets for pal anim and pal switches.
Check the enemy editor and you'll see "C1", "C2" effects etc

However, it seems that deleting those still doesn't get rid of the fading in/out. It's possible that it's hardcoded for this stage, just like the CHR anim in MM5's Gravity Man stage is.

Have you checked MM4 documentation ?

shadow501

  • Full Member
  • ***
  • Posts: 163
  • Location: Romhacking
  • Hex Editor
    • View Profile
Re: Some MM4 hacking help...
« Reply #5 on: May 20, 2017, 08:50:01 am »
Setting it back to 0 doesn't change it back, and changing the Scroll GFX Load below it to 1 then 0 doesn't change it back either.  This could be a bug or a quirk of the editor.

That is right, I try stop flashing but the game have bug +1 :thumbsup:

Ness

  • Jr. Member
  • **
  • Posts: 51
  • Location: France
    • View Profile
Re: Some MM4 hacking help...
« Reply #6 on: May 20, 2017, 09:14:01 am »
From Matrixz's documentation

http://www.romhacking.net/documents/363/

Quote
[Bright Man Stage Data]

MEMORY AREA: $A000-$BFFF

A000-B6FF : <Level Data> : Bright Man

B700-B7FF : Mega Buster: Damage to each object ID

B800-B8C6 : Palette Animation Handler ASM
   B813-B822 : Check for each palette if it's animated. If so, call $B829.
      If #$80 (bit 7 is on), palette is animated.
   B829-B862 : Subroutine called if palette is animated.

B8C7-> : Palette Animations - Palette Sets - (Groups of 3 bytes)
   D3 is last Palette Set

BB43-BD2B : Palette Animation Data

BD2C-BD6B : Palette Animation ID Offset - Low Byte
BD6C-BDAB : Palette Animation ID Offset - High Byte

dACE

  • Sr. Member
  • ****
  • Posts: 286
    • View Profile
Re: Some MM4 hacking help...
« Reply #7 on: May 20, 2017, 09:38:34 am »
With a debugger (FCEUX) I found this in about ten minutes.

What you want to do is to set a break-point when the palette values are written.

This will lead you to a compare: C9 40

So - what if you were to exchange the 40 to 00 at offset 418A4 (vanilla rom)?

That will stop the blinking - but it might affect other levels as well - who knows.


EDIT: Yeah it does - the above change will remove ALL blinking palettes everywhere - cool huh?

/dACE