1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление
    1. Если вы сделали перевод или русификацию игры, то вы можете поделиться своим творением здесь.
    2. О правилах вступления в группу переводчиков можно прочитать здесь.
    3. Русификации следует искать там.

[песочница] I Have no Mouth, and I Must Scream

Тема в разделе "Переводы своими руками", создана пользователем jack7277, 20 май 2013.

  1. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    картинка

    Шрифт от 21h до FFh, игра использует dos4gw. Текст титров лежит в файле SCRIPTS.RES в открытом виде, проблема - найти и перерисовать шрифт. Текст в файле заканчивается нулем, длина строки фиксирована. Где квадратики, 33 шт, размер 11x16. Остальные размеры плавают.
    Использую CD версию с этого сайта.
    I Have No Mouth, and I Must Scream (1995, DOS)

    ---------- сообщение от kirik-82
    открыт проект перевода на нотабеноиде.

    Комикс
    I-Have-No-Mouth-and-I-Must-Scream.rar
    Художник John Byrne
    Обложка Michael Whelan
     

    Вложения:

    Последнее редактирование модератором: 8 июн 2013
    OldGoodDog, Ygol, Турбо и 6 другим нравится это.
  2.  
  3. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Мне нравится все шикарно, но есть вопросы.

    Ogr 2, а что опять Ё и Й пострадали? Почему не сдвинуть все на 1-2 пикселя вниз ?
    Слева или справа сливаются буквы, в первом шрифте.
    Маленький шрифт не сливается.
    Еще у А внутри черно, а у Д нет. У некоторых букв внутри бело у некоторых черно.

    А где Э Ю в первом шрифте?

    Предлагаю, если макс ширина позволяет, увеличить ширину на 1 пиксель и сделать выравнивание по левому краю, а справа оставить 1пикс полоску, чтоб шрифты не сливались, я про большой диалоговый шрифт. Так, я вижу что использовалась макс ширина 13 в букве Б к примеру, по идее макс ширина может быть 16, чтобы в 2 байта уместилась, 3 байта вроде нигде нет, там тип WORD используется, поэтому в теории можно увеличить ширину. Высота почему-то 21 пикс, я писал там 18.

    Еще вспомнил, черная рамочка вокруг букв рисуется движком игры автоматически.
    В маленьком шрифте высота не выдержана, еще не знаю есть ли место в потоке данных, чтобы высоту увеличить.
     
    Последнее редактирование: 12 сен 2013
    Genesis нравится это.
  4. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.369
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

    сам просил высоту сохранить, а с учётом обводки сдвигать некуда.
    обводка это такая. идентична оригинальной.
    нижняя полоска служебная.
     
    Последнее редактирование модератором: 19 июл 2015
    ntr73, kirik-82 и jack7277 нравится это.
  5. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Ogr 2, просто идеально, приступаю к вставке.
     
  6. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.369
    jack7277, изменил з во втором шрифте.
     
  7. winterheart

    winterheart

    Регистрация:
    6 сен 2010
    Сообщения:
    274
    Ogr 2, по большому шрифту замечания. Он больше похож на Arial (без насечек), поэтому ряд русских букв выпадает из стиля.
    Про Ё, Й уже говорилось, точки и черточки должны четко выделяться. Й черточка должна быть длинной. Нижние завитушки на Б, В, Ъ, Ы, Ь и так далее должны быть выше (выше половины высоты буквы). В ряде прописных букв лишние засечки - например у б, д. Еще в прописных присутствуют нехарактерные для беззасечковых шрифтов округлости (нижние части и, ц, ш и так далее).
    Я бы порекомендовал взять за основу тот же Arial или Helvetica и срисовать начертания кириллицы с них.
     
  8. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.369
    тем самым, прописные кириллицы выпадают из стилистики латиницы, что целиком на совести автора кириллицы для Arialа.
    можно увеличить за счет вынесов у, р.

    ---------- Сообщение добавлено в 18:25 ---------- Предыдущее сообщение размещено в 16:36 ----------

    сделано.
     
  9. winterheart

    winterheart

    Регистрация:
    6 сен 2010
    Сообщения:
    274
    В кириллических беззасечковых шрифтах свои традиции, поэтому не стоит брать за основу латининскую u для всех остальных букв. Я привел Arial только в качестве примера, на самом деле, если взять любой кириллический Sans, то можно увидеть, как должны выглядеть прописные буквы в этом стиле.
     
  10. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.369
    winterheart, как ты видишь, он в другой стилистики, и стиль под оригинал.
    и переделывать под другой стиль (отличный от оригинала), потому что "латиница в игре по начертанию идентична латинице в Arialе - в Arial начертания кириллицы в другом стиле (Arial это просто большой набор символов для разных языков, не выдержанных в единой стилистики) - переделать начертания под стилистику кириллицы в Arial", не имеет смысла.
     
  11. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Пока что плохие новости, у маленького шрифта нет окна для вставки русских букв.
    За данными шрифта идет сразу начало структуры следующего шрифта. Но так как в игре используется 2 шрифта, а всего их прописано 7. Если просто продолжить данные маленького шрифта и затереть идущий следующим, то в лучшем случае расширится шрифт до полного cp1251 (я опять к нему приводить буду) и прога не упадет от того что дальше идет мусор.

    Попробую продолжить ряд данных, забью мусором FFh и затру заголовок следующего.
    Между двумя игровыми шрифтами 6640 байт, как раз тогда хватает, чтобы маленький шрифт сделать полным рус и англ. Стей тюн, буду обновлять пст.

    Upd: заполнил мусором заголовок следующего шрифта. Игра запускается и оба игровых отображаются нормально. Буду копать дальше.
    С большим диалоговым проблем нет там зарезервировано под умляуты куча байт должно хватить.

    Всё что делал раньше, сейчас после харвестера поглядел на всё новым взглядом. Ужаснулся и сел делать с нуля, в старой каше копаться не хочется.
    Сперва сделал вид сырых шрифтов, как они хранятся в данных, RAW шрифты обозвал.

    Теперь нужно разобраться как массив данных TRACKING и FLAG влияют на выравнивание букв в тексте, чтобы они не были пьяными.

    Символы шрифта выровнены по левому краю, длина может быть от 1 бита до 16 бит в строке, трекинг - это число сколько бит идущих слева-направо выводить на экран.
    Думаю проще всего написать утилитку визуализации, чтобы потестить межсимвольные расстояния у русского набора.

    FontWidth[33] = 2
    FontFlag[33] = 2
    FontTracking[33] = 4
    Символ = !

    FontWidth[34] = 3
    FontFlag[34] = 1
    FontTracking[34] = 4
    Символ = "

    FontWidth[35] = 10
    FontFlag[35] = 0
    FontTracking[35] = 10
    Символ = #

    FontWidth[36] = 9
    FontFlag[36] = 0
    FontTracking[36] = 10
    Символ = $

    FontIndex - это номер байта в потоке данных, часть символов 1 байтная, часть 2х байтная, поэтому индекс идет, 0, 1, 2, 4...

    В памяти символы выглядят так (каждая строка из 8 бит):
    e252149759c4dd9a541cec78b1acecee.png

    Игровой шрифт:
    8c98a479a5c6c16987d57badf1f0b976.png

    Флаг непонятно что делает, пробовал 0, 1, 2, 3 (стояло 2), просто у символа типа отступа получается слева 1 пиксель.

    сделал вывод всего шрифта, сделал вывод отдельных символов, сделал карандаш и ластик (прям блоками из харвестера утащил).

    тодо лист:
    - прикрутить изменение ширины символа, учесть расползание-сужение символов на 1-2 байта. (сделано)
    - нарисовать русские буквы (сделаю просто перерисовкой, прокликаю мышкой, визуально проще чем байты туда-сюда таскать)
    - закодировать обратно в файл.

    Потом на очереди мелкий с шрифт, с ним основные проблемы, в крупном диалоговом шрифте уже куча данных выделена и подготовлена за счет кучи умляутов.

    ЗЫ: Инструмент готов, рисую (попиксельно перерисовываю шрифт от Ogr 2) красивый диалоговый шрифт, на пробу сделал Ёё.
    1b06876340ba6b9ebbb17878b35f8d35.png

    Остановился на несовпадении высот. Русский шрифт 22 в высоту, полезных 20, а в игре шрифт 18 пикс. Надо провести тесты с увеличением высоты. Это будет сдвиг в область следующего шрифта, то есть если игра его будет использовать, а там мусор, то всё упадет или нарисует мусор.
    Потом попробую скопировать целиком модуль импорта бмп шрифта, уж больно тяжело большие шрифты перерисовывать ))

    Не, ну так не бывает. Так легко идет. Увеличил высоту с 18 до 20, как раз второй вариант русского шрифта с красивой Ё. Игра не упала, показала буквы, в конце видны точки-мусор (чьи то бывшие данные). Позже выяснил, что высоту диалогового шрифта менять нельзя.
    4bd4d3fcf6a25b61515c15f777615ced.png
     

    Вложения:

    Последнее редактирование: 17 сен 2013
    ntr73 и kirik-82 нравится это.
  12. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Ж шириной в 24 пикселя.
    хотя надо попробовать можно ли ширину увеличить с 2х байт (16 ширина) до 3х байт (24 ширина).

    ЗЫ:
    Ложная тревога, попробовал ширину 3 байта, 24 пикселя ширина, всё нормально, показывает.

    Облом, диалоговый шрифт выше стандартной высоты 18 пикселей нельзя увеличить, так как дальше шрифтов нет, идут уже данные игры. Я пишу туда данные, а в игре в шрифте низ не появляется.
    Ширину можно менять в любых разумных пределах, пробовал от 1 до 24 пикселей.
     
    Последнее редактирование: 17 сен 2013
  13. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.369
    jack7277,
    [​IMG]
     
    Последнее редактирование модератором: 19 июл 2015
    ntr73, kirik-82 и jack7277 нравится это.
  14. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    FontFlag - это левый отступ символа, неважно как он нарисован в памяти, движок сам сделает отступ на FontFlag пикселей до символа.

    И еще проблема подтянулась, ширину то тоже просто так увеличивать нельзя, происходит сдвиг в область данных, поэтому я всякие длинные символы, типа 1/4, 1/2 сокращаю до 1 байта, выигрывая эти байты для широких "Д Ж Щ Ю ж".

    Пока что воюю со стыком букв Е и Ж, между ними вылезает огромное пустое место не нахожу где ошибка.

    Картинки и демо скоро будут.

    Посоны, это успех! Трекинг и отступы вручную подгонял, вроде идеально.
    Спасибо cp1251 за любезно предоставленные коды символов.

    8ac60829679c31944da49f8d022325cd.png

    Еще картинки для оценки диалогового шрифта

    Надо что-то думать с INTRO
     
    Последнее редактирование: 18 сен 2013
    Рыжий Тигра, Butz, ntr73 и ещё 1-му нравится это.
  15. winterheart

    winterheart

    Регистрация:
    6 сен 2010
    Сообщения:
    274
    Нда, ужасный шрифт получился...
     
  16. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.667
    Но комментарий-то у вас ещё хуже. Шрифт смотрит с опаской, как бы не вступить.

    Может, сделаете свой, красивый и правильный? Мне вариант Ogr 2 нравится, но если у вас получится лучше, даже он наверняка не будет против замены.
     
    Genesis, jack7277 и ThisSuXX нравится это.
  17. kirik-82 DOSтойным играм достойный перевод

    kirik-82

    Переводчик

    Регистрация:
    19 дек 2007
    Сообщения:
    2.084
    меня смущает написание русских букв "б", "д" (наличие "хвостика" внизу), "н" (наклоненная соединительная линия) и "в" (почему не такая же высота как у "б" и "д"?).
     
    Genesis и ntr73 нравится это.
  18. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Кто захочет перерисовать шрифт выдам тех задание поточнее, а то я шрифт подгонял в размер 2 дня. В итоге в запасе даже 1 байт остался. Есть там тонкости.

    Пока что приступаю ко второму шрифту.
    Данных в шрифте не зарезервировано (только числа и англ буквы, всего 96 символов), а затирание заголовка идущего следующим шрифта привело к падению игры.
    Приплыли.
     
    Последнее редактирование: 18 сен 2013
  19. TERMiN8!

    TERMiN8!

    Регистрация:
    19 янв 2006
    Сообщения:
    52
    Поддерживаю - нечитабельно, похоже на "и".
     
  20. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    Надо не о красивостях букв спорить, а сосредоточиться на проблеме второго маленького шрифта. Там данные не зарезервированы и никаких умляутов нет, а расширение шрифта роняет игру.

    Вот это бОльшая проблема, чем не то начертание палочки в букве "н".
     
  21. kirik-82 DOSтойным играм достойный перевод

    kirik-82

    Переводчик

    Регистрация:
    19 дек 2007
    Сообщения:
    2.084
    перерисовать поверх английских, нет?
     
  22. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.115
    kirik-82, а как рассортировать текст по шрифтам, ведь один текст придется кодировать в 1251, а другой - в собственной. Текст поедет.

    Тогда придется затирать английский текст и в первом шрифте, решить что оставить можно из символов.

    Изменяю в шрифте длину ряда и всё разрывает, что делать хз:
    Высота шрифта 8, ширина ряда 96 байт (в оригинале).
    Здесь 162.

    b617714cf5d26c39d1a6d1126204c1b3.png
     
    Последнее редактирование: 19 сен 2013
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление