Cave Waverider

WWE 2k19 Data Breakdown and Analysis

Recommended Posts

Cave Waverider

WWE 2k19 Data Breakdown and Analysis

This thread has been created to post our findings on various data files relevant to modding like .pofo, .moveset, .team_info, .attire_names, .title_history, .title_info and more. Since I myself - unlike last year where I deciphered most of these myself - won't have much time to do research on this year, it would be great if the community could figure out the data in a collaborative effort to speed things up considerably.
It's imperative that we figure out the most important things, otherwise the development of the Data Editor for WWE 2k19 and other free modding tools may not be able to proceed.
I'll update all findings on the WWE 2k19 Data Analysis on the Smacktalks Community Wiki page, make sure to check it our regularly for the latest findings!

If you have any additions, corrections, etc., please reply to this thread, state which file type you wish to add to and give us the decimal offset of the byte(s) in the file and what it's function is. Help in identifying the yet Unknown Bytes and values would be greatly appreciated. Click here to find some instructions on how you can help identify the values.

Please only post your findings in this thread, keep it clean from any Comments and Discussion that do not contain findings relevant to this topic (create a thread in the Discussions forum instead).

Thank you very much!

Links to Wiki Pages or posts with Analysis and the Breakdown for each file type [current status]:

Resources and Links:

  • WWE 2k19 Data Analysis on the Smacktalks Community Wiki
    The up-to-date Analyzed Data may be found on this Wiki page.
     
  • WWE 2k19 memory table
    Use this with cheat engine to look at/extract .pofo, .moveset, .team_info data and monitor your changes in real time.
     
  • WWE 2k18 Data Breakdown and Analysis
    The WWE 2k18 version of this thread. Head over there to see how the files were structured in WWE 2k18 which can be handy when you try to figure things out by comparing the files from this and the current game.
     
  • WWE 2k17 Data Breakdown and Analysis
    The WWE 2k17 version of this thread. Head over there to see how the files were structured in WWE 2k17 which can be handy when you try to figure things out by comparing the files from this and the current game.
     
  • WWE 2k16 Data Breakdown and Analysis
    The WWE 2k16 version of this thread. Head over there to see how the files were structured in WWE 2k16 which can be handy when you try to figure things out by comparing the files from this and the current game.
  • Like 2
  • Yes! 1

Share this post


Link to post
Share on other sites
Cave Waverider

Since people have been asking how they could help, here are some steps to do so (there may be better, more advanced ways to do it more efficiently, however):

 

Figuring out the bulk of the .pofo/.moveset/.team_info, etc. isn't particularly difficult once you get the hang of it (although it should be much easier once Custom Character Tools is released), but it is incredibly time consuming as there are tons of bytes and values to figure out one by one (last year I spent several weeks often working day and night on it to figure everything out - sadly alot has changed again this year, so it all has to be done again ).

Basically, what you need for it is the full version of the game, Cheat Engine, and Pozzum's memory table. You'll also want to look at the WWE 2k19 Data Analysis Page to see which things are already identified so you can skip these things.

How you can figure things out:

  1. Ensure Steam isn't running (important!) and backup your entire Save game Folder ( ...\Steam\SteamApps\userdata\<userId>\817130 ), copy it somewhere outside the Steam directory.
  2. Install WWE 2k19 and Cheat Engine.
  3. Start Steam.
  4. In Steam click Start->Go Offline and restart Steam in Offline Mode to prevent a potentially screwed save game from being uploaded to the cloud.
  5. Start WWE 2k19.
  6. Task out of the game (You might have/want to press CTRL+Return to switch to Windowed mode first).
  7. Start Cheat Engine.
  8. Click on the "Click process to open" icon.
  9. Select the one that contains WWE2k19_x64.exe
  10. Click "Open". This will hook Cheat Engine to WWE 2k19's memory.
  11. Click on Memory View.
  12. Right-click in the field of Hex values and select "Go to Address".
  13. To research .pofo and .moveset files, open Pozzum's memory table "Superstar Sheet" scroll down to one of the wrestlers from ID 100 on (100 is The Rock, so you can just use that). In the same line as your Wrestler's Wrestler ID/Name, copy the value from the column "Moveset Start Hex" (for .moveset), "Pofo Start Hex" (for .pofo) column.
    For .team_info files go to the "Team Info" Sheet of the same memory table.  In the same line as your Tag Team's ID name, copy the value from the column "Team Start Hex".
    For .match files go to the "Match" Sheet of the same memory table.  In the same line as your Custom Matche's Slot, copy the value from the column "Team Start Hex".
  14. Paste the value into the "Go to Address" field of Cheat Engine's memory editor and click OK.
  15. This will take you to the start of the Pofo/Moveset for the wrestler with the ID you choose, or the Team Info of your chosen team, Match of the saved custom match, etc.
  16. Task back into the game, best to keep it windowed and running side-by-side with the cheat engine memory window.
  17. For Moveset research, go either to Creations->Moveset (for the moves) or Creations->Entrance (for the entrance - Easy and Advanced use different addresses so you'd have to check out all of those), Creations->Victory in the game. The .moveset file contains both actual moveset and entrance, victory data, managers, team, attire selection info.
    For .pofo, go MyWWE->Superstars and change Values for your wrestler there.
    For .team_info go to MyWWE->Teams.
    For Match Types go to Creations->Match Types.
  18. In the game, select the wrestler you have loaded the moveset memory region (if you loaded the memory of Wrestler ID 100, load the Rock in the game - just focus on one wrestler, that should be enough).
  19. Change a single value and save the Moveset/Entrance/Victory/Superstar/Match (this will often take you back out of the respective in-game Editor, so you'll have to enter it again for the next value).
  20. Observe the memory region and see which value changed (the changed value will blink for a second in cheat engine - keep in mind that the moveset is long, so you might have to scroll down a bit to find it) and compare the unmodified and modified files. Alternatively, you could also search for changed values, check out cheat engine tutorials on the web to learn how to do that.
  21. Note down the address of the byte that changed and what you changed in the game to have it changed in memory. 
  22. If you aren't good in doing math in the hexadecimal system in your head, open the Windows Calulator, set it to Programmer mode and set it to Hexadecimal, then subtract the starting address of the moveset from the address of the changed value to get the Byte number (look at the Decimal result). You then note down/post the Byte number(s) (depending on how many bytes got changed for the thing you changed in the game), have a look how I did it in this thread, where you then also post your results. Also make sure to check the breakdown before you start to see which values/settings may already be figured out so you won't have to tackle those.
  23. Alternatively you can also extract the memory region of the .pofo, .moveset, .team_info, .match, etc. (Start Hex of the Wrestler to Start Hex of the Wrestler + (file length -1)) without cheat engine header via Save memory Region in Cheat Engine's memory editor), open it in a Hex Editor like HxD and every time after a change and compare the unmodified one to the modified one (this method might be the way to go once CCT is released, it's a bit tedious with cheat engine). 
  24. Go back to step 16. and rinse and repeat by changing other Unknown things in the Moveset/Entrance settings until everything that's available is figured out.
  25. When done, exit the game.
  26. Exit the game, exit Steam.
  27. Replace your save folder (...\Steam\SteamApps\userdata\<userId>\817130) with the backed up save folder (Steam must be off when you replace it, or it will corrupt).
  28. Post your findings with bytes (start-end) and names of the values as reply in this thread.

This will allow you to at least figure out the known values, which already is a lot. With hundreds and thousands of values It's alot of time consuming work. As for the unknowns, it's a process of trial and error, but it's best to just focus on the known values that you can set in the game first, the rest is secondary.

What you can also be helpful is have a look at the .moveset of the same Wrestler in WWE 2k19 and see if there are any structural similarities to get an idea where to look for what in memory.

Share this post


Link to post
Share on other sites
Cave Waverider

Finished the .attire_names breakdown. It's the same as in WWE 2k18 and the COS section in the misc file works the same way, too. This means the Universal Alternate Attire Unlock will work the same way as last year:

Universal_Alternate_Attire_Unlock_2k19_T

Share this post


Link to post
Share on other sites
AznBlusuazn

So, defined this last night:

14280d3b0 is Rock (Slot 100) pofo start - 1E4 in length

142686A38 is my best guess for the Rock (Slot 100) moveset start - D88 in length

This is reflected in the Memory Sheet now.  I have updated the wiki as well.  I'll try to start a breakdown if no one else is.

  • Thanks 1

Share this post


Link to post
Share on other sites
Youngmeezy

Gender is at 36 again, Weight announced 40-41 weight 42, no idea what's in between, looks a little different from last year

attributes start at 288 so does the hitpoints at 340 being the total 341 head 342 body 343 arms 344 legs

A cool thing i noticed is that setting attributes to 255 actually has a real effect in game instead of being the same as being 100 this year.

Edited by Youngmeezy
wrong info
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
pozzum

@AznBlusuazn and I updated some of the pofo information

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
pozzum

Added a lot of the Entrance and Victory Offsets to the 2K19 Moveset Breakdown.

 

Added a lot of the team information as well

  • Thanks 1

Share this post


Link to post
Share on other sites
sidkaramat

I know it's not much ....... but i took only the move set part (leaving entrance/victory etc) from wwe 2k18 and assign in wwe 2k19    ... From ring entry move  to end of moves. 

 

All moves worked, not even listed in menus. Only got issue with modded move which was obvious and it was hogan's taunt. Anyway not a big side effect, i just pressed 3 again and it got out of frozen state. Also hidden grapples invokeable by                    W+D with grapple             worked. so apparently moves are on same addresses once you fix the offset introduced this year.

Wish i could post some byte positions, which I will try to provided I get time.

  • Thanks 1

Share this post


Link to post
Share on other sites
Cave Waverider

I've gone over the .pofo, added most of the missing things and corrected some things that were incorrectly listed and updated the .pofo Analysis Wiki Page. Except a small amount of unknown values, the .pofo Analysis is thus mostly done.

Please focus intensively on the .moveset analysis next, including Advanced Entrance values and such, although fully deciphering the .team_info and .match files can't hurt either.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
Cave Waverider

I've analyzed the .moveset file a bit and have updated the .moveset Analysis Wiki Page with some corrections and additions.

  • Too Sweet 1
  • Thanks 1

Share this post


Link to post
Share on other sites
Cave Waverider

I've figured out the new advanced entrance editor data and added it to the .moveset Analysis Wiki Page.

It would be great if people could help me to figure out the actual moves data, since there have been some changes in move byte positions (taunts, etc.) compared to WWE 2k18.

  • Thanks 2

Share this post


Link to post
Share on other sites
Cave Waverider

I've figured out the new Payback/Instant Recovery move as well as new taunt data and added it to the .moveset Analysis Wiki Page.
The new taunts are now all 2-byte values instead of 1 byte in the previous two games and use the space of the previous pointers to the 1-byte moves.

It would be great if people could help me to figure out the actual moves data, since there have been some changes in move byte positions (taunts, etc.) compared to WWE 2k18.

  • Like 1
  • Thanks 1
  • Woo 1

Share this post


Link to post
Share on other sites
Perfectplex

Names in Pofo are in a slightly different order this time.

The following Example is The Rocks string entries and ID's.

1C 0C    3,100    NameA
EC 13    5,100    NameB
8C 23    9,100    NameC
5C 2B    11,100    NameD
BC 1B    7,100    NameE
FC 3A    15,100    NameF
 - - - - - - - - - Near bottom of Pofo - - - - - - - - -
4C 04    1,100    NameG

Please note the string ID's would benefit from being auto assigned by Data Editor or CCT with a choice of two string fix options, Perfectionary Method (using the default convention above as the game follows) and a choice for Superstring Method which recycles strings from the current entries. *Correction below, Superstring no longer uses recycled string ID's.

That way if people wish to use my upcoming Perfectionary file which is a custom string file which allows for all entries without replacing any they have that option or if they prefer to stick with Superstring they have that too.

Edited by Perfectplex
  • Too Sweet 1
  • Thanks 1

Share this post


Link to post
Share on other sites
pozzum
14 minutes ago, Perfectplex said:

Names in Pofo are in a slightly different order this time.

The following Example is The Rocks string entries and ID's.

1C 0C    3,100    NameA
EC 13    5,100    NameB
8C 23    9,100    NameC
5C 2B    11,100    NameD
BC 1B    7,100    NameE
FC 3A    15,100    NameF
 - - - - - - - - - Near bottom of Pofo - - - - - - - - -
4C 04    1,100    NameG

Please note the string ID's would benefit from being auto assigned by Data Editor or CCT with a choice of two string fix options, Perfectionary Method (using the default convention above as the game follows) and a choice for Superstring Method which recycles strings from the current entries.

That way if people wish to use my upcoming Perfectionary file which is a custom string file which allows for all entries without replacing any they have that option or if they prefer to stick with Superstring they have that too.

Just want to note that the superstring for 2k19 doesn't overwrite or alter any vanilla strings for clarification.

  • Too Sweet 1

Share this post


Link to post
Share on other sites
Perfectplex
4 minutes ago, pozzum said:

Just want to note that the superstring for 2k19 doesn't overwrite or alter any vanilla strings for clarification.

My mistake, I thought it was still using the method of finding string entries which aren't commonly used to insert names.

Does Supersting now follow the same convention as Perfectionary in which the current entries are expanded upon to fill in the gaps (eg: ch109 + 3,000 = Name A)?

Further to that point I was going to allow for 10 attire names per CH, if these are features already in place then I shall pass on Perfectionary this year as it would be redundant having them do the exact same job.

Share this post


Link to post
Share on other sites
pozzum
2 minutes ago, Perfectplex said:

My mistake, I thought it was still using the method of finding string entries which aren't commonly used to insert names.

Does Supersting now follow the same convention as Perfectionary in which the current entries are expanded upon to fill in the gaps (eg: ch109 + 3,000 = Name A)?

Further to that point I was going to allow for 10 attire names per CH, if these are features already in place then I shall pass on Perfectionary this year as it would be redundant having them do the exact same job.

It doesn't follow the format you described as it was built to be more flexible / expandable with minimal work from the end user. (More work on the pofo level) 

It adds ~8000 strings in the range of 5000-7000 (Hex) that the game doesn't use It has about 2000 "Custom Strings" which are left for custom attire names, it can be edited in it's entirety by wrestleMINUS (Open Source No networking) or just the "Super" area in WrestlePLUS just for full information on it.

  • Too Sweet 1

Share this post


Link to post
Share on other sites
Perfectplex

OK, that's much better than the old method of Superstring which obviously served its purpose for the time but became a bit confusing and all over the place as I'm sure you will agree having to find random ID's and bits of string file to recycle.

I will likely still push ahead with Perfectionary because I've already got the groundwork down for it and have the test custom file working and tool design, it will as I say follow the game convention of following the CH Id and the mathematical functions to find the ID's. More of a personal challenge to myself too as I learn more about the files as I go along.

  • Too Sweet 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.