Форум Magic Team
Переводы, переводы, переводы... => Ромхакинг и перевод => Тема начата: lupus от 09 Января 2011, 23:35:29
-
Привет всем, с прошедшими праздниками :)
Суть в чём:
Текст хранится в одном файле. Кодировка двухбайтовая. Сначала думал, что это юникод, но как оказалось на самом деле текст в ASCII, просто символы отделяются друг от друга нулевым байтом.
В конце каждой строки идут 4 нулевых байта.
Поинтеры хранятся в отдельном файле в таком формате:
первые 2 байты - служебные, дажее подряд идут поинтеры по 2 байта.
В конце идут 2 байта указывающие на конец файла + ещё один служебный байт.
Реально ли создать такой проект в круптаре?
Если да, то подскажите плиз, как...
Во вложении пример файла с текстом и поинтерами к нему.
Заранее спасибо.
-
А может утилитку написать? :)
-
Нет, из отдельного файла пойнтеры подгружать нельзя, но можно написать плагин, который будет загружать текст, используя эти файлы.
Но обычно для таких файлов пишут простые конверторы в txt.
-
В том-то и проблема, что я не программер. Формат разобрал, а вот софтину написать не смогу :(
Кстати в первоначальном описании допустил ошибку. Понял это сегодня стоя в пробке.
Правильнее будет так:
Поинтеры хранятся в отдельном файле в таком формате:
первые 2 байта - служебные, далее подряд идут поинтеры по 2 байта.
последний поинтер указывает на конец текстового файла.
Значения поинтеров в обратном порядке, т.е. поинтер, который указывает на адрес "0x000A" будет выглядеть как "0A00".
Соответственно никакого служебного байта в конце нет - это мой косяк.
-
Значения поинтеров в обратном порядке, т.е. поинтер, который указывает на адрес "0x000A" будет выглядеть как "0A00".
Вообще-то это обычный порядок :) Байты записываются слева направо от младшего к старшему.
-
На самом деле, первые два байта - это к-во указателей.
Ну а во-вторых, если потерпишь пару деньков, то софтину я тебе напишу. :)
-
Ок, буду ждать, сейчас как раз начальство приезжает, так что не до перевода будет.
Если можно, то естественно чтобы софтина могла с таблицей работать, а символы, которых вдруг не оказалось в таблице выводились бы в виде: <хекс код>
заранее спасибо.
-
Значения поинтеров в обратном порядке, т.е. поинтер, который указывает на адрес "0x000A" будет выглядеть как "0A00".
Это не обратный порядок, а обычное расположение байт в значении.
-
ну вы меня поняли ;)
-
nikita600, ещё не занимался софтинкой?
-
Никита уже написал её, осталось добавить поддержку таблиц и готово :)
Кстати, а почему ты решил перевести игрушку N.O.V.A. ? Неужели она так хороша? :)
-
ХЗ, понравилась мне, чем-то напомнила Coded Arms.
Сейчас, когда есть время прохожу на харде и получаю медальки.
-
В общем постараюсь сегодня добить уже :)
-
Спасибо, ждёмс ;)
-
А вот и собственно доведённая до ума программка.
Ну почти... :)