Author Topic: FF8 Perfect party: modyfing Dollet mission result  (Read 4065 times)

lapinou

  • *
  • Posts: 3
    • View Profile
Hello,

So I'm doing a FF8 perfect party, and I'm currently after dollet mission, I've trained Seifer until lvl 100 and I was aiming for a perfect Dollet score, but it seems that the PC version of FF8 works differently for the Ifrit part (Judgment point), so I killed him after 00:07 but I got 0 point for the kill so I don't have a perfect score. Now my question is : is it possible to change the value of the judgment somewhere to not do the Seifer leveling part again (anyway I won't do it again).

I tried to see if the value wasn't in the save file with a hex editor but I wasn't able to find it so I tried Hyne to see again (in advanced mode). I read some documentation about how FF8 worked, and I figured it out that maybe that value was stocked inside the memory of the game (http://wiki.qhimm.com/view/FF8/Variables), so I opened cheat engine and I downloaded a table for FF8, but the table doesn't seems to work (value are marked as ??) and I can't find the adress to modify.

Can someone help me to change that value if it's possible ?

I know that this value only affect the SeeD rank but I'm a perfectionnist.

TL:DR:

  • Failed Dollet perfect score cause of FF8 Steam version
  • Want to change the value of the judgment score
  • Tried Hyne and Cheat Engine to change value
  • Help me to change that value if it's possible ?

PS:

I'm sorry to post a help asking as a first post, but If it's a problem I've got some file that I can release, didn't want to do that at first because there was already something like that.

EDIT:

I found 2 memory adresses about this kind of stuff:

'FF8 executable name'+787C4C - Value concerning Dollet Exam Point
'FF8 executable name'+192B224 - SeeD rank

The first one is acting strangely I can modify the Dollet mission screen result but in a strange way, my judgment value is always staying at 0 while the other value are increasing only, If I put 90 for example all my points will be at 110 except for Judgment and Manner.

EDIT 2:

I finally found the adress at FF8_FR.exe+192B210, you can close the topic.
« Last Edit: 2017-08-08 14:07:55 by lapinou »

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8 Perfect party: modyfing Dollet mission result
« Reply #1 on: 2017-08-08 16:02:41 »
Are you sure this was not a localization issue?

lapinou

  • *
  • Posts: 3
    • View Profile
Re: FF8 Perfect party: modyfing Dollet mission result
« Reply #2 on: 2017-08-08 16:32:13 »
Well, the steam version has a different name for every country (mine is French so I got FR I guess), so this could cause trouble with the table, so I changed every 'FF8.exe' by 'FF8_FR.exe' but it was still the same, maybe this table is for FF8 original PC version and adresses are different ?

If you have an updated table with all adresses and stuff like that it would be great.
« Last Edit: 2017-08-10 15:18:07 by lapinou »

Maki

  • 0xBAADF00D
  • *
  • Posts: 621
  • 0xCCCCCCCC
    • View Profile
Re: FF8 Perfect party: modyfing Dollet mission result
« Reply #3 on: 2017-08-10 11:10:56 »
If you have an updated table with all adresses and stuff like that it would be great.
https://github.com/Extapathy/OpenFF8/blob/master/OpenFF8/OpenFF8.cpp

Look at: void PatchAddresses()
for code to translate addresses between 2000 PC release and Steam.

It's basically adding or subtracting 0x10 when address is between 0x45B580-0x4974E0
and 0x1B0 when 0x4A1960 - 0xB5F410
« Last Edit: 2017-08-10 11:15:31 by Maki »

lapinou

  • *
  • Posts: 3
    • View Profile
Re: FF8 Perfect party: modyfing Dollet mission result
« Reply #4 on: 2017-08-10 15:17:55 »
I must be dumb, but this doesn't work, I got adresses that are higher than the boundary, and even If I substract the offset of GIL adresses of FF8 2000 (18FE764) with the offset of the steam PC (18FE43C) I don't get the expected value (get 0x328).

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8 Perfect party: modyfing Dollet mission result
« Reply #5 on: 2017-08-12 23:19:21 »
You are using the French version and the addresses are for the English version. You will need to do a file comparison with a disassembler to calculate the correct offset. The easiest way is to find what writes to the address and either use a nearby string reference or do a byte signature search.
« Last Edit: 2017-08-12 23:28:10 by gaaasstly »