тут будет немного лирики, читать необязательно.
некоторые особенности ("не баг, а фича"):
- на вкладке с объектами разрешено множественное выделение (в т.ч. с шифтом или контролом), на вкладке с материалами - только одиночное (так надо. возможно, потом поправлю)
- при длительном использовании отъедает память
- дочерние окна меньше определенного размера увеличиваются до этого самого размера при перетаскивании
- изменение флагов материалов напрямую не влияет на сами материалы. но некоторые флаги влияют на структуру файла, это всплывет при сохранении
- снизилась скорость чтения/записи по сравнению с occl_converter'ом. взамен функция чтения/записи стала одним целым (раньше было 2 разных, с соответствующим количеством ошибок), часть параметров вынесена в отдельный массив (мне стало проще править код
)
- кнопка рефреш не дает ничего полезного, просто пересчитывает отображаемые массивы материалов/объектов (да, отображается не совсем то, что прочиталось с файла) и перерисовывает гуи
- наверное, есть еще что то, но сейчас не помню
насчет "прочитать и сохранить 4ds файл" - на самом деле, именно это главная фича. серьезно. не было бы ее - не было бы и всего остального. и именно она заняла больше всего времени и сил. за структуру 4DS спасибо RoadTrain'у и его шаблонам для 010EDITOR, без них я бы не справился.
вообще, еще когда начал ковырять мафию (году в 2015-2016), захотел редактор, которого тогда не было - с
блэкджеком редактируемой табличкой-списком материалов/объектов. и вот именно редактируемой таблички пока не получилось, так что, наверное, будут новые версии.
TODO:
- editable listview
- кнопки undo/redo
- в чтение/запись добавить оставшиеся типы объектов
- конвертер в другие типы объектов
- пофиксить проблемы с памятью (обнулять локальные массивы в конце функций?)
написано на autoit v3.3.14.5. почему на нем? потому что я могу
если вдруг кому интересно - могу выложить исходник, для запуска нужен сам autoit v3.3.14.5
[свернуть]