91
Переводы игр / [SMD] Pirates! Gold. Глюк перевода.
« : 18 Октябрь 2025, 15:38:49 »
Исправление v4. Исправлено отображение "Пуерто-Принчипе" в окне с текстом и ограничение макс. ширины текста в окне до 36 символов (баг оригинала). Подробнее:
* Название города "Пуерто-Принчипе" могло не влезть в окно с текстом, вызывая неверное отображение. Я не стал убирать дефисы из названий городов, но изменил код переноса строк для окон с текстом: сначала поиск пробелов как в оригинале, для слишком длинного слова будет перенос на месте дефиса без его отображения, иначе принудительный перенос без отображения символа в месте переноса. Если вы увидите принудительный перенос (например, "осведомител" + "ницу" вместо "осведомительницу"), значит требуется исправление текста с ручным переносом (записать "осведомите- льницу").
* В оригинальной игре есть баг с шириной окна с текстом: если в начале игры пойти сначала к главному в городе, а потом в бар, то макс. ширина текста в окне станет 39 символов (весь экран - 40). Это связано с тем, что в RAM $FF09B3 хранится макс. ширина текста, перед отображением текста обычно происходит установка нужной ширины, после отображения = 36, но по какой-то причине у главного в городе может произойти = 39, а в баре нет начальной установки. Я добавил ограничение на макс. ширину до 36, но возможно стоит также ограничить минимальное значение от 20 для макс. ширины, потому что проблема с "Пуерто-Принчипе" из-за ограничения в 15 символов, при этом могло влезть 20 на экране. Замечу, окно может быть меньше макс. ширины, зависит от текста.
Прикладываю исходный код исправлений. Запустить compile.bat, на выходе input.gen, требуется Python.
* Название города "Пуерто-Принчипе" могло не влезть в окно с текстом, вызывая неверное отображение. Я не стал убирать дефисы из названий городов, но изменил код переноса строк для окон с текстом: сначала поиск пробелов как в оригинале, для слишком длинного слова будет перенос на месте дефиса без его отображения, иначе принудительный перенос без отображения символа в месте переноса. Если вы увидите принудительный перенос (например, "осведомител" + "ницу" вместо "осведомительницу"), значит требуется исправление текста с ручным переносом (записать "осведомите- льницу").
* В оригинальной игре есть баг с шириной окна с текстом: если в начале игры пойти сначала к главному в городе, а потом в бар, то макс. ширина текста в окне станет 39 символов (весь экран - 40). Это связано с тем, что в RAM $FF09B3 хранится макс. ширина текста, перед отображением текста обычно происходит установка нужной ширины, после отображения = 36, но по какой-то причине у главного в городе может произойти = 39, а в баре нет начальной установки. Я добавил ограничение на макс. ширину до 36, но возможно стоит также ограничить минимальное значение от 20 для макс. ширины, потому что проблема с "Пуерто-Принчипе" из-за ограничения в 15 символов, при этом могло влезть 20 на экране. Замечу, окно может быть меньше макс. ширины, зависит от текста.
Прикладываю исходный код исправлений. Запустить compile.bat, на выходе input.gen, требуется Python.
