diff options
Diffstat (limited to 'engines/dm/dm.cpp')
-rw-r--r-- | engines/dm/dm.cpp | 42 |
1 files changed, 37 insertions, 5 deletions
diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp index 13c8c63d21..e02f959ce3 100644 --- a/engines/dm/dm.cpp +++ b/engines/dm/dm.cpp @@ -554,9 +554,35 @@ void DMEngine::f441_processEntrance() { } void DMEngine::f444_endGame(bool doNotDrawCreditsOnly) { - // TODO: localization - static Box restartOuterBox = Box(103, 217, 145, 159); - static Box restartInnerBox = Box(105, 215, 147, 157); + + static Box G0013_s_Graphic562_Box_Endgame_Restart_Outer_EN_ANY = {103, 217, 145, 159}; + static Box G0014_s_Graphic562_Box_Endgame_Restart_Inner_EN_ANY = {105, 215, 147, 157}; + + static Box G0013_s_Graphic562_Box_Endgame_Restart_Outer_GR_GRE = {82, 238, 145, 159}; + static Box G0014_s_Graphic562_Box_Endgame_Restart_Inner_GR_GRE = {84, 236, 147, 157}; + + static Box G0013_s_Graphic562_Box_Endgame_Restart_Outer_FR_FRA = {100, 220, 145, 159}; + static Box G0014_s_Graphic562_Box_Endgame_Restart_Inner_FR_FRA = {102, 218, 147, 157}; + + Box restartOuterBox; + Box restartInnerBox; + + switch (getGameLanguage()) { // localized + default: + case Common::EN_ANY: + restartOuterBox = G0013_s_Graphic562_Box_Endgame_Restart_Outer_EN_ANY; + restartInnerBox = G0014_s_Graphic562_Box_Endgame_Restart_Inner_EN_ANY; + break; + case Common::GR_GRE: + restartOuterBox = G0013_s_Graphic562_Box_Endgame_Restart_Outer_GR_GRE; + restartInnerBox = G0014_s_Graphic562_Box_Endgame_Restart_Inner_GR_GRE; + break; + case Common::FR_FRA: + restartOuterBox = G0013_s_Graphic562_Box_Endgame_Restart_Outer_FR_FRA; + restartInnerBox = G0014_s_Graphic562_Box_Endgame_Restart_Inner_FR_FRA; + break; + } + static Box theEndBox = Box(120, 199, 95, 108); static Box championMirrorBox = Box(11, 74, 7, 49); static Box championPortraitBox = Box(27, 58, 13, 41); @@ -647,8 +673,14 @@ T0444017: _displayMan->_g578_useByteBoxCoordinates = false; _displayMan->D24_fillScreenBox(restartOuterBox, k12_ColorDarkestGray); _displayMan->D24_fillScreenBox(restartInnerBox, k0_ColorBlack); - // TODO: localization - _textMan->f53_printToLogicalScreen(110, 154, k4_ColorCyan, k0_ColorBlack, "RESTART THIS GAME"); + + switch (getGameLanguage()) { // localized + default: + case Common::EN_ANY: _textMan->f53_printToLogicalScreen(110, 154, k4_ColorCyan, k0_ColorBlack, "RESTART THIS GAME"); break; + case Common::GR_GRE: _textMan->f53_printToLogicalScreen(110, 154, k4_ColorCyan, k0_ColorBlack, "DIESES SPIEL NEU STARTEN"); break; + case Common::FR_FRA: _textMan->f53_printToLogicalScreen(110, 154, k4_ColorCyan, k0_ColorBlack, "RECOMMENCER CE JEU"); break; + } + curPalette[1] = D03_RGB_PINK; curPalette[4] = D09_RGB_WHITE; _eventMan->_g441_primaryMouseInput = g446_PrimaryMouseInput_RestartGame; |