Новости:

01.01.2017: Релиз испанской версии Naruto - Ninja Council (GBA)
02.12.2016: Добавлена документация по Kruptar 7
09.10.2015: Обновление перевода игры Battletoads (NES) [версия 1.3]
22.01.2015: Kruptar Open Source
18.10.2014: Релиз обновлённой русской версии Castlevania - Dawn of Sorrow (GBA) от Owls Group
01.05.2014: Релиз русской версии Taiyou no Yuusha Firebird (NES)
24.06.2012: Добавлена доработанная документация и инструкция
26.05.2012: Обновление ORITON [версия 2.050]
11.05.2012: Обновление ORITON [версия 2.048]
11.03.2012: Обновление Kruptar 7 [версия 7.1.1.17]
29.01.2012: Обновление LZ77Restructor 2 [версия 1.02]
01.01.2012: Релиз русской версии Drill Dozer (GBA)

Подробнее на страничке новостей.
Ознакомьтесь с правилами нашего форума.

Главное меню

Kruptar

Автор Alex, 20 февраля 2009, 14:02:55

« назад - далее »

0 Пользователи и 7 гостей просматривают эту тему.

Alex

Возникла парочка вопросов по круптару:

1) Есть ли возможность автоматом добавлять нули в конец файла, если места в оригинале не хватает?

2) Есть у меня, к примеру, игра в двухбайтовой кодировке и за окончание строки отвечает код h0000, но круптар все время теряет 1 ноль и приходится ставить h000000 - тогда все нормально. Но когда в файле встречается штук 8 этих нулей подряд - один или два все время теряются и приходится дописывать вручную. Как быть?  :)

Джинни

Цитата: Alex от 20 февраля 2009, 14:02:55
1) Есть ли возможность автоматом добавлять нули в конец файла, если места в оригинале не хватает?
Есть. Просто указать в "Блоки для текста" начальный и конечный адрес блока, куда нужно вставить текст.
Цитата: Alex от 20 февраля 2009, 14:02:55
2) Есть у меня, к примеру, игра в двухбайтовой кодировке и за окончание строки отвечает код h0000, но круптар все время теряет 1 ноль и приходится ставить h000000 - тогда все нормально. Но когда в файле встречается штук 8 этих нулей подряд - один или два все время теряются и приходится дописывать вручную. Как быть?  :)
А это по-моему было только в шестой и пятой версии. Мне казалось, в седьмой это исправлено...

Alex

ЦитироватьЕсть. Просто указать в "Блоки для текста" начальный и конечный адрес блока, куда нужно вставить текст.
Если указать в блоках адрес больше, чем есть файле, то круптар просто не видит файл куда вставлять текст.

ЦитироватьА это по-моему было только в шестой и пятой версии. Мне казалось, в седьмой это исправлено...
У меня такое творится в последней версии с сайта. Ну да ладно, я уже привык )

Джинни

Цитировать
Если указать в блоках адрес больше, чем есть файле, то круптар просто не видит файл куда вставлять текст.
Всё он прекрасно видит. Постоянно вставляю за пределы оригинального рамера без всяких проблем.
Пример:
Размер рома $200000.
Хотим расширить его на 65536 байт.
Добавляем диапазон 200000-20FFFF и пользуемся.
Ром расширяется. Текст вставляется в указанный диапазон, если пойнтеры позволяют конечно. Если они двухбайтовые и находятся далеко от этого места, то естественно нужно менять код игры.

Цитировать
У меня такое творится в последней версии с сайта. Ну да ладно, я уже привык )
Если кодировка двухбайтовая, поставь ptAlign = 2. Должно помочь.

щербаков5

И не забудь о моей КНОПОЧКЕ! :)

Alex

Не хочет что-то он у меня работать. При увеличении диапазона пишет "Файл не найден" и наглухо виснет. Поинтеры 4-байтовые, все должно, по идее, вставляться.

А если поставить PtAlign=2, то вместо текста извлекается не пойми что.

Джинни

Найдена ошибка со всем этим. Сейчас исправляю.

Джинни

Качайте новую версию:
http://magicteam.net/progs/Kruptar.v7.0.0.85.rar
Только, если там будут какие-то новые ошибки, прошу сразу сообщить. :)

Alex

Теперь все отлично работает, но кое-что все же осталось )

У меня в роме есть 5 поинтеров подряд, указывающих на $00000000, а так как код окончания строки $0000, то и видит он, похоже, только первую пару нулей. Вторую пару вставлять не хочет.

Джинни

Ну это уже добавь дополнительный код окончание со значением 00000000.

щербаков5

И про кнопочки не забыл. Уря!  *F_COOL*

Mefistotel

Привет Джин!
У меня возникли проблемы с 7 Круптаром. Надеюсь, ты мне поможешь. :)
В общем, игра Neutopia (U). Я составил проект, подключив пойнтеры в файле. Потому как они расположены не упорядоченно, а с разными интервалами между друг другом.
Вставил немного текста. Решил проверить. И вот, выявилось, что после первого диалога со старушкой, в конце остается мусор... Лишние пробелы и точка, и даже запятая. И ещё даже не окончен диалог. Вот скрин.
Стопбайт - F2, байт переноса строки - F1. Я решил проверить всё ли верно делает Круптар, открыв ром в хексредакторе. Но там с первого взгляда всё правильно. Идёт текст, за ним стопбайт и следующий текст и никаких пробелов и прочего. И пойнтеры верно пересчитаны. Вот пару скринов.

Откуда берутся эти лишние пробелы? ::)
P.S. Я вот тоже хотел написать про быстрый запуск эмуля, а ты уже подправил. Спасибо. *FRIENDS*
Ещё интересует, нельзя ли сделать ,чтобы окно, которое появляется после пересчета пойнтеров, исчезало автоматически, как в 6 версии. Чтобы не приходилось жать крестик постоянно.
И можно ли в 7 версии вытащить в файл? То есть не просто копируя, а опцией, типо вынуть текст. Ну это мелочи.

JurasskPark

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

P.S. Я как админ могу писать самые сумасшедшие идеи.  %)

P.S.S. У папки прикольное название "Игровой портал"! :) Звучит то как! :)

Guyver

И ещё в древовидной структуре в самом левом окне добавить яркий цвет выделенному элементу, а то выберешь например фразу - а поинтер выбранный отображён сереньким цветом, не видно какой именно из списка выбран...

Группы

поинтеры

Лист1

00В560
00В562
00В564
00В566

Я вот об этих поинтерах, в левом окне древовидной структуры, да и вообще обо всех элементах...

В смысле цвет пропадает с потерей фокуса, а надо чтобы он оставался...

JP: Володя, не хулигань. (:

Mefistotel

ЦитироватьПервый взгляд ламера и первая мысль было о том, что проблема в том, что длина переведенных строк больше среднего значения оригинальных строк, которые нельзя превышать, т.е. максимум символов, которые можно написать в строке. Улыбка
Твой ламерский взгляд, вероятно, мне не поможет. Максимальная длина символов в строке- 30. И если ты что-то превысишь, то текст просто выводится на другой строке.Так в многих играх. Здесь ничего не превышено.
На скриншоте явно видно, что текст закончился на "любовь Принцессы", а пробелы и символы почему-то остались. Если вставлять аналогичный текст хексредактором, то такой траблы нет. Как только процессор считает F2, диалоговое окно должно быть закрыто.

Джинни

Возможно перед или после F2 должно быть ещё что-нибудь?

Mefistotel

Нет. Я по-моему разобрался.  :) Круптар ставит нули в конец участка переводимого текста, если остается свободное место. Так вот, а байт пробела в этой игре $CF. И на нули она как-то неадекватно реагирует. Заменив нули в свободном месте на CF, всё стало нормально, за исключением нескольких пойнтеров. Но это уже, видимо, мой косяк. Исправлю.

Alex

Появился еще один вопрос по поинтерам:

Имеем 4-байтный поинтер со значением 00000001h, адрес строки, на которую указывает поинтер - 0187E9h.
Чтобы посчитать смещение, нужно вычесть 0187E9h-01000000h,но это получается отрицательное число и я никак не могу записать его в круптар :(

JurasskPark

Хекс-числа с минусом пишутся таким образом: hFFFFFFFF - это -1  %)


Джинни

Цитировать0187E9h-01000000h
Может не $01000000 (потому что это целых 16 мегабайт), а всего лишь $01????

А вообще отрицательные значения легко вводить, просто это надо делать в десятичном виде:
вводишь -123, получаешь hFFFFFF85.

Alex

А, все, разобрался :) Просто нужно было поставить Motorola TRUE :)

Alex

Теперь проблема с окончанием строки...

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

Можно ли это как-то обойти? Может, добавить эту последовательность в исключения?
Если в таблице символов написать 1A06FF000001=<Red>, то круптар все равно считает, что строка закончилась после первых нулей.

JurasskPark

Alex, а ты скажешь что за РОМ?  ;)

Alex

Это Zelda Twilight Princess на Куб. Хочу вот помочь Антону проект для Круптара сделать.

Джинни

Если 00 - стопбайт, то текст перестанет считываться в любом месте, где встретится этот байт. Чтобы считать такой текст полностью, нужно писать отдельный плагин, который будет учитывать комбинации с этим байтом.