BlindedByTheGrace Posted July 11, 2022 Posted July 11, 2022 (edited) Hi, This is the first in another series of tutorials in which I will be explaining the little I know in 2k22, some which can be of benefit to hep in understanding the gam's data structure better and know whats possible and what's not . The first thing I will say here is, this game is not 2k19, therefore there are a lot of new processes you will have to learn and a lot of things will have to be done differently. The processes have changed since WWE2K20 so a lot of the procedures I will describe also apply to 2k20. In this tutorial, I will be explaining the charactermapping.jsfb file which you will find in the Characters folder in the bakedfile00.cak. You will need Caketools to open the baked file and extract the charactermapping file. First you will need to have the hex editor HxD downloaded and installed on your PC which you need to open the file. if you modded WWE2K19 and previous games, you will know the chaarcter models are in pac files and all you need to do is: Inject the chaarcter model pac files using Custom Character Tools or place them in the pac\ch folder inject a pofo and moveset file for the character through CCT or through cheatengine. Regenerate the chunk0.def file using CCT. - This is an important procedure as the names of the pac files you have injected are listed in the chunk0.def file. The game will only load files with names and folder locations listed in this file. All this has changed with 2k20 and 2k22. Each character's files are in folders which you will find listed in the Characters folder. You will find a few spread across the baked files.. This is a screenshot of the Characters folder in the bakedfile00 with the charactermapping file. To extract, double click on the file to highlight it and select the icon highlighted in the screenshot. It will only appear once you double click. This will extract the file to a location of your choice. So I'm going to be practical here. I will use Kane ID 107 to illustrate.. The folder for Kane's character is in the bakedfile02.cak. Open the file in caketools and navigate to the Characters folder. Highlight the Kane folder as shown When you highlight the filename and look on the right window, you will see there is a hash and an ID. This is an ID generated based on the folder name and the file path. This ID is unique for every folder in the game, including character folders. The 107_Kane_2018 folder has it's own hash ID 6200D2 BO87B1E360 The 107_Default_Attire folder also has it's own hash. 903510F1B4D300ED The game will need to read these hash bytes to know what folder to load Kane's basemodel and attire textures when the character selected. So what files does the game read to know which folder hash ID is linked to which character? This is where the charactermapping file comes in. Open the file In Hxd and you will presented with a lot of data which might not make any sense at first. You first need to know Kane's ID. You can lookup this ID in the list compiled here. You will need this list in the other tutorials I will post. https://docs.google.com/spreadsheets/d/1t2UK5qzkw8qqJhV1ZD7U61VYCJThjswcxw4c4YJH3I4/edit#gid=444977815 From the sheet , you can see Kane's ID is 107. The format the ID's are listed in the file are in Hexadecimal. If you look at the Bakedfile02.cak file, you will also see there is a 107_Kane_Suit file.. This is for the Myrise Kane suit attire, but is not listed as an alternate attire in the game for Kane. That folder also has its own hash. The default attire for any character will be listed in the format XXX00 Where XXX is the ID for the character. The first alternate attire or alternate attire 2 will have the ID XXX10 Attire 3 attire ID XXX20 Attire 5 ID xxx40 This is not just for 3 digit ID's. If you are using the vacant slot 1013, the default attire ID will be 101300. Kane's default character ID will be 10700 and attire 2 will be 10710. The ID has to converted to hexadecimal format. It is highly recommended you use the Windows Calculator, and set it to PROGRAMMER mode rather than an online Hex converter.. The calculator is important as you will be using it in a few of the tutorials I will post later on. Converting 10700 to hex will give you 29CC The data entered into the files is usually in the endian format so it is reversed as CC 29. Now Ive seen quite a few cases where modders are confused on inverting the ID and end up with the wrong values. A wrong value will mean the modification will not work or your game will get stuck on loading or crash when trying to load the model as it can't locate the data. So let me try to break it down a bit here. If I convert a number like 101. This is 65. This is only 2 digits. We want to make it 4 so we add 2 00's so it's 00 65 100 converted to hex 0064 123 converted to hex 00 7B. Each pair of digits is one byte so the 00 is a byte the 64 is a byte. This will be 2 bytes. When we swap, we are swapping the bytes. 00 64 becomes 64 00 00 7B becomes 7B 00. 368 converted to hex is 170. This is three digits. We need to have the number in even pairs. add one 0 before making 4 so it becomes 01 70 When you invert. remember it's in pairs. Place the 70 first and the 01 after it. You will come across ID's which have longer digits. for instance the character ID 924 Karrion Kross 92400 converted to hex gives you 1 68 F0. we are breaking down the numbers into pairs of 2. there are 5 digits here which is an odd number, we need to set it as even making 6. adding a 0 right before (not after) and the number becomes 01 68 F0. when this is written in Endian format, its written as F0 68 01. we are reversing in pairs. Other examples. 01 32 B9 in endian will be B9 32 01. String ID's for names in the pofo data are also written in endian. If you look up a string name in the Sdb file and it has the ID 45F8217B ,it will be written as 7B 21 F8 45 (This is for another tutorial) Now lets move on. We have flipped Kane's ID as CC 29. This ID is searched in the charactermapping file (Ensure you are using the Hex Values Tab) Here is a screenshot of the data. You will see here that the next 8 bytes after it is the ID for the main character folder and the next 8 is the ID for the attire folder. This is the format in which the folders are listed for character models. Lets lookup the Kane alt attire which will be 10710 converted to hex 29 D6 and written as D6 29. Search for D629 in hxd. Here is a screenshot You will notice the first hash is the same as the previous as they both share the same main folder ID but the other hash is for the Suit attire folder. The basemodel folder is not listed for main characters, only for NPC's like the security guards who haven't got an attire folder. Its good to experiment and play around with different ID's and hash bytes. At present, there is no tool to add data to the file without replacing, so if you wanted to place a model in an unused slot, you will have to replace one of the hashes for an alternate attire or unused attire in the game. It is also possible to have the model mapped to a different slot. For instance If I wanted the Kane suit model to load on Roman Reigns slot 368, I will convert 36800 to hex which is 8FC0 write in endian format as CO8F, then replace the D6290000 with C08F0000. Remember though since Roman's model will also have the C08F0000, that will have to change or the game will read any of the 2. The model can also load in an unused slot 106 for instance by CONVERTING 10600 TO HEX (2968) flip as 6829 and replace D629 with 68 29 as shown here. This model will now load in unused slot 106 if the slot is unlocked and a pofo is installed. All this and more will come in another tutorial. Edited July 11, 2022 by BlindedByTheGrace 3 1 4 Quote
Core Dream Studios Posted August 9, 2022 Posted August 9, 2022 Thank you so much bro, this was a a good addition to the slot unlock one. ❤️ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.