Ну и с руководством стало чуть понятнее где собака зарыта:TWLFontTable.dat - файл с системными шрифтами, живёт в NAND, в папке sys. Для приставок европейского и американского регионов одинаковый и содержит русские моноширинные шрифты(правая часть). Можно модифицировать(левая часть), но там RSA и работает это всё видимо только в эмуляторе. Три шрифта: TBF1_l.NFTR, TBF1_m.NFTR, TBF1_s.NFTR. Подробнее тут: тыц(LZrev = BLZ)!
Насколько я понимаю, удалось разобраться с twlfonttable.dat? Есть ли скомпилированный софт для работы с шрифтами, зашитыми в него или, возможно, сборка с уже зашитой кириллицей (как на фото)? Буду премного благодарен. Дело в том, что DSi Menu plus plus - альтернативный лаунчер для кастома DSi использует эти же самые шрифты для вывода текста. Ноги растут отсюда: https://github.com/RocketRobz/TWiLightMenu/issues/281
Попробовал запустить на железе: dsi 1.4.5e с hiya cfw, twilight menu и ndsbootstrap. Мануал по установке кастома есть на dsi.cfw.guide Просто закидываем .NDS версию перевода с раздачи на рутрекере и запускаем из меню. Вуаля!
Софта конечно же нет. redunka даже никакого упрощающего скрипта не написала. (
NFTRedit для правки ширин. blz - для распаковки\запаковки шрифтов. WinHex - для вырезания\вставки запакованных шрифтов в twlfonttable.dat и для изменения их размеров в заголовках и для подсчёта хешей тоже. (Размер файла без выравнивающих нулей брать надо, т.к. заголовок у сжатых blz шрифтов снизу, на картинке по трём нижним хешам видна длина каждого шрифта). Всё ручками - только хардкор. Идея настолько глупа, банальна и наляписта, но...(Ц)
Сообщение отредактировал FoX_XoF - Вторник, 29.01.2019, 16:46
Спасибо. Хм, пропатчил. Закинул на карту DSI патченный файл, мануал не повис, но и русских букв в меню не увидел. Не пойму, читается ли он из нанда или с карты.
Кириллица изначально есть в этих шрифтах и ты только ширину поправил?
Could be DSi Menu text font, or the stage2 font which shows errors. This file contains fonts in the NFTR (Nitro font) format, and supports the following character sets:
ASCII
ISO 8859-1
ISO 8859-7
CP 932
CP 1252
CP 1253
JIS X0201
JIS X0208
Какая из этих кодировок для кириллицы используется?
Значит читается шрифт из нанда, для того чтобы он читался с карты надо установить игру на карту (SRL2Hiya в помощь). Так в мануале и не будет русских букв, он же на английском оставлен. Мануал в роме живёт. )
redunka даже никакого упрощающего скрипта не написала. (
Копипастинг со stackoverflow (пусть даже с некоторой адаптацией) "написанием скриптов" трудно назвать, самостоятельно я ничего не умею.
Цитатаlupus ()
Просто закидываем .NDS версию перевода
FoX уже ответил, но я уточню. Запуск DSiWare в формате .NDS идёт через одну из стандартных фич Unlaunch, минуя HiyaCFW, поэтому ничего с SDNAND грузиться не будет. Надо ставить "традиционным" способом через вышеупомянутую SRL2Hiya, и сделать ярлычки для TWiLight Menu++ через launcharggen, как написано в том же гайде.
В любом случае, нет особого смысла что-то делать со шрифтом, пока ни у одной из CFW нет патчей от проверки его подписи. Эмулятору no$gba можно скормить подделанную (но валидную) расшифрованную подпись, но консоли такую не примут. Для русского языка в TWiLight Menu++, наверное, им проще будет реализовать поддержку внешних шрифтов, но это только для самого меню, ибо мануалы в играх всё равно будут использовать системный.
Сообщение отредактировал redunka - Пятница, 28.12.2018, 06:46
Судя по всему, TWiLight Menu ++ и так грузит шрифты из sdnand.
Или, может, TWiLight Menu ++ на самом деле не использует конкретно эти шрифты вовсе? Не все приложения пользуются TWLFontTable.dat, однозначно он используется в мануалах и в приложении настроек. Даже родной Launcher (системное меню) его не использует, у него внутри свои шрифты есть, хоть и похожие. У TWiLightMenu в ресурсах множество собственных шрифтов, но все они без кириллицы. Например.
Дата: Понедельник, 31.12.2018, 10:03 | Сообщение # 9
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Цитатаredunka ()
Или, может, TWiLight Menu ++ на самом деле не использует конкретно эти шрифты вовсе?Не все приложения пользуются TWLFontTable.dat, однозначно он используется в мануалах и в приложении настроек. Даже родной Launcher (системное меню) его не использует, у него внутри свои шрифты есть, хоть и похожие. У TWiLightMenu в ресурсах множество собственных шрифтов, но все они без кириллицы. Например.
Пока не пойму :/ Написал на гитхабе, жду ответа.
Господа и дамы, такой "технический" вопрос: Чем пересобирали ром? Попробовал Тинки, DSLazy и кристалл на примере dsiware рома Cave Story - тинке и лейзи портят иконку и ром вешает консоль. Кристалл - просто чёрный кран при запуске
Дата: Понедельник, 31.12.2018, 10:55 | Сообщение # 10
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Ром пересобирать... Можно чем угодно что работает с DS работать с файлами(только banner.bin тут другие(больше по размеру чем проги для DS хотят), т.к. + анимация ещё, утилитки их портят, но в кристале можно сделать и все crc пересчитать, не извлекая саму иконку, т.к. размер неправильный всё равно показывает), главное после всех изменений хеши пересчитывать. Для этого надо где-то(я не умею) в исполняшке(ARM9) найти ключ(оказался одним для всех) и понять что нужно считать, а что нет: NTR, Icon, ARM9. ARM9 без Secure Area и т.п. вплоть до оверлеев если они есть и правились. Ну и про зашифрованные i-армы ещё помнить. Т.е. проще всего какой-нить прогой без пересборки файлики менять, но MetLob определённо пересобирал чем-то типа ndstool или Thinke-модифицировал... Надо смотреть и читать Мартина и MetLob'a чтобы во всём этом разобраться, ну и метод проб и ошибок ещё: в мечах, например, при изменении арм9, если хеши для него пересчитать - поломается, а если их не трогать при исправлении арм9 - то всё хорошо, только логика тут не ясна. Т.е. везде свои нюансы...
Типа сообщения MetLob'a из "Famicom Wars DS - Ushinawareta Hikari - English Patched, ver 25 Dec 2017 [MetLob]" (на мумуленде вроде pedro где-то выкладывал)
Т.е. всё сложно и достаточно индивидуально, хотя вроде как и систематизировано, для каждой игры. Ну или может ещё кто расскажет чего. )
+ самоцитата про кристал и прочие проги из ветки про спиритов
Цитата
Добавлено (03.09.2012) --------------------------------------------- По поводу CristalTile2. Мощная штука. Мусора правда немного своего добавляет чем портит header, так что всё равно, нужно будет редактировать в Hex. А так, да, поинтеры пересчитывает (даже вставил так же как я вручную, только быстрее). Есть ещё NitroExplorer, который так же может пересчитывать, он попроще, но у него свои недостатки. Но всё равно удобнее в NDS Top System заменять файлы одинакового размера, например bmg.
Дата: Понедельник, 31.12.2018, 18:06 | Сообщение # 11
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Что-то нифига у меня с кристаллом не получается, даже не знаю, почему. Мучился Cave Story, ну ни в какую не работает ром после замены любого файла. По сути форматов в DSi версии всё то же самое, что и в 3DS, только графика в bmp, а не png. Может кто-то попробует из моих сырцов перевода собрать рабочий ром? В архиве шрифты и пачка файлов с текстом. Это конечно не всё и нужно будет ещё поискать таблицу ширины символов к шрифтам (на 3DS я это проходил уже) и заменить некоторую графику, но это дело наживное... Разобраться бы со вставкой.
Жаль, MetLob куда-то пропал, нигде не отвечает на сообщения и сайт его лёг по окончанию хостинга :/
С наступившим! Фокс, отлично. Поищу, где в dsi таблица ширины глифов лежит. Проводя аналогию с 3ds версией, где таблицы лежали в code.bin, предполагаю, что тут они в arm9 хранятся.
Сообщение отредактировал lupus - Вторник, 01.01.2019, 18:51
Ну вот. Забыл убрать немножко бяки оставленной кристалом и иконка испортилась в меню: crc16(вторая и третья) побились, кристалл же не знает, что для Dsi(9152 байта) баннер несколько больше чем для DS(2112 байт)...
Цитата
0840h 100h Title 6 Chinese ("") (Version 0002h and up)
Возвращаюсь вопросу twl шрифтов, аналогичных тем, что используются в мануале four swords и для вывода интерфейса ui twilight menu ++: В твилайт меню они сдамплены в пнг и не имеют кириллицы, нашёл, откуда растут ноги: https://github.com/chyyran/TWLFontTools/tree/master/generated Там лежат оба полотна шрифтов и рядом разметка к ним в xml. Фокс, раз уж ты поправил таблицы ширины русских глифов, можешь ли поделиться ими, чтобы не проделывать эту работу дважды?
С текстом закончено. Неожиданно упёрся в графику. Вроде, простые индексированные bmp, но не отображаются корректно после правки фотошопом и пейнтом :/ Разбираюсь...
Попутно, спрошу, баннер и иконку править чем можно? Хочу приписать «RU», как в русской зельде.
Оставлю ещё такую картинку про CRC16 в баннере, для наглядности.
Цветом помечены сами чексуммы, их четыре штуки. Из окошка в правом нижнем углу должно быть понятно, для каких участков они считаются. На всякий случай, порядок байтов обратный, т.е. 0x8E5F = 0x5F8E, и т.д.
FoX_XoF, redunka, спасибо, начал читать и гуглить на тему анимированных иконок dsi, наткнулся на готовую софтинку: https://gbatemp.net/threads.....440178
Открыл ром, внёс изменения, нажал write - готово. На железе всё ок.
lupus, видели мы эту прогу, но сотрудничать она не очень хотела. Может она конечно и умеет всё, а я не понял.
Ну да, наверное умеет, только иконку же сначала вытянуть надо, не? Т.е. видимо я пытался редактировать обрезок тогда когда прогу нашёл. ) Ну что ж по старой "комсомольской" традиции был выбран обходной маршрут. )
+ Но кажется она что-то таки в баннере в конце меняет сама, бонусом наверное. В палитрах что ли...
А я же тогда тоже пробовала в ней редактировать. =P
Цитатаredunka ()
Но разве та вчерашняя прога совсем ничего не умеет с этими иконками? Я маленько пробовала, и она, вроде, и рисовать на них позволяет, только что сохранять иконку она умеет только отдельно от рома, но она получается полная и уже с пересчитанными CRC16. Или чего-то там всё равно не хватает?
Только она, оказывается, и прямо в роме может баннер перезаписывать, я просто проглядела.
Ну и хорошо, что работает, хоть что-то совместимое с DSi играми. )
С графикой в этой игре я намучался, и так и сяк и наперекосяк сохранял её и палитры оригинальные подсовывал, но не получалось ничего. В итоге, открыл эти bmp в молестере и вынимал куски для редактирования фотошопом, после чего назад вставлял тем же макаром. Пару картинок ещё домучать осталось... К слову, на эмуляторе у меня так и не вышло запустить игру, все тесты на железе.
Дякую. Я родную иконку решил не трогать, только в баннер вписал Rus v1.0, а с фложком - это опциональный боксарт, только для пользователей кастома для DSi
Поздравляю с релизом! Я с опозданием, но лучше поздно, чем никогда, так ведь? Надеюсь когда-нибудь в будущем увидеть ешё больше DSiWare-ромхаков.
Замечательно работает и на 3DS, хотя сомнений и не было:
P.S. Когда ещё только пробовала запускать игру несколько дней назад, всё не могла понять, почему спрайт главного героя выглядит иначе, ибо не знала про пасхалки с сезонными костюмами. )))
redunka, спасибо. Была мысль перевести Dark Void Zero. В плане хакинга всё просто, но сходу не разобрался с поинтерами и отложил. Переключился на пару игр для DS - метроидвании про Человека-Паука. Если вдруг на досуге появится желание и возможность глянуть - буду признателен и поставлю в очередь.
Если вдруг на досуге появится желание и возможность глянуть - буду признателен и поставлю в очередь.
Хорошо, тогда я поправлю батник для пересчёта хешей и пришлю в личку. Сомневаюсь, что от меня тут может быть ещё хоть какая-то польза, ибо мало что умею. ) Но хоть тестировать тогда спокойно можно будет.