• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
As I understand it, from some version the edit was made by a person who does not understand what texts are on a computer.

There is no symbol Ю or Þ in the text file. Exist a symbol index in the table = 222. This is the value that will be in the text file in place of the symbol Ю. And depending on which table is used (Windows-1250 Windows-1251 Windows-1252), the operating system will take the image of the symbol at position 222.

Which image of the symbol at position 222 will be used depends on the game engine - its logic and fonts (AOD fonts folder).
In the operating system, from the Windows system settings (Language for Non Unicode Programs settings)
Thank you for your promptness! As I understand it, this problem cannot be resolved without disassembling? Or reassemble the exe from the correct source parameters.
 
The code is 'translating' the Central European Windows-1250 and Cyrillic Windows-1251 to Polish and Russian respectively.
In HOI2, it is easier to work with several single-byte text encodings if you edit text files as binary.
Writing symbols in Win-1252 to a file, and then converting these symbols codes into some other symbols codes by the game engine is the wrong way. There should be no 'translating' in the code.
 
Thank you for your promptness! As I understand it, this problem cannot be resolved without disassembling? Or reassemble the exe from the correct source parameters.
Disassembling is possible, but difficult, I'm not such an expert in this.
It's much easier to fix it in the engine code, but those who have access to it do not understand what non-Unicode text is.
 
  • 1
Reactions:
AoD went to SDL, exactly when I don't know, just that it was before joining the release team. Maybe another team member can help. The SDL does control some key entries and it had cause an issue with the SHIFT keys...on some keyboards (UK) neither SHIFT keys worked and on US and others only the left SHIFT key work. I fixed that issue first (as it was a pin in the butt for me personally) :D I also had to update the SDL library to SDL2.

As for the Windows 1250, 1251, & 1252, the only reason I knew that was by discovery before I became a team member. I can look at the 3 other branch codes of AoD and search when it changed if it's really required but I'm fairly certain that won't much...just who/when to blame.

Let me know if there's anything I can help with. I check everyday the AoD Discord channel and Paradox AoD forum
 
  • 1
Reactions:
AoD went to SDL, exactly when I don't know, just that it was before joining the release team. Maybe another team member can help. The SDL does control some key entries and it had cause an issue with the SHIFT keys...on some keyboards (UK) neither SHIFT keys worked and on US and others only the left SHIFT key work. I fixed that issue first (as it was a pin in the butt for me personally) :D I also had to update the SDL library to SDL2.

As for the Windows 1250, 1251, & 1252, the only reason I knew that was by discovery before I became a team member. I can look at the 3 other branch codes of AoD and search when it changed if it's really required but I'm fairly certain that won't much...just who/when to blame.

Let me know if there's anything I can help with. I check everyday the AoD Discord channel and Paradox AoD forum
I would be glad if this was finally fixed!
 
Disassembling is possible, but difficult, I'm not such an expert in this.
It's much easier to fix it in the engine code, but those who have access to it do not understand what non-Unicode text is.
I agree. This is not a very good way. It is better to do it once in the game engine.
 
AoD went to SDL, exactly when I don't know, just that it was before joining the release team. Maybe another team member can help. The SDL does control some key entries and it had cause an issue with the SHIFT keys...on some keyboards (UK) neither SHIFT keys worked and on US and others only the left SHIFT key work. I fixed that issue first (as it was a pin in the butt for me personally) :D I also had to update the SDL library to SDL2.

As for the Windows 1250, 1251, & 1252, the only reason I knew that was by discovery before I became a team member. I can look at the 3 other branch codes of AoD and search when it changed if it's really required but I'm fairly certain that won't much...just who/when to blame.

Let me know if there's anything I can help with. I check everyday the AoD Discord channel and Paradox AoD forum

The error that is fixed by this patching does not apply to SDL

 
Something definitely happened with Cyrillic input with 1.11. As for unitnames.csv - I can't say for sure. My fix uses a unofficial (I don't know how to put it more precisely) edit from OLDodin.
 
Disassembling is possible, but difficult, I'm not such an expert in this.
It's much easier to fix it in the engine code, but those who have access to it do not understand what non-Unicode text is.
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.
 
Last edited:
  • 1
Reactions:
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.
Yes, I know that you have access to the game's code:). UTF-8 would be a complete superiority over DH, but I agree, it's very, very difficult! Unfortunately, I don't have the necessary skills in hard coding. Yes, I agree, reverse engineering is an illegal act and I am against it. I don't even like it. that some of my edits were made in the game's executable file. This means that the game version differs from the official one. We need to identify the change from version 1.10 to 1.11. The problem is that there may be a lot of them. The developers mentioned that they deleted unused parts of the code, and may have removed Cyrillic input support. But the saddest thing is that if this change happens, then, as I understand it, unitnames will stop supporting Cyrillic again.
 
Yes, I know that you have access to the game's code:). UTF-8 would be a complete superiority over DH, but I agree, it's very, very difficult! Unfortunately, I don't have the necessary skills in hard coding. Yes, I agree, reverse engineering is an illegal act and I am against it. I don't even like it. that some of my edits were made in the game's executable file. This means that the game version differs from the official one. We need to identify the change from version 1.10 to 1.11. The problem is that there may be a lot of them. The developers mentioned that they deleted unused parts of the code, and may have removed Cyrillic input support. But the saddest thing is that if this change happens, then, as I understand it, unitnames will stop supporting Cyrillic again.
I wasn't mad or trying to be augmentative and I'm sorry if it appears that way. It's frustrating that this wasn't done in UTF-8 years ago.

So in version1.10 Cyrillic works as intended and version 1.11 it doesn't?
 
I wasn't mad or trying to be augmentative and I'm sorry if it appears that way. It's frustrating that this wasn't done in UTF-8 years ago.

So in version1.10 Cyrillic works as intended and version 1.11 it doesn't?
Forgive me, my first sentence seemed rude to me! Yes, that's right, if you examine the input - it turns out that Steam versions 1.07 and 1.10 have this support, but for some reason it disappeared with 1.11.
 
Forgive me, my first sentence seemed rude to me! Yes, that's right, if you examine the input - it turns out that Steam versions 1.07 and 1.10 have this support, but for some reason it disappeared with 1.11.
Not a problem...I think we're both about the same ... we both like to get to the point. I was replying more to OLDodin's Hex fix/hack. One does what one needs to do to fix something. I know I got frustrated when I didn't have access to the code and could only mod limited by the code.


I think that's when they went to SDL which replaced DirectX and many keys at the hex level. It was what cause the SHIFT key issues for UK & US keyboards.