There is no need for disassembly, besides it's illegal. I've been granted access to the AoD code by BL-Logic.
I do know what non-unicode is but I wasn't on the previous release teams. Also non-unicode, like ACL Desktop or AuditExchange non-unicode versions, don't support unicode (that's why it's non). But the biggest thing thing to know about non-unicodes is that they don't support multiple language specific characters. AoD supports 8 languages (English, French, Italian, Spanish, German, Polish, Portuguese, & Russian). The best thing to do would be to go to UTF-8, which is an unicode encoding.
I'm not willing to redo all of AoD to use UTF-8 without a dedicated team that has a lot of free time. It's a massive undertaking and I've already spent way too much time with AoD fixes, upgrades, technology researching, etc. Maybe in a future release with more people rewriting and translating all the events, descriptions, unit names, etc. the developer can then change the code.
EDIT: SDL does character recognition at the hexadecimal level. Instead of doing hex edits, why not just do all of the text files (in /db and /config directories) in UFT-8...it's a much easier way and supports all of AoD's languages.
And there is no need to remake the entire game to UTF-8
There are 2 problems now (broken after 1.07 and 1.10)
1) unitnames.csv - incorrectly shows Cyrillic from this file. Game engine problem (since it is fixed by editing one bit in the file).
2) keyboard input in the input fields in the game - it seems to work through SDL2 now, which means SDL_TextInputEvent come in UTF-8. And then something is wrong with Cyrillic (Latin is entered instead) and the keyboard keys that are shown. Perhaps the problem is somewhere in the conversion from UTF-8 to the game engine text format
- 1