Akoniis Posted November 26, 2020 Share Posted November 26, 2020 (edited) Ok ok... So I will try to explain that craps!!Tools I use:DECA to extract game files.HxD as Hex editorVScode or Notepad++! (you can use Atom, Sublime too)VBinDiff to compare 2 hex files, or FlexHex which have a GUI. (you can compare with HxD too but I don't like the way it does that !!)The Ashen mod Tools, to convert tunec file into xml.The Gibbed’s Tools forked by tim42, to convert xml to tunec file.The ApexToolset, to extracts or creates .bl and .ee archives.There is also the online DECA ADF file viewer. To view some ADF file (like save files, and wtunec file for example) in a cleaner way than the DECA txt file (at least part of it).And FFdec Jpexs to decompile flash files!Notes:- This tuto cover how to handle files, not all what you have to do to make a mod (gather data, make research, find the right files..etc.).- I don't explain everything about each types of files.. (For example, I don't cover the full ADF content and I do not cover flash files (gfx) at all..etc.)- This tuto will not explain the basis of Hex! (like what is a UInt32 value, or the differences between little and big endian..etc.)- If you use notepad++, activate the "document map" (in view menu) and installing the "bookmarks@dook" plugin make things easier. ^^- In the hex editor, to choose a "byte group size" of 2 or 4 and extend the layout to full size (fit windows) make things easier. ^^(If you use the same editor as me it will be in "view" menu!! or in settings to set it as default.)- The search and replace function is nice too ^^ but be careful with that...tunec files:Another modder, WarbirdRed5 made a video about those files.Thanks to him ^^BIN/RTPC files:Most of the time, in those files you will edit single (float32) value...RTPC file look like that: (part of it) @0x0000041a( 1050) 0x40c2873c 0x42dc0000 0x02 f32 = @0x0000041e( 1054) 110.0 @0x00000423( 1059) "despawn_distance" 0x43d00000 0x02 f32 = @0x00000427( 1063) 416.0 @0x0000042c( 1068) 0xe30eaac9 0x41300000 0x02 f32 = @0x00000430( 1072) 11.0 As you can see with the "f32", the 3 values (at the end of each line) will be float32 values. ("str" means string, and "u32" means UInt32)In this example, we want to increase the despawn distance of an animal,in the hex editor, search for the single float32 value of 416 and change it to (let say) 700 (but that's a "dirty" way of doing it). To find that value you can also take the second "0xValue" inverse it and search for it as hex value.for example: 0x43d00000 become 0000d043. But that will be the same for all 416 float32 values in that file...It can be nice for some edit, but it can be a problem if you want change only some of them. So, to make sure you edit the right value, take the last number in parenthesis (1063), which is unique.in the hex editor use the "go to" function (set to decimal and relative to begin), and go to the offset 1063,from the cursor position the next 4 byte (or 4 symbols) are the float32 value (416) we are looking for. Be careful to select the full UInt32 value (4 byte or 4 symbols) not less not more, or it can create issues !!(less is a UInt16 or 8 more is a UInt64), you can change a value, but not its "size"!So a float32 can be changed with another float32 and a UInt32 with a UInt32, but not with a UInt64...That's it !!BIN/ADF files:First thing, most ADF can be extracted as xls with DECA which make it even easier to read !!(to extract them that way select it and "export as processed")Second thing, to understand adf, you must first see the structure of the file and than the actual content of that structure...When you get how it is structured, it is more "easy" to read the content...For example, let change the recoil value of the traditional longbow (skin3).First, use DECA to extract the equipment_tuning.bin. Extract it as RAW, TXT and XLS (Processed).Then, open the xls to have all info in a human readable structure. (as you can see, there are multiple sheets, one for weapons, one for ammo..etc)Then, open the txt to have the actual ADF structure.Then, open the bin to change the shitty hex.How to read the ADF structure:When you open the txt, you will see something like that: Sheet: # Array of Structure XLSSheet(0x08777DDD), Data Offset: 216(0x000000d8), Info Offset: 88(0x00000058) [ # Structure XLSSheet(0xD987FB8B), Data Offset: 216(0x000000d8) { Cols: 19 # uint32(0x075E4E4F), Data Offset: 216(0x000000d8) Rows: 85 # uint32(0x075E4E4F), Data Offset: 220(0x000000dc) CellIndex: # Array of uint32(0xE8ABFE3B), Data Offset: 472(0x000001d8), Info Offset: 224(0x000000e0) [ 153 151 141 9 49 82 6 6 6 6 6 6 6 6 6 6 6 6 6 ...etc... ] Name: b'weapons' # string(0x8955583E), Data Offset: 6936(0x00001b18), Info Offset: 240(0x000000f0)This part refer to the xls file... It say that on this sheet, there are 19 cols and 85 rows.If you look at the bottom, it say "Weapons", which means that all the stuff before are from the Weapons Sheet!!If you check the weapons sheet in the xls file, you will see that there are 85 rows and 19 cols per row.(Careful, in the adf as txt, the "title" row is there too, so there are actually 84 rows that cover all weapons...)So if you check the structure (in txt file), you will see a bunch of numbers like that: 153 151 141 9 49 82 6 6 6 6 6 6 6 6 6 6 6 6 6 As you can count, there are 19 numbers (for that example), so that is a full row, and every 19 numbers start a new row !!If you check the xls file, you will see that each row end with multiple 1.. That make thing more easy as it clearly show you each row in the txt file.For example, on this sheet the 6 refer to 1, so in the "vertical row" (like above) it easy to see that each row start with a different number but all end with a bunch of 6...(with that you can easily define where a row stop an where it start without counting.)How is the xls sheet structure:For the weapons sheet, you can see:(this refer to the last row, the traditional longbow with skin3) Col 1 col2 col3 col4 col5 col6 Item Stat Accuracy Stat Recoil Stat Reload Speed Stat Hipshot Accuracy Stat Peak Draw-weight longbow_03 30 15 100 12 60 In the txt file,write the "vertical row" in horizontal... And you get: 153 151 141 9 49 82 153 Item 151 Accuracy 141 Recoil 9 Reload Speed 49 Hipshot Accuracy 82 Peak Draw-weight 6 6 6 As you can see, the Recoil value for the longbow03 is 15 and the UInt32 value related to it, is 141 !!You can also see that the Accuracy is 30 (with a UInt32 of 151)...For this example, we want to tweak the recoil from 15 to 30....So you just have to change 141 into 151 !! IN THE BIN FILE (with the hex editor)!! (of course I made it easy for the tuto, but one of the thing you will have to do, it to be sure what value to use...For example to be sure that the UInt32 151 is 30, check in the xls file what other stuff use 30 as value and confirm that it is 151 too in the txt file...) Find and edit the value in hex editor:As you can see in the txt file, in the structure the first col give an "item id" which is unique.In the hex editor, search for the UInt32 value of 153, it will select 4 byte and the 4 symbols corresponding,if you select the next 4 byte you will see that the UInt32 value of it is 151 and the next 4 is 141.Select those 4 byte and modify the UInt32 value from 141 to 151....(this way is just to show you how it work, as you can see that numbers are in the same orders. after 141 if you check the 4 next byte it will be a UInt32 of 9...etc.) You can also search the first UInt32 value 153, and from here search for the UInt32 value 141 instead of counting all symbols.Sometime you can also search directly for the value you want to change, depending on what you are doing, and in which file.That's it !!Voila!!! ^^I think I forget nothing.......Enjoy ^^ Edited December 17, 2020 by Akoniis Link to comment Share on other sites More sharing options...
vhsn Posted December 1, 2020 Share Posted December 1, 2020 Great tutorial! I wonder how many new mods will be created soon :cool: Link to comment Share on other sites More sharing options...
AgeOfDarkness13 Posted December 10, 2020 Share Posted December 10, 2020 How can edit .wtunec files from the Hunter CoTw?I can not make a xml file from wtunec files.The way from the video is not working. Link to comment Share on other sites More sharing options...
Akoniis Posted December 17, 2020 Author Share Posted December 17, 2020 (edited) You can edit them with hex editor, similar as for the RTPC files!!Example: # Structure ZeroingSettings(0xBDE912DF), Data Offset: 512(0x00000200) { zero_distance: 25.0 # float(0x7515A207), Data Offset: 512(0x00000200) angle: 0.17499999701976776 # float(0x7515A207), Data Offset: 516(0x00000204) horizontal_angle: 0.0 # float(0x7515A207), Data Offset: 520(0x00000208) To change the float32 "25.0", in hex go to the offset 512 (not search function, the go to function), the 4 bytes next to the cursor is the float32 of 25...To be sure, use the next one as confirmation, if you select the next 4 bytes (or if you "go to" 516) you will found out that the float32 is "0.17499999701976776"! Edited December 17, 2020 by Akoniis Link to comment Share on other sites More sharing options...
Lilz44 Posted December 27, 2020 Share Posted December 27, 2020 Is there a way to edit game sound files? Link to comment Share on other sites More sharing options...
GonzoGamesAU Posted May 15, 2021 Share Posted May 15, 2021 don't know if you can help or not, but I want to try to read the files in the SAVES folder and make sense of them. What is the best way to go about that? Link to comment Share on other sites More sharing options...
nam3856 Posted June 26, 2023 Share Posted June 26, 2023 Is there a way to convert .stringlookup file to xls? deca doesn't work Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now