Author Topic: FF8, changing built in cheats?  (Read 5576 times)

lycancowboy1989

  • *
  • Posts: 10
    • View Profile
FF8, changing built in cheats?
« on: 2018-09-09 07:12:37 »
Going off the rules page i think this question belongs here, let me know if im wrong.

ff8 2013 PC steam version.

ive searched around and havent seen anything regarding this so im hoping i can get some help with this, if its even possible.

This version of the game has built in cheats activated with f-keys such as the assist function, which grants always full hp, always full atb, always limit break. essentially what im looking for is to change this cheat function but still have it activate via the f2 button. im trying to isolate this assistance cheat to ONLY grant always limit.

ideally this would be to split the three functions to three different keys, or to move the other two functions (hp and atb) to combine with the 9999 damage cheat making the f3 key grant full atb, full health, and 9999 damage. honestly most of that is not necessary and i would easily settle for being able to delete the "always full hp, always full atb" functions entirely leaving only "always limit"

so to recap the goal is to take the current cheat function of f2 and remove everything EXCEPT limit breaks, while still having it activate and deactivate via f2.

im kind of lost on this as its the first time im looking into things like this outside of mods, and the few bumbling attempts ive made to experiment to achieve this have obviously been unsuccessful.

Maki

  • 0xBAADF00D
  • *
  • Posts: 621
  • 0xCCCCCCCC
    • View Profile
Re: FF8, changing built in cheats?
« Reply #1 on: 2018-09-09 16:15:03 »
AF3DN.P - This file contains functions for Steam mods including boosters. FFVIII load this file and overwrite it's functions with the loaded file content. You shall start searching there specifically. It's normal PE or DLL afair.

lycancowboy1989

  • *
  • Posts: 10
    • View Profile
Re: FF8, changing built in cheats?
« Reply #2 on: 2018-09-09 19:23:25 »
Thank you.

is there an easy way to edit a .p file?
i have no programming knowledge or whatever this might be, and realize now im out of my depth on this. ive tried a handful of programs and different things and cant seem to get to anything that is not useless information or encoded gibberish.

im poking around with LordPE atm but i dont really know what im doing tbh.
« Last Edit: 2018-09-09 19:38:06 by lycancowboy1989 »

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8, changing built in cheats?
« Reply #3 on: 2018-09-11 18:55:53 »
Is it absolutely necessary to modify the built-in Boosters? If not, it would be trivial to just use a program like Cheat Engine...

lycancowboy1989

  • *
  • Posts: 10
    • View Profile
Re: FF8, changing built in cheats?
« Reply #4 on: 2018-09-11 21:05:46 »
Not a hundred percent necessary but im not the only one that plays on this pc so having it be something to opt into instead of always on would be ideal. Also the convenience of being able to toggle it on and off via steam controller is nice.

qotsaninsoadkorn

  • *
  • Posts: 156
    • View Profile
Re: FF8, changing built in cheats?
« Reply #5 on: 2018-09-12 00:56:08 »
well it might be nice to adjust the speed that F1 give us for eg...
atm isn't it up to 4x or something...
perhaps halving the value would make us use the feature more...
hard to select spells in battle while the game is running too fast atm... when using F1

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8, changing built in cheats?
« Reply #6 on: 2018-09-13 23:35:46 »
If all goes well, I'll look into this weekend. No promises.

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8, changing built in cheats?
« Reply #7 on: 2018-09-17 22:06:10 »
I have only had about 30m to look at this, but here is a starting point:

Code: [Select]
AF3DN.P+3DC78 | BYTE | HiSpeed
AF3DN.P+3DC79 | BYTE | Assist <- This is what you are interested in
AF3DN.P+3DC80 | BYTE | 9999

References (AF3DN.P):
Address  | Disassembly                 
569EC460 | cmp byte ptr ds:[56A1DC79],0
569EC857 | xor byte ptr ds:[56A1DC79],1 <- This toggles off/on
569ECA86 | cmp byte ptr ds:[56A1DC79],0

Unless someone gets to it before me, I will follow up when I get more time. To be clear, this does nothing. I still need to determine how it interacts with ATB, HP, and Limit Break.
« Last Edit: 2018-09-17 22:13:02 by gaaasstly »

Mcindus

  • *
  • Posts: 929
  • Artist, Modder, Musician.
    • View Profile
    • Lunatic Pandora
Re: FF8, changing built in cheats?
« Reply #8 on: 2018-09-18 01:42:05 »
I have only had about 30m to look at this, but here is a starting point:

Code: [Select]
AF3DN.P+3DC78 | BYTE | HiSpeed
AF3DN.P+3DC79 | BYTE | Assist <- This is what you are interested in
AF3DN.P+3DC80 | BYTE | 9999

References (AF3DN.P):
Address  | Disassembly                 
569EC460 | cmp byte ptr ds:[56A1DC79],0
569EC857 | xor byte ptr ds:[56A1DC79],1 <- This toggles off/on
569ECA86 | cmp byte ptr ds:[56A1DC79],0

Unless someone gets to it before me, I will follow up when I get more time. To be clear, this does nothing. I still need to determine how it interacts with ATB, HP, and Limit Break.

Is there any way to turn the HiSpeed into a framelocked hi-speed?  For example, locking the game to 30fps?  right now it bounces back and forth between 15 (battles), 30 (overworld maps/fields), and 60 (menus)

lycancowboy1989

  • *
  • Posts: 10
    • View Profile
Re: FF8, changing built in cheats?
« Reply #9 on: 2018-09-19 17:44:55 »
thanks for the interest, even if it doesnt pan out.

are you using any specific program to access these? nothing i tried allowed me to even get into the data of the file, only letting me see header info and other useless things.

gaaasstly

  • *
  • Posts: 39
    • View Profile
Re: FF8, changing built in cheats?
« Reply #10 on: 2018-09-22 17:48:44 »
Is there any way to turn the HiSpeed into a framelocked hi-speed?  For example, locking the game to 30fps?  right now it bounces back and forth between 15 (battles), 30 (overworld maps/fields), and 60 (menus)

Maybe. Take a look at 56A8DC9C. I noticed when HiSpeed is enabled the FPS increases and, maybe I'm wrong, but I think this is a side-effect of "speed hack" and the two are independent. Generally speaking (especially in older games), things are tied to the FPS and there is "good" reason to limit it.

thanks for the interest, even if it doesnt pan out.

are you using any specific program to access these? nothing i tried allowed me to even get into the data of the file, only letting me see header info and other useless things.

You can use any memory editor and/or debugger (I prefer Cheat Engine and x64dbg). The idea is to view the module after the processes has loaded it. You won't get far if you don't understand x86 assembly, though.

This was actually much easier than I anticipated--NOP these 6 addresses and you will have the desired effect. That said, I would still advocate for something like Cheat Engine to enable/disable this on-the-fly rather than patch this into your game permanently.

Code: [Select]
Party Member 1 (Top)
56A5C48D | 66:8991 72010000         | mov word ptr ds:[ecx+172],dx            | HP
56A5C494 | 8B50 10                  | mov edx,dword ptr ds:[eax+10]           | ATB

Party Member 2 (Middle)
56A5C4BC | 66:8991 42030000         | mov word ptr ds:[ecx+342],dx            | HP
56A5C4C3 | 8B90 E0000000            | mov edx,dword ptr ds:[eax+E0]           | ATB

Party Member 3 (Bottom)
56A5C4F7 | 66:8991 12050000         | mov word ptr ds:[ecx+512],dx            | HP
56A5C4FE | 8B90 B0010000            | mov edx,dword ptr ds:[eax+1B0]          | ATB

P.S.

It is probably worth mentioning these are for the English version.
« Last Edit: 2018-09-22 22:03:52 by gaaasstly »

lycancowboy1989

  • *
  • Posts: 10
    • View Profile
Re: FF8, changing built in cheats?
« Reply #11 on: 2018-10-01 23:37:29 »
Thank you very much for the effort put in for this. we will see if i can manage to do it.