huzhekun Posted December 14, 2020 Share Posted December 14, 2020 (edited) I went down the same rabbit hole, except I was a bit too ambitious. There are 2 separate blocks of binary data for the face and the body (these sections are separated by mantis blades and nano wire as far as I can tell). However, when I tried to import another save's data, the filesize increased by 10 bytes, and that was enough of a change for the game to see the save as corrupt. I know this is only a size/data section size check because when I did not realize changing the data needed those extra 10 bytes and loaded the edited save with the same filesize as the original, the game did not complain and instead just teleported me below the floor and changed my character to default female V. I believe it's a filesize check due to the filesize being avaliable in the json file, but also, it could be a value tied to the size of the face/character customization section. (this makes more programming sense as the game should have to know how to accurately allocate the data from the savefile into memory.) Edited December 14, 2020 by huzhekun Link to comment Share on other sites More sharing options...
Cuboix Posted December 14, 2020 Share Posted December 14, 2020 Cah I found hex values for character customization in the sav.dat - tried to change them but loading the save resulted in an instant crash. I'll just leave these findings here.Yeah this is a potential workaround. I made two new characters, with different hairstyles, and found the 12 byte array in sav.dat where they differed (after 0x61697273). I then replaced the array in one save with the array from the other, and that save had the updated hairstyle from the other one. Cna you explain us step by step how did you change that?For started, how did you search 0x61697273 in HxD? I created two identical characters, except for the hairstyles, and then looked at the hex in the two sav.dat's for everywhere that they differed. One such place was right after this highlighted section, and you can see that 0x6861697273 is decoded as ascii characters "hairs" so that was a good hint it was what I was looking for. I then copied the few changed bytes that followed it from one file to the other. But like I mentioned earlier, I looked at the sav.dat for my playthrough and this byte array wasn't even in it, so your mileage may vary. Link to comment Share on other sites More sharing options...
Cuboix Posted December 14, 2020 Share Posted December 14, 2020 All right, I'm giving it a shot but I'm not very knowledgeable at this so I need some help.So far I discovered that some if not all of the character customization options are saved near the string "—character_customization" in the save.dat file.I created 2 saves one with default everything and the second one with red eyes and red hair, this is what changes between them:For the eyes, it goes from 18_gradient_yellow to 16_gradient_red this one should be easy enough to replace and just work, but what I'm really interested is the hair color.That one is tricky, it goes from "05ì liquorice" to "11_red_apple", the problem is this weird "ì " in the middle of the original name, I don't know how to edit this.Also, this isn't the only thing that changes, here is the binary diff just of the hair part:Help anyone? Personally, I'd create a new character with the desired hair color you want, and then look at the hex to see how that color is encoded, then just copy the byte array representing color to your desired file. That's essentially what I did to change hairstyles. Let me know if you need further help! Link to comment Share on other sites More sharing options...
Soylencer Posted December 14, 2020 Share Posted December 14, 2020 Boost! Heck, the simplest mode for implementing it would be as a dialogue option that takes you to the creation menu, at the Ripper or in the Mirror at V's. Link to comment Share on other sites More sharing options...
Shihayazard Posted December 14, 2020 Share Posted December 14, 2020 A dialogue at the mirror would be absolutely awesome! But in the meantime mayby this could help? Idk if there is maybe a command to open the character creation again. https://www.nexusmods.com/cyberpunk2077/mods/147 Link to comment Share on other sites More sharing options...
Bartinga Posted December 14, 2020 Share Posted December 14, 2020 (edited) Absolutely! :thumbsup: Edited December 14, 2020 by Bartinga Link to comment Share on other sites More sharing options...
BlackFirePC Posted December 14, 2020 Share Posted December 14, 2020 I found out that it really doesn't matter the file size that is written in the metadata.9.json file, you can change it to any number that it still works, but you can't really add a single byte more or less to the save.dat file that it gets corrupted. We really need to find out the file structure of that save.dat file, any tips? Link to comment Share on other sites More sharing options...
kharv830 Posted December 14, 2020 Share Posted December 14, 2020 (edited) think it would be possible to give a female V hairstyle to male V using the hex eiditor trick?hairstyle 29 on female V is the one I'd like on male V if anyone is wondering. Edited December 14, 2020 by kharv830 Link to comment Share on other sites More sharing options...
huzhekun Posted December 15, 2020 Share Posted December 15, 2020 I found out that it really doesn't matter the file size that is written in the metadata.9.json file, you can change it to any number that it still works, but you can't really add a single byte more or less to the save.dat file that it gets corrupted. We really need to find out the file structure of that save.dat file, any tips?yeah, thats the issue I'm looking for, but the problem is that looking at the save file there is no filesize saved, which tells me that this would be offsets for reading in character customization parameters. with that being said, i feel like previously someone did change 2 diff colors of diff size names and it worked? no idea. Link to comment Share on other sites More sharing options...
BlackFirePC Posted December 15, 2020 Share Posted December 15, 2020 (edited) Does anyone know a tool that compare Hex values but that it is smart enough to tell you that some bytes were just shifted?For example01 AB F0 B1 - > 01 FF AB F0 B1 Would detect that I added a FF after the first 01 and mark only this as red (different) Edited December 15, 2020 by BlackFirePC Link to comment Share on other sites More sharing options...
Recommended Posts