| Разработка и ромхакинг > Ромхакинг и программирование |
| Помогите со шрифтом Splinter Cell Chaos Theory |
| (1/1) |
| lupus:
Докопался до потрохов Splinter Cell Chaos Theory для N-Gage и упёрся в шрифты. Они, вроде, не пожаты ничем, а картинку сложить никак не получается :( Может, кто подскажет, куда копать? https://github.com/1upus/N-Gage_stuff/blob/master/temp/fonts.7z |
| paul_met:
--- Цитата: lupus от 04 Апрель 2018, 15:32:05 ---Докопался до потрохов Splinter Cell Chaos Theory для N-Gage и упёрся в шрифты. Они, вроде, не пожаты ничем, а картинку сложить никак не получается --- Конец цитаты --- Возможно, это не моё дело, но я не совсем понимаю, зачем ты возишься с этой весьма специфичной для N-Gage? Тем более, если нет эмулятора. Кто оценит твой труд? Владельцы антиквариата, коих по пальца одной руки сосчитать можно? |
| Sharpnull:
lupus, не очень понятно что в *.string, например в Alarm находится изображение символов 1234567890/:? Насколько это точно? А в других почему встречаются русские буквы? |
| lupus:
--- Цитата: paul_met от 04 Апрель 2018, 16:51:32 ---Возможно, это не моё дело, но я не совсем понимаю, зачем ты возишься с этой весьма специфичной для N-Gage? Тем более, если нет эмулятора. Кто оценит твой труд? Владельцы антиквариата, коих по пальца одной руки сосчитать можно? --- Конец цитаты --- Ну... есть вполне живое сообщество в вк. За сутки более 1000 просмотров новости о релизе русской версии Pandemonium! и чуток репостов. Есть несколько годных эксклюзивов, которые хочется перевести (в перспективе). --- Цитата: Sharpnull от 04 Апрель 2018, 16:56:22 ---lupus, не очень понятно что в *.string, например в Alarm находится изображение символов 1234567890/:? Насколько это точно? А в других почему встречаются русские буквы? --- Конец цитаты --- Находится чем? Если хекс-редактором или "блокнотом", то это вполне логично и я об этом написал в приложенном файле. Что качается русских букв, то есть такая кодировка Windows-1252... |
| Sharpnull:
Так это точно, что в raw лежит отображение символов указанных в string и порядок именно такой? --- Цитата: lupus от 04 Апрель 2018, 17:08:51 ---Windows-1252 --- Конец цитаты --- Редактор не может этого определить, у меня открылось в Windows-1251. Стоило бы написать какая кодировка используется. |
| lupus:
Sharpnull, у меня лишь несколько вариантов: 1. Вы не читаете того, что написано в readme.txt 2. Вы не понимаете о чём речь. 3. Вы тролль. Ок, если проигнорировали readme, то я дал наводку. Если вы не знаете, в чём принципиальная разница между win-1251 и win-1252, то... Хм, даже не знаю, как сказать. Если верно предположение из п. 2/3, то вы мне не помощник. |
| Sharpnull:
lupus, я открыл readme.txt в notepad++ и вижу русские буквы, как мне догадаться что там именно 1252? Кажется расшифровал один. Заменил символы и выровнял: FF FF FF 00 - # FF 00 FF 00 - * 00 FF 00 00 - @ FF FF FF FF - N |
| s1nka:
Sharpnull, Получается символы/цвет пикселя 4 байта содержит? FF FF FF 00 = # FF 00 FF 00 = * Ну получается дело за малым, читать по 4 байта и заменять на нужный цвет. lupus, Без обид, но Sharpnull прав насчет CP1251. В кодировке CP1252 нет русских букв. И троллить он явно не хотел, а наоборот скорее помочь. |
| Sharpnull:
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:
Набросал скрипт на python 2, который конвертирует в серое. Уже видны силуэты, их тоже приложил. Обновил, теперь просто рисую как RGBA. Зелёными и синими точками отображаю места, где есть маркеры ширины и высоты, но есть аномальные места, там текст заходит и маркер совмещается с ним. |
| paul_met:
В кристале можно настроить корректное отображение шрифта. Дял примера взял файл test.raw. |
| Sharpnull:
paul_met, вы подобрали ширину/высоту? Там есть маркеры - точки, слева и наверху - обозначающие границы букв. Добавил иллюстрацию. |
| paul_met:
Не знаю ,как шрифт отображается в самой игре, но, думаю, так корректнее будет. |
| Sharpnull:
paul_met, нет, 1074 было верной шириной. Это видно по ENOSW (cardinal.raw). |
| paul_met:
--- Цитата: Sharpnull от 04 Апрель 2018, 20:10:25 ---paul_met, нет, 1074 было верной шириной. Это видно по ENOSW (cardinal.raw). --- Конец цитаты --- Так она осталась прежней. Изменились лишь смещение и формат. |
| Sharpnull:
paul_met, странно, думал там 1075. Смещение не понимаю как работает, а вот RGBa -> aBGR у меня делает текст с красным, но от этой перестановки я заметил, что маркеры при слиянии (когда ширина символа один пиксель) образуют другое значение. Обновил код, теперь смещённые маркеры - красным цветом. Там иногда попадаются странные пиксели (сверху), но они наверно не учитываются. P.S. Забыл про зависимости, кроме Python 2, нужна библиотека Pillow (в консоли > pip install -U Pillow). Добавил версию для Python 3. |
| lupus:
Всем спасибо за проявленный интерес и советы! Sharpnull, приношу извинения, недооценил. paul_met, отдельное спасибо за наводку с кристалом, наверное молестер мне далеко не во всём подходит. Отдельно про win-1251/52: В отличие, от теперешнего времени, лет 10 назад UTF не был приоритетной кодировкой, способной вместить в себя огромное количество символов разных алфавитов. Часто и густо использовалась ANSI, разновидностями которой являются win-51/52. Главное их отличие в том, что кодовой странице кириллицы вин1251, соответствует страница с расширенной латиницей в вин1252. Один и тот же текст, в зависимости от дефолтных настроек системы, будет выглядеть иначе в этих кодировках. Естественно, в этих шрифтах расширенная латиница, которая в таблицах (файлы .string) с нашими локальными настройками видна, как русский алфавит. Мне казалось это очевидным... |
| Навигация |
| Главная страница сообщений |