Баг в Кирандии 1

Обсуждение технических вопросов (проблемы с запуском игры, баги, глюки, баглюки)

Баг в Кирандии 1

Сообщение netsky » 23 сен 2014, 01:07

Этот баг исправить нельзя. Если игра работает больше 15 минут, то в этом месте
Изображение
зависнет. Это видно какой-то таймер в exe-нике вешающий игру в концовке если прошло больше 15 минут. Если 15 минут не прошло после запуска, то пролетит птичка и повалит статую Малколма. Можно ли избавиться от этого таймера?
Кирандия - мир дружбы, доброты и любви и никакого зла за исключением Малколма в 1-й Кирандии
Аватара пользователя
netsky
(0) Каннибал Горчичного острова
 
Сообщения: 47
Зарегистрирован: 14 июн 2008, 15:48
Откуда: Киев
Любимая часть Кирандии: 1-я
Любимые персонажи Кирандии: Брин, Дарм, Занция, Малколм
Почему Вы любите Легенду о Кирандии?: Кирандия - мир дружбы, доброты и любви

Re: Баг в Кирандии 1

Сообщение Reflector » 23 сен 2014, 20:01

Для концовки нет скриптов, значит все действительно прописано в exe, потому о исправлении этого бага наверно стоит забыть.
Reflector
(2) Житель Милтонии
 
Сообщения: 162
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Re: Баг в Кирандии 1

Сообщение netsky » 23 сен 2014, 21:46

Я смог исправить в main.exe то что напортил Катков русифицируя игру. СПК перепрограммировала exe-шник для полного перевода на русский. Я пробовал исправить баг в конце, но его исправить нельзя. Иногда этот баг не зацикливает программу а просто исчезает картинка без появления птицы и появляется картинка как Брендон вернулся домой. Просто надо щелкнуть по Кирагему вначале, а потом исчезнуть и бежать к зеркалу
Кирандия - мир дружбы, доброты и любви и никакого зла за исключением Малколма в 1-й Кирандии
Аватара пользователя
netsky
(0) Каннибал Горчичного острова
 
Сообщения: 47
Зарегистрирован: 14 июн 2008, 15:48
Откуда: Киев
Любимая часть Кирандии: 1-я
Любимые персонажи Кирандии: Брин, Дарм, Занция, Малколм
Почему Вы любите Легенду о Кирандии?: Кирандия - мир дружбы, доброты и любви

Re: Баг в Кирандии 1

Сообщение Reflector » 23 сен 2014, 23:13

У меня русские и английские exe от K1&2 одного размера, т.е. при русификации русский текст писался поверх английского и потом правились адреса, а в данном случае нужно какой-нибудь идой превратить exe, или его часть, в удобочитаемый C-ый текст в котором еще нужно будет найти ошибку... Кто этим займется?
Reflector
(2) Житель Милтонии
 
Сообщения: 162
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Re: Баг в Кирандии 1

Сообщение netsky » 25 сен 2014, 03:09

Ошибки, в переводе Тараса Каткова уже исправлены. Перевод от СПК ничего не напортил. Насчет зависания в концовке если игра запущена более 15 минут это уже дело криворуких разработчиков, так как это у меня было в оригинальной английской версии, даже без взлома где вводится название предметов при выходе из 1-й пещеры и могилы
Кирандия - мир дружбы, доброты и любви и никакого зла за исключением Малколма в 1-й Кирандии
Аватара пользователя
netsky
(0) Каннибал Горчичного острова
 
Сообщения: 47
Зарегистрирован: 14 июн 2008, 15:48
Откуда: Киев
Любимая часть Кирандии: 1-я
Любимые персонажи Кирандии: Брин, Дарм, Занция, Малколм
Почему Вы любите Легенду о Кирандии?: Кирандия - мир дружбы, доброты и любви

Re: Баг в Кирандии 1

Сообщение Reflector » 25 сен 2014, 16:29

Про пилу все помнят, у СПК криво запакованы cps(сдвинуты на пиксель вверх), но все равно я же не утверждаю, что баг появился в результате русификации, просто все успехи достигнутые в данном направлении мало что стоят когда речь заходит о поиске ошибки в С++ коде, который еще нужно получить. Ее то найти можно, но сделать это некому... С emc проще, для него уже есть декомпилятор и может быть когда-то в порыве очередного вдохновения я напишу и компилятор, а в exe я ковыряться просто не люблю :)
Reflector
(2) Житель Милтонии
 
Сообщения: 162
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Re: Баг в Кирандии 1

Сообщение Малкольмович » 02 дек 2014, 01:32

Reflector, ну там, думаю, не обязательно все в С-шный код преобразовывать, можно просто дебаггером пройтись и понять, где виснет...
Если под scummvm не виснет (в чем я практически уверен) - значит, проблема в exe, достаточно запустить игрушку под каким-нибудь досовским софтайсом, добиться появления бага, интерраптнуть её и посмотреть, где она циклится.
Вполне возможно, что это integer overflow в цикле какой-нибудь (по прошествии определенного времени счетчик переполняется и после этого условие выхода из цикла уже никогда не становится истинным). Впрочем, это правда надо лезть смотреть...
Аватара пользователя
Малкольмович
(4) помощник Мистика
 
Сообщения: 293
Зарегистрирован: 22 дек 2011, 22:09
Любимая часть Кирандии: Hand of Fate, а точнее, Darkmoor Swamp из неё =)
Любимые персонажи Кирандии: Занечка всех порулит =)
Почему Вы любите Легенду о Кирандии?: это мир, в котором можно жить, а не в который играть)

Re: Баг в Кирандии 1

Сообщение lochin2 » 10 янв 2015, 10:19

Не знаю, в тему ли.
Слушайте, я вот недавно на этой неделе решил сыграть в Кирандию 1 в четвертый раз. Я, значит, запускаю игру, пропускаю заставку... и тут же появляется такой вот баг, если его можно назвать: в начале нету пилы и какого-то камня драгоценного. Честное слово, нет пилы, а она должна быть. 6 лет назад, когда я запускал игру на старом компе, там тоже не было пилы и камня в начале. А без них пройти игру нельзя.
Жизнь, как GTA, только без сохранения
Изображение
Аватара пользователя
lochin2
(2) Житель Милтонии
 
Сообщения: 108
Зарегистрирован: 25 дек 2011, 15:03
Откуда: Уфа
Любимая часть Кирандии: Все
Любимые персонажи Кирандии: Занция - самая умная женщина Кирандии.
Почему Вы любите Легенду о Кирандии?: Потому что это смешно и интересно.

Re: Баг в Кирандии 1

Сообщение sapan » 10 янв 2015, 13:45

Здесь нормальная версия:
http://www.old-games.ru/game/download/94.html
sapan
(0) Каннибал Горчичного острова
 
Сообщения: 11
Зарегистрирован: 13 янв 2010, 23:15
Любимая часть Кирандии: 1, 2, 3 части
Любимые персонажи Кирандии: Малколм
Почему Вы любите Легенду о Кирандии?: В Кирандии чудесная история.

Re: Баг в Кирандии 1

Сообщение Siberian GRemlin » 11 фев 2015, 20:05

lochin2 писал(а):Я, значит, запускаю игру, пропускаю заставку... и тут же появляется такой вот баг, если его можно назвать: в начале нету пилы и какого-то камня драгоценного. Честное слово, нет пилы, а она должна быть.
Тарас Катков испортил файл начальной сцены в своём переводе. Это ошибка конкретного перевода, а не игры.
Siberian GRemlin
(1) Пират с острова Котов
 
Сообщения: 59
Зарегистрирован: 12 апр 2009, 10:24
Откуда: г. Красноярск
Любимая часть Кирандии: каждая
Любимые персонажи Кирандии: Зантия и многие другие
Почему Вы любите Легенду о Кирандии?: я не смог устоять перед волшебным миром

Re: Баг в Кирандии 1

Сообщение Reflector » 12 фев 2015, 20:47

Siberian GRemlin писал(а):Тарас Катков испортил файл начальной сцены в своём переводе. Это ошибка конкретного перевода, а не игры.

Кстати, я на днях разобрался почему мой декомпилятор крашится на твоем _npc.emc. Там в секции ORDR прописаны адреса двух функций и второй из них неправильный(0C2E вместо 0CD1). Непонятно вызывается ли в игре эта функция, по крайней мере мне не удалось заставить говорить Зантию о том, что она никуда не отправится без своего котелка, так что может данный баг перевода вполне себе безобиден :)
Reflector
(2) Житель Милтонии
 
Сообщения: 162
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...

Re: Баг в Кирандии 1

Сообщение Siberian GRemlin » 27 мар 2015, 10:14

Reflector писал(а):
Siberian GRemlin писал(а):Тарас Катков испортил файл начальной сцены в своём переводе. Это ошибка конкретного перевода, а не игры.

Кстати, я на днях разобрался почему мой декомпилятор крашится на твоем _npc.emc. Там в секции ORDR прописаны адреса двух функций и второй из них неправильный(0C2E вместо 0CD1). Непонятно вызывается ли в игре эта функция, по крайней мере мне не удалось заставить говорить Зантию о том, что она никуда не отправится без своего котелка, так что может данный баг перевода вполне себе безобиден :)

Я функции не менял, только текст в исходных файлах из полнодискового издания. Можешь подробнее написать где ошибка?
Siberian GRemlin
(1) Пират с острова Котов
 
Сообщения: 59
Зарегистрирован: 12 апр 2009, 10:24
Откуда: г. Красноярск
Любимая часть Кирандии: каждая
Любимые персонажи Кирандии: Зантия и многие другие
Почему Вы любите Легенду о Кирандии?: я не смог устоять перед волшебным миром

Re: Баг в Кирандии 1

Сообщение Reflector » 28 мар 2015, 20:03

В начале скрипта есть секция с адресами функций которые вызываются движком, в _npc.emc таких функций всего две. Русская и английская версии emc отличаются только текстом, потому и размеры чуть разные, а сам код скрипта и адреса в них должны быть одинаковмы. Если декомпилировать английскую версию командой "KyrExtractor.exe -k2 -fc _npc.emc", то вначале мы видим эти адреса: 0x0620 и 0x19A2. В бинарном виде они расположены со смещение 0x14 от начала файла и поделены на два: 0014h: 03 10 0C D1. По второму адресу расположена функция следующего содержания:
Код: Выделить всё
    gCursorState = 1;
    if (gCursorItem == Item.None)
    {
        ZanthiaChat("My trusty camping cauldron...", vocLow: 177);
        ZanthiaChat("I wouldn't leave home without it.", vocLow: 178);
        return gCursorState;
    }
    gCursorState = 0;
    return gCursorState;

В твоем emc второй адрес равен 0x0C2E(0x185C) и ссылается куда-то на середину условного оператора, потому команда "KyrExtractor.exe -k2 -ru -fc _npc.emc" приводила к крашу декомпилятора. Поменяй 0x0C2E на 0x0CD1 и все будет работать правильно, если, конечно, эта функция вообще-то когда-то вызывается.
Reflector
(2) Житель Милтонии
 
Сообщения: 162
Зарегистрирован: 11 сен 2010, 16:44
Любимая часть Кирандии: 2
Любимые персонажи Кирандии: Занция
Почему Вы любите Легенду о Кирандии?: Ностальгия...


Вернуться в Техничка

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

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

cron