After many attempts we figured out how to use this plugin. It works with the latest AGS too (3.5.0.24). Basically you just have to follow the steps in the readme file, but in some cases you have to pay attention to a few little things. We used it to create a Chinese translation so I can show you this method:
1. First of all generate the translation file. Then open the trs file in Notepad++ (or something similar software) and save it with UTF-8 encoding (without BOM). This way you can write chinese characters in the file.
2. Translate the texts into Chinese. It's important to finish all texts because you'll need all of the chinese characters that you want to use in the game.
3. Save a new file from the final translation (keep the original as it is). It could be a simple txt file, but the most important thing is to save it with UTF-8 BOM encoding.
3. Now download the Bitmap Font Generator from the link on GitHub.
4. Set up things in the software based on the GitHub readme file (enable Match char height, disable Font smoothing, 8bit font texture only, text format .fnt) and then select a chinese font in Font settings (You can find many free chinese fonts on the internet).
5. Now go to "Edit/Select chars from file" and open the file you last saved with UTF-8 BOM encoding. This way the software selects only the characters you need.
6. Export the bitmap font as a 'fontname.fnt' file ('fontname' can be anything you want). I used Targa texture files without compression.
7. Download 'AGSBMFontRenderer.dll' and put it into the AGS's installation folder. Now you can enable the plugin in the Editor.
8. Copy the bitmap fonts into the game's compiled folder. In my case into the 'Compiled/Windows' folder.
9. Now create a new font in the Editor. Change 'OutlineStyle' to 'Automatic' and write the font's ID to 'OutlineFont'.
10. Add this code to the 'game_start' function (3 is the font's ID):
Code: ags
Probably you have much more texts in your game (like dialog options, labels on GUIs etc.) with different fonts, so you have to change them too. You can do it manually, or just use these functions:
Code: ags
I found them somewhere in the forum and they are incredibly useful.
11. If it's possible to change the language while playing your game, then you have to add these things there too. With an 'else' part to change everything back when you select English of course.
12. Now you can Build your game and then click on "Build/Run" option. You got an error message, right? Yeah, you can't use this "Run" button anymore
You have to run the game with "Run game setup" or just run the .exe file in the compiled folder. But it should work this way.
Suggestion: The easiest way to do this if your game's default language is English. Because English characters are in the same "place" in ANSI and UTF-8 encoded files too (and AGS can't handle UTF-8 files natively). If your game's default language is for example Hungarian, then it won't work, because the special Hungarian characters are in different "places" in ANSI and UTF-8 encoded files. So the engine can't recognize the same sentences.
I think I've covered every detail, but if you have any questions, feel free to ask!
1. First of all generate the translation file. Then open the trs file in Notepad++ (or something similar software) and save it with UTF-8 encoding (without BOM). This way you can write chinese characters in the file.
2. Translate the texts into Chinese. It's important to finish all texts because you'll need all of the chinese characters that you want to use in the game.
3. Save a new file from the final translation (keep the original as it is). It could be a simple txt file, but the most important thing is to save it with UTF-8 BOM encoding.
3. Now download the Bitmap Font Generator from the link on GitHub.
4. Set up things in the software based on the GitHub readme file (enable Match char height, disable Font smoothing, 8bit font texture only, text format .fnt) and then select a chinese font in Font settings (You can find many free chinese fonts on the internet).
5. Now go to "Edit/Select chars from file" and open the file you last saved with UTF-8 BOM encoding. This way the software selects only the characters you need.
6. Export the bitmap font as a 'fontname.fnt' file ('fontname' can be anything you want). I used Targa texture files without compression.
7. Download 'AGSBMFontRenderer.dll' and put it into the AGS's installation folder. Now you can enable the plugin in the Editor.
8. Copy the bitmap fonts into the game's compiled folder. In my case into the 'Compiled/Windows' folder.
9. Now create a new font in the Editor. Change 'OutlineStyle' to 'Automatic' and write the font's ID to 'OutlineFont'.
10. Add this code to the 'game_start' function (3 is the font's ID):
if (Game.TranslationFilename == "Chinese")
{
SetBMFont("fontname.fnt", 3);
Game.SpeechFont = 3;
}
Probably you have much more texts in your game (like dialog options, labels on GUIs etc.) with different fonts, so you have to change them too. You can do it manually, or just use these functions:
function ReplaceFontOnGUI(GUI *g, int old_font, int new_font)
{
int i = 0;
while (i < g.ControlCount)
{
Button *b = g.Controls[i].AsButton;
if (b != null)
{
if (b.Font == old_font)
b.Font = new_font;
}
Label *l = g.Controls[i].AsLabel;
if (l != null)
{
if (l.Font == old_font)
l.Font = new_font;
}
i++;
}
}
function ReplaceFontOnAllGUIs(int old_font, int new_font)
{
int i = 0;
while (i < Game.GUICount)
{
ReplaceFontOnGUI(gui[i], old_font, new_font);
i++;
}
}
I found them somewhere in the forum and they are incredibly useful.
11. If it's possible to change the language while playing your game, then you have to add these things there too. With an 'else' part to change everything back when you select English of course.
12. Now you can Build your game and then click on "Build/Run" option. You got an error message, right? Yeah, you can't use this "Run" button anymore

Suggestion: The easiest way to do this if your game's default language is English. Because English characters are in the same "place" in ANSI and UTF-8 encoded files too (and AGS can't handle UTF-8 files natively). If your game's default language is for example Hungarian, then it won't work, because the special Hungarian characters are in different "places" in ANSI and UTF-8 encoded files. So the engine can't recognize the same sentences.
I think I've covered every detail, but if you have any questions, feel free to ask!