В общем, отреверсил тут на днях Kratisto's mdldec.
Основные отличия моего декомпилятора от Kratisto:
- поддержка не-Windows.
- обнаружение значений $texrendermode имеющихся у StudioMDL от SDK Sven-coop и Paranoia 2: The Savior.
- обнаружение кастомных Activity из внешнего файла activities.txt(есть возможность указать путь к этому файлу через переменную среды MDLDEC_ACT_PATH)
Также есть небольшая погрешность в выводе значений в +-0.000001 и наличие отрицательных нулей.
Исходники выложу позже.
Вложение: mdldec.zip (53.9 кб)
Этот файл был скачан 1512 раз.
Дядя Миша
Если знаешь наверняка как устроен формат и суть кватернионов, то да.
Мне лично проще разобрать, что-то до винтиков, чтобы понять принцип работы.
И я видел уже много альтернативных реализаций чего-либо, написанных "как я вижу" и большинство из них работают хуже оригиналов.
nekonomicon писал: Также есть небольшая погрешность в выводе значений в +-0.000001 и наличие отрицательных нулей.
У Кратисто тоже есть погрешность при декомпиле. Текстуры после двух-трёх перекомпиляций заметно съезжают. То есть UV-координаты съезжают вправо. Говорят, ещё точность анимаций теряется. Но этого не заметно даже после четырёх перекомпиляций. Ну или я плохо смотрел. Где точно есть погрешность, так это встроенный в милку декомпилер. Уж он-то корёжит анимации ужасно.
Вот это самая актуальная фича. Осталось только завести моделвьювер под линукс и макось. Ну и ещё кой-какие тулзы по мелочи, чтоб кому надо, могли моддить совсем без винды.