Автор Тема: Помогите со шрифтом Splinter Cell Chaos Theory  (Прочитано 3333 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lupus

  • Пользователь
  • Сообщений: 3828
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Докопался до потрохов Splinter Cell Chaos Theory для N-Gage и упёрся в шрифты. Они, вроде, не пожаты ничем, а картинку сложить никак не получается :(
Может, кто подскажет, куда копать?
https://github.com/1upus/N-Gage_stuff/blob/master/temp/fonts.7z

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8120
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #1 : 04 Апрель 2018, 16:51:32 »
Докопался до потрохов Splinter Cell Chaos Theory для N-Gage и упёрся в шрифты. Они, вроде, не пожаты ничем, а картинку сложить никак не получается
Возможно, это не моё дело, но я не совсем понимаю, зачем ты возишься с этой весьма специфичной для N-Gage? Тем более, если нет эмулятора. Кто оценит твой труд? Владельцы антиквариата, коих по пальца одной руки сосчитать можно?

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #2 : 04 Апрель 2018, 16:56:22 »
lupus, не очень понятно что в *.string, например в Alarm находится изображение символов 1234567890/:? Насколько это точно? А в других почему встречаются русские буквы?

Оффлайн lupus

  • Пользователь
  • Сообщений: 3828
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #3 : 04 Апрель 2018, 17:08:51 »
Возможно, это не моё дело, но я не совсем понимаю, зачем ты возишься с этой весьма специфичной для N-Gage? Тем более, если нет эмулятора. Кто оценит твой труд? Владельцы антиквариата, коих по пальца одной руки сосчитать можно?
Ну... есть вполне живое сообщество в вк. За сутки более 1000 просмотров новости о релизе русской версии Pandemonium! и чуток репостов.
Есть несколько годных эксклюзивов, которые хочется перевести (в перспективе).
lupus, не очень понятно что в *.string, например в Alarm находится изображение символов 1234567890/:? Насколько это точно? А в других почему встречаются русские буквы?
Находится чем? Если хекс-редактором или "блокнотом", то это вполне логично и я об этом написал в приложенном файле. Что качается русских букв, то есть такая кодировка Windows-1252...

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #4 : 04 Апрель 2018, 17:31:55 »
Так это точно, что в raw лежит отображение символов указанных в string и порядок именно такой?

Windows-1252
Редактор не может этого определить, у меня открылось в Windows-1251. Стоило бы написать какая кодировка используется.

Оффлайн lupus

  • Пользователь
  • Сообщений: 3828
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #5 : 04 Апрель 2018, 18:00:54 »
Sharpnull, у меня лишь несколько вариантов:
1. Вы не читаете того, что написано в readme.txt
2. Вы не понимаете о чём речь.
3. Вы тролль.

Ок, если проигнорировали readme, то я дал наводку. Если вы не знаете, в чём принципиальная разница между win-1251 и win-1252, то... Хм, даже не знаю, как сказать.

Если верно предположение из п. 2/3, то вы мне не помощник.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #6 : 04 Апрель 2018, 18:14:36 »
lupus, я открыл readme.txt в notepad++ и вижу русские буквы, как мне догадаться что там именно 1252?
Кажется расшифровал один.

Заменил символы и выровнял:
FF FF FF 00 - #
FF 00 FF 00 - *
00 FF 00 00 - @
FF FF FF FF - N
« Последнее редактирование: 04 Апрель 2018, 18:27:14 от Sharpnull »

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1571
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #7 : 04 Апрель 2018, 18:27:41 »
Sharpnull, Получается символы/цвет пикселя 4 байта содержит?
FF FF FF 00 = #
FF 00 FF 00 = *
Ну получается дело за малым, читать по 4 байта и заменять на нужный цвет.

lupus, Без обид, но Sharpnull прав насчет CP1251. В кодировке CP1252 нет русских букв. И троллить он явно не хотел, а наоборот скорее помочь.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #8 : 04 Апрель 2018, 18:38:22 »
s1nka, да. Но ещё значения, которые показывают границы ширины и высоты. Похоже используется палитра, её нужно узнать. В menu такое встречается:
55 55 55 55 FF FF FF FF 77 77 77 77 00 00 00 00 99 99 99 97 FF FF FF FF FF FF FF FF 44 44 44 46

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #9 : 04 Апрель 2018, 19:15:20 »
Набросал скрипт на python 2, который конвертирует в серое. Уже видны силуэты, их тоже приложил.
Обновил, теперь просто рисую как RGBA. Зелёными и синими точками отображаю места, где есть маркеры ширины и высоты, но есть аномальные места, там текст заходит и маркер совмещается с ним.
« Последнее редактирование: 04 Апрель 2018, 19:35:52 от Sharpnull »

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8120
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #10 : 04 Апрель 2018, 19:32:51 »
В кристале можно настроить корректное отображение шрифта. Дял примера взял файл test.raw.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #11 : 04 Апрель 2018, 19:38:45 »
paul_met, вы подобрали ширину/высоту? Там есть маркеры - точки, слева и наверху - обозначающие границы букв.
Добавил иллюстрацию.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8120
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #12 : 04 Апрель 2018, 19:55:16 »
Не знаю ,как шрифт отображается в самой игре, но, думаю, так корректнее будет.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #13 : 04 Апрель 2018, 20:10:25 »
paul_met, нет, 1074 было верной шириной. Это видно по ENOSW (cardinal.raw).

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8120
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #14 : 04 Апрель 2018, 20:19:18 »
paul_met, нет, 1074 было верной шириной. Это видно по ENOSW (cardinal.raw).
Так она осталась прежней. Изменились лишь смещение и формат.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5144
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #15 : 04 Апрель 2018, 21:25:59 »
paul_met, странно, думал там 1075. Смещение не понимаю как работает, а вот RGBa -> aBGR у меня делает текст с красным, но от этой перестановки я заметил, что маркеры при слиянии (когда ширина символа один пиксель) образуют другое значение.

Обновил код, теперь смещённые маркеры - красным цветом. Там иногда попадаются странные пиксели (сверху), но они наверно не учитываются.
P.S. Забыл про зависимости, кроме Python 2, нужна библиотека Pillow (в консоли > pip install -U Pillow). Добавил версию для Python 3.
« Последнее редактирование: 04 Апрель 2018, 22:30:12 от Sharpnull »

Оффлайн lupus

  • Пользователь
  • Сообщений: 3828
  • Пол: Мужской
  • man with no face
    • ВКонтакте
    • Просмотр профиля
Помогите со шрифтом Splinter Cell Chaos Theory
« Ответ #16 : 05 Апрель 2018, 02:23:22 »
Всем спасибо за проявленный интерес и советы!
Sharpnull, приношу извинения, недооценил.
paul_met, отдельное спасибо за наводку с кристалом, наверное молестер мне далеко не во всём подходит.

Отдельно про win-1251/52:
В отличие, от теперешнего времени, лет 10 назад UTF не был приоритетной кодировкой, способной вместить в себя огромное количество символов разных алфавитов. Часто и густо использовалась ANSI, разновидностями которой являются win-51/52.
Главное их отличие в том, что кодовой странице кириллицы вин1251, соответствует страница с расширенной латиницей в вин1252.
Один и тот же текст, в зависимости от дефолтных настроек системы, будет выглядеть иначе в этих кодировках. Естественно, в этих шрифтах расширенная латиница, которая в таблицах (файлы .string) с нашими локальными настройками видна, как русский алфавит.
Мне казалось это очевидным...