Got to work what I was trying to do :) While sELedit works fine, you're modifying a binary file. Searching in it isn't great. You start to make many changes, you have no idea what you've changed and what you haven't and no way to track or compare one version to the next. So what I was trying to do was convert the whole of elements.data into XML so I could check the thing into git, then I could make progressive edits to it and see tracked changes from one version to the next, and wind back a version if any problems.
Fun part to this is the XML ended up being 325 MB and 7.6 million lines long. Notepad++ loads in the first section of it but then is very slow if you try to search for something near the end of the file, but once its got the whole thing loaded in its not too bad. git itself seems to manage fine. Takes maybe 20 seconds to diff the thing vs the previous version and see how many lines you modified but it works and can show you what lines changes and such.
Renamed about 500+ items, rebuilt the elements.data from the XML and deployed it to 1.5.5 server+client and both working well :)
I still don't get what the stupid offsets are, I just record the binary data in the XML at the appropriate place and re-save it back out as-is... like
Code:
<armorruneEssence armorruneEssenceID="47234">
<idSubType>406</idSubType>
<name>Lost Incantation Amulet</name>
<fileMatter>Models\Matters\物品\优化符掉落\优化符掉落.ecm</fileMatter>
<fileIcon>Surfaces\图标\物品\召神符.dds</fileIcon>
<fileGfx></fileGfx>
<fileSfx></fileSfx>
<damageType>1</damageType>
<price>1</price>
<shopPrice>1</shopPrice>
<requirePlayerLevelMin>90</requirePlayerLevelMin>
<requirePlayerLevelMax>105</requirePlayerLevelMax>
<damageReducePercent>0.67</damageReducePercent>
<damageReduceTime>2</damageReduceTime>
<pileNumMax>9999</pileNumMax>
<hasGuid>0</hasGuid>
<procType>16403</procType>
</armorruneEssence>
<offset2>DD8976AB07000000FB21C0F0FB35B88293F858</offset2>
<skilltomeSubType skilltomeSubTypeID="401">
<name>Blade.</name>
</skilltomeSubType>