I mentioned it once before but I've refined things a little.
Weapon Translator. (Excel file. Also works with LibreOffice and Google Sheets)
Instructions:
The first thing you need to do is export your weapons from your save file in a manner than can be pasted into this sheet.
- Open your APP.BIN in your hex editor of choice (instructions will be provided for HxD and Hex Workshop
- Set your column width to 76 bytes.
HxD: Look for the bytes per row dropdown on the toolbar, click the button to the left of it to disable automatic width and then type 76 into the dropdown and hit enter.
Hex Workshop: Mouse over the header of the file view on the gap between the hex/text views of the file, the cursor should turn into a drag cursor, drag it until the last column of the hex view is '4B'
- Jump in the file to the start of the weapons table.
Press CTRL+G then go to offset '8D74C'
Make sure the 'hex' option is selected and that the offset is from the start of the file.
- Hold shift and use 'Page Down' & the cursor keys to select the next 0x131C8 bytes.
The size of the current selection will shown in the status bar.
- Open a new file, set the column width of the new file as above, then copy the table from your APP.BIN to this new file.
(Do not deselect anything in APP.BIN yet. We'll be coming back later)
- Now select the entire contents of this new file and copy as text.
HxD: Edit Menu-->Copy As…-->Editor View
Hex Workshop: Edit Menu-->Copy As…-->Text
- Open Notepad or your preferred Notepad replacement and paste this copied text in there.
- Do a search & replace to turn all spaces into tabs.
In Notepad what you'll have to do is type a tab character, cut it onto the clipboard, then in the search & replace dialog paste it into the replace field.
Other text editors may have friendlier ways of specifying tabs in the replace field.
Once you've got this you can transfer it to your spreadsheet
- Copy the contents of notepad into the 'Scratchpad' sheet. If you've done everything correctly everything should go separate cells.
- Select and copy only the hex bytes part of the data (ignoring the header, offset column, and text view), clear notepad and paste these values into notepad to clear all formatting, once again copy the data out of notepad and this time paste it into the 'Raw' sheet.
If everything has gone correctly each row in the 'Raw' sheet should represent the data from one weapon of the weapons table. The corresponding row of the 'Translated' table should tell you how that data will be interpreted by the game. Including the correct calculations for the final power value once the stars and Evil's Bane/Legendary skills have been taken into effect.
Now make your changes to the 'Raw' sheet Using the 'Translated' sheet to check they're doing what you expect. You'll still need to know the raw values of weapon/skill IDs but you can remind yourself of those from the 'Reference' sheet.
Once you have made your changes you'll need to get them back into your APP.BIN
- Copy the now modified data from the 'Raw' sheet. (You don't need to use notepad to clear formatting, the hex editor will ignore it anyway)
- If the weapons data in your APP.BIN file is not still selected make sure to reselect it.
- HxD: Edit Menu-->Paste Write
Hex Workshop: Edit Menu-->Paste Special…
Clipboard format: 'CF_TEXT' (should already be selected)
And check the 'Interpret as a hexadecimal string' box.
- Save the edited file and place in the correct folder to inject using Saviine
The file size of APP.BIN should be 3,145,728 bytes. If it isn't you've screwed up somewhere.
The process seems long winded but once you've done the steps a couple of times it's actually quite quick & easy and the advantages of being able to double-check your changes before injecting the save file more than make up for it.
AND REMEMBER: BACKUPS! I will take no responsibility if your only copy of your save file gets screwed through you misusing the spreadsheet or through any mistakes made by me while creating the spreadsheet.