программа steve-m, всё-таки, не идеал. она неправильно рендерит текстуры маленького разрешения и делает это заметно дольше чем моя программа.
к тому же поддерживает только 4 и 8 бит, что меня не очень-то устраивает.
оказалось, что есть ещё 16 бит (пока у меня таких всего 2 текстуры). хотя размер пикселя 2 байта (WORD),
чё-то у меня пока не получается вывести ни 5-5-5, ни 5-6-5. получилось, только я не знаю что должно получиться, чтобы правильно составить маски.
это вообще самый запутанный формат, даже TXD Workshop (по крайней мере в версии 3.5, которую я использую) работает с 16-битными текстурами неверно.
DLL-ка, на мой взгляд, это лишнее. думаю, я разберусь с swizzling'ом и так.
Более того, судя по всему, swizzling это не операция, а один из возможных фильтров, которые практически не используются, но они есть.
в GTA3.IMG есть 8-битная текстура, котрая ни у меня ни у стива правильно не отображается.
в PC версии Vice City есть текстура INTRO.TXD которая имеет формат GTA3 PS2 (8бит) и она у меня неправильно отображается. в то же время, здесь у стива и в TXD Mod всё верно. то же самое с PARTICLE.TXD Vice City PS2.
я могу это исправить, но не знаю при каких условиях это нужно исправлять (нужно поменять местами каждые два строки и каждые 4 столбца) таким свойством обладают почти все particle-текстуры.
походу, дело в моём коде swizzling'а. это мой тупак, всё нормально.
такие дела.
Сообщение отредактировал Lego: 05 August 2011 - 15:05