Определение кодировки

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Определение кодировки

Сообщение Создатель » 02.10.2005 (Вс) 9:35

Тема про старые игры вдохновила меня на написание редактора солдат для ufo1. (Тем более у меня самого версия с неправильным отображением имен солдат) Вот только как можно определить кодировку, в которой находятся имена? В hex я нашел, например вот:

4e 4e 69 62 6a 20 5a 76 66 63 66 72 62 - ТТшио Ямасаки
43 66 6e 66 20 46 72 62 68 66 - Сата Акира
56 66 63 66 79 6a 68 62 20 42 69 62 - Масанори Иши
46 64 75 65 63 6e 20 43 6e 74 61 66 79 63 - Август Стефанс

Короче как это все преобразовывать? Не вручную же каждую букву проверять...

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 02.10.2005 (Вс) 10:18

Создать словарь - байт/символ и по нему преобразовывать.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 02.10.2005 (Вс) 10:58

Так в этом то и проблема. Чтобы создать словарь, придется все символы вручную преобразовывать. Да еще врятли я встречу в именах такие символы как "ъ" или "ь".
Иначе это сделать никак?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 02.10.2005 (Вс) 11:09

Самому написать длиннющие имена (01 02 03 04 ....) и определить, какая буква на каком коде повешена.

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 02.10.2005 (Вс) 11:32

Я все же допер! На самом деле все проше. Короче так: все эти значения в простых аски. Только буквы там английские, а потом keyrus'ом переделываются по типу qwerty = йцуке. Теперь дело техники.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.10.2005 (Вс) 13:45

Редактор UFO я уже написал. Полностью для всего, включая начертание шрифта и кнопки рядом с глобусом.
Правда, это было давно, поэтому если я захочу его выложить, то буду переделывать.


А остальной текст у тебя русский?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 02.10.2005 (Вс) 14:10

Остальной текст русский. А вот насчет шрифта- это бы было круто, а то у меня буквы одна на другую налаживаются(в версии под вин), но скорей всего это из-за дополнительных файлов, которые обеспечивают поддержку для винды.

Кстати, может подскажешь какие максимальные значения для параметров? А то допустим под кол-во миссий выделяется два байта, можно было бы предположить, что в hex'е максимальное значение должно быть FFFF , а не тут-то было. При FFFF значение миссий становится равным -1. В чем прикол, догнать не могу...

ЗЫ: может все-же выложишь свою творение? (неужели там все так плохо :) )

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.10.2005 (Вс) 14:14

Да, там всё так плохо.
Там всё так плохо вплоть до того, что вместо создания экземпляров класса используется копипаст кода.

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.10.2005 (Вс) 14:18

Что касается имён солдат, а также начального текста при запуске игры, то тут фишка в том, что это всё хранится в exe, в отличие от всего остального текста. В exe же хранится и ширина каждой буквы файла шрифта. Соответственно, при изменении начертания шрифта надо лезть в exe по определённому смещению и править там соответствующие 4 байта (причём система странная донельзя: на одну букву отводится 4 байта, причём в качестве ширины буквы выбирается тот из 4 байтов, который имеет наибольшее значение... может, это просто я чего-то недопонял, но все эксперименты показали именно это). Что, собственно, было самой большой проблемой, потому что я не был уверен, что это смещение будет всегда одно и то же.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 61

    TopList