SUPERNOVA: Improve command button size for translations

This commit is contained in:
Thierry Crozat 2018-01-31 20:45:31 +00:00
parent 534d1ccc54
commit bab0bf2b1e

View file

@ -462,13 +462,22 @@ void GameManager::initRooms() {
} }
void GameManager::initGui() { void GameManager::initGui() {
int cmdCount = ARRAYSIZE(_guiCommandButton);
int cmdAvailableSpace = 320 - (cmdCount - 1) * 2;
for (int i = 0; i < cmdCount; ++i) {
const Common::String &text = _vm->getGameString(guiCommands[i]);
cmdAvailableSpace -= _vm->textWidth(text);
}
int commandButtonX = 0; int commandButtonX = 0;
for (int i = 0; i < ARRAYSIZE(_guiCommandButton); ++i) { for (int i = 0; i < ARRAYSIZE(_guiCommandButton); ++i) {
const Common::String &text = _vm->getGameString(guiCommands[i]); const Common::String &text = _vm->getGameString(guiCommands[i]);
int width; int width;
if (i < 9) if (i < cmdCount - 1) {
width = _vm->textWidth(text) + 2; int space = cmdAvailableSpace / (cmdCount - i);
else cmdAvailableSpace -= space;
width = _vm->textWidth(text) + space;
} else
width = 320 - commandButtonX; width = 320 - commandButtonX;
_guiCommandButton[i].setSize(commandButtonX, 150, commandButtonX + width, 159); _guiCommandButton[i].setSize(commandButtonX, 150, commandButtonX + width, 159);
@ -1476,8 +1485,9 @@ void GameManager::drawCommandBox() {
_guiCommandButton[i].width(), _guiCommandButton[i].width(),
_guiCommandButton[i].height(), _guiCommandButton[i].height(),
_guiCommandButton[i]._bgColor); _guiCommandButton[i]._bgColor);
int space = (_guiCommandButton[i].width() - _vm->textWidth(_guiCommandButton[i]._text)) / 2;
_vm->renderText(_guiCommandButton[i]._text, _vm->renderText(_guiCommandButton[i]._text,
_guiCommandButton[i]._textPosition.x, _guiCommandButton[i]._textPosition.x + space,
_guiCommandButton[i]._textPosition.y, _guiCommandButton[i]._textPosition.y,
_guiCommandButton[i]._textColor); _guiCommandButton[i]._textColor);
} }