Miscellaneous Forums > Scripting and Reverse Engineering

[FF7] Chocobo Betting

(1/5) > >>

ff7man:
Does anyone know how the winning chocobos in the gold saucer chocobo betting are calculated or where to look?

Fuzzfingergaming made a video describing his process: https://www.youtube.com/watch?v=jXLHLeT12Ts

I made an html tool to calculate the chocobos using his formula, but it's not perfect.

https://www.youtube.com/watch?v=0EPUW8ckGwg

I know if you use save states on the chocobo betting win pre game screen you can return after the race and re-input the values to get the same result. So the results should be pre calculated based on stats and jockey color.

Would be nice to know the official equation that calculates the winners. I'm not sure where to go looking to find this however.

Anyone able to help?

*Future Me Here* Fuzzfingers method is 63.38% accurate, which really isn't bad. I learned a lot about the game, but there's really just too many random number lookups happening to do better without manipulating RNG. Which I did eventually figure out how to do on both PSX and PC builds https://ff7man.github.io/rng.html

ff7man:
Alright so this isn't my first reverse engineering rodeo, so I took a stab at trying to answer this myself, but I still need help.

I setup ff7 steam.

Using black_chocobo I created a save at the chocobo square.

Loading the betting screen there are visual indicators we can see: top speed, stamina, name, chocobo color, jockey color, sprinting, prizes, and gil

I'm guessing the real solution to solving this mystery involves these variables or chocobo stats we can't see.

Using Cheat Engine I searched the game for the value of my gil.

Right click the address -> and the money updates. Neat.

Looking for 1 byte and 2 byte variables of the speed and stamina leads me no where. Not sure why. Those values could be obfuscated somehow...

According to https://finalfantasy.fandom.com/wiki/Chocobo_(Final_Fantasy_VII) someone has reverse engineered the equation for how they calculate speed and stamina.

The displayed value for the speed is derived from Dash/34 and the value for stamina is actual stamina/10.

Searching for stamina*10 didn't retrieve any results in cheat engine and neither did searching for speed*34

I'm hoping if I can find those values in memory and then maybe I can see other data around it for the chocobos stats or a win order.

Taking a step back, and borrowing on the shoulders of giants I found the ff7 gears pdf.

I discovered the data for the minigames are not in the ff7_en.exe, but are rather loaded into memory when you start a minigame.

The data that gets loaded is stored in C:\ff7\data\minigame\chocobo.lgp . Using the lgp tool I can extra the archive and see a bunch of graphical assets and a large 1mb chocobo.wat file.

AFAIK no one has reverse engineered the wat files for minigames... well I at least haven't seen any tools or documentation.

Except maybe @ergonomy_joe who managed to reverse engineer the coaster game. Crazy. That's some next level skill. Kudos.

I found them on this forum and they claim to have done the same for all the minigames except condor - https://forums.qhimm.com/index.php?topic=16507.0

Anyone have a way to reach him? I can't send personal messages yet. Can someone give me privs to do so?

He made an unreleased tool afaik to extract some of the files in the wat back in 2016 https://magnetiktank.blogspot.com/2016/01/ff7s-chocobowat-having-fun-with-3d.html -> the link on geocities is long dead but archive.org has a copy.
https://magnetiktank.blogspot.com/2016/01/ff7-chocobowat.html

I know there are concerns of copyright with his code.

From what I can tell the wat file has a bunch of strings that read a bit like a binary and reference various elements of source code.

If I could just load the code in memory and pause execution and then find where I'm at, I wouldn't need to re the wat file to see the assembly it generates.

Instead of looking for stamina or speed values maybe I can look for the chocobo names. I searched for them in cheat engine, but didn't have any hits.

Then I recalled gears mentioned ff7 doesn't use standard ascii tables for text, but rather uses their own bastardized table.

The text for the chocobo name MIKE is actually 2D 29 2B 25. However searching for an int with those yields nothing... Weird. Prior intuition lead me to believe it might be endianness.

So, I searched for 4 bytes of 25 2B 29 2D and low and behold I found it :) Modifying the characters updates the text on the screen.

Viewing the memory region I can see each chocobo has about 164 bytes between their names.

Most of those bytes change radically once the game starts, so I doubt they are values for the static stamina or top speed. You can zero out most and it doesn't seem to make an impact on the game.

With the address I decided to set a breakpoint on memory write to the chocobo name. However, on loading the betting screen the debugger crashes.

This might be an issue with how minigames are loaded or anticheat, but I found a workaround by using a debugger option in cheat engine to use VEH breakpoints.

This pauses the game the exact instruction a write is called to the chocobo name, landing me exe+373306A.

Dumping the process memory with task manager and searching for the bytes in hxd brings me to the loaded code :) hazzah progress.

Even though we are attached with cheat engine. I can re-attach using IDA. With IDA attached I see the code starts at 401000 from the functions window. Adding the base address plus the position from cheat engine 373306A and we get 772AA3. Jumping to that address and enabling viewing opcodes I can see we are looking at the same piece of memory as cheat engine but now we have more tools. We are in the middle of a long code block in sub_772357, generating psuedocode for the function, and we can see numerous 0->6 for loops showing something is happening for each chocobo. This looks really promising.

I'm not the most familiar with C/asm, but a piece that sticks out to me are a set of ifs.
If a value is <40. Subtract from 40 and divide by 10
If a value is >40 but <60. Subtract it from 60 and divide by 5
If a value is >60 but <80 . Subtract it from 80 and divide it by 5.
If a value is >80. Subtract it from 110 and divide it by 5.

Then divide that value by 8 and save it

Being less than 110 looks oddly similar to the speed ranges.

Using the PSX version of the game and epsxe I can use save states and reload the betting screen quickly.
 
From that I noticed the stats in class C are:
73-87 -> 14 window
251-278 -> 17 window

and in class B are:
89-105 -> 16 window
300-329 -> 29 window

Using cheat engine I searched 110-speed/5 and 110-speed/5/8, but I didn't get any values that updated the screen...

There are a few /10's in the code perhaps they are operating on the dash value?

I'm not sure really where to go from here. I could use some tips from someone who knows how to RE better than I do. 


--- Code: ---__int16 sub_772357()
{
  int v0; // eax
  int v1; // ST88_4
  int v2; // ST84_4
  __int16 v3; // ST80_2
  int v4; // eax
  __int16 v5; // si
  __int16 v6; // si
  int v7; // eax
  int v8; // esi
  int v9; // eax
  int v10; // eax
  int v11; // ST8C_4
  int v12; // ST78_4
  int v13; // ST7C_4
  int v14; // ST70_4
  int v15; // ST74_4
  int v16; // ST94_4
  int v17; // ST90_4
  char *v19; // [esp+40h] [ebp-134h]
  signed int ii; // [esp+50h] [ebp-124h]
  signed int jj; // [esp+50h] [ebp-124h]
  char *v22; // [esp+5Ch] [ebp-118h]
  __int16 i; // [esp+8Ch] [ebp-E8h]
  __int16 j; // [esp+8Ch] [ebp-E8h]
  __int16 k; // [esp+8Ch] [ebp-E8h]
  __int16 n; // [esp+8Ch] [ebp-E8h]
  __int16 kk; // [esp+8Ch] [ebp-E8h]
  int l; // [esp+90h] [ebp-E4h]
  signed int m; // [esp+90h] [ebp-E4h]
  __int16 *v30; // [esp+98h] [ebp-DCh]
  int v31; // [esp+9Ch] [ebp-D8h]
  int v32; // [esp+A0h] [ebp-D4h]
  int v33; // [esp+A4h] [ebp-D0h]
  int v34; // [esp+ACh] [ebp-C8h]
  int v35[45]; // [esp+B0h] [ebp-C4h]
  float v36; // [esp+164h] [ebp-10h]
  float v37; // [esp+168h] [ebp-Ch]
  float v38; // [esp+16Ch] [ebp-8h]
  int v39; // [esp+170h] [ebp-4h]

  v0 = sub_676578();
  v34 = v0;
  for ( i = 0; i < 6; ++i )
  {
    word_E71158[82 * i + 62] = 224 * i / 6 + 16;
    LOWORD(v0) = i + 1;
  }
  for ( j = 0; j < 40; ++j )
  {
    v1 = sub_7AE9C0() % 6;
    v2 = sub_7AE9C0() % 6;
    v3 = word_E711D4[82 * v1];
    word_E711D4[82 * v1] = word_E711D4[82 * v2];
    word_E711D4[82 * v2] = v3;
    LOWORD(v0) = j + 1;
  }
  for ( k = 0; k < 6; ++k )
  {
    v30 = &word_E71158[82 * k];
    if ( !dword_E71128 || k )
    {
      v5 = word_97A3E0[4 * (unsigned __int8)byte_DC0AF3];
      v30[44] = sub_7AE9C0() % word_97A3E2[4 * (unsigned __int8)byte_DC0AF3] + v5;
      v6 = word_97A3E4[4 * (unsigned __int8)byte_DC0AF3];
      v30[43] = sub_7AE9C0() % word_97A3E6[4 * (unsigned __int8)byte_DC0AF3] + v6;
      v30[47] = 50;
      v30[49] = 100;
      v7 = sub_7AE9C0();
      v30[3] = ((v7 >> 31) ^ abs((_BYTE)v7) & 3) - (v7 >> 31);
      v8 = word_97A3E0[4 * (unsigned __int8)byte_DC0AF3];
      *((_DWORD *)v30 + 27) = sub_7AE9C0() % 300 + v8;
      *((_DWORD *)v30 + 26) = *((_DWORD *)v30 + 27);
      v30[48] = 1;
      v9 = -((sub_7AE9C0() & 7) != 0);
      LOBYTE(v9) = v9 & 0xFE;
      v30[38] = v9 + 2;
      v30[46] = v30[50] / 10;
      v30[67] = 3;
      v30[50] = 50 * (sub_7AE9C0() & 1) + 50;
    }
    else
    {
      v30[44] = ((unsigned __int8)byte_DC0AE7 << 8) + (unsigned __int8)byte_DC0AE6;
      v30[43] = ((unsigned __int8)byte_DC0AE9 << 8) + (unsigned __int8)byte_DC0AE8;
      v30[47] = (unsigned __int8)byte_DC0AEA;
      v30[49] = (unsigned __int8)byte_DC0AEB;
      v4 = sub_7AE9C0();
      v30[3] = ((v4 >> 31) ^ abs((_BYTE)v4) & 3) - (v4 >> 31);
      *((_DWORD *)v30 + 27) = ((unsigned __int8)byte_DC0AF7 << 8) + (unsigned __int8)byte_DC0AF6;
      *((_DWORD *)v30 + 26) = *((_DWORD *)v30 + 27);
      v30[48] = 1;
      v30[38] = (unsigned __int8)byte_DC0AEE;
      v30[46] = v30[50] / 10;
      switch ( byte_DC0AED )
      {
        case 1:
          v30[67] = 1;
          break;
        case 2:
          v30[67] = 2;
          break;
        case 3:
        case 4:
          v30[67] = 0;
          break;
        default:
          v30[67] = 3;
          break;
      }
      v30[50] = (unsigned __int8)byte_DC0AEC;
    }
    if ( v30[50] >= 40 )
    {
      if ( v30[50] >= 60 )
      {
        if ( v30[50] >= 80 )
        {
          v30[41] = 0;
          v10 = (110 - v30[50]) / 5;
        }
        else
        {
          v30[41] = 1;
          v10 = (80 - v30[50]) / 5;
        }
        v30[51] = v10;
      }
      else
      {
        v30[41] = 2;
        v30[51] = (60 - v30[50]) / 5;
      }
    }
    else
    {
      v30[41] = 3;
      v30[51] = (40 - v30[50]) / 10;
    }
    v30[46] = v30[50] / 8;
    v30[76] = *((_WORD *)dword_E7112C + 2);
    v30[65] = k;
    v30[2] = v30[43] / 2;
    v30[39] = v30[43];
    *v30 = 10;
    v30[1] = 11;
    v30[66] = 0;
    v30[77] = -1;
    v30[80] = 0;
    v30[79] = 0;
    v30[78] = 0;
    v30[81] = 0;
    v11 = 256 - v30[62];
    v30[75] = v30[62];
    v30[8] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * *v30 + 8)
            + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * *v30))
           / 256;
    v30[9] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * *v30 + 10)
            + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * *v30 + 2))
           / 256;
    v30[10] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * *v30 + 12)
             + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * *v30 + 4))
            / 256;
    v30[32] = v30[8];
    v30[33] = v30[9];
    v30[34] = v30[10];
    v30[20] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * v30[1] + 8)
             + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * v30[1]))
            / 256;
    v30[21] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * v30[1] + 10)
             + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * v30[1] + 2))
            / 256;
    v30[22] = (v11 * *(signed __int16 *)(dword_E715FC + 24 * v30[1] + 12)
             + v30[62] * *(signed __int16 *)(dword_E715FC + 24 * v30[1] + 4))
            / 256;
    v30[24] = 0;
    v30[25] = 0;
    v30[26] = 0;
    v30[28] = 0;
    v30[29] = 0;
    v30[30] = 0;
    v30[25] = sub_77CFBF(dword_E715FC + 49152, dword_E715FC + 49176);
    v30[56] = 0;
    v30[57] = 0;
    v30[59] = v30[2] / dword_E7101C;
    v30[63] = 0;
    v30[64] = 0;
    v31 = v30[20] - v30[8];
    v32 = v30[21] - v30[9];
    v33 = v30[22] - v30[10];
    sub_6638B0(&v31, &v31);
    v30[29] = sub_77CF40(v31, v33);
    v30[25] = v30[29];
    LOWORD(v0) = k + 1;
  }
  if ( byte_DC0AF2 )
  {
    v12 = dword_E7120C;
    v13 = dword_E71210;
    v14 = dword_E71224;
    v15 = dword_E71228;
    qmemcpy(&unk_E711FC, word_E71158, 0xA4u);
    dword_E7120C = v12;
    dword_E71210 = v13;
    dword_E7123C = v12;
    dword_E71240 = v13;
    dword_E71224 = v14;
    dword_E71228 = v15;
    dword_E71268 += dword_E71268 / 4;
    dword_E71264 += dword_E71264 / 4;
    word_E71252 += word_E71252 / 10;
    LOWORD(v0) = word_E71254 / 10;
    word_E71254 += word_E71254 / 10;
    word_E7125A = 100;
    word_E71260 = 100;
    word_E71202 = 3;
    word_E71282 = 0;
    word_E7128C = 9;
    word_E7128E = 1;
  }
  for ( l = 0; l < 45; ++l )
  {
    v35[l] = l;
    LOWORD(v0) = l + 1;
  }
  for ( m = 0; m < 200; ++m )
  {
    v16 = sub_7AE9C0() % 45;
    v0 = sub_7AE9C0();
    v17 = v35[v16];
    v35[v16] = v35[v0 % 45];
    v35[v0 % 45] = v17;
    LOWORD(v0) = m + 1;
  }
  for ( n = 0; n < 6; ++n )
  {
    if ( byte_DC0AF2 && n == 1 )
    {
      for ( ii = 0; ii < 8; ++ii )
        *((_BYTE *)&dword_E711E0[41 * n] + ii) = byte_97C8A8[ii];
    }
    else
    {
      v22 = (char *)&unk_97CC58 + 7 * v35[n];
      for ( jj = 0; jj < 6; ++jj )
        *((_BYTE *)&dword_E711E0[41 * n] + jj) = *v22++;
      *((_BYTE *)&dword_E711E0[41 * n] + jj) = -1;
      if ( dword_E71128 && n )
        sub_773487(n, 0, 0);
    }
    LOWORD(v0) = n + 1;
  }
  if ( dword_E71128 )
  {
    dword_E711E0[0] = dword_DC0ADC;
    word_E711E4 = word_DC0AE0;
    byte_E711E6 = -1;
  }
  for ( kk = 0; kk < 6; ++kk )
  {
    v19 = (char *)dword_E719E8 + 60 * word_E71158[82 * kk + 72];
    if ( (!byte_DC0AF2 || kk != 1) && (!dword_E71128 || kk) )
    {
      switch ( word_E71158[82 * kk + 3] )
      {
        case 0:
          v19[8] = 0;
          v19[7] = 0;
          v19[6] = 0;
          v38 = (double)(unsigned __int8)v19[6] / 256.0;
          v37 = (double)(unsigned __int8)v19[7] / 256.0;
          v36 = (double)(unsigned __int8)v19[8] / 256.0;
          v39 = 1065353216;
          sub_684E20((int)&v36, *(_DWORD *)(*((_DWORD *)v19 + 13) + 180));
          break;
        case 1:
          v19[6] = 64;
          v19[7] = 64;
          v19[8] = 0;
          v38 = (double)(unsigned __int8)v19[6] / 256.0;
          v37 = (double)(unsigned __int8)v19[7] / 256.0;
          v36 = (double)(unsigned __int8)v19[8] / 256.0;
          v39 = 1065353216;
          sub_684E20((int)&v36, *(_DWORD *)(*((_DWORD *)v19 + 13) + 180));
          break;
        case 2:
          v19[6] = 64;
          v19[7] = 16;
          v19[8] = 0;
          v38 = (double)(unsigned __int8)v19[6] / 256.0;
          v37 = (double)(unsigned __int8)v19[7] / 256.0;
          v36 = (double)(unsigned __int8)v19[8] / 256.0;
          v39 = 1065353216;
          sub_684E20((int)&v36, *(_DWORD *)(*((_DWORD *)v19 + 13) + 180));
          break;
        case 3:
          v19[6] = 0;
          v19[7] = 16;
          v19[8] = 64;
          v38 = (double)(unsigned __int8)v19[6] / 256.0;
          v37 = (double)(unsigned __int8)v19[7] / 256.0;
          v36 = (double)(unsigned __int8)v19[8] / 256.0;
          v39 = 1065353216;
          sub_684E20((int)&v36, *(_DWORD *)(*((_DWORD *)v19 + 13) + 180));
          break;
        default:
          break;
      }
    }
    LOWORD(v0) = kk + 1;
  }
  return v0;
}
--- End code ---

Using black chocobo I created a chocobo with set values and that helped a bit.

Taking a look deeper look at the name in memory. The name is actually the trailing piece of data.

Each chocobo has 164 bytes of memory.


--- Code: ---00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 0A 00 0B 00 BC 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A
00 23 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 40 FA 0A 00 24 DD 00 00 00 00 00 04 00 00 00 00 00 00 00
04 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 78
07 00 00 00 00 00 00 78 07 40 08 00 00 0A 00 51 00 01 00 52
00 53 00 05 00 3D 10 00 00 3D 10 00 00 00 00 00 00 00 00 9F
00 00 00 00 00 A5 00 00 00 00 00 00 00 00 00 03 00 23 48 4F
43 4F 12 FF

--- End code ---

Name = Choco2
Top Speed = 62 (-48 bytes /34)
Stamina = 415 (-28 bytes and -32 bytes /10)
Acceleration = 81 (-42 bytes)
Cooperation = 82 (-38 bytes)
Stamina = 4157 (-28 bytes and -32 bytes)
Intelligence = 83 (-36 bytes)
Run speed = x778  = 1912/3323 -> (-50 bytes)
Sprint Speed = x840 = 2112 /3523 (-48 bytes)

With this I am able to modify the speed/stamina values.

The second chocobo:

--- Code: ---00 06 00 00 00 1E 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00
00 0A 00 0B 00 61 03 02 00 00 00 00 00 00 00 00 00 E7 F9 0A
00 10 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 41 FA 0A 00 11 DF 00 00 00 00 00 04 00 00 00 00 00 00 00
04 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 C3
06 00 00 02 00 00 00 C3 06 E5 09 00 00 06 00 32 00 01 00 64
00 32 00 02 00 0A 0A 00 00 0A 0A 00 00 00 00 00 00 00 00 90
00 00 00 00 00 35 00 00 00 00 00 01 00 00 00 03 00 39 2F 35
2E 27 FF FF
74,257,YOUNG,bronze

--- End code ---

-28 Bytes = Stamina = x0a0a/10=257
-36 Bytes = Intelligence = 32
-38 Bytes = Cooperation = 64
-42 Bytes = Acceleration = 32
-48 Bytes = TS x9e5/34 = 74
-50 Bytes = Run speed = x6c3 = 1731

-40 Bytes = 1 = UNK
-44 Bytes = 6 = UNK

According to the psuedo code and validated with the values intel/coop/acceleration are either 32, or 64 for ai.

Here's a quick script to parse a blob of memory to a csv

--- Code: ---def decodeMe(myin):
 a =""" !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"""
 res = ""
 smy = myin.split(" ")
 for val in smy:
  dec = int(val, 16)
  if dec >= len(a):
   if dec != 255:
    print("replacing char: "+val+ " with space")
   dec = 0
  res += a[dec]
 return(res)

def parse(thebytes):
 thebytes = thebytes.split()
 nameVal = decodeMe(" ".join(thebytes[157:]))
 nameVal = nameVal.rstrip()
 stamina = thebytes[130]+thebytes[129]
 dec = int(stamina, 16)
 staminaVal = "0x"+stamina+"/10 = "+str(dec/10)
 stamina2 = thebytes[126]+thebytes[125]
 dec = int(stamina2, 16)
 stamina2Val = "0x"+stamina2+"/10 = "+str(dec/10)
 unk1Val = thebytes[123]
 intelVal = thebytes[121]
 coopVal = thebytes[119]
 unk2Val = thebytes[117]
 accVal = thebytes[115]
 unk3Val = thebytes[113]
 speed = thebytes[110]+thebytes[109]
 dec = int(speed, 16)
 speedVal = "0x"+speed+"/34 = "+str(dec/34)
 rs = thebytes[108]+thebytes[107]
 dec = int(rs, 16)
 runSpeedVal = "0x"+rs+" = "+str(dec)
 unk4Val = thebytes[103]
 rs = thebytes[100]+thebytes[99]
 dec = int(rs, 16)
 runSpeed2Val = "0x"+rs+" = "+str(dec)
 first = " ".join(thebytes[0:91])
 first = first.replace("00 00","")
 first = first.replace("  "," ")
 otherVal = first
 return(",,"+nameVal+","+staminaVal+","+stamina2Val+","+intelVal+","+coopVal+","+accVal+","+speedVal+","+runSpeedVal+","+runSpeed2Val+","+unk1Val+","+unk2Val+","+unk3Val+","+unk4Val+","+otherVal+",")
def main():
 allbytes = input("Please paste the space separated bytes, \nstarting with FF FF FF FF 00 00 00 00 FF FF FF FF and ending with FF FF FF FF: ")
 print("Parsing: "+str(len(allbytes)))
 if len(allbytes) != 3623:
  print("Wrong size, expecting 3623 bytes")
  input("Press any key to continue")
 sbytes = allbytes[105:]
 
 add = "data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other,\n"
 for i in [1, 2, 3, 4, 5, 6]:
  tbytes = sbytes[0:492]
  print("\n"+tbytes)
  add += parse(tbytes) +"\n"
  sbytes = sbytes[492:]
 with open("out.csv","a+") as f:
  f.write(add)
 print("done -> results appended to out.csv")
main()

--- End code ---

I generated some csv collecting data from 10 runs.

--- Code: ---data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
364512,,Choco2,0x103D/10 = 415.7,0x103D/10 = 415.7,53,52,51,0x0840/34 = 62.11764705882353,0x0778 = 1912,0x0778 = 1912,5,1,0A,0,00 0A 00 0B 00 BC 03 03   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,bronze,YOUNG,0x0A0A/10 = 257.0,0x0A0A/10 = 257.0,32,64,32,0x09E5/34 = 74.5,0x06C3 = 1731,0x06C3 = 1731,2,1,6,2,00 06 00 1E 00 A5 00 20 03 FF FF   0A 00 0B 00 61 03 02   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,plat,SANDY,0x0ABF/10 = 275.1,0x0ABF/10 = 275.1,64,64,32,0x0B00/34 = 82.82352941176471,0x0726 = 1830,0x0726 = 1830,2,1,0C,0,00 0B 00 01 00 35 00 20 03 FF FF   0A 00 0B 00 93 03   E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,plat,JOEL,0x09EC/10 = 254.0,0x09EC/10 = 254.0,32,64,32,0x0A80/34 = 79.05882352941177,0x0736 = 1846,0x0736 = 1846,2,1,6,2,00 0C 00 02 00 10 00 20 03 FF FF   0A 00 0B 00 9B 03   E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,gold,JU,0x0A97/10 = 271.1,0x0A97/10 = 271.1,32,64,32,0x0A62/34 = 78.17647058823529,0x073A = 1850,0x073A = 1850,2,1,6,2,00 0D 00 03 00 CA 00 20 03 FF FF   0A 00 0B 00 9D 03 01   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
sprinting,silver,SARA,0x0ACF/10 = 276.7,0x0ACF/10 = 276.7,64,64,32,0x0A1B/34 = 76.08823529411765,0x075F = 1887,0x075F = 1887,2,1,0C,0,00 0E 00 04 00 80 00 20 03 FF FF   0A 00 0B 00 AF 03   E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
352164,silver,FOX,0x0AA7/10 = 272.7,0x0AA7/10 = 272.7,32,64,32,0x0A5E/34 = 78.05882352941177,0x073D = 1853,0x073D = 1853,2,1,6,2,00 0A 00 0B 00 9E 03 03   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,plat,JOHN,0x0AC9/10 = 276.1,0x0AC9/10 = 276.1,32,64,32,0x0B34/34 = 84.3529411764706,0x072A = 1834,0x072A = 1834,2,1,6,2,00 0A 00 1E 00 CA 00 20 03 FF FF   0A 00 0B 00 95 03   E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,gold,SEAN,0x0A00/10 = 256.0,0x0A00/10 = 256.0,64,64,32,0x0AA9/34 = 80.26470588235294,0x06E7 = 1767,0x06E7 = 1767,2,1,0C,0,00 0B 00 01 00 5A 00 20 03 FF FF   0A 00 0B 00 73 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,bronze,TOM,0x09F9/10 = 255.3,0x09F9/10 = 255.3,32,64,32,0x0A2D/34 = 76.61764705882354,0x0715 = 1813,0x0715 = 1813,2,1,6,2,00 0C 00 02 00 A5 00 20 03 FF FF   0A 00 0B 00 8A 03 02   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
sprinting,gold,PAULA,0x0A21/10 = 259.3,0x0A21/10 = 259.3,32,64,32,0x0B38/34 = 84.47058823529412,0x0752 = 1874,0x0752 = 1874,2,1,6,2,00 0D 00 03 00 10 00 20 03 FF FF   0A 00 0B 00 A9 03 01   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,bronze,JAMES,0x09ED/10 = 254.1,0x09ED/10 = 254.1,64,64,32,0x0B0B/34 = 83.1470588235294,0x06D3 = 1747,0x06D3 = 1747,2,1,0C,0,00 0E 00 04 00 80 00 20 03 FF FF   0A 00 0B 00 69 03 02   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
145326,silver,HARVEY,0x0A69/10 = 266.5,0x0A69/10 = 266.5,64,64,32,0x0B17/34 = 83.5,0x0731 = 1841,0x0731 = 1841,2,1,0C,0,00 0A 00 0B 00 98 03 03   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,silver,DARIO,0x09DA/10 = 252.2,0x09DA/10 = 252.2,64,64,32,0x0A8A/34 = 79.3529411764706,0x06B5 = 1717,0x06B5 = 1717,2,1,0C,0,00 0A 00 1E 00 35 00 20 03 FF FF   0A 00 0B 00 5A 03 03   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,JENNY,0x0ADD/10 = 278.1,0x0ADD/10 = 278.1,32,64,32,0x0B2E/34 = 84.17647058823529,0x06BD = 1725,0x06BD = 1725,2,1,6,2,00 0B 00 01 00 A5 00 20 03 FF FF   0A 00 0B 00 5E 03 03   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,plat,SAM,0x0A9C/10 = 271.6,0x0A9C/10 = 271.6,32,64,32,0x0BA4/34 = 87.6470588235294,0x06D2 = 1746,0x06D2 = 1746,2,1,6,2,00 0C 00 02 00 5A 00 20 03 FF FF   0A 00 0B 00 69 03   E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,silver,LIA,0x09F5/10 = 254.9,0x09F5/10 = 254.9,64,64,32,0x0A10/34 = 75.76470588235294,0x074E = 1870,0x074E = 1870,2,1,0C,0,00 0D 00 03 00 CA 00 20 03 FF FF   0A 00 0B 00 A7 03 03   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,plat,JOHN,0x09DB/10 = 252.3,0x09DB/10 = 252.3,64,64,32,0x09D9/34 = 74.1470588235294,0x06CF = 1743,0x06CF = 1743,2,1,0C,0,00 0E 00 04 00 80 00 20 03 FF FF   0A 00 0B 00 67 03   E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
452613,silver,RICA,0x14A8/10 = 528.8,0x0B3A/10 = 287.4,32,64,32,0x0A11/34 = 75.79411764705883,0x0754 = 1876,0x0754 = 1876,2,1,6,2,00 FE 00 14 01 04 01 F2 00 E1 00 A8 03 A9 03 03 00 09  00 BF F3 09 00 B4 DD 19 07  1D 03  E6 F9 0A 00 C6 DD  28 04  3D 04  E6 F9 0A 00 C6 DD
,plat,AIMEE,0x1552/10 = 545.8,0x0BD4/10 = 302.8,64,64,32,0x0ACE/34 = 81.3529411764706,0x06F8 = 1784,0x06F8 = 1784,2,1,0C,0,00 0A 00 C0 FD 80 00 20 03 FF FF   A9 03 AA 03  09  00 22 F4 09 00 46 DD 88 0A 00 80  51 07 00 80  3F F4 0A 00 1F DF  64 06  20 07  E6 F9 0A 00 23 DD
,bronze,JENNY,0x1438/10 = 517.6,0x05C4/10 = 147.6,64,64,32,0x0B0F/34 = 83.26470588235294,0x072B = 1835,0x057F = 1407,2,1,0C,0,00 0B 00 01 00 A5 00 20 03 FF FF   A8 03 A9 03 0A 00 02 00 09  00 99 F3 09 00 0E DD 7C 07  07 08  E7 F9 0A 00 B2 DF  6C 04  6F 04  E7 F9 0A 00 B2 DF
,silver,GREY,0x158E/10 = 551.8,0x0B4A/10 = 289.0,64,64,32,0x0B02/34 = 82.88235294117646,0x0744 = 1860,0x0744 = 1860,2,1,0C,0,00 0C 00 02 00 10 00 20 03 FF FF   AC 03 AD 03 03 00 09  00 1B F5 09 00 8B DC 01 09  5A 0D  4D F5 0A 00 3D DC  A4 02  B0 02  E6 F9 0A 00 81 DC
,silver,SANDY,0x15A2/10 = 553.8,0x0B94/10 = 296.4,32,64,32,0x0B58/34 = 85.41176470588235,0x0738 = 1848,0x0738 = 1848,2,1,6,2,00 0D 00 03 00 CA 00 20 03 FF FF   AB 03 AC 03 03 00 09  00 DE F4 09 00 22 DD 74 01 00 80  DD 09  F3 F4 0A 00 3D DC  53 01  4F 01  E7 F9 0A 00 6D DE
sprinting,gold,DAN,0x14FE/10 = 537.4,0x0013/10 = 1.9,32,64,32,0x09CE/34 = 73.82352941176471,0x070C = 1804,0x070C = 1804,2,1,6,2,00 0E 00 04 00 5A 00 20 03 FF FF   AA 03 AB 03 01 00 09  00 50 F4 09 00 DE DD C6 03  7E 06  99 F4 0A 00 3D DC  30 01  F6  00 E7 F9 0A 00 10 DF
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
213564,silver,FOX,0x0A15/10 = 258.1,0x0A15/10 = 258.1,32,64,32,0x0A47/34 = 77.38235294117646,0x0729 = 1833,0x0729 = 1833,2,1,6,2,00 0A 00 0B 00 94 03 03   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,silver,MARIE,0x0AC8/10 = 276.0,0x0AC8/10 = 276.0,32,64,32,0x0B45/34 = 84.8529411764706,0x0762 = 1890,0x0762 = 1890,2,1,6,2,00 0A 00 1E 00 35 00 20 03 FF FF   0A 00 0B 00 B1 03 03   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,plat -s,ANDY,0x0A9B/10 = 271.5,0x0A9B/10 = 271.5,64,64,32,0x0B11/34 = 83.32352941176471,0x0723 = 1827,0x0723 = 1827,2,1,0C,0,00 0B 00 01 00 CA 00 20 03 FF FF   0A 00 0B 00 91 03   E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
sad face,bronz -s,DAN,0x0A30/10 = 260.8,0x0A30/10 = 260.8,32,64,32,0x0B80/34 = 86.58823529411765,0x0725 = 1829,0x0725 = 1829,2,1,6,2,00 0C 00 02 00 80 00 20 03 FF FF   0A 00 0B 00 92 03 02   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,plat,MIKE,0x0AE0/10 = 278.4,0x0AE0/10 = 278.4,32,64,32,0x0B33/34 = 84.32352941176471,0x06DE = 1758,0x06DE = 1758,2,1,6,2,00 0D 00 03 00 10 00 20 03 FF FF   0A 00 0B 00 6F 03   E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,gold,PAULA,0x0ACF/10 = 276.7,0x0ACF/10 = 276.7,64,64,32,0x0A14/34 = 75.88235294117646,0x0708 = 1800,0x0708 = 1800,2,1,0C,0,00 0E 00 04 00 A5 00 20 03 FF FF   0A 00 0B 00 84 03 01   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
142653,gold,JU,0x09F9/10 = 255.3,0x09F9/10 = 255.3,64,64,32,0x0B30/34 = 84.23529411764706,0x06D7 = 1751,0x06D7 = 1751,2,1,0C,0,00 0A 00 0B 00 6B 03 01   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,plat,SARA,0x0A0E/10 = 257.4,0x0A0E/10 = 257.4,64,64,32,0x0B78/34 = 86.3529411764706,0x06DE = 1758,0x06DE = 1758,2,1,0C,0,00 0A 00 1E 00 5A 00 20 03 FF FF   0A 00 0B 00 6F 03   E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,bronze,SAM,0x0A86/10 = 269.4,0x0A86/10 = 269.4,64,64,32,0x0AE2/34 = 81.94117647058823,0x06D1 = 1745,0x06D1 = 1745,2,1,0C,0,00 0B 00 01 00 10 00 20 03 FF FF   0A 00 0B 00 68 03 02   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,plat,SEAN,0x0A17/10 = 258.3,0x0A17/10 = 258.3,64,64,32,0x0B65/34 = 85.79411764705883,0x0712 = 1810,0x0712 = 1810,2,1,0C,0,00 0C 00 02 00 35 00 20 03 FF FF   0A 00 0B 00 89 03   E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,silver,ELEN,0x09CB/10 = 250.7,0x09CB/10 = 250.7,64,64,32,0x0A3B/34 = 77.02941176470588,0x06BB = 1723,0x06BB = 1723,2,1,0C,0,00 0D 00 03 00 80 00 20 03 FF FF   0A 00 0B 00 5D 03 03   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,KNIGHT,0x0A02/10 = 256.2,0x0A02/10 = 256.2,32,64,32,0x0A18/34 = 76.0,0x0709 = 1801,0x0709 = 1801,2,1,6,2,00 0E 00 04 00 A5 00 20 03 FF FF   0A 00 0B 00 84 03 03   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
425136,bronze,JENNY,0x0A9D/10 = 271.7,0x0A9D/10 = 271.7,64,64,32,0x0B11/34 = 83.32352941176471,0x06F0 = 1776,0x06F0 = 1776,2,1,0C,0,00 0A 00 0B 00 78 03 02   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,gold,YOUNG,0x0AEF/10 = 279.9,0x0AEF/10 = 279.9,32,64,32,0x0A4C/34 = 77.52941176470588,0x06E1 = 1761,0x06E1 = 1761,2,1,6,2,00 0A 00 1E 00 5A 00 20 03 FF FF   0A 00 0B 00 70 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
sprinting,bronze,JAMES,0x0ADA/10 = 277.8,0x0ADA/10 = 277.8,32,64,32,0x0A3C/34 = 77.05882352941177,0x0769 = 1897,0x0769 = 1897,2,1,6,2,00 0B 00 01 00 A5 00 20 03 FF FF   0A 00 0B 00 B4 03 02   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,gold,KNIGHT,0x0A5B/10 = 265.1,0x0A5B/10 = 265.1,32,64,32,0x0AC4/34 = 81.05882352941177,0x06EF = 1775,0x06EF = 1775,2,1,6,2,00 0C 00 02 00 10 00 20 03 FF FF   0A 00 0B 00 77 03 01   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,bronze,ARL,0x0A2C/10 = 260.4,0x0A2C/10 = 260.4,32,64,32,0x0B0A/34 = 83.11764705882354,0x0769 = 1897,0x0769 = 1897,2,1,6,2,00 0D 00 03 00 CA 00 20 03 FF FF   0A 00 0B 00 B4 03 02   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,bronze,JOEL,0x0A9E/10 = 271.8,0x0A9E/10 = 271.8,32,64,32,0x0AC4/34 = 81.05882352941177,0x06BF = 1727,0x06BF = 1727,2,1,6,2,00 0E 00 04 00 80 00 20 03 FF FF   0A 00 0B 00 5F 03 02   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
352164,gold,LIA,0x09FD/10 = 255.7,0x09FD/10 = 255.7,64,64,32,0x0B11/34 = 83.32352941176471,0x06F9 = 1785,0x06F9 = 1785,2,1,0C,0,00 0A 00 0B 00 7C 03 01   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,silver,ROBER,0x0AD0/10 = 276.8,0x0AD0/10 = 276.8,64,64,32,0x0B05/34 = 82.97058823529412,0x06F9 = 1785,0x06F9 = 1785,2,1,0C,0,00 0A 00 1E 00 35 00 20 03 FF FF   0A 00 0B 00 7C 03 03   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,gold,PAULA,0x0A56/10 = 264.6,0x0A56/10 = 264.6,64,64,32,0x0B31/34 = 84.26470588235294,0x073A = 1850,0x073A = 1850,2,1,0C,0,00 0B 00 01 00 10 00 20 03 FF FF   0A 00 0B 00 9D 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,NANCY,0x0A91/10 = 270.5,0x0A91/10 = 270.5,64,64,32,0x0A21/34 = 76.26470588235294,0x0758 = 1880,0x0758 = 1880,2,1,0C,0,00 0C 00 02 00 A5 00 20 03 FF FF   0A 00 0B 00 AC 03 03   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,plat,JOEL,0x0A49/10 = 263.3,0x0A49/10 = 263.3,64,64,32,0x0B7F/34 = 86.55882352941177,0x0706 = 1798,0x0706 = 1798,2,1,0C,0,00 0D 00 03 00 5A 00 20 03 FF FF   0A 00 0B 00 83 03   E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,gold,YOUNG,0x0A9A/10 = 271.4,0x0A9A/10 = 271.4,64,64,32,0x0A2A/34 = 76.52941176470588,0x06C7 = 1735,0x06C7 = 1735,2,1,0C,0,00 0E 00 04 00 CA 00 20 03 FF FF   0A 00 0B 00 63 03 01   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
614235,gold,YOUNG,0x0AD2/10 = 277.0,0x0AD2/10 = 277.0,32,64,32,0x0AC5/34 = 81.08823529411765,0x0734 = 1844,0x0734 = 1844,2,1,6,2,00 0A 00 0B 00 9A 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,JENNY,0x0A5D/10 = 265.3,0x0A5D/10 = 265.3,32,64,32,0x0A2B/34 = 76.55882352941177,0x0742 = 1858,0x0742 = 1858,2,1,6,2,00 0A 00 1E 00 A5 00 20 03 FF FF   0A 00 0B 00 A1 03 03   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,bronze,ELEN,0x0A9D/10 = 271.7,0x0A9D/10 = 271.7,64,64,32,0x0A56/34 = 77.82352941176471,0x06C2 = 1730,0x06C2 = 1730,2,1,0C,0,00 0B 00 01 00 CA 00 20 03 FF FF   0A 00 0B 00 61 03 02   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,gold,DARIO,0x09DF/10 = 252.7,0x09DF/10 = 252.7,32,64,32,0x09E8/34 = 74.58823529411765,0x0711 = 1809,0x0711 = 1809,2,1,6,2,00 0C 00 02 00 35 00 20 03 FF FF   0A 00 0B 00 88 03 01   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,bronze,JOEL,0x09F2/10 = 254.6,0x09F2/10 = 254.6,64,64,32,0x0AF8/34 = 82.58823529411765,0x074D = 1869,0x074D = 1869,2,1,0C,0,00 0D 00 03 00 80 00 20 03 FF FF   0A 00 0B 00 A6 03 02   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,plat,TERRY,0x09DA/10 = 252.2,0x09DA/10 = 252.2,64,64,32,0x0AF5/34 = 82.5,0x0748 = 1864,0x0748 = 1864,2,1,0C,0,00 0E 00 04 00 5A 00 20 03 FF FF   0A 00 0B 00 A4 03   E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
625143,plat,JOEL,0x0AA2/10 = 272.2,0x0AA2/10 = 272.2,64,64,32,0x0A39/34 = 76.97058823529412,0x0712 = 1810,0x0712 = 1810,2,1,0C,0,00 0A 00 0B 00 89 03   E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,silver,JU,0x0A57/10 = 264.7,0x0A57/10 = 264.7,64,64,32,0x0AE0/34 = 81.88235294117646,0x0759 = 1881,0x0759 = 1881,2,1,0C,0,00 0A 00 1E 00 5A 00 20 03 FF FF   0A 00 0B 00 AC 03 03   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
,bronze,SAMMY,0x0A8E/10 = 270.2,0x0A8E/10 = 270.2,64,64,32,0x0BAA/34 = 87.82352941176471,0x0712 = 1810,0x0712 = 1810,2,1,0C,0,00 0B 00 01 00 35 00 20 03 FF FF   0A 00 0B 00 89 03 02   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
,plat,ROBIN,0x0AA5/10 = 272.5,0x0AA5/10 = 272.5,32,64,32,0x0BB0/34 = 88.0,0x06F4 = 1780,0x06F4 = 1780,2,1,6,2,00 0C 00 02 00 CA 00 20 03 FF FF   0A 00 0B 00 7A 03   E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
,gold,ARL,0x0A02/10 = 256.2,0x0A02/10 = 256.2,32,64,32,0x0A59/34 = 77.91176470588235,0x06CF = 1743,0x06CF = 1743,2,1,6,2,00 0D 00 03 00 10 00 20 03 FF FF   0A 00 0B 00 67 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,gold,SAM,0x0AD2/10 = 277.0,0x0AD2/10 = 277.0,64,64,32,0x0B62/34 = 85.70588235294117,0x06B2 = 1714,0x06B2 = 1714,2,1,0C,0,00 0E 00 04 00 A5 00 20 03 FF FF   0A 00 0B 00 59 03 01   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD

--- End code ---
Chocobo colors are always in the same order. I'm not seeing any patterns...

Acceleration and Cooperation are always the same.

Jockey color definitely has an impact if bronze.

To test if Intelligence matters I set all the values I know to be to the same, using this quick script. The unknown values don't seem change so I'm replacing the last half of the chocobo values. The contents of the first half is still a mystery.

--- Code: ---allbytes = ""
print(allbytes[0:105],end='')
sbytes = allbytes[105:]
p2bytes = ""
for i in [1, 2, 3, 4, 5, 6]:
 tbytes = sbytes[0:492]
 p1bytes = tbytes[0:297]
 if not p2bytes:
  p2bytes = tbytes[297:-22]
 p3bytes = tbytes[470:]
 print(p1bytes+p2bytes+p3bytes,end='')
 sbytes = sbytes[492:]
print(sbytes,end='')

--- End code ---
To be honest I'm kinda surprised this doesn't crash the game, there's a weird artifact where the chocobos group together, but don't overlap at race start.

--- Code: ---data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
,gold,RICA,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0A 00 0B 00 8F 03 01   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
sprinting,silver,GEORGE,0x0A41/10 = 262.5,0x0A41/10 = 262.5,32,64,32,0x0ACD/34 = 81.32352941176471,0x06FF = 1791,0x06FF = 1791,2,1,6,2,00 0A 00 1E 00 10 00 20 03 FF FF   0A 00 0B 00 7F 03 03   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,gold,JAMES,0x0AED/10 = 279.7,0x0AED/10 = 279.7,32,64,32,0x0B75/34 = 86.26470588235294,0x0739 = 1849,0x0739 = 1849,2,1,6,2,00 0B 00 01 00 80 00 20 03 FF FF   0A 00 0B 00 9C 03 01   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
sprinting,gold,AIMEE,0x0A8A/10 = 269.8,0x0A8A/10 = 269.8,64,64,32,0x0B67/34 = 85.8529411764706,0x06C7 = 1735,0x06C7 = 1735,2,1,0C,0,00 0C 00 02 00 CA 00 20 03 FF FF   0A 00 0B 00 63 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,ROBIN,0x0A98/10 = 271.2,0x0A98/10 = 271.2,64,64,32,0x09E2/34 = 74.41176470588235,0x06FB = 1787,0x06FB = 1787,2,1,0C,0,00 0D 00 03 00 A5 00 20 03 FF FF   0A 00 0B 00 7D 03 03   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,gold,JENNY,0x0A2D/10 = 260.5,0x0A2D/10 = 260.5,32,64,32,0x0ADC/34 = 81.76470588235294,0x0714 = 1812,0x0714 = 1812,2,1,6,2,00 0E 00 04 00 5A 00 20 03 FF FF   0A 00 0B 00 8A 03 01   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
341526,,,,,,,,,,,,,,,
data,color,name,stamina1,stamina2,intelligence,cooperation,acceleration,top speed,run speed,runspeed2,unk1,unk2,unk3,unk4,other
,gold,RICA,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,     00 0A 00 0B 00 8F 03 01   00 E7 F9 0A 00 B2 DF     41 FA 0A 00 B3 DF  00 04  00 04  E7 F9 0A 00 B2 DF
sprinting,silver,GEORGE,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0A 00 1E 00 10 00 20 03 FF FF   0A 00 0B 00 7F 03 03   00 E6 F9 0A 00 C6 DD     40 FA 0A 00 C7 DD  00 04  00 04  E6 F9 0A 00 C6 DD
,gold,JAMES,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0B 00 01 00 80 00 20 03 FF FF   0A 00 0B 00 9C 03 01   00 E6 F9 0A 00 81 DC     40 FA 0A 00 82 DC  00 04  00 04  E6 F9 0A 00 81 DC
sprinting,gold,AIMEE,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0C 00 02 00 CA 00 20 03 FF FF   0A 00 0B 00 63 03 01   00 E6 F9 0A 00 23 DD     40 FA 0A 00 24 DD  00 04  00 04  E6 F9 0A 00 23 DD
,silver,ROBIN,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0D 00 03 00 A5 00 20 03 FF FF   0A 00 0B 00 7D 03 03   00 E7 F9 0A 00 6D DE     41 FA 0A 00 6E DE  00 04  00 04  E7 F9 0A 00 6D DE
,gold,JENNY,0x09C4/10 = 250.0,0x09C4/10 = 250.0,64,64,32,0x0A91/34 = 79.55882352941177,0x071E = 1822,0x071E = 1822,2,1,0C,0,00 0E 00 04 00 5A 00 20 03 FF FF   0A 00 0B 00 8A 03 01   00 E7 F9 0A 00 10 DF     41 FA 0A 00 11 DF  00 04  00 04  E7 F9 0A 00 10 DF
461253,,,,,,,,,,,,,,,

--- End code ---
I then gave C1 a lower intel of 32 and got the same ordering.

So at least in C class those three values do nothing.

I increased the top speed by 34 (1/kmh) on c1 and it became 164253. So speed matters, a higher speed will give a higher ranking.

Sprinting doesn't appear to matter 4 beat 6 and 1, but 2 lost to 5.

Increasing and decreasing stamina a little and a lot does nothing to the order, it appears stamina does not matter.

Changing the name didn't make a difference.

Altering the run speed did, higher run speeds give higher rankings.

So I need to figure out how run speed is calculated.

Let's see if we can figure out the rest of the 164 chocobo bytes.

I didn't see the max run value I put in black chocobo in memory indicating it's not used.

Byte -60 = 0=normal, 1=normal, 2=sprinting, 3=normal, 4=normal
2 on c2 = 461253
1 on c2 = 564312
0 on c2 = 643125
3 on c2 = 643125
4 on c2 = 643125
So sprinting does change the outcome. I haven't seen this byte set to 1 yet.

-67, -68 = no change
-70,-71,-72 = no change
-77 = Is a weird byte
Setting 4 to 0 on chocobo 2 changes the results from 461253 to 632145
Setting 4 to 3 on chocobo 2 changes the results from 461253 to 123564
Setting 4 to 2 on chocobo 2 changes the results from 461253 to 134526
Setting 4 to 1 on chocobo 2 changes the results from 461253 to 123564
Setting 4 to 5 on chocobo 2 changes the results from 461253 to 413625
Setting 4 to 80 on chocobo 2 changes the result from 461253 to 136254

-85 = Is another weird byte, changing 4 gives different results than changing 4 from -77
-91,-92 = no change
-93,94,54 = no change
-115,116 = messes with camera angle, same order
-118,119,120 = different weird camera angle, same order
-130,134 = camera angle, same order
-145 = when FF/00 -> 461253
-145,146 = random when set to 00 00?, 461253 when 01 01
-146 = when FF/00 -> 461253
-147,148 = when set to 00 00 on c6, that chocobo sprints until exhausted, but no one passes until the very end 432156
-150 = 35-> 0, 613254
-154 = 5-> 4 changes chocobo to color of No.5, but crashes when loading race
-156 = Changes jockey color, but can also change the jockey to be any object in the minigame
15 = gold, 14 = silver, 13 = gold, 12 = gold, 11 = silver, 10 =gold, 9 = hard crash, 1= no rider, 2=no rider, 3= no rider, 4=no rider, 5=graphic crash,6=hard crash, 7 = hard crash, 8=hard crash
16=mog in rainbow pipe animation overlayed
17=clam animation
The numbers change based on the generated value chocobo6's rider is 15 chocobo1's rider is 9. chocobo1 is 0 chocobo 6 is 5. The race crashes when the chocobo gets to the object on the path.

So to summarize I know these variables modify the outcome.
Top Speed, Sprinting, Jockey Color, Run Speed (hidden value), and Sprint Likelihood (Hidden value, not tied to jockey color, same across a class).

Name and stamina do not seem to matter. (stamina only matters when they run out, the chance they have a high top speed and run out of stamina is really low, and they don't just barely run out so the difference in range really doesn't help too much)

-77,85,145,146,147,148,150 can modify results too

77,85 = are always set to 4 though in class c
145-148 = are always 20 03 FF FF in class c
150 is the only byte that differs.  However giving two chocobos the same value doesn't put them next to each other with the same other stats.

A higher ranking jockey doesn't mean it has a higher run speed. Perhaps it makes a difference in how run speed is calculated...

nfitc1:
I'm going to provide some preliminary speculation based on my own observations on this minigame.

Stats are important, but in the end it's all random. Whether the chocobos will sprint or if they will veer left or right and at what time. The chocobo's rank is based on a holistic calculation of all its stats. I can't tell you HOW that calculation is performed. The higher the intelligence, the less they will swerve. The higher the stamina, the longer they can sprint. yadda, yadda.

It also seems like there's some external data at work here. As the race begins, the game just "boosts" some of the positions. It sort of chooses which two it wants to win and gives them some stat-independent advantages at random intervals. These two are more likely to win and it's just completely random whether they do or not. The highest ranks don't always get boosted either.

What I would do: Since you have identified where these are in the PSX memory, what you can do is make a savestate before the chocobos begin running, check the winners vs losers, reload the save, swap the winners' stats with the losers' stats and see how that affects the outcome.

Addendum: I haven't seen ergonomy_joe for a while. Not saying he's not reading the forums. I still do, but I rarely post anymore.
I have looked at the chocobo.wat file, but it doesn't seem independent enough to parse into individual files. This is a "big" hassle in the lgp files too. They don't contain enough metadata on their own to be used separately. It's all contained in the exe file where different fragments start and their size.
However, looking at the bytes inside it looks like it contains several parts that consist of default values for some things. Possibly even proprietary AI scripts which I can't immediately find handlers for. I say that because they LOOK like scripts, but not asm code. It's more like the WM scripts or Field scripts, but they're quite short. It also likely contains the modeling info for the different tracks though the model data and textures for the objects are saved independently in the chocobo.lgp file.

ff7man:
I think how often they sprint is just set by the bytes[10-13] class C is 20 03 FF FF.

Hmmm. Why do you think there's a boosting stat for the two it wants to win?

I ran a similar test by replacing all the chocobos with the same stats. I'll take a stab at doing that test though.

I've continued looking at things these last couple days.

There are actually 7.5 chocobos in memory and not 6. Something I didn't notice until I made a better script to rip out data. It's a little confusing. The first chocobo doesn't get fully initialized and has some null data in regards to "willingness to sprint" values. The 7th chocobo is a copy of the chocobo currently in first. At the prerace screen this is the first chocobo fully initialized. The half chocobo is data following the 7th chocobo. It appears to just be a copy of the class/"willingness to sprint" values for the 7th chocobo.

Bytes 152 -> show the current order the chocobos are in

I had an idea that I might be able to bruteforce the run speed with enough data. So I wrote out a script to play the game in super speed in an emulator. It opens the chocobo betting game. Dumps the memory into a nice csv. Patches the memory to make the chocobos invisible (modifies all chocobo pointers to be the next jocker pointer). Takes a screenshot. Uses opencv to identify the jockey color (I apply a filter, crop, get the average color, and report found when a close enough match happens. It's surprisingly hard to do when the jockey is constantly rotating). Patches memory again to make the chocobos visible. Runs the race. Dumps the data again after the race into a nice csv. Resets the game state, waits a random time, and repeats.

I ran it for a few hours and generated data for 683 runs of class c. This data dump has the 7th chocobo and the set includes winning order and jockey color.

I can't attach files, so hopefully this gets mod approval. https://anonfiles.com/XbM0QeD9x3/ff7classc_7z

From Chocobo Stance Modifier -> https://gamehacking.org/game/88853

Byte 150 is the jockeys/chocobo state during a race.
It does not mess with the order, just the animation

From Chocobos Have Infinite Stamina When Racing -> https://gamehacking.org/game/88853
Byte 126/-32 aka Stamina2 is the stamina remaining in a race for that chocobo

Looking closer at the data. Something interesting does happen at the end game screen.
As the data in memory is not in the final order. The last two places swap. I don't account for this in my csv.

Memory would put the order as Terry(3),Rudy(1),Tom(4),Gary(5),Andy(2),Harvey(6)
          but on screen it displays Terry(3),Rudy(1),Tom(4),Gary(5),Harvey(6),Andy(2)

I thought maybe it stops updating when a chocobo crosses the finish line, but I recorded a video and I don't see the memory order occurring from the time the fiirst chocobo to the last chocobo cross the finish line.

The 5/6 swapping doesn't happen all the time either...
Sometimes the memory order is just wrong from what is displayed.




I ran your test but I think the jockeys have something to do with it:

Order: 352614
Young(silver), Tim(silver) = Winners
Fox (gold), Terry(silver) = Losers
Swapped stats on Young <->Fox, Tim<->Terry, Fox was in choco0 so I copied Terry to choco7 as well.
Stats swapped: runspeed2,runspeed1,topspeed,acc,coop,intel,stamina2,stamina1
New Order: 134265


--- Code: ---color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,0,FOX,81,2761,252,2515,2515,0,1701,32,64,32,0,0,0,0,0A000B005203,E7F90A00B2,41FA0A00B3DF,4,4,E7F90A,B2DF,2,6,1,2,0,10,3,00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0B 00 52 03 01 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 B3 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 A5 06 00 00 02 00 00 00 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 D3 09 00 00 D3 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
s,1,NANCY,83,2834,271,2713,2713,0,1779,32,64,32,2003,0A,0,10,0A000B007903,E6F90A0081,40FA0A0082DC,4,4,E6F90A,81DC,2,6,1,2,0,CA,3,00 0A 00 00 00 1E 00 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 79 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 82 DC 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 F3 06 00 00 02 00 00 00 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 99 0A 00 00 99 0A 00 00 00 00 00 00 00 00 94 00 00 00 00 00 CA 00 00 00 00 00 01 00 00 00 03 00 2E 21 2E 23 39 FF FF
s,2,YOUNG,85,2888,251,2506,2506,0,1821,64,64,32,2003,0B,1,CA,0A000B008E03,E7F90A006D,41FA0A006EDE,4,4,E7F90A,6DDE,0,0C,1,2,0,5A,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 8E 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 6E DE 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 1D 07 00 00 00 00 00 00 1D 07 48 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 CA 09 00 00 CA 09 00 00 00 00 00 00 00 00 97 00 00 00 00 00 5A 00 00 00 00 00 02 00 00 00 03 00 39 2F 35 2E 27 FF FF
s,3,TERRY,75,2566,253,2533,2533,0,1806,32,64,32,2003,0C,2,5A,0A000B008703,E7F90A0010,41FA0A0011DF,4,4,E7F90A,10DF,2,6,1,2,0,35,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 87 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 11 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 0E 07 00 00 02 00 00 00 0E 07 06 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 E5 09 00 00 E5 09 00 00 00 00 00 00 00 00 96 00 00 00 00 00 35 00 00 00 00 00 03 00 00 00 03 00 34 25 32 32 39 FF FF
s,4,TIM,87,2970,270,2701,2701,0,1834,64,64,32,2003,0D,3,35,0A000B009503,E6F90A00C6,40FA0A00C7DD,4,4,E6F90A,C6DD,0,0C,1,2,0,80,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 95 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 C7 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 2A 07 00 00 00 00 00 00 2A 07 9A 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 8D 0A 00 00 8D 0A 00 00 00 00 00 00 00 00 98 00 00 00 00 00 80 00 00 00 00 00 04 00 00 00 03 00 34 29 2D FF FF FF FF
g,5,JENNY,77,2617,255,2554,2554,0,1756,64,64,32,2003,0E,4,80,0A000B006E03,E6F90A0023,40FA0A0024DD,4,4,E6F90A,23DD,0,0C,1,2,0,A5,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 6E 03 01 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 24 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 DC 06 00 00 00 00 00 00 DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 FA 09 00 00 FA 09 00 00 00 00 00 00 00 00 92 00 00 00 00 00 A5 00 00 00 00 00 05 00 00 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,FOX,81,2761,252,2515,2515,0,1701,32,64,32,2003,0F,5,A5,1000000,62F60A00C6,BCF60A00C6DD,4,4,E7F90A,B2DF,2,6,1,2,0,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 62 F6 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BC F6 0A 00 C6 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 A5 06 00 00 02 00 00 00 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 D3 09 00 00 D3 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 7F 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,2,FOX,81,2761,503,5030,1238,0,1701,32,64,32,AF00,D7,0,0,AA03AB030000,8AF409005D,99F40A0020DF,6,6,E7F90A,B2DF,2,6,1,2,1,30,3,00 D7 00 00 00 04 01 00 00 AF 00 00 00 ED 00 00 00 C7 00 00 00 AA 03 AB 03 00 00 01 00 00 00 09 00 00 00 00 00 8A F4 09 00 5D DE 00 00 F8 0D 00 80 00 00 00 00 25 0F 00 00 00 00 00 00 99 F4 0A 00 20 DF 00 00 00 00 62 06 00 00 00 00 00 00 8F 06 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 50 00 00 00 A5 06 00 00 02 00 AE 07 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 D6 04 00 00 A6 13 00 00 05 00 00 10 B4 A2 00 01 03 00 00 00 30 00 FF FF 03 00 02 00 04 00 03 00 26 2F 38 FF FF FF FF
s,3,NANCY,83,2834,543,5426,2942,0,1779,32,64,32,2003,0A,0,10,AA03AB030000,62F4090066,99F40A003DDC,1,1,E6F90A,81DC,2,6,1,2,1,D8,3,00 0A 00 00 00 CF FE 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 AA 03 AB 03 00 00 03 00 00 00 09 00 00 00 00 00 62 F4 09 00 66 DD 00 00 46 0B 00 80 00 00 00 00 2C 0F 00 00 00 00 00 00 99 F4 0A 00 3D DC 00 00 00 00 A2 01 00 00 00 00 00 00 21 01 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 AB 00 00 00 F3 06 00 00 02 00 FB 07 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 7E 0B 00 00 32 15 00 00 03 00 23 00 BF 05 00 01 03 00 00 00 D8 00 FF FF 03 00 03 00 00 00 03 00 2E 21 2E 23 39 FF FF
s,0,YOUNG,85,2888,501,5012,2724,0,1821,64,64,32,2003,0B,1,CA,AD03AE030000,75F5090020,A7F50A0075DE,4,5,E7F90A,6DDE,0,0C,1,2,1,57,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 AD 03 AE 03 00 00 03 00 00 00 09 00 00 00 00 00 75 F5 09 00 20 DE 00 00 4C 00 00 00 00 00 00 00 DB 02 00 00 00 00 00 00 A7 F5 0A 00 75 DE 00 00 00 00 B2 04 00 00 00 00 00 00 09 05 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 6C 00 00 00 1D 07 00 00 00 00 48 0B 1D 07 48 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 A4 0A 00 00 94 13 00 00 01 00 BE 11 2B DA 00 01 02 00 00 00 57 00 FF FF 02 00 00 00 07 00 03 00 39 2F 35 2E 27 FF FF
s,5,TERRY,75,2566,507,5066,2746,0,1806,32,64,32,2003,0C,2,5A,A803A9030000,B4F3090057,E7F90A0010DF,3,3,E7F90A,10DF,2,6,1,2,1,6B,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 A8 03 A9 03 00 00 03 00 00 00 09 00 00 00 00 00 B4 F3 09 00 57 DE 00 00 6E 01 00 00 00 00 00 00 39 03 00 00 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 4C 03 00 00 00 00 00 00 0E 03 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 67 00 00 00 0E 07 00 00 02 00 06 0A 0E 07 06 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 BA 0A 00 00 CA 13 00 00 06 00 00 08 2E FD 00 01 04 00 00 00 6B 00 FF FF 04 00 05 00 02 00 03 00 34 25 32 32 39 FF FF
s,1,TIM,87,2970,540,5402,3044,0,1834,64,64,32,2003,0D,3,35,AB03AC030000,EDF40900CF,F3F40A00AEDD,3,3,E6F90A,C6DD,0,0C,1,2,1,84,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 AB 03 AC 03 00 00 03 00 00 00 09 00 00 00 00 00 ED F4 09 00 CF DD 00 00 53 0D 00 00 00 00 00 00 1C 08 00 80 00 00 00 00 F3 F4 0A 00 AE DD 00 00 00 00 52 03 00 00 00 00 00 00 41 03 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 6F 00 00 00 2A 07 00 00 00 00 46 08 2A 07 9A 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 E4 0B 00 00 1A 15 00 00 02 00 86 11 91 5C 00 01 03 00 00 00 84 00 FF FF 03 00 01 00 09 00 03 00 34 29 2D FF FF FF FF
g,4,JENNY,77,2617,511,5108,1436,0,1756,64,64,32,2003,0E,4,80,A903AA030A00,FDF3090008,3FF40A00ECDC,3,3,E6F90A,23DD,0,0C,1,2,1,B0,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 A9 03 AA 03 0A 00 01 00 00 00 09 00 00 00 00 00 FD F3 09 00 08 DD 00 00 FE 03 00 80 00 00 00 00 70 0B 00 00 00 00 00 00 3F F4 0A 00 EC DC 00 00 00 00 E6 03 00 00 00 00 00 00 83 03 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 A2 00 00 00 DC 06 00 00 00 00 8B 08 DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 9C 05 00 00 F4 13 00 00 04 00 00 0D A5 26 00 01 03 00 00 00 B0 00 FF FF 03 00 04 00 01 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,YOUNG,85,2888,501,5012,4852,0,1821,64,64,32,2003,0F,5,A5,3A003B002406,F108090084,E4080A0082E3,6,7,E7F90A,6DDE,0,0C,1,2,1,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 3A 00 3B 00 24 06 03 00 00 00 09 00 00 00 00 00 F1 08 09 00 84 E3 00 00 65 0B 00 80 00 00 00 00 8E 02 00 80 00 00 00 00 E4 08 0A 00 82 E3 00 00 00 00 E2 06 00 00 00 00 00 00 01 07 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 30 00 00 00 1D 07 00 00 00 00 1E 07 1D 07 48 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 F4 12 00 00 94 13 00 00 00 00 B2 06 B6 6D 06 01 00 00 00 00 7F 00 00 00 00 00 00 00 00 00 03 00 39 2F 35 2E 27 FF FF
Swapping bytes Young <=> Fox Tim <=> Terry,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,0,FOX,85,2888,251,2506,2506,0,1821,64,64,32,0,0,0,0,0A000B005203,E7F90A00B2,41FA0A00B3DF,4,4,E7F90A,B2DF,2,6,1,2,0,10,3,00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0B 00 52 03 01 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 B3 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 1D 07 00 00 02 00 00 00 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 CA 09 00 00 CA 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
s,1,NANCY,83,2834,271,2713,2713,0,1779,32,64,32,2003,0A,0,10,0A000B007903,E6F90A0081,40FA0A0082DC,4,4,E6F90A,81DC,2,6,1,2,0,CA,3,00 0A 00 00 00 1E 00 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 79 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 82 DC 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 F3 06 00 00 02 00 00 00 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 99 0A 00 00 99 0A 00 00 00 00 00 00 00 00 94 00 00 00 00 00 CA 00 00 00 00 00 01 00 00 00 03 00 2E 21 2E 23 39 FF FF
s,2,YOUNG,81,2761,252,2515,2515,0,1701,32,64,32,2003,0B,1,CA,0A000B008E03,E7F90A006D,41FA0A006EDE,4,4,E7F90A,6DDE,0,0C,1,2,0,5A,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 8E 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 6E DE 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 A5 06 00 00 00 00 00 00 A5 06 C9 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 D3 09 00 00 D3 09 00 00 00 00 00 00 00 00 97 00 00 00 00 00 5A 00 00 00 00 00 02 00 00 00 03 00 39 2F 35 2E 27 FF FF
s,3,TERRY,87,2970,270,2701,2701,0,1834,64,64,32,2003,0C,2,5A,0A000B008703,E7F90A0010,41FA0A0011DF,4,4,E7F90A,10DF,2,6,1,2,0,35,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 87 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 11 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 2A 07 00 00 02 00 00 00 2A 07 9A 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 8D 0A 00 00 8D 0A 00 00 00 00 00 00 00 00 96 00 00 00 00 00 35 00 00 00 00 00 03 00 00 00 03 00 34 25 32 32 39 FF FF
s,4,TIM,75,2566,253,2533,2533,0,1806,32,64,32,2003,0D,3,35,0A000B009503,E6F90A00C6,40FA0A00C7DD,4,4,E6F90A,C6DD,0,0C,1,2,0,80,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 95 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 C7 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 0E 07 00 00 00 00 00 00 0E 07 06 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 E5 09 00 00 E5 09 00 00 00 00 00 00 00 00 98 00 00 00 00 00 80 00 00 00 00 00 04 00 00 00 03 00 34 29 2D FF FF FF FF
g,5,JENNY,77,2617,255,2554,2554,0,1756,64,64,32,2003,0E,4,80,0A000B006E03,E6F90A0023,40FA0A0024DD,4,4,E6F90A,23DD,0,0C,1,2,0,A5,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 6E 03 01 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 24 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 DC 06 00 00 00 00 00 00 DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 FA 09 00 00 FA 09 00 00 00 00 00 00 00 00 92 00 00 00 00 00 A5 00 00 00 00 00 05 00 00 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,FOX,85,2888,251,2506,2506,0,1821,64,64,32,2003,0F,5,A5,1000000,62F60A00C6,BCF60A00C6DD,4,4,E7F90A,B2DF,2,6,1,2,0,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 62 F6 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BC F6 0A 00 C6 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 1D 07 00 00 02 00 00 00 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 CA 09 00 00 CA 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 7F 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,0,FOX,85,2888,501,5012,2324,0,1821,64,64,32,3101,3C,0,0,AD03AE030000,4DF5090099,A7F50A0007DE,1,2,E7F90A,B2DF,2,6,1,2,1,70,3,00 3C 01 00 00 1F 01 00 00 31 01 00 00 65 01 00 00 50 01 00 00 AD 03 AE 03 00 00 01 00 00 00 09 00 00 00 00 00 4D F5 09 00 99 DE 00 00 31 0E 00 80 00 00 00 00 E6 0F 00 00 00 00 00 00 A7 F5 0A 00 07 DE 00 00 00 00 45 01 00 00 00 00 00 00 44 02 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 7E 00 00 00 1D 07 00 00 02 00 60 07 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 14 09 00 00 94 13 00 00 01 00 3F 0A 75 0C 00 01 02 00 00 00 70 00 FF FF 02 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
s,2,NANCY,83,2834,543,5426,2870,0,1779,32,64,32,2003,0A,0,10,AA03AB030000,73F40900CF,99F40A0019DD,2,1,E6F90A,81DC,2,6,1,2,1,A6,3,00 0A 00 00 00 7F FE 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 AA 03 AB 03 00 00 03 00 00 00 09 00 00 00 00 00 73 F4 09 00 CF DD 00 00 28 0D 00 00 00 00 00 00 82 0E 00 00 00 00 00 00 99 F4 0A 00 19 DD 00 00 00 00 D1 02 00 00 00 00 00 00 FF 01 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 6D 00 00 00 F3 06 00 00 02 00 FB 07 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 36 0B 00 00 32 15 00 00 04 00 00 10 82 9E 00 01 03 00 00 00 A6 00 FF FF 03 00 02 00 04 00 03 00 2E 21 2E 23 39 FF FF
s,1,YOUNG,81,2761,503,5030,2790,0,1701,32,64,32,2003,0B,1,CA,AB03AC030A00,F0F409002C,F3F40A003BDE,4,4,E7F90A,6DDE,0,0C,1,2,1,64,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 AB 03 AC 03 0A 00 03 00 00 00 09 00 00 00 00 00 F0 F4 09 00 2C DE 00 00 8C 0A 00 00 00 00 00 00 96 01 00 00 00 00 00 00 F3 F4 0A 00 3B DE 00 00 00 00 90 04 00 00 00 00 00 00 81 04 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 5B 00 00 00 A5 06 00 00 00 00 2A 07 A5 06 C9 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 E6 0A 00 00 A6 13 00 00 02 00 00 0F 0F CE 00 01 03 00 00 00 64 00 FF FF 03 00 01 00 07 00 03 00 39 2F 35 2E 27 FF FF
s,5,TERRY,87,2970,540,5402,2864,0,1834,64,64,32,2003,0C,2,5A,A903AA030000,28F4090086,3FF40A00B7DC,2,0,E7F90A,10DF,2,6,1,2,1,BC,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 A9 03 AA 03 00 00 03 00 00 00 09 00 00 00 00 00 28 F4 09 00 86 DE 00 00 87 0F 00 00 00 00 00 00 CD 0E 00 00 00 00 00 00 3F F4 0A 00 B7 DC 00 00 00 00 19 02 00 00 00 00 00 00 D7 00 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 4B 00 00 00 2A 07 00 00 02 00 9A 0B 2A 07 9A 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 30 0B 00 00 1A 15 00 00 03 00 00 09 95 CE 00 01 03 00 00 00 BC 00 FF FF 03 00 05 00 02 00 03 00 34 25 32 32 39 FF FF
s,4,TIM,75,2566,507,5066,2938,0,1806,32,64,32,2003,0D,3,35,A903AA030A00,DFF3090026,E6F90A00C6DD,4,4,E6F90A,C6DD,0,0C,1,2,0,A3,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 A9 03 AA 03 0A 00 03 00 00 00 09 00 00 00 00 00 DF F3 09 00 26 DD 00 00 1B 05 00 00 00 00 00 00 CD 04 00 80 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 A4 00 00 00 0E 07 00 00 00 00 0E 07 0E 07 06 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 7A 0B 00 00 CA 13 00 00 06 00 3E 11 F0 2F 00 00 01 00 00 00 A3 00 FF FF 00 00 04 00 89 01 03 00 34 29 2D FF FF FF FF
g,3,JENNY,77,2617,511,5108,1419,0,1756,64,64,32,2003,0E,4,80,AA03AB036400,62F409003C,99F40A0057DD,5,4,E6F90A,23DD,0,0C,1,2,1,98,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 AA 03 AB 03 64 00 01 00 00 00 09 00 00 00 00 00 62 F4 09 00 3C DD 00 00 28 08 00 80 00 00 00 00 53 01 00 00 00 00 00 00 99 F4 0A 00 57 DD 00 00 00 00 00 05 00 00 00 00 00 00 85 04 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 8C 00 00 00 DC 06 00 00 00 00 39 0A DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 8B 05 00 00 F4 13 00 00 05 00 00 06 2E 33 00 01 03 00 00 00 98 00 FF FF 03 00 03 00 02 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,FOX,85,2888,501,5012,2324,0,1821,64,64,32,2003,0F,5,A5,B00301000000,95F6090066,BCF60A00C6DD,1,1,E7F90A,B2DF,2,6,1,2,1,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 B0 03 01 00 00 00 01 00 00 00 09 00 00 00 00 00 95 F6 09 00 66 DF 00 00 18 01 00 80 00 00 00 00 F1 01 00 80 00 00 00 00 BC F6 0A 00 C6 DD 00 00 00 00 24 01 00 00 00 00 00 00 2B 01 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 3B 00 00 00 1D 07 00 00 02 00 A3 07 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 14 09 00 00 94 13 00 00 01 00 DF 0F BB 6D 00 01 01 00 00 00 7F 00 FF FF 02 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
352614 -> 134265,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

--- End code ---

Swapping just terry and young who are both silver:
352614 ->456231
3 -> 1st -> 5th
4 -> 6th -> 1st



--- Code: ---color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,0,FOX,81,2761,252,2515,2515,0,1701,32,64,32,0,0,0,0,0A000B005203,E7F90A00B2,41FA0A00B3DF,4,4,E7F90A,B2DF,2,6,1,2,0,10,3,00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0B 00 52 03 01 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 B3 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 A5 06 00 00 02 00 00 00 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 D3 09 00 00 D3 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
s,1,NANCY,83,2834,271,2713,2713,0,1779,32,64,32,2003,0A,0,10,0A000B007903,E6F90A0081,40FA0A0082DC,4,4,E6F90A,81DC,2,6,1,2,0,CA,3,00 0A 00 00 00 1E 00 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 79 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 82 DC 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 00 00 00 00 F3 06 00 00 02 00 00 00 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 99 0A 00 00 99 0A 00 00 00 00 00 00 00 00 94 00 00 00 00 00 CA 00 00 00 00 00 01 00 00 00 03 00 2E 21 2E 23 39 FF FF
s,2,YOUNG,75,2566,253,2533,2533,0,1806,32,64,32,2003,0B,1,CA,0A000B008E03,E7F90A006D,41FA0A006EDE,4,4,E7F90A,6DDE,0,0C,1,2,0,5A,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 8E 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 6E DE 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 00 00 00 00 0E 07 00 00 00 00 00 00 0E 07 06 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 E5 09 00 00 E5 09 00 00 00 00 00 00 00 00 97 00 00 00 00 00 5A 00 00 00 00 00 02 00 00 00 03 00 39 2F 35 2E 27 FF FF
s,3,TERRY,85,2888,251,2506,2506,0,1821,64,64,32,2003,0C,2,5A,0A000B008703,E7F90A0010,41FA0A0011DF,4,4,E7F90A,10DF,2,6,1,2,0,35,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 87 03 03 00 00 00 00 00 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 41 FA 0A 00 11 DF 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 00 00 00 00 1D 07 00 00 02 00 00 00 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 CA 09 00 00 CA 09 00 00 00 00 00 00 00 00 96 00 00 00 00 00 35 00 00 00 00 00 03 00 00 00 03 00 34 25 32 32 39 FF FF
s,4,TIM,87,2970,270,2701,2701,0,1834,64,64,32,2003,0D,3,35,0A000B009503,E6F90A00C6,40FA0A00C7DD,4,4,E6F90A,C6DD,0,0C,1,2,0,80,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 95 03 03 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 C7 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 00 00 00 00 2A 07 00 00 00 00 00 00 2A 07 9A 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 8D 0A 00 00 8D 0A 00 00 00 00 00 00 00 00 98 00 00 00 00 00 80 00 00 00 00 00 04 00 00 00 03 00 34 29 2D FF FF FF FF
g,5,JENNY,77,2617,255,2554,2554,0,1756,64,64,32,2003,0E,4,80,0A000B006E03,E6F90A0023,40FA0A0024DD,4,4,E6F90A,23DD,0,0C,1,2,0,A5,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 0A 00 0B 00 6E 03 01 00 00 00 00 00 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 FA 0A 00 24 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 00 00 00 00 DC 06 00 00 00 00 00 00 DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 FA 09 00 00 FA 09 00 00 00 00 00 00 00 00 92 00 00 00 00 00 A5 00 00 00 00 00 05 00 00 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,FOX,81,2761,252,2515,2515,0,1701,32,64,32,2003,0F,5,A5,1000000,62F60A00C6,BCF60A00C6DD,4,4,E7F90A,B2DF,2,6,1,2,0,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 62 F6 0A 00 C6 DD 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BC F6 0A 00 C6 DD 00 00 00 00 00 04 00 00 00 00 00 00 00 04 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 00 00 00 00 A5 06 00 00 02 00 00 00 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 D3 09 00 00 D3 09 00 00 00 00 00 00 00 00 8D 00 00 00 00 00 7F 00 00 00 00 00 00 00 00 00 03 00 26 2F 38 FF FF FF FF
color,order-b156,name,Top Speed,Raw Top Speed,Stamina,Raw Stamina,Raw Stamina2,Sprinting,Run Speed,Intelligence,Cooperation,Acceleration,Willingness to Sprint,b2-jockeyp,b4-chocop,b8,b22-camera1,b38-camera2,b62,b73,b81,b85,b90,b104,b114,b118,b124,b141,b146,b156,all
g,5,FOX,81,2761,503,5030,0,0,1701,32,64,32,401,4,0,0,A803A9030000,B1F309001B,E7F90A00B2DF,3,3,E7F90A,B2DF,2,6,1,2,1,70,3,00 04 01 00 00 F3 00 00 00 04 01 00 00 D8 00 00 00 27 01 00 00 A8 03 A9 03 00 00 01 00 00 00 09 00 00 00 00 00 B1 F3 09 00 1B DE 00 00 79 01 00 00 00 00 00 00 3C 09 00 80 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 B2 03 00 00 00 00 00 00 AF 03 00 00 00 00 E7 F9 0A 00 B2 DF 00 00 00 00 6C 00 00 00 A5 06 00 00 02 00 A6 06 A5 06 C9 0A 00 00 06 00 32 00 01 00 64 00 32 00 02 00 00 00 00 00 A6 13 00 00 06 00 00 01 7F B0 00 01 04 00 00 00 70 00 FF FF 04 00 05 00 03 00 03 00 26 2F 38 FF FF FF FF
s,3,NANCY,83,2834,543,5426,2852,0,1779,32,64,32,2003,0A,0,10,AA03AB030000,5BF409002A,99F40A00E4DC,2,2,E6F90A,81DC,2,6,1,2,1,B2,3,00 0A 00 00 00 C8 FD 10 00 20 03 FF FF 00 00 00 00 00 00 00 00 AA 03 AB 03 00 00 03 00 00 00 09 00 00 00 00 00 5B F4 09 00 2A DD 00 00 19 0F 00 80 00 00 00 00 7A 0A 00 80 00 00 00 00 99 F4 0A 00 E4 DC 00 00 00 00 9F 02 00 00 00 00 00 00 A9 02 00 00 00 00 E6 F9 0A 00 81 DC 00 00 00 00 AD 00 00 00 F3 06 00 00 02 00 FB 07 F3 06 12 0B 00 00 06 00 32 00 01 00 64 00 32 00 02 00 24 0B 00 00 32 15 00 00 04 00 00 10 59 12 00 01 03 00 00 00 B2 00 FF FF 03 00 03 00 03 00 03 00 2E 21 2E 23 39 FF FF
s,4,YOUNG,75,2566,507,5066,2810,0,1806,32,64,32,2003,0B,1,CA,A803A9030000,CBF309006D,E7F90A006DDE,3,3,E7F90A,6DDE,0,0C,1,2,1,98,3,00 0B 00 01 00 00 00 CA 00 20 03 FF FF 00 00 00 00 00 00 00 00 A8 03 A9 03 00 00 03 00 00 00 09 00 00 00 00 00 CB F3 09 00 6D DD 00 00 87 0B 00 00 00 00 00 00 7C 0D 00 80 00 00 00 00 E7 F9 0A 00 6D DE 00 00 00 00 B1 03 00 00 00 00 00 00 A2 03 00 00 00 00 E7 F9 0A 00 6D DE 00 00 18 00 93 00 00 00 0E 07 00 00 00 00 06 0A 0E 07 06 0A 00 00 0C 00 32 00 01 00 64 00 32 00 02 00 FA 0A 00 00 CA 13 00 00 05 00 00 10 25 6C 00 01 03 00 00 00 98 00 FF FF 03 00 04 00 01 00 03 00 39 2F 35 2E 27 FF FF
s,0,TERRY,85,2888,501,5012,2820,0,1821,64,64,32,2003,0C,2,5A,AC03AD030000,FFF409004D,4DF50A003DDC,1,1,E7F90A,10DF,2,6,1,2,1,D8,3,00 0C 00 02 00 00 00 5A 00 20 03 FF FF 00 00 00 00 00 00 00 00 AC 03 AD 03 00 00 03 00 00 00 09 00 00 00 00 00 FF F4 09 00 4D DD 00 00 28 00 00 00 00 00 00 00 81 05 00 00 00 00 00 00 4D F5 0A 00 3D DC 00 00 00 00 14 01 00 00 00 00 00 00 6A 01 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 B3 00 00 00 1D 07 00 00 02 00 28 08 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 04 0B 00 00 94 13 00 00 01 00 CC 0B 62 1C 00 01 02 00 00 00 D8 00 FF FF 02 00 00 00 00 00 03 00 34 25 32 32 39 FF FF
s,2,TIM,87,2970,540,5402,2936,0,1834,64,64,32,2003,0D,3,35,AB03AC030000,A8F409002B,F3F40A003DDC,1,0,E6F90A,C6DD,0,0C,1,2,1,D8,3,00 0D 00 03 00 00 00 35 00 20 03 FF FF 00 00 00 00 00 00 00 00 AB 03 AC 03 00 00 03 00 00 00 09 00 00 00 00 00 A8 F4 09 00 2B DE 00 00 AF 06 00 80 00 00 00 00 F8 0A 00 80 00 00 00 00 F3 F4 0A 00 3D DC 00 00 00 00 01 01 00 00 00 00 00 00 D7 00 00 00 00 00 E6 F9 0A 00 C6 DD 00 00 00 00 A4 00 00 00 2A 07 00 00 00 00 62 09 2A 07 9A 0B 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 78 0B 00 00 1A 15 00 00 02 00 00 0B 89 E2 00 01 03 00 00 00 D8 00 FF FF 03 00 02 00 02 00 03 00 34 29 2D FF FF FF FF
g,1,JENNY,77,2617,511,5108,1844,0,1756,64,64,32,2003,0E,4,80,AC03AD030000,0DF5090093,4DF50A005FDD,4,6,E6F90A,23DD,0,0C,1,2,1,96,3,00 0E 00 04 00 00 00 80 00 20 03 FF FF 00 00 00 00 00 00 00 00 AC 03 AD 03 00 00 01 00 00 00 09 00 00 00 00 00 0D F5 09 00 93 DC 00 00 AA 06 00 00 00 00 00 00 62 0D 00 00 00 00 00 00 4D F5 0A 00 5F DD 00 00 00 00 72 04 00 00 00 00 00 00 34 06 00 00 00 00 E6 F9 0A 00 23 DD 00 00 00 00 C8 00 00 00 DC 06 00 00 00 00 8B 08 DC 06 39 0A 00 00 0C 00 32 00 01 00 64 00 64 00 02 00 34 07 00 00 F4 13 00 00 03 00 00 13 69 1C 00 01 03 00 00 00 96 00 FF FF 03 00 01 00 02 00 03 00 2A 25 2E 2E 39 FF FF
see above,0,TERRY,85,2888,501,5012,4852,0,1821,64,64,32,2003,0F,5,A5,59005A008705,EC0B0900E6,DE0B0A00E8ED,8,8,E7F90A,10DF,2,6,1,2,0,7F,3,00 0F 00 05 00 00 00 A5 00 20 03 FF FF 00 00 00 00 00 00 00 00 59 00 5A 00 87 05 03 00 00 00 09 00 00 00 00 00 EC 0B 09 00 E6 ED 00 00 39 05 00 80 00 00 00 00 56 01 00 80 00 00 00 00 DE 0B 0A 00 E8 ED 00 00 00 00 08 08 00 00 00 00 00 00 24 08 00 00 00 00 E7 F9 0A 00 10 DF 00 00 00 00 3A 00 00 00 1D 07 00 00 02 00 1E 07 1D 07 48 0B 00 00 06 00 32 00 01 00 64 00 64 00 02 00 F4 12 00 00 94 13 00 00 00 00 3A 17 C1 CA EB 00 00 00 00 00 7F 00 00 00 00 00 00 00 00 00 03 00 34 25 32 32 39 FF FF
352614 ->456231,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

--- End code ---

--- Code: ---from ReadWriteMemory import ReadWriteMemory

def swap(f,s):
 b = f.split(" ")
 c = s.split(" ")
 # runspeed2
 b[99] = c[99]
 b[100] = c[100]
 # runspeed1
 b[107] = c[107]
 b[108] = c[108]
 # top speed
 b[109] = c[109]
 b[110] = c[110]
 # acc
 b[115] = c[115]
 # coop
 b[119] = c[119]
 # intel
 b[121] = c[121]
 # stamina2
 b[125] = c[125]
 b[126] = c[126]
 # stamina
 b[129] = c[129]
 b[130] = c[130]
 return(" ".join(b))
 
print("Copying bytes from ePSXe.exe")
rwm = ReadWriteMemory()
process = rwm.get_process_by_name('ePSXe.exe')
process.open()
byteBuffer = process.readByte(0xbf95b4,1183)
process.close()
allbytes = ""
for x in byteBuffer:
 x = "{:02x} ".format(int(x,16))
 allbytes += x
allbytes = allbytes.rstrip()
allbytes = allbytes.upper()
front = allbytes[0:104]
pbytes = allbytes[105:]

allsplit = []
n = 492
for i in range(0,len(pbytes),n):
 allsplit.append(pbytes[i:i+n])

#Young(silver), Tim(silver) = Winners
#Fox (gold), Terry(silver) = Losers

n0 = allsplit[0]
n1 = allsplit[1]
# c2 to c0 Young -> Terry
n2 = swap(allsplit[2],allsplit[3])
# c3 to c4 Terry -> Young
n3 = swap(allsplit[3],allsplit[2])
n4 = allsplit[4]
n5 = allsplit[5]
n6 = allsplit[6]
patched = front+" "+n0+n1+n2+n3+n4+n5+n6
print(patched)

--- End code ---
Chart of bytes:


Kind of weird it's not 6th on that swap. Leads me to believe some other piece of data matters... Or something to do with that 5/6 place swapping bug. I guess I can test that by swapping 3 and 2.

352614 -> swap 3 and 2 -> 352164

Idk what's going on there. I triple checked it and used a script to generate it. Swapping two chocobos is ugly.

FWIW in the all the same stats test I replaced bytes 100-157

I'm not sure how many answers we'll get looking at just memory.

nfitc1:

--- Quote from: ff7man on 2022-01-26 20:36:32 ---Hmmm. Why do you think there's a boosting stat for the two it wants to win?
--- End quote ---

Observation. I have no hard evidence, but I've seen the lower speed chocos win over higher speed with better sprint. There might be more going on, but it looked like they were "favored" because they were making better use of their speed and sprint. Otherwise you could just bet on the two with the highest speed stat and win every time.

Navigation

[0] Message Index

[#] Next page

Go to full version