Skip to content

Commit b6f7d49

Browse files
committed
Add Italian language support
1 parent 978731b commit b6f7d49

File tree

9 files changed

+46
-23
lines changed

9 files changed

+46
-23
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#define MESSAGE_DATA_STATIC
2+
3+
#include "message_data_fmt.h"
4+
#include "message_data_static.h"
5+
6+
#define DEFINE_MESSAGE(textId, type, yPos, itMessage) \
7+
const char _message_##textId##_it[sizeof(itMessage END)] = { itMessage END };
8+
9+
#include "translations/message_data_it.enc.h"

include/message_data_static.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,14 @@ struct MessageTableEntry
4646

4747
#undef DEFINE_MESSAGE
4848

49-
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage, esMessage, ptMessage, brMessage) \
49+
#define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage, esMessage, ptMessage, brMessage, itMessage) \
5050
extern "C" const char _message_##textId##_nes[]; \
5151
extern "C" const char _message_##textId##_ger[]; \
5252
extern "C" const char _message_##textId##_fra[]; \
5353
extern "C" const char _message_##textId##_es[]; \
5454
extern "C" const char _message_##textId##_pt[]; \
55-
extern "C" const char _message_##textId##_br[];
55+
extern "C" const char _message_##textId##_br[]; \
56+
extern "C" const char _message_##textId##_it[];
5657

5758
#include "translations/message_data_en.h"
5859
extern "C" const char _message_0xFFFC_nes[73];

include/z64message.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ enum Language
2020
LANGUAGE_ES,
2121
LANGUAGE_PT,
2222
LANGUAGE_PT_BR,
23+
LANGUAGE_IT,
2324
LANGUAGE_MAX,
2425
LANGUAGE_AUTO
2526
};

setup.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,16 @@ def clean():
3838
def generateEncMsgs():
3939
print("Starting message encoding")
4040
charmap = str('assets/ALL/text/charmap.txt')
41-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str('include/translations/message_data_en.h'), str('include/translations/message_data_en.enc.h'), buildRom()])
42-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str('include/translations/message_data_de.h'), str('include/translations/message_data_de.enc.h'), buildRom()])
43-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str('include/translations/message_data_fr.h'), str('include/translations/message_data_fr.enc.h'), buildRom()])
44-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str('include/translations/message_data_es-SV.h'), str('include/translations/message_data_es.enc.h'), buildRom()])
45-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str('include/translations/message_data_pt.h'), str('include/translations/message_data_pt.enc.h'), buildRom()])
41+
msgenc = str('tools/msgenc.py')
42+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_en.h'), str('include/translations/message_data_en.enc.h'), buildRom()])
43+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_de.h'), str('include/translations/message_data_de.enc.h'), buildRom()])
44+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_fr.h'), str('include/translations/message_data_fr.enc.h'), buildRom()])
45+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_es-SV.h'), str('include/translations/message_data_es.enc.h'), buildRom()])
46+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_pt.h'), str('include/translations/message_data_pt.enc.h'), buildRom()])
47+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_pt-BR.h'), str('include/translations/message_data_pt-BR.enc.h'), buildRom()])
48+
subprocess.check_call([sys.executable, msgenc, charmap, str('include/translations/message_data_it.h'), str('include/translations/message_data_it.enc.h'), buildRom()])
4649
mkdir(assetPath('text'))
47-
subprocess.check_call([sys.executable, str('tools/msgenc.py'), charmap, str(assetPath('text/message_data_staff.h')), str(assetPath('text/message_data_staff.enc.h')), buildRom()])
50+
subprocess.check_call([sys.executable, msgenc, charmap, str(assetPath('text/message_data_staff.h')), str(assetPath('text/message_data_staff.enc.h')), buildRom()])
4851
print("Finished message encoding")
4952

5053
def addAdditionalChars():

src/code/z_message_PAL.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@ MessageTableEntry sPtBrMessageEntryTable[] = {
112112
{0xFFFF, 0, NULL, 0},
113113
};
114114

115+
MessageTableEntry sItMessageEntryTable[] = {
116+
#define DEFINE_MESSAGE(textId, type, yPos, itMessage) {textId, (_SHIFTL(type, 4, 8) | _SHIFTL(yPos, 0, 8)), _message_##textId##_it, sizeof(itMessage)},
117+
#include "translations/message_data_it.h"
118+
#undef DEFINE_MESSAGE
119+
{0xFFFF, 0, NULL, 0},
120+
};
121+
115122
MessageTableEntry sStaffMessageEntryTable[] = {
116123
#define DEFINE_MESSAGE(textId, type, yPos, staffMessage) {textId, (_SHIFTL(type, 4, 8) | _SHIFTL(yPos, 0, 8)), _message_##textId##_staff, sizeof(staffMessage)},
117124
#include "text/message_data_staff.h"
@@ -3853,6 +3860,9 @@ void Message_SetTables(void)
38533860
case LANGUAGE_PT_BR:
38543861
sMessageEntryTablePtr = sPtBrMessageEntryTable;
38553862
break;
3863+
case LANGUAGE_IT:
3864+
sMessageEntryTablePtr = sItMessageEntryTable;
3865+
break;
38563866
case LANGUAGE_ENG:
38573867
default:
38583868
sMessageEntryTablePtr = sNesMessageEntryTable;

src/overlays/actors/ovl_En_Mag/z_en_mag.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ static u8 pressStartFontIndexes_PT[] = {
5353
0x0A, 0x19, 0x0E, 0x1B, 0x1D, 0x0E, 0x1C, 0x1D, 0x0A, 0x1B, 0x1D,
5454
};
5555

56+
static u8 pressStartFontIndexes_IT[] = {
57+
0x19, 0x1B, 0x0E, 0x16, 0x12, 0x1C, 0x1D, 0x0A, 0x1B, 0x1D,
58+
};
59+
5660
static void* effectMaskTextures_28[] = {
5761
gTitleEffectMask00Tex, gTitleEffectMask01Tex, gTitleEffectMask02Tex, gTitleEffectMask10Tex, gTitleEffectMask11Tex, gTitleEffectMask12Tex, gTitleEffectMask20Tex, gTitleEffectMask21Tex, gTitleEffectMask22Tex,
5862
};
@@ -621,23 +625,25 @@ void EnMag_DrawInner(Actor* thisx, GlobalContext* globalCtx, Gfx** gfxp)
621625
int lang = gSaveContext.language;
622626

623627
// FontIndexesLanguage
624-
static u8* pressStartFontIndexes[6] = {
628+
static u8* pressStartFontIndexes[7] = {
625629
{pressStartFontIndexes_ENG},
626630
{pressStartFontIndexes_GER},
627631
{pressStartFontIndexes_FRA},
628632
{pressStartFontIndexes_SPA},
629633
{pressStartFontIndexes_PT},
630-
{pressStartFontIndexes_PT}
634+
{pressStartFontIndexes_PT},
635+
{pressStartFontIndexes_IT}
631636
};
632637

633638
// Count, Left, SpaceIndex, StartIndex
634-
static int pressStartInfo[6][4] = {
639+
static int pressStartInfo[7][4] = {
635640
{10, 0, 4, 4},
636641
{11, -3, 5, 5},
637642
{15, -15, 6, 9},
638643
{10, 0, 4, 4},
639644
{11, -3, 5, 5},
640-
{11, -3, 5, 5}
645+
{11, -3, 5, 5},
646+
{10, 0, 4, 4},
641647
};
642648

643649
// Draw "PRESS START" Text

src/port/options.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ static const std::unordered_map<Language, std::string> languageMap = {
4141
{LANGUAGE_FRA, "fr"},
4242
{LANGUAGE_GER, "de"},
4343
{LANGUAGE_PT, "pt"},
44-
{LANGUAGE_PT_BR, "pt_BR"}
44+
{LANGUAGE_PT_BR, "pt_BR"},
45+
{LANGUAGE_IT, "it"}
4546
};
4647

4748
std::string languageGetString(Language id)

vs/OOT_Assets.vcxproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,9 +1026,7 @@
10261026
<ClCompile Include="..\assets\$(buildrom)\textures\place_title_cards\g_pn_56.cpp" />
10271027
<ClCompile Include="..\assets\$(buildrom)\textures\place_title_cards\g_pn_57.cpp" />
10281028
<ClCompile Include="..\assets\$(buildrom)\textures\title_static\title_static.cpp" />
1029-
<ClCompile Include="..\assets\ALL\text\es_message_data_static.cpp" />
1030-
<ClCompile Include="..\assets\ALL\text\pt_message_data_static.cpp" />
1031-
<ClCompile Include="..\assets\ALL\text\pt-BR_message_data_static.cpp" />
1029+
<ClCompile Include="..\assets\ALL\text\*.cpp" />
10321030
<ClCompile Include="..\roms\$(buildrom)\text\fra_message_data_static.cpp" />
10331031
<ClCompile Include="..\roms\$(buildrom)\text\ger_message_data_static.cpp" />
10341032
<ClCompile Include="..\roms\$(buildrom)\text\nes_message_data_static.cpp" />

vs/OOT_Assets.vcxproj.filters

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2911,13 +2911,7 @@
29112911
<ClCompile Include="..\assets\$(buildrom)\scenes\test_levels\testroom\testroom_scene.cpp">
29122912
<Filter>scenes</Filter>
29132913
</ClCompile>
2914-
<ClCompile Include="..\assets\ALL\text\es_message_data_static.cpp">
2915-
<Filter>text</Filter>
2916-
</ClCompile>
2917-
<ClCompile Include="..\assets\ALL\text\pt_message_data_static.cpp">
2918-
<Filter>text</Filter>
2919-
</ClCompile>
2920-
<ClCompile Include="..\assets\ALL\text\pt-BR_message_data_static.cpp">
2914+
<ClCompile Include="..\assets\ALL\text\*.cpp">
29212915
<Filter>text</Filter>
29222916
</ClCompile>
29232917
<ClCompile Include="..\roms\$(buildrom)\text\staff_message_data_static.cpp">

0 commit comments

Comments
 (0)