Полная Версия: misc обьекты в маппере и редакторе димса
Fakeman
[Отдельный вопрос — отдельная тема. Ок? {Wozrogdenec}]

Jordan можешь помочь с мапером димса? -, критический баг нужно найти и исправить, ты же вроде как я вижу в с++ понимаешь.
Сразу напишу в чем баг — если в бис мапере на карту поставить misc обьект не являющийся сеткой выхода, то открыть такую карту в димс мапере невозможно, такая же ситуация если поставить misc обьект в самом редакторе димса, то он ломает карту для игры но карта открывается в его редакторе — в общем димс редактор думает что все обьекты misc начиная со второго(с первым обьектом все норм) являются сетками выхода и добавляет к ним лишние байты в карту. т.е. присваивает неверный подтип(exitgrid) для обьекта.
jordan
Fakeman

Принял. Покопаюсь в сорцах. Не подскажешь какую ошибку выдаёт маппер? В исходниках есть список ошибок, по ним можно найти в каком месте стоит проверка.
Fakeman
Если поставить объект в бис то на этапе загрузке профайлов карты в димс идет ошибка по количеству индексов какого-то массива. (List index out of bounds -1).

Тут выяснились новые подробности бага — если на пустую карту поместить любой misc объект только в одном экземпляре! то бага при загрузке не происходит, баг происходит только если объектов 2 и более, тут действует исключение с зелеными сетками выхода(ID16...23), блокираторами прокрутки(ID12) и объекта ID1 с ними бага не возникает.
получается все, что выходит из этого диапазона ID создает баг при загрузке.

я в коде(objset.cpp) нашел такие строчки
CODE
case 0 : // misc type
        return (nObjID == 1 || nObjID == 12) ? 88 : 104;

тут по идеи должно быть так return (nObjID >= 16 && nObjID <= 23) ? 104 : 88;
88 и 104 — это длина в байтах для ExitGrid он равен 104
может в этом кроется весь баг?


Отправлено: 3 июл 16 03:13
да так и есть исправил все неверные строки, и теперь работает.
все спасибо, помощь больше не требуется :)
Ethereal
А что такого интересного можно поставить на карте из категории misc? Там кроме сеток входа и непроходимых клеток, только эффекты взрывов и полёта снарядов. Понятно, что оно глючит, если ставить эти эффекты, на карту. Просто, видимо, создатели мапперов не смогли сделать видимыми только сетки входа и непроходимые клетки, из этой категории.
Fakeman
QUOTE
А что такого интересного можно поставить на карте из категории misc?

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

к тому же там есть один маленький неиспользуемый объект под номером 5, в мапперах он отображается как служебный в игре его не видно, и его можно использовать под свои нужды, что я и делаю.
jordan
QUOTE

Fakeman


Ты маппер чем, компилишь? Вроде он на С++ билдере написан. Кинь ссылку на исправленный маппер а в архив добавь исходники. Ну и добавь в редми своё исправление.
В коем то веке, в маппере ошибки исправляют.
Fakeman
Ну я билдер 6 скачал. Хорошо потом архив дам.

Dims Mapper2 v0.99.2
Ваш ответ: