Author Topic: [FF8] Training Center  (Read 5642 times)


  • *
  • Posts: 39
    • View Profile
[FF8] Training Center
« on: 2017-09-20 23:10:03 »
Steam BuildID: 296320 (FF8_EN.exe)
I put the absolute minimum effort into this program because I was not sure if something like it already existed. If it garners enough support, I may continue the project.

What is Training Center?
In its current state, it is a battle simulator.

What does it do?
(Re)Play any battle with the current party (untested).

Can I switch/customize my party?
Not yet, but that is the long term goal.

Can I play as a monster?
Maybe one day.

How do I use it?
Start FF8_EN.exe and load a save file
Start FF8_TrainingCenter.exe
Enter a number in the edit box
Check the Check1 checkbox
Go to B-Garden- Training Center location and encounter!

I do not have time to catalog each battle right now which is why the UI is practically non-existent.




  • 0xBAADF00D
  • *
  • Posts: 602
    • View Profile
Re: [FF8] Training Center
« Reply #1 on: 2017-09-21 06:43:06 »
Just to make addition to this. I was working on FF8 engine commandline. You can just type BATTLE (id) and it forces it anywhere you are, although it's abandoned project and has to be compiled by yourself:

code for battle:
Code: [Select]
const int _BATTLE = 0x5230C0;
ENTRY = 0x0188C810;

void BATTLE(int encounter)
byte* b = (byte*)(ENTRY + 0x184); //MOV AL, [EDX+184h] (MOVSX ECX, AL)
*b = 9;
UINT16* moviepo = (UINT16*)(ENTRY + *b * 4 - 4); //stack pointer
*moviepo = (UINT16)(encounter & 0xFFFF);
moviepo = (UINT16*)(ENTRY + *b * 4);
*moviepo = 0x0000;
signed int(*Func)(int a1) = ((signed int(*)(int))(_BATTLE + _entry));
int result = Func(ENTRY);
printf("\nBATTLE returned: %d\n", result);

Entry is dynamic, so you might want to check the code for entry search code