Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Анлгийский шрифт - Русский шрифт
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Качественный перевод
Предыдущая тема :: Следующая тема  
Автор Сообщение
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Пт Мар 05, 2004 11:59 pm    Заголовок сообщения: Ответить с цитатой

Оффтопик
АнС писал(а):
Цитата:
Заметил недавно новеньких из "Мигеры". У них пока самый лучший перевод Chrono Cross'a. Советую.
Хм, это случайно не та "Мегера", которая прописалась на http://shedevr.ru ?
Как ты там говорил, АнС, "умерь свою буйную фантазию" и "совпадения случайны"? Confused
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergeyK



Зарегистрирован: 02.12.2003
Сообщения: 1278

СообщениеДобавлено: Сб Мар 06, 2004 2:30 am    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Цитата:
Заметил недавно новеньких из "Мигеры".
У них пока самый лучший перевод Chrono Cross'a. Советую.


Хм, это случайно не та "Мегера", которая прописалась на http://shedevr.ru ?


Ха.... Прикол...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
MaXXik



Зарегистрирован: 17.11.2003
Сообщения: 124
Откуда: р.Беларусь, г.Солигорск

СообщениеДобавлено: Сб Мар 06, 2004 4:33 am    Заголовок сообщения: Ответить с цитатой

Даааа...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Сб Мар 06, 2004 4:48 pm    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
Оффтопик
АнС писал(а):
Цитата:
Заметил недавно новеньких из "Мигеры". У них пока самый лучший перевод Chrono Cross'a. Советую.
Хм, это случайно не та "Мегера", которая прописалась на http://shedevr.ru ?
Как ты там говорил, АнС, "умерь свою буйную фантазию" и "совпадения случайны"? Confused


А фантазию, действительно, умерь Razz
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Virtual_Killer



Зарегистрирован: 25.03.2004
Сообщения: 610
Откуда: Чекагинск

СообщениеДобавлено: Вт Мар 30, 2004 10:48 pm    Заголовок сообщения: Ответить с цитатой

Люди помоготе:
Как найти таблицу ширины сомволов?
Где её вообще можно искать?
_________________
Не поймите меня правильно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Ср Мар 31, 2004 1:22 am    Заголовок сообщения: Ответить с цитатой

Virtual_Killer писал(а):
Люди помоготе: Как найти таблицу ширины сомволов? Где её вообще можно искать?
Да где угодно... Wink Спроси у АнС'а, он крутой спец по этому вопросу! Cool
И сам я с удовольствием послушаю лекцию гуру на эту тему!...

А то, и вправду, развели тут шут знает что... оффтопик сплошной...

(лично я бы искал так: попытался бы померять, разглядывая фразы в игре, ширины букв, стоящих рядом в алфавите, ну например, ijklm; штучек так 5 букв; предположим, у меня бы получились цифры 2 3 4 2 8; я бы поискал эту последовательность байт в РОМе; если бы не нашел, попробовал бы искать +1, т.е., 3 4 5 3 9, потом -1, потом +2; если и до этого места ничего бы не нашлось, присмотрелся бы к ширинам букв в надписях еще раз; потом бы попробовал другой кусочек алфавита; если бы и тут ничего не получилось... попытался бы искать через байт, т.е. (*=любой байт) 2 * 3 * 4 * 2 * 8; скорее всего, это тоже ничуть бы не помогло, и я бы пошел к шедевровцам на поклон!... А потом бы я гордо назвал себя ром-хакером и почил бы на лаврах... Wink )
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Ср Мар 31, 2004 1:25 pm    Заголовок сообщения: Ответить с цитатой

Всё верно, только вот прикол - на GBA эти байты выравнены на 4, то есть искать надо 2 *** 3 *** 4 *** 2 *** 8. Помнится, я никак не мог до этого допереть - пришлось дебажить игру, пока не не разобрался, как она определяет ширину.
А в принципе, можно даже на символы не в игре смотреть, а в тайловом редакторе, только не всегда ширина соответствует реальной - в игре всё же точнее видно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Ср Мар 31, 2004 1:38 pm    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
Всё верно, только вот прикол - на GBA эти байты выравнены на 4, то есть искать надо 2 *** 3 *** 4 *** 2 *** 8.

Вопросы!
• А чем были заполнены эти "***", интересно?
• Чем искал? У меня нет в арсенале тулзы, позволяющей делать подобный поиск... (Писал сам по другому поводу на Бейсике, но... короче я от своего продукта не в восторге. Как говорил Ходжа Насреддин: "Я придумал новое блюдо: есть хлеб, посыпанный снегом. Правда, мне и самому не понравилось...")
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Ср Мар 31, 2004 1:53 pm    Заголовок сообщения: Ответить с цитатой

1. Нулями, конечно. Я не экспериментировал, но по-моему, это просто 32-битное число, то есть значение ширины может достигать 4 миллиардов.
Это особенности адресации армянского процессора.

2. Можно искать релатив-серчем, но тогда надо брать много букв. А вообще, раз там нули, то можно и обычным поиском.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Ср Мар 31, 2004 5:59 pm    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
...предположим, у меня бы получились цифры 2 3 4 2 8;

...ну это ты загнул Smile может назовешь такие буквы, чтобы такие размеры получились...

чаще бывает, что только у пробела и таких букв как "I","i",".",","
размеры другие, а у большинства они одинаковые, скажем 6 или 7
у букв типа "W", "M" ширина может быть 8...

поэтому я бы посоветоавл поискать последовательность типа 0606060606060606(hex) или 07070707070707070707(hex)
таких мест в роме (из тех, что я рассматривал) довольно мало
и с большой вероятностью это именно ширина...

EDIT:
...или вот еще идейка - я бы, например, упаковал ширину в полубайты
раз уж она все равно шире чем 0xF быть не может...
тогда искать нужно 6666666666666666h или 777777777777777777h
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Ср Мар 31, 2004 7:10 pm    Заголовок сообщения: Ответить с цитатой

Axel писал(а):
я бы, например, упаковал ширину в полубайты
раз уж она все равно шире чем 0xF быть не может...
тогда искать нужно 6666666666666666h или 777777777777777777h
Бессмысленно, на этом почти ничего не сэкономишь, а процедура "распаковки" будет гиморной, тормозной, и сожрёт всё место, которое ты сэкономишь... ;)

[и тут Остапа понесло]

Да ваще, кто так жмёт?! Вот я бы сделал так: все буквы рассортировал по 4-м категориям ширины, получилось бы что-то вроде справочника "ширин":

1) узкие (i,l,j) (2...3 пикселя)
2) стандартные маленькие (а,б,в,г) (5 пикселей)
3) стандартные большие и широкие маленькие (А,Б,В,ш,ф) (7 пикселей)
4) широкие большие (Ш,W,М) (9...10 пикселей)

Следующий шаг очевиден: в одном байте кодируем ширину сразу 4-х букв, по два бита на букву. Экономия - на лицо! Во как надо! Wink
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>


Последний раз редактировалось: Fish (Чт Апр 01, 2004 1:13 am), всего редактировалось 2 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
gottax



Зарегистрирован: 16.11.2003
Сообщения: 588
Откуда: Курск

СообщениеДобавлено: Ср Мар 31, 2004 8:54 pm    Заголовок сообщения: Ответить с цитатой

Axel писал(а):

поэтому я бы посоветоавл поискать последовательность типа 0606060606060606(hex) или 07070707070707070707(hex)
таких мест в роме (из тех, что я рассматривал) довольно мало
и с большой вероятностью это именно ширина...


Опаньки, я где-то такое уже видел... в CBFD....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Ср Мар 31, 2004 9:56 pm    Заголовок сообщения: Ответить с цитатой

Хе, вот тоже - я однажды (на СНЕС) нашёл сжатый текст по поинтерам (то есть, случайно нашёл поинтеры, и по ним узнал, где лежит текст, а так его вообще никак не найти было, я не псих, чтобы дебажить столько кода). А вот интересно, как ты по таблице ширины найдёшь сжатый шрифт? Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Чт Апр 01, 2004 12:56 am    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
А вот интересно, как ты по таблице ширины найдёшь сжатый шрифт? Wink
Ну, если в дебагере... то возможно, по обращениям к этой таблице, да?

(Хотя, лично я, сколько не [beeep] с FFTA из-под отладчика, так ничего и не нашел).
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
gottax



Зарегистрирован: 16.11.2003
Сообщения: 588
Откуда: Курск

СообщениеДобавлено: Чт Апр 01, 2004 10:08 am    Заголовок сообщения: Ответить с цитатой

АнС писал(а):
А вот интересно, как ты по таблице ширины найдёшь сжатый шрифт? Wink


А может шрифт располагаться сразу за таблицей ширины? Там действительно довольно интересный набор пикселей идёт, в других местах рома я ничего подобного не видел...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Чт Апр 01, 2004 10:13 am    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
Бессмысленно, на этом почти ничего не сэкономишь, а процедура "распаковки" будет гиморной, тормозной, и сожрёт всё место, которое ты сэкономишь... Wink

как это не сэкономишь В ДВА РАЗА меньше места нужно...
ты не забывай, что ты думаешь только об английских буковках,
а нужно думать о ВСЁМ шрифте, который содержит нааамного больше
(например только японских катакан и хираганами наберется еще на +340 штук) а если посмотреть скажем на весь Shift-Jis charset,
так там у тебя будет не менее 9000! символов...
вот и считай хранить 10кило в памяти или 5... что лучше?

а сделать пару операций типа
РАЗ - ширина = ширина AND 000F0000
ДВА - ширина = ширина sr 16
...проще некуда

Fish писал(а):
Да ваще, кто так жмёт?! Вот я бы сделал так [skipped] Во как надо!
Laughing
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Чт Апр 01, 2004 10:17 am    Заголовок сообщения: Ответить с цитатой

gottax писал(а):
А может шрифт располагаться сразу за таблицей ширины? Там действительно довольно интересный набор пикселей идёт, в других местах рома я ничего подобного не видел...


возможно всё :)

в сапфировых покемонах, например, ширины (одинаковые) лежат в двух разных местах...(если память мне не изменяет)
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Чт Апр 01, 2004 12:45 pm    Заголовок сообщения: Ответить с цитатой

Оффтопик
Axel писал(а):
хранить 10кило в памяти или 5... что лучше?
Эту цифру (5 кил) нужно умножить на количество картриджей, ещё умножить на цену микросхем ROM и делить на ёмкость этих же микросхем. Вот тогда можно реально узнать, что лучше, и по чём это самое "лучше"! ;)

Впрочем, едва ли есть хоть одна игрушка, которая использует всю память картриджа, вплоть до последнего килобайта... Да такую, наверное, просто и спроектировать невозможно: ведь неизвестно заранее, сколько будут "весить" все данные игры...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Axel
Советник


Зарегистрирован: 14.11.2003
Сообщения: 680

СообщениеДобавлено: Чт Апр 01, 2004 1:04 pm    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
...ведь неизвестно заранее, сколько будут "весить" все данные игры...

Smile
...в 90% случаев ЗАРАНЕЕ известно сколько будет занимать игра...
в том смысле, что издатель ЗАРАНЕЕ говорит на какой картридж
игра будет записана...
(спроси знающих людей на том-же GBX)

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

и не забывай, что есть еще и ограничения ОПЕРАТИВНОЙ памяти,
и тебе там не как виндах - сколько захотел, столько и дадут... Wink
и если в игре часто выводится текст, то тебе нужно держать
эти ширинки в оперативке...и "лишние" 5 кило в таком случае - огого сколько...
_________________
Всех их вместе переведём!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Апр 01, 2004 3:50 pm    Заголовок сообщения: Ответить с цитатой

Нет, таблица не хранится в оперативке, она читается прямо из РОМа на лету, как те же строки текста. Я тоже думал о таком сжатии, но это действительно не нужно - обычно сжимают, если речь идёт о многокилобайтных массивах. А этот способ точнее будет назвать не сжатие, а оптимизация.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Чт Апр 01, 2004 7:23 pm    Заголовок сообщения: "ширше не правильно, правильно ширее" Ответить с цитатой

Ну, знаете ли. А нафиг они вообще нужны, эти таблицы ширин? Раз мы такие экономные, можно прямо на ходу проанализировать букву на тему её "полноты", причём... причём практически без потери быстродействия! (нас интересует ширина не выводимой сейчас буквы, а предыдущей, так? ну так вот, выводим байт за байтом, и OR-им их с чем-нибудь. Затем, трёх-операторный циклик со сдвигом этого на-OR-енного значения в Carry-flag (INC,RRC, JRC), и - вуаля - ширина у нас в кармане!) Wink Very Happy Wink
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Чт Апр 01, 2004 9:26 pm    Заголовок сообщения: Ответить с цитатой

Ширина некоторых символов больше, чем их реальная ширина в пикселях. Например, ширина пробела - как ты определишь её величину? Wink В общем, не зря придумали такую вещь, как таблица.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Чт Апр 01, 2004 9:51 pm    Заголовок сообщения: Ответить с цитатой

Оффтопик - всё: Wink
АнС писал(а):
Ширина некоторых символов больше, чем их реальная ширина в пикселях.
Ой ли? Скорее наоборот, меньше. Слыхали, батенька, про кернинг?

(Шутка для тех, кто в курсе... зашел как-то по делу в типографию, приличную. А у них на двери весит объявление, мол, приём со стольки до скольки, а заголовок в нём здоровенный, и без кернинга. Когда я тамошнему манагеру за это сказал, он (верите ли?) — покраснел!)

АнС писал(а):
Например, ширина пробела — как ты определишь её величину?
Я за это уже подумал. Это единственное исключение в пропорциональном шрифте. Остальные символы, которые тоже лежат рядом со шрифтом, но не являются им (тайлики), отсеиваются еще двумя операторами ассеблера (если код символа больше чего-то там, «забить» на вычисления и считать его ширину равной размеру тайлика (и пробел, кстати, туда же можно)). Или другой вариант насчет пробела. Если через N сдвигов (в моей «программе», выше Wink (там еще одного JNZ не хватает, и это, DEC всесто INC)) ничего не найдено — считать ширину равной, например, 7.

АнС писал(а):
не зря придумали такую вещь, как таблица.
Ну,разумеется, да! Wink «Места занимает децл, а пользы от неё, между прочим, — целый вагон» (по Булгакову Wink )
Просьба считать весь этот флейм чем-то вроде первоапрельской шутки. Laughing
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
SergeyK



Зарегистрирован: 02.12.2003
Сообщения: 1278

СообщениеДобавлено: Чт Апр 01, 2004 11:16 pm    Заголовок сообщения: Ответить с цитатой

Fish писал(а):
Оффтопик - всё: Wink
АнС писал(а):
Ширина некоторых символов больше, чем их реальная ширина в пикселях.
Ой ли? Скорее наоборот, меньше. Слыхали, батенька, про кернинг?


АнС прав.
По-разному бывает.

Из своей практики.

1. Простая таблица. В тайлредакторе смотрим буквы А, В и С. Если ширину можно определить точно, то чем больше букв, тем лучше. Если вычислить точно нельзя - лучше взять пару букв. Результатов будет много, но методом экспериментов ненужные отсеиваются. Считаем количество пикселей в ширину у каждого символа (для неосведомленных - считаем в 16-ричной системе, т.е. 1 - $00). Получаем, к примеру, 06, 06 и 07. В хексэдиторе ищем либо их подряд, либо через энное количество байт.

2. Запарная таблица. Все то же самое, что и в п.1, но полученные ширины делим на 2.

3. Оригинальный случай. Не знаю, как там таблицы, но в тайлэдиторе после тайлов со шрифтом шел набор тайлов, который собирался в одну длинную линию высотой в один пиксель. Линия двухцветная. Сначала шел кусочек одного цвета, потом подрялд второго, потом опять первого и т.д. Так вот первый кусочек - это ширина первой буквы, второй - второй и т.д.

4. Бывает, что таблицы нет вообще. Т.е. программа ищет, допустим, два пробела между знаками и после них видит следующий символ.
Здесь ширину можно менять произвольно.

Может, еще что-нибудь вспомню....

PS: Первые два пункта - для тех, кто не знает ассемблер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fish



Зарегистрирован: 15.11.2003
Сообщения: 425
Откуда: издалека...

СообщениеДобавлено: Чт Апр 01, 2004 11:47 pm    Заголовок сообщения: Ответить с цитатой

На варианты (2) и (3) могу сказать только одно - "тю!"... Зачем это могло понадобиться? Не знаю Особенно (3)...

(4) - это как раз то, о чём я писал, автовычисление ширины, да? Это теоретический вариант, или такое действительно где-то попадалось?
_________________
 Однажды знакомый спросил - <Ну ты как?> <Да я... всё нормально. Нормально, чувак...>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Качественный перевод Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group