Перейти на сайт Zelda64rus Четверг, 26.12.2024
Новые сообщения · Участники · Правила форума · Поиск · RSS

  • Страница 1 из 1
  • 1
Ромхакинг Nintendo DSi
lupusДата: Четверг, 27.12.2018, 18:08 | Сообщение # 1
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Цитата FoX_XoF ()
Ну и с руководством стало чуть понятнее где собака зарыта: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
 
lupusДата: Четверг, 27.12.2018, 20:10 | Сообщение # 2
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Попробовал запустить на железе: dsi 1.4.5e с hiya cfw, twilight menu и ndsbootstrap.
Мануал по установке кастома есть на dsi.cfw.guide
Просто закидываем .NDS версию перевода с раздачи на рутрекере и запускаем из меню.
Вуаля!

Прикрепления: 9396617.jpg (188.7 Kb) · 8468733.jpg (56.3 Kb)
 
FoX_XoFДата: Четверг, 27.12.2018, 20:21 | Сообщение # 3
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Софта конечно же нет. redunka даже никакого упрощающего скрипта не написала. (

NFTRedit для правки ширин.
blz - для распаковки\запаковки шрифтов.
WinHex - для вырезания\вставки запакованных шрифтов в twlfonttable.dat и для изменения их размеров в заголовках и для подсчёта хешей тоже. (Размер файла без выравнивающих нулей брать надо, т.к. заголовок у сжатых blz шрифтов снизу, на картинке по трём нижним хешам видна длина каждого шрифта).
Всё ручками - только хардкор.


Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Вторник, 29.01.2019, 16:46
 
lupusДата: Четверг, 27.12.2018, 20:45 | Сообщение # 4
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Спасибо.
Хм, пропатчил. Закинул на карту DSI патченный файл, мануал не повис, но и русских букв в меню не увидел. Не пойму, читается ли он из нанда или с карты.

Кириллица изначально есть в этих шрифтах и ты только ширину поправил?

Тут пишут:
http://dsibrew.org/wiki/Nand/sys/TWLFontTable.dat

Цитата
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

Какая из этих кодировок для кириллицы используется?
 
FoX_XoFДата: Четверг, 27.12.2018, 20:55 | Сообщение # 5
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Цитата lupus ()
Просто закидываем .NDS версию перевода
Значит читается шрифт из нанда, для того чтобы он читался с карты надо установить игру на карту (SRL2Hiya в помощь).
Так в мануале и не будет русских букв, он же на английском оставлен. Мануал в роме живёт. )

Кодировка Unicode (- 1 byte Encoding byte: - 0/UTF-8 - 1/UTF-16 - 2/S-JIS - 3/CP1252) байт = 01 => UTF-16

Прикрепления: 5295990.jpg (58.3 Kb)


Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Четверг, 27.12.2018, 21:03
 
redunkaДата: Пятница, 28.12.2018, 06:46 | Сообщение # 6
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
Цитата FoX_XoF ()
redunka даже никакого упрощающего скрипта не написала. (

Копипастинг со stackoverflow (пусть даже с некоторой адаптацией) "написанием скриптов" трудно назвать, самостоятельно я ничего не умею. sleep

Цитата lupus ()
Просто закидываем .NDS версию перевода

FoX уже ответил, но я уточню.
Запуск DSiWare в формате .NDS идёт через одну из стандартных фич Unlaunch, минуя HiyaCFW, поэтому ничего с SDNAND грузиться не будет.
Надо ставить "традиционным" способом через вышеупомянутую SRL2Hiya, и сделать ярлычки для TWiLight Menu++ через launcharggen, как написано в том же гайде.

В любом случае, нет особого смысла что-то делать со шрифтом, пока ни у одной из CFW нет патчей от проверки его подписи.
Эмулятору no$gba можно скормить подделанную (но валидную) расшифрованную подпись, но консоли такую не примут.
Для русского языка в TWiLight Menu++, наверное, им проще будет реализовать поддержку внешних шрифтов, но это только для самого меню, ибо мануалы в играх всё равно будут использовать системный.


Сообщение отредактировал redunka - Пятница, 28.12.2018, 06:46
 
lupusДата: Пятница, 28.12.2018, 11:49 | Сообщение # 7
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Судя по всему, TWiLight Menu ++ и так грузит шрифты из sdnand. Пытаюсь с этим разобраться.
 
redunkaДата: Суббота, 29.12.2018, 06:45 | Сообщение # 8
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
Цитата lupus ()
Судя по всему, TWiLight Menu ++ и так грузит шрифты из sdnand.

Или, может, TWiLight Menu ++ на самом деле не использует конкретно эти шрифты вовсе?
Не все приложения пользуются TWLFontTable.dat, однозначно он используется в мануалах и в приложении настроек.
Даже родной Launcher (системное меню) его не использует, у него внутри свои шрифты есть, хоть и похожие.
У TWiLightMenu в ресурсах множество собственных шрифтов, но все они без кириллицы.
Например.
 
lupusДата: Понедельник, 31.12.2018, 10:03 | Сообщение # 9
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Цитата redunka ()
Или, может, TWiLight Menu ++ на самом деле не использует конкретно эти шрифты вовсе?Не все приложения пользуются TWLFontTable.dat, однозначно он используется в мануалах и в приложении настроек.
Даже родной Launcher (системное меню) его не использует, у него внутри свои шрифты есть, хоть и похожие.
У TWiLightMenu в ресурсах множество собственных шрифтов, но все они без кириллицы.
Например.
Пока не пойму :/ Написал на гитхабе, жду ответа.

Господа и дамы, такой "технический" вопрос:
Чем пересобирали ром? Попробовал Тинки, DSLazy и кристалл на примере dsiware рома Cave Story - тинке и лейзи портят иконку и ром вешает консоль. Кристалл - просто чёрный кран при запуске sad
 
FoX_XoFДата: Понедельник, 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.


Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Вторник, 01.01.2019, 17:10
 
lupusДата: Понедельник, 31.12.2018, 18:06 | Сообщение # 11
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Что-то нифига у меня с кристаллом не получается, даже не знаю, почему.
Мучился Cave Story, ну ни в какую не работает ром после замены любого файла. По сути форматов в DSi версии всё то же самое, что и в 3DS, только графика в bmp, а не png.
Может кто-то попробует из моих сырцов перевода собрать рабочий ром?
В архиве шрифты и пачка файлов с текстом. Это конечно не всё и нужно будет ещё поискать таблицу ширины символов к шрифтам (на 3DS я это проходил уже) и заменить некоторую графику, но это дело наживное...
Разобраться бы со вставкой.

Жаль, MetLob куда-то пропал, нигде не отвечает на сообщения и сайт его лёг по окончанию хостинга :/
Прикрепления: CS.7z (1.73 Mb)
 
FoX_XoFДата: Вторник, 01.01.2019, 16:14 | Сообщение # 12
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Anton, Полагаю надо как-то отделить эту ветку от Мечей...

Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Воскресенье, 03.02.2019, 09:23
 
AntonДата: Вторник, 01.01.2019, 16:28 | Сообщение # 13
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
 
redunkaДата: Вторник, 01.01.2019, 17:13 | Сообщение # 14
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
 
AntonДата: Вторник, 01.01.2019, 17:20 | Сообщение # 15
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата redunka ()
P.S. Кого не видела ещё - всех с Новым Годом! )

Взаимно! )
 
lupusДата: Вторник, 01.01.2019, 18:37 | Сообщение # 16
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
С наступившим!
Фокс, отлично. Поищу, где в dsi таблица ширины глифов лежит.
Проводя аналогию с 3ds версией, где таблицы лежали в code.bin, предполагаю, что тут они в arm9 хранятся.


Сообщение отредактировал lupus - Вторник, 01.01.2019, 18:51
 
FoX_XoFДата: Вторник, 01.01.2019, 21:12 | Сообщение # 17
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Ну вот. Забыл убрать немножко бяки оставленной кристалом и иконка испортилась в меню: crc16(вторая и третья) побились, кристалл же не знает, что для Dsi(9152 байта) баннер несколько больше чем для DS(2112 байт)...



Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Воскресенье, 03.02.2019, 09:24
 
lupusДата: Среда, 02.01.2019, 08:20 | Сообщение # 18
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Возвращаюсь вопросу twl шрифтов, аналогичных тем, что используются в мануале four swords и для вывода интерфейса ui twilight menu ++:
В твилайт меню они сдамплены в пнг и не имеют кириллицы, нашёл, откуда растут ноги:
https://github.com/chyyran/TWLFontTools/tree/master/generated
Там лежат оба полотна шрифтов и рядом разметка к ним в xml.
Фокс, раз уж ты поправил таблицы ширины русских глифов, можешь ли поделиться ими, чтобы не проделывать эту работу дважды?
 
lupusДата: Четверг, 03.01.2019, 16:57 | Сообщение # 19
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
С текстом закончено.
Неожиданно упёрся в графику. Вроде, простые индексированные bmp, но не отображаются корректно после правки фотошопом и пейнтом :/
Разбираюсь...

Попутно, спрошу, баннер и иконку править чем можно? Хочу приписать «RU», как в русской зельде.
Прикрепления: 6224720.jpg (190.4 Kb)


Сообщение отредактировал lupus - Четверг, 03.01.2019, 19:18
 
FoX_XoFДата: Четверг, 03.01.2019, 17:35 | Сообщение # 20
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
Цитата lupus ()
Попутно, спрошу, баннер и иконку править чем можно?


Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Воскресенье, 03.02.2019, 09:25
 
redunkaДата: Четверг, 03.01.2019, 18:48 | Сообщение # 21
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
Оставлю ещё такую картинку про CRC16 в баннере, для наглядности.

 
lupusДата: Пятница, 04.01.2019, 16:24 | Сообщение # 22
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
FoX_XoFredunka, спасибо, начал читать и гуглить на тему анимированных иконок dsi, наткнулся на готовую софтинку:
https://gbatemp.net/threads.....440178

Открыл ром, внёс изменения, нажал write - готово. На железе всё ок.
 
FoX_XoFДата: Пятница, 04.01.2019, 17:29 | Сообщение # 23
Зора
Группа: Пользователи
Сообщений: 379
Статус: Оффлайн
lupus, видели мы эту прогу, но сотрудничать она не очень хотела.
Может она конечно и умеет всё, а я не понял.

Прикрепления: 9795209.jpg (72.7 Kb)


Идея настолько глупа, банальна и наляписта, но...(Ц)

Сообщение отредактировал FoX_XoF - Воскресенье, 03.02.2019, 09:27
 
redunkaДата: Пятница, 04.01.2019, 18:09 | Сообщение # 24
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
А я же тогда тоже пробовала в ней редактировать. =P

Цитата redunka ()
Но разве та вчерашняя прога совсем ничего не умеет с этими иконками?
Я маленько пробовала, и она, вроде, и рисовать на них позволяет, только что сохранять иконку она умеет только отдельно от рома, но она получается полная и уже с пересчитанными CRC16.
Или чего-то там всё равно не хватает?

Только она, оказывается, и прямо в роме может баннер перезаписывать, я просто проглядела.

Ну и хорошо, что работает, хоть что-то совместимое с DSi играми. )
 
lupusДата: Пятница, 04.01.2019, 21:33 | Сообщение # 25
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
С графикой в этой игре я намучался, и так и сяк и наперекосяк сохранял её и палитры оригинальные подсовывал, но не получалось ничего.
В итоге, открыл эти bmp в молестере и вынимал куски для редактирования фотошопом, после чего назад вставлял тем же макаром. Пару картинок ещё домучать осталось...
К слову, на эмуляторе у меня так и не вышло запустить игру, все тесты на железе.

Добавлено (07.01.2019, 18:29)
---------------------------------------------
Друзья, всем спасибо, русик готов:
https://m.vk.com/wall479091053_30?from=feed
+ https://github.com/1upus/TTT/tree/master/DSi_Cavestory_rus


Сообщение отредактировал FoX_XoF - Пятница, 11.01.2019, 16:41
 
AntonДата: Понедельник, 07.01.2019, 21:18 | Сообщение # 26
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата lupus ()
русик готов


Мої вітання! Поздравляю! )
 
lupusДата: Вторник, 08.01.2019, 09:04 | Сообщение # 27
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
Дякую.
Я родную иконку решил не трогать, только в баннер вписал Rus v1.0, а с фложком - это опциональный боксарт, только для пользователей кастома для DSi
 
redunkaДата: Четверг, 10.01.2019, 08:35 | Сообщение # 28
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
Поздравляю с релизом! respect
Я с опозданием, но лучше поздно, чем никогда, так ведь?
Надеюсь когда-нибудь в будущем увидеть ешё больше DSiWare-ромхаков.

 
lupusДата: Вторник, 15.01.2019, 00:03 | Сообщение # 29
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
redunka, спасибо.
Была мысль перевести Dark Void Zero. В плане хакинга всё просто, но сходу не разобрался с поинтерами и отложил. Переключился на пару игр для DS - метроидвании про Человека-Паука.
Если вдруг на досуге появится желание и возможность глянуть - буду признателен и поставлю в очередь.
 
redunkaДата: Вторник, 15.01.2019, 04:13 | Сообщение # 30
Зора
Группа: Пользователи
Сообщений: 245
Статус: Оффлайн
Цитата lupus ()
Если вдруг на досуге появится желание и возможность глянуть - буду признателен и поставлю в очередь.


Хорошо, тогда я поправлю батник для пересчёта хешей и пришлю в личку.
Сомневаюсь, что от меня тут может быть ещё хоть какая-то польза, ибо мало что умею. )
Но хоть тестировать тогда спокойно можно будет.
 
lupusДата: Вторник, 15.01.2019, 10:12 | Сообщение # 31
Деку
Группа: Пользователи
Сообщений: 19
Статус: Оффлайн
 
  • Страница 1 из 1
  • 1
Поиск: