Author Topic: SOLVED: Bootleg Install, Summon entry missing in Magic Menu  (Read 5030 times)

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Usually it's displayed like this
Magic
Summon
Enemy Skill

with each category displaying the currently available ones
however, I can't get the summon thing to show up. What I assume ( that means I have no actual idea ) is happening is that the flag to make this visible is not set correctly due to Gjos hardcore mod. When you receive the chocobo materia, you're immediately thrown into a fight and I think that somewhere in that, the flag isn't set. I tried throwing away chocobo and getting shiva but the flag isn't set then.
I couldn't find anything like that with makou reactor and maybe it's set somewhere else. I dunno. Anyone else ran into this? ( I KNOW this was displayed correctly on the PSX version )

Kranmer

  • *
  • Posts: 766
    • View Profile
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #1 on: 2012-08-17 14:41:58 »
I just had a quick look at this, and on my Clean install (meaning just FF7 and Aalis driver) it worked fine, but as soon as i installed the menu overhaul the summon section doesn't show unless its already active (i mean a save that already has it on), i tried replacing the flevel with the original to see if that was the problem and it wasn't, it appears to be EXE related because when i use the original 1.02 EXE clean it works, also the memory address for how many menu's you have activate is
00DC0927
when that is 3 you will have all 3 (magic, summon, E-skill), when its 2 you have magic and e-skill and when its 1 you have magic and summon and when its 0 it shows just magic.

also note that i am just using the menu overhaul and NOT the hardcore mod, there may be more issues with the hardcore mod as well but just the summon thing appears to be menu overhaul related.
And i tested this at the area where you receive the chocobo materia, as soon as the chocobo's finish dancing (at the point when the first text box comes up and NOT the received materia box) the value should change to 3 (it does in a clean 1.02) but with the menu overhaul it doesn't, it just stays at 2.

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #2 on: 2012-08-17 14:55:06 »
This might be my fault.  We will see.

edit.  Dunno what I have done, but must have done something.  I will look into this.  It is a critical error cause you cant access the summon at all from that menu if you started a new game.

edit2:

I will check this when I get back.  IN any case the issue stems from the fact that my changes have somehow stopped the write from 006CC143 to 00DC0927

edit 3:  I am having to trace it all the way back.  But I am getting there.

edit 4:  When dziugo figured out a way to make the materia stay in order by altering the table at 0091abf0, unfortunately he and I did not know it would also be used to decide if the options should appear.  So now the table is different, it picks a value and gets the totally wrong result.  IN other words, some more changes are going to be needed now to make the new table work with this code.

That's why there is an issue.  This problem will likely affect enemy skill as well.  And magic.  Depending on which values are different.  It may be easy actually... I may only need to change the compare at 006CC135 to 2 (the new value in table, which was originally A).  There may be more of these compare values needing alteration elsewhere.

edit 5: yes, changing the compare to reflect the new materia table values fixes this issue.  Now we have to make sure that the other options will be correct as well.  There will be a check on this table for magic and enemy skill as well... Luckily it shouldnt be too hard for me to track them down as the code will write to 00DC0927

The table starting 0091ABF0 is for the 5 Materias.  In the menu project these are 03 05 06 04 02.  These values are checked by the code to see if you have a summon, magic or enemy skill in your inventory.  The last of these 5 records is the Summon materia, and thus, originally it was A.  Now it is 2.  So I changed the check to ask if 2 is there and not A.  Simple.  But 2 of the other 4 values will also be checked for magic and enemy skill.

The original table was 09 05 08 04 0A

So

03 05 06 04 02
09 05 08 04 0A

By sheer coincidence, it could well be that magic and command are 05 and 04... and since they are not changed, this would be why there is no issue reported with magic and command.

edit 6. 

Nope.  I was only half lucky.

09 05 08 04 0A

09: Independent
05: Dependent
08: Command
04: Magic
0A: summon.

That still doesn't explain how it knows Enemy skill is there, since these are for the 5 types and not specific.  I will go further into this.  What I do know for sure is, because 04 is same in my table and original, this issue will not affect magic option.

edit 7:

It probably just checks 0091ABFF which should be 02 for Enemy Skill.  And it still is 02 in menu project.

Conclusion:

Due to change in Materia lookup table for Menu Overhaul, the wrong value was passed into code.  Because of this, a check for the specific value for Summon failed and the code that sets the Magic option to appear in magic menu did not get used. Sheer luck saved this issue from happening to Magic and Enemy Skill because the values in the Menu project are the same as the original game.  The Summon Materia value was changed from 0a to 02.  To fix the issue, change the check at 006CC135 to 02 (the new value for Summon).

In other words, I only need to add 1 address and 1 byte change to the next Menu Overhaul to fix this issue.  Simple.
If you want to fix this issue yourself, open ff7.exe in a hex editor and change address 002CB537 to 02

Thank you very much for this bug report.
« Last Edit: 2012-08-17 21:03:07 by DLPB »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #3 on: 2012-08-17 21:09:56 »
This problem needs moving to solved :)  Ah, I like that word.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #4 on: 2012-08-17 21:23:24 »
Enemy Skill showed up fine btw.
but anyway, good that's solved.
im surprised nobody has reported this until now

edit: I can't find 006CC135 as address in the exe. mine ends at 59C3F3 ( maybe i'm just doing this wrong though )
« Last Edit: 2012-08-17 21:27:20 by KuugenTheFox »

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #5 on: 2012-08-17 21:24:32 »
Enemy Skill showed up fine btw.
but anyway, good that's solved.
im surprised nobody has reported this until now

They usually report it after the release. 

yeah as said above Magic and Enemy Skill values are unchanged through sheer chance.  Had they been different like the Summon value, there would have been an issue.  The reason I didn't see this is because I am using saves and never went from the beginning of the game.
« Last Edit: 2012-08-17 21:27:51 by DLPB »

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #6 on: 2012-08-17 21:28:14 »
I play around too much with the initial values in the kernel to use saves. I think I must've seen the opening movie over 500 times now.
also, see above @ can't find the address

DLPB_

  • Banned
  • *
  • Posts: 11006
    • View Profile
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #7 on: 2012-08-17 21:30:40 »
 006CC135 is memory address. I am sorry for not making that clear.

The exe address is above in conclusion.

Tenko Kuugen

  • Public Enemy
  • *
  • Posts: 1416
    • View Profile
    • Twitter
Re: Bootleg Install, Summon entry missing in Magic Menu
« Reply #8 on: 2012-08-17 21:39:01 »
Did the hex edit on the .exe
unequip a red materia, equip it, and the entry shows up for every character henceforth.
solved.