The Dungeon Master Nexus translation kit allows anyone to fully translate the game to another language. The only Japanese language that this kit cannot replace is the spoken dialogs in the soundtracks of the 3 game videos, but it can add subtitles into these videos.
So far, the kit was used successfully to build English and French versions of the game. You may study how they were made and duplicate them as a basis for a new translation.
If you want to play the English or French version, then you don’t need to use this translation kit. Instead, you may either:
You can follow the instructions below to download and use the kit to build you own version. The kit contains all the necessary files and tools to build the English and French versions of the game. It will build the custom files from bitmaps and text files containing the English and French translations, then it will build an ISO image of the game.
The kit also contains everything you need to build you own translation to any language.
You don’t need any programming or reverse engineering skills to use the translation kit.
All you need to do is to provide translated texts and bitmaps in the target language. The kit contains a script that processes these elements to build the custom game data files and a custom ISO image of the game.
All the procedures below are written for the Windows operating system.
This page documents all the details that you need to know to build a new translation:
Translations.csv
You will iterate the steps above until the result is correct in the game. The sections below give details on how to proceed with each step.
C:\DMNTranslationKit
(this is an example, you may choose any other location on your computer)C:\DMNTranslationKit\Output
C:\DMNTranslationKit\Input
C:\DMNTranslationKit\Tools\ffmpeg
, required to build subtitled videosC:\DMNTranslationKit\Tools\win311dosbox
. This includes:[Language]
in this documentation.C:\DMNTranslationKit\[Language]
for the new language.C:\DMNTranslationKit\Resources\Initial Programs
contains region locked IP.BIN
files for each possible Sega Saturn region.IP.BIN
file to your translation folder C:\DMNTranslationKit\[Language]
.C:\DMNTranslationKit\Translations_comma.csv
and C:\DMNTranslationKit\Translations_semicolon.csv
.Translations.csv
.C:\DMNTranslationKit\Translations.csv
in Excel.English
one as a starting point for your own translation and rename the column to [Language].C:\DMNTranslationKit\Build_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.Notes:
Translations.csv
while you work on your translation.The original game contains bitmaps with text in Japanese or English.
The Japanese
folder in the translation kit contains all the original bitmaps that contain some text that you may need to translate. Note that some of them are not used at all in the game, they are supplied only to have a complete reference. The Translations.csv
file mentions which files are unused (you may filter on the column named ‘Unused’).
The script does not require that you translate any of the bitmaps, so it is up to you to decide which ones to translate. If you want to translate a bitmap you must:
Japanese
folder (or from another translation folder) to your translation folder. Do NOT rename the bitmap file or the script won’t be able to find it.Translations.csv
, put any text (preferably the actual translation) in the cell corresponding to the translated bitmap: find the line using the ‘File’ and ‘Index’ columns, and place your text in the column corresponding to your translation. If you leave this cell empty then the script considers that this bitmap is not part of your translation and ignores the bitmap file in your translation folder when building the custom game data files.Please check the contents of the C:\DMNTranslationKit\Resources\Bitmaps
folder in the translation kit: it contains some images with the original text already removed so you can directly add your own translated text over.
The game encodes most bitmaps with one of two formats called ‘DGT2’ (uncompressed) and ‘PRS3’ (compressed).
When editing bitmaps, be careful to comply with the following requirements:
The recommended tool that was used for the English and French translations is the free version of Pro Motion NG 8.0.
By default, Pro Motion NG saves BMP files as 256 colors, so if you open a 16 colors bitmap and then save it, it is converted to 256 colors. To preserve the 16 colors encoding, you must:
All the bitmaps that use format PRS3 use a common 256 colors palette. The color palette in the translated .bmp files is ignored by the script.
On the other hand, the color palette of DGT2 bitmaps is converted by the script and included in the custom data files. Please be aware that so far there have been no experiments to change the color palettes. All translated bitmaps use the same color palettes as the original images. Using custom color palettes may or may not work and result in graphical glitches or other issues, use at your own risk and make your own testing.
Some bitmaps need special care.
When the game displays the champion rename screen, it also draws an overlay grid of lines using the background color around all the symbols that the player can select.
You must make sure not to draw anything in these locations or the game overwrites it. You may refer to the files C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
to see that grid which is highlighted with empty red/blue/green squares. When translating the ‘Del’ and ‘OK’ buttons on the bottom right of MENU.BPK_48, make sure not to place text under the vertical bar in the middle of each of these two areas.
The champion’s name being defined is displayed at the top of the rename screen using the font FONT012.
Everywhere else in the game, the champion names are displayed using font FONT256.
Consequently, if you want to properly translate the rename champion screen then you need to replace the characters in both fonts.Translations.csv
contains the necessary lines to replace the 127 characters that can be selected by the player on the rename champion screen, for both fonts FONT256 and FONT012 (so this means 254 potential character replacements). On each of these lines, the ‘Notes’ column refers to slot coordinates that you can see on C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
.
In Japanese, some katakana characters are variants of other characters with an additional diacritic named dakuten ‘゛’ or handakuten ‘゜’. For example: ホ ボ ポ
On the champion rename screen, the player may enter the variants by first selecting the base character, and then selecting the ‘゜’ or ‘゛’ diacritic in block 2 (5,5) and (5,4). The characters where these diacritics can be applied are highlighted on C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
with blue and green squares. The mixed blue and green squares are characters where both diacritics can be applied. For a proper translation, you must make sure to replace all the necessary characters and their variants in the fonts.
For example, in the English translation, the slots for the two diacritics are left blank (there is no need for diacritics in the English language), and the three variants of the same character ホ ボ ポ are all replaced with the same character bitmap representing an ’e’ in the fonts. In that way, if the player first selects the ’e’ and then selects one of the diacritic slots (even though they are empty, they can still be selected), then the visible character remains the same.
Translations to other languages that use diacritics may benefit from these two diacritic slots and their behavior: in this case, the two or three variants of the same character would not be replaced with the same character bitmap, but instead with their actual forms with the diacritics.
When the game displays this message on screen, the player can answer ‘Yes’ or ‘No’. The game highlights both options using hard-coded areas of the bitmap.
You must make sure that your translated text fits into these areas. You may refer to the file C:\DMNTranslationKit\Resources\Bitmaps\WARNING.BIN_2.bmp
to see these areas.
The game uses two fonts to display text, and one is stored as 3 separate items:
Font | Font data storage | Characters | Character dimensions | Text usage |
---|---|---|---|---|
FONT256 | File FONT256.S2D | 242 characters (Kana + Romaji) | 8x8 pixels | Spell name Champion name |
FONT012 | File RLOWFIX.BIN FONT item #0 | 291 characters (Kana + Romaji) | 6x12 pixels (half-width) | Item name Item description Item action Menu Dialog Inscription Spell description Saved game - Message Saved game - Save slot |
File RLOWFIX.BIN FONT item #1 | 250 characters (Kana + Romaji) | 12x12 pixels (full-width) | ||
File RLOWFIX.BIN FONT item #2 | 710 characters (Kanji) | 12x12 pixels (full-width) |
If your translated language requires additional characters that are not part of the original fonts (or in other translations) then you must create the missing font characters.
Do not create new images from scratch, always copy existing files. This ensures you use the correct format, dimensions, and color palette.
For each additional character that you create, you have two storage options:
English
translation folder (FONT256.S2D_5.bmp
, FONT256.S2D_21.bmp
, RLOWFIX.BIN_0_5.bmp
, RLOWFIX.BIN_0_88.bmp
, RLOWFIX.BIN_2_0.bmp
)English
translation folder (FONT256.S2D.bmp
, RLOWFIX.BIN_1.bmp
). In these two files, the katakana characters that may be used when renaming a champion are replaced with Latin characters and magic symbolsIn both cases, you must modify or add a line in Translations.csv
to declare your new character:
Translations.csv
for character replacements in the English and French columns. CAUTION: if there is already an existing line with the same values in the ‘File’, ‘Index’ and ‘Subindex’ columns, do not add a new line but instead reuse the existing one.When the script processes the Translations.csv
lines about font character replacement, it first looks for a specific bitmap for that unique character. If not found, then it tries to find a full font file. If found, the specified character is copied from that full font file into the font being customized. If not found, then a warning message is issued.
Notes:
You need to place your translated texts in your [Language] column in Translations.csv
.
You can use the help of online translation tools like ChatGPT, DeepL, Google Translate, Yandex translate, etc. But you need to refine the translation they provide which may not match the context of the game or fit with the limitations described below.
Make sure to only use characters that exist in the default fonts, or characters that you have replaced in the fonts. The script issues a warning message if it encounters character that is not found in the font and thus cannot be encoded. The table below shows which font is used for which text usage. Make sure you add the necessary characters in each appropriate font.
Below are the limitations for each type of text to make sure they look nice in the game. The script will issue an error for each text that does not conform to these limitations.
Text usage | Font | Limitations |
---|---|---|
Champion name | FONT012 (on rename screen) | 5 characters of 12 pixels width = 48 pixels |
Champion name | FONT256 (everywhere else) | 5 characters of 8 pixels width = 40 pixels |
Spell name | FONT256 | 12 characters of 8 pixels width = 96 pixels |
Spell description | FONT012 | 5 lines of 8 full-width characters or 17 half-width characters (85 half-width characters) |
Menu | FONT012 | 8 full-width characters or 17 half-width characters |
Saved game - Message | FONT012 | 7 lines of 18 full-width characters or 36 half-width characters (252 half-width characters) |
Saved game - Save slot | FONT012 | 8 full-width characters or 17 half-width characters |
Item name | FONT012 | 5 full-width characters or 11 half-width characters to leave space for item count ‘x 1’. 69 pixels |
Item Action | FONT012 | 7 full-width characters or 14 half-width characters |
Item description | FONT012 | 3 lines of 8 full-width characters or 17 half-width characters plus 1 line of 4 full-width characters or 8 half-width characters (or even 9 for items weighing less than 10 Kg) to leave a space between the text and the item weight = 60 (or 61) half-width characters |
Dialog and Inscription | FONT012 | Default line height is 12 pixels. Some texts define a line height of 14 or 16 pixels Default box is X1=41 Y1=57 X2=256 Y2=212 (216 x 156 pixels), allowing for 17 full-width characters or 34 half-width characters per line. Some texts in the original game use the box X1=21 Y1=57 X2=266 Y2=201 (246 x 145 pixels), allowing for 19 full-width characters or 38 half-width characters per line (the box width allows for one more full-width character or two more half-width characters per line, but this causes a graphical glitch as these last characters remain on screen until you open the inventory). Both boxes allow for the following number of lines: - 13 lines of height 12 pixels - 11 lines of height 14 pixels - 10 lines of height 16 pixels The safe and easy way to write Dialog and Inscription texts is to use {_AutoLeftAlign} or {_AutoCenter} commands (see below). In this case, the script ensures that the text is correctly displayed on screen in the game, otherwise it issues an error message. If you don’t use either of these commands, then the script only checks that no line of text is above 40 half-width characters long. It does not check where the text is drawn on screen (which depends on {Box} and/or {GoTo} commands that may be part of the text). This means that you must check the text in-game to make sure it is displayed correctly. |
You can use the commands in the table below in your translated texts. All commands start with ‘{_’.
Native commands are processed by the game engine and produce actual encoded bytes in the text data.
Pseudo commands are processed by the translation script and do not produce any encoded bytes in the text data.
You may refer to existing texts in the ‘Japanese’ or ‘English’ columns for usage examples of each of these commands.
Command | Type | Description |
---|---|---|
{_White} | Native | Text output after this command uses the color White (which is also the default color if no command is specified) |
{_Green} | Native | Text output after this command uses the color Green |
{_Yellow} | Native | Text output after this command uses the color Yellow |
{_Red} | Native | Text output after this command uses the color Red |
{_LineFeed} | Native | Moves the cursor to the next line, in the current box, and based on the current line height. You don’t need to explicitly use this command: any carriage return and/or line feed character in the text to encode is automatically replaced with this command by the translation script |
{_GoTo_X=[decimal value]_Y=[decimal value]} | Native | Moves the cursor to the specified X,Y pixel coordinates on the screen |
{_LineHeight=[decimal value]} | Native | Defines the line height to use when a line feed character is encountered. The default value is 12 pixels |
{_Box_X1=[decimal value]_Y1=[decimal value]_X2=[decimal value]_Y2=[decimal value]} | Native | Defines the bounds of the current box where text output occurs. If the text overflows on the right bound, it is printed on the next line. If a line feed character is encountered, the cursor goes to the left bound of the box, on the next line (defined by the current line height) |
{_AutoLeftAlign} | Pseudo | If present, this command must be the very first command in the text, before any other command or text. This pseudo command automatically generates other native commands to ensure that all lines of text are aligned on the same left column. The whole text block is centered horizontally (based on the longest line) and vertically, and line height is automatically selected based on the number of lines in the text to encode |
{_AutoCenter} | Pseudo | If present, this command must be the very first command in the text, before any other command or text. This pseudo command automatically generates other native commands to ensure that each line of text is centered horizontally. The whole text is centered vertically, and line height is automatically selected based on the number of lines in the text to encode |
{_.} | Pseudo | When drawing a condensed text bitmap, this command moves the ‘cursor’ one pixel to the left. This can be used to further optimize and shrink the resulting bitmap. This command only has an effect for texts where the script uses the condensed encoding, otherwise it is ignored. |
Recommendation for ‘Dialog’ and ‘Inscription’ texts (stored in RLOWFIX.BIN item #5): in most cases you should use {_AutoLeftAlign} for texts with ‘Dialog’ usage, use {_AutoCenter} for texts with ‘Inscription’ usage, and remove all other commands in these translated texts. This avoids the need to compute the actual coordinates to display the texts properly. Note that you can check the actual commands generated by the script in the C:\DMNTranslationKit\Temp\[Language]\Translations_[Language].csv
file after running the script.
C:\DMNTranslationKit\Resources\Video subtitles
or from an existing translation to your C:\DMNTranslationKit\[Language]
folder as a starting point.C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV0.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV0.AVI
C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV1.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV1.AVI
C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV2.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV2.AVI
VideoSubtitles_Step1_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.C:\DMNTranslationKit\Tools\win311dosbox\WINDOWS\DMN
.C:\DMNTranslationKit\VideoSubtitles_Step2_Run Windows 3.11 in DOSBox.cmd
to load Windows 3.11 inside DOSBox emulation.C:\DMN
. Enter ‘*.bmp’ in the ‘File Name’ field and press Enter. Select the first file in the sequence of extracted .bmp files (C:\DMN\DMV00001.BMP
, C:\DMN\DMV10001.BMP
, or C:\DMN\DMV20001.BMP
) and click ‘OK’. Select the file format ‘DIB sequence’ and click ‘OK’.C:\DMN\DMV00001.AVI
, C:\DMN\DMV10001.AVI
, or C:\DMN\DMV20001.AVI
). Do not use other names or the last script won’t find them.VideoSubtitles_Step3_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.DMV0.AVI
, DMV1.AVI
and DMV2.AVI
in your translation folder C:\DMNTranslationKit\[Language]
.This section describes how to build a translated version of the game.
C:\DMNTranslationKit\Build_[Language].cmd
(where you replace [Language] with your language name)Temp
folder. The script only compresses bitmaps if their compressed data is missing or if they have been updated since the last time they were compressed. Consequently, the first execution of the script may take a long time, but subsequent script executions are much faster.Translations.csv
that require your attention.C:\DMNTranslationKit\Output
. Note that the new CUE file references the same audio tracks 2 to 9 as the Japanese version:Dungeon Master Nexus ([Language]) (Track 1).iso\
Dungeon Master Nexus ([Language]).cue
IP.BIN
file present in the translation folderYou may check the contents of the C:\DMNTranslationKit\Temp\[language]
folder as it contains files created by the script execution:
C:\DMNTranslationKit\Temp\[language]\Translations_[language].csv
is a copy of Translations.csv
with additional columns. See reference section below for details.C:\DMNTranslationKit\Temp\[language]\Fonts_[language].csv
is a copy of Fonts.csv
with additional columns. See reference section below for details.ISO
folder contains all the files that were included in the CD imageThe Mednafen emulator is recommended for testing.
You also need to download the Sega Saturn BIOS files (US and JP) included in the OpenEmu BIOS Pack. Copy the BIOS files mpr-17933.bin
and sega101.bin
in the firmware
folder of Mednafen.
Run the following command line to start the emulation:[Installation path]\mednafen.exe "C:\DMNTranslationKit\Output\Dungeon Master Nexus ([Language]).cue"
You may change the following Mednafen emulator configuration settings to make it easier to check bitmaps in the game. They disable aspect ratio correction and interpolation to have a crisp display:
;Correct aspect ratio.
ss.correct_aspect 0
;Enable (bi)linear interpolation.
ss.videoip 0
You need to run the game a lot of times during the testing phase. This section explains how to speed up your tests.
C:\DMNTranslationKit\Resources\Test files\DMV0.AVI
(0 bytes) in your translation folder so that the game goes directly to the entrance menu without playing the introduction video, saving a few seconds and one less button to press.Mednafen.cfg
configuration file so that you don’t have to hold the key pressed, use the maximum speed and disable sound when fast forwarding (sound is distorted anyway if you don’t disable it):;Silence sound output when fast-forwarding.
ffnosound 1
;Fast-forwarding speed multiplier.
ffspeed 15
;Treat the fast-forward button as a toggle.
fftoggle 1
Translations.csv
contains a “Translation check” column explaining how to check the translation of each text in the game.
The kit contains a saved game where the champions have all of the game items in their possession and high skill levels and statistics. You can use this file to check most translated texts in the game without leaving level 1. To use this saved game with your custom CD image in Mednafen:
sav
folder. The file names contain a hash value computed from the CD image itself, so each time you build a new CD image, this hash value changes. This allows Mednafen to associate different memory backup files with each game that you emulate.C:\DMNTranslationKit\Resources\Test files\System Backup RAM - Translation check.bkr
to the sav
folder and rename it with the name you copied in the previous step.Notes about the saved game:
To test text messages related to saved games, and the bitmaps in WARNING.BIN, you must use the appropriate combination of settings (see Translations.csv
for the required configuration for each translated text):
To connect or disconnect the memory backup cartridge:
In the Mednafen emulator configuration file, you must configure this setting to connect the backup memory cartridge:;Expansion cart.
ss.cart auto
You must configure this setting to disconnect the backup memory cartridge:;Expansion cart.
ss.cart none
Use various saved game states, like no more space available, a corrupted saved game, etc.
Mednafen stores the Sega Saturn internal memory backup (32 KB) in an uncompressed .bkr file in the sav
folder. It stores the external cartridge memory backup (512 KB) in a gzip compressed .bcr file in the sav
folder. If you want to see the contents of the cartridge memory backup, you may uncompress the file with 7-zip or any other archiving tool compatible with the gzip format.
The name of these files is the name of the CD image of the game followed by an MD5 hash of the CD image (a 32 characters hexadecimal value). Because of this hash, each time you build a new version of your Dungeon Master Nexus translation, Mednafen uses a different file name.
The folder C:\DMNTranslationKit\Resources\Test files
contains test files that you can use to check some translated texts in the game. To use these test files, you must rename them to match the name and hash value corresponding to the CD image you are testing: Run the game once with Mednafen and then quit the emulator immediately, which causes the emulator to create an .smpc file in the sav
folder. You don’t need this file but you can use the same file name (without the file extension) to rename your test .bkr / .bcr files (and you can delete these files created by Mednafen if present).
Here are the game files that the kit may modify to apply the translation:
File name | Contents |
---|---|
DMN_ABS.TXT | Abstract file stored on the CD and referenced in the ISO9660 file system. This text is never visible in the game but should be translated for completeness. |
DMN_BIB.TXT | Bibliography file stored on the CD and referenced in the ISO9660 file system. This text is never visible in the game but should be translated for completeness. |
DMV0.AVI | Video with translated subtitles |
DMV1.AVI | Video with translated subtitles |
DMV2.AVI | Video with translated subtitles |
FONT256.S2D | Contains font FONT256 used to display champion names, spell names and a few user interface elements. |
GAMEOVER.BIN | Contains bitmaps displayed when all champions in the party die. |
ITEM.IBS | Contains the PAUSE bitmap displayed when the game is paused. It also contains all item definitions and bitmaps, but these do not need translation. |
LOGOBG.DG2 | Contains a title screen for the game. This image is not used in the game but should be translated for completeness. |
MENU.BPK | Contains bitmaps for various aspects of the user interface. |
RHIFIX.BIN | Contains item 2 that stores spell definitions (using FONT256), including their names that can be translated. |
RLOWFIX.BIN | Contains items 0, 1, 2 that store font FONT012 used to display most texts in the game. Contains items 3, 4, 5, 6, 7 that store most of the texts of the game (using FONT012). Contains item 9 that stores champion definitions, including their names that can be translated (using FONT256). Contains item 12 that stores the bitmap displayed when the game loads a new level. |
TITLE.BIN | Contains bitmaps displayed on the title screen and in the configuration menu |
WARNING.BIN | Contains bitmaps displayed when there is an issue with startup conditions about system and/or cartridge memory backup. |
When encoding texts, the script performs two kinds of optimizations:
C:\DMNTranslationKit\Temp\[Language]
folder.English
translation folder.This is the main file to edit to implement a translation to a new language. It contains the following columns:
Column | Description |
---|---|
File | Name of the file containing the text or bitmap to translate |
Index | For files that contain multiple items, this is the index of the item to translate. For files that contain a single item, the value is ‘-’. |
Subindex | For items containing multiple entries, this is the index of the entry. This is used for most texts (stored in RLOWFIX.BIN items 3, 4, 5, 6 and 7), for champion names (stored in RLOWFIX.BIN item 9), spell names (stored in RHIFIX.BIN item 2), and for fonts where this specifies the character index. For items that contain a single entry, the value is ‘-’. |
Usage | Describes the type of text |
Unused | This column is set to TRUE for bitmaps or texts that the game does not use. You may translate them if you care but this is not necessary as the game never displays them to the player. |
Notes | Additional Information |
Translation check in game | This column describes where and how to see the text in the game. For most texts, this relies on the saved game supplied in the kit. |
Japanese English French [Your Language] | These columns contain the translated texts. Note that for lines corresponding to bitmaps, this column must not be empty for the corresponding bitmap to be included in the custom game data files. The recommendation is to place here the translated text visible in the bitmap. |
CharacterCount | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column only has a value for texts eligible to condensed encoding: ‘Champion name’, ‘Spell name’, ‘Item name’, ‘Item action’ and ‘Menu’ The number of characters in the text. This is the number of half-width characters for texts that use font FONT012. |
MaxCharacterCount | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column only has a value for texts eligible to condensed encoding: ‘Champion name’, ‘Spell name’, ‘Item name’, ‘Item action’ and ‘Menu’ Maximum number of characters allowed in that type of text |
CondensedPixelWidth | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column only has a value for texts eligible to condensed encoding: ‘Champion name’, ‘Spell name’, ‘Item name’, ‘Item action’ and ‘Menu’ The number of pixels needed to represent the text using condensed encoding |
MaxCondensedPixelWidth | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column only has a value for texts eligible to condensed encoding: ‘Champion name’, ‘Spell name’, ‘Item name’, ‘Item action’ and ‘Menu’ Maximum number of pixels allowed in that type of text |
Encoding | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column contains which encoding the script has selected |
Information | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column contains information messages about the text |
Error | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column contains error messages about the text that you must analyze and fix |
EncodedText | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column contains the actual text that the script has encoded. For example, it shows the commands generated by the pseudo commands {_AutoLeftAlign} and {_AutoCenter}. |
EncodedBytes | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column contains the actual encoded bytes, useful only for debugging purposes. |
File names in the translation folder must match a combination of the first three columns, separated with ‘_’ characters.
Example: If you want to replace the bitmap #5 in MENU.BPK, then you must provide the custom bitmap file named MENU.BPK_5.bmp in your translation folder.
You must not make any change to the Fonts.csv
file. All font customizations must be done in Translations.csv
.
The file contains the following columns:
Column | Description |
---|---|
Font | The name of the font data containing the character |
CharacterIndex | Index of the character in the font. In a font .bmp file, the Y coordinate of the character is this index multiplied by the height of a character (8 for FONT256 and 12 for FONT012). |
Code | This is the code that the game associates with this font character (1 byte or 2 bytes). Note that some characters in the font bitmaps do not have any associated code, which means there is no way to display these characters in the game. |
OriginalText | This is the text representation of the character bitmap in the original fonts supplied with the game |
OriginalOptimizable | This column indicates if the character can be used for the automated optimizations that the script performs (condensed texts and character pairs). You may still replace these characters with your own custom bitmaps if this is useful for your translation. |
Cause for non-optimizable | Details the reason why the character is excluded from automated optimizations. |
PixelFirstColumn | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderIndex of the first column containing a character pixel (not background) in the character bitmap |
PixelWidth | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderNumber of columns containing character pixels (not background) in the character bitmap |
Text | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderFinal text associated with the character index after character replacements specified in Translations.csv and automatic optimizations performed by the script, so the value here may differ from the content of the OriginalText column. BMP files in the C:\DMNTranslationKit\Temp\[Language] folder show the corresponding final font bitmaps included in the custom data files. |
Occurrences | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderNumber of times that the value in the ‘Text’ column (a character or a pair of characters) appears in all regular and condensed texts |
Optimizable | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderThis column indicates if the character can be used for the automated optimizations that the script performs (condensed texts and character pairs). This value may differ from the column OriginalOptimizable for characters that were replaced and for characters that are actually in any texts. |
Optimization | This column is only present in CSV files created by the script in the C:\DMNTranslationKit\Temp\[Language] folderIndicates which optimization replaced the character. |
Mednafen global parameters
Mednafen parameters for the Sega Saturn emulation module
Dungeon Master Nexus Translation Kit written by ChristopheF
Version 1 (2023-09-20): Initial release. Includes English translation
Version 2 (2024-01-02): Major upgrade to allow translation to any language. Includes English version 2 translation, and French translation