Fakeman
2 July 2016 | 13:58
[Отдельный вопрос отдельная тема. Ок? {Wozrogdenec}]
Jordan можешь помочь с мапером димса? -, критический баг нужно найти и исправить, ты же вроде как я вижу в с++ понимаешь.
Сразу напишу в чем баг если в бис мапере на карту поставить misc обьект не являющийся сеткой выхода, то открыть такую карту в димс мапере невозможно, такая же ситуация если поставить misc обьект в самом редакторе димса, то он ломает карту для игры но карта открывается в его редакторе в общем димс редактор думает что все обьекты misc начиная со второго(с первым обьектом все норм) являются сетками выхода и добавляет к ним лишние байты в карту. т.е. присваивает неверный подтип(exitgrid) для обьекта.
jordan
2 July 2016 | 17:07
Fakeman
Принял. Покопаюсь в сорцах. Не подскажешь какую ошибку выдаёт маппер? В исходниках есть список ошибок, по ним можно найти в каком месте стоит проверка.
Fakeman
2 July 2016 | 18:28
Если поставить объект в бис то на этапе загрузке профайлов карты в димс идет ошибка по количеству индексов какого-то массива. (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
7 July 2016 | 07:09
А что такого интересного можно поставить на карте из категории misc? Там кроме сеток входа и непроходимых клеток, только эффекты взрывов и полёта снарядов. Понятно, что оно глючит, если ставить эти эффекты, на карту. Просто, видимо, создатели мапперов не смогли сделать видимыми только сетки входа и непроходимые клетки, из этой категории.
Fakeman
8 July 2016 | 17:13
QUOTE |
А что такого интересного можно поставить на карте из категории misc? |
да по дефолту там нет ничего интересного.
но можно добавить свое, у misc объектов есть особенность с ними игрок не может взаимодействовать.
в данном случае я помещаю туда падающие тени от крупных объектов логично же, что с тенью нельзя взаимодействовать?)
к тому же там есть один маленький неиспользуемый объект под номером 5, в мапперах он отображается как служебный в игре его не видно, и его можно использовать под свои нужды, что я и делаю.
jordan
15 July 2016 | 17:12
Ты маппер чем, компилишь? Вроде он на С++ билдере написан. Кинь ссылку на исправленный маппер а в архив добавь исходники. Ну и добавь в редми своё исправление.
В коем то веке, в маппере ошибки исправляют.
Fakeman
15 July 2016 | 18:37
Ну я билдер 6 скачал. Хорошо потом архив дам.
Dims Mapper2 v0.99.2