Работа над импортом Сан Андреаса в редактор Юнити продолжается. На данный момент закончил работу с текстурами. Было не просто, но я справился.
Первая попытка не была слишком удачной.
Саму текстуру я тогда вытащить не смог, но получил название текстуры, информацию о размере и о типе сжатия.
Прошерстил интернеты по теме сжатия текстур типа DXT1 и DXT3. Нашел схемы, как запакованы текстуры в таких файлах, примеры кода, для чтения цветовых данных.
Попробовал снова и... опять не совсем то, что надо. НО уже получилось заполнить полотно известного размера пикселями.
Пересмотрев код, нашел свои косяки и пошло-поехало.
Для проверки, достал TXD Workshop, и сравнивал, что получается у меня с тем, что должно быть.
(Слева оригинал, справа очередная итерация моих попыток)
Снова найдя свои глупые ошибки, исправил их и прошелся по файлам еще.
В итоге получил уже что-то практически похожее на оригинал. Но видно, что есть проблемы с некторыми блоками, и пиксели расположены как-то неправильно (не считая перевернутой текстуры в целом).
К сожалению времени уже не оставалось и пришлось оставить все в таком виде на некоторое время.
Через пару дней, прежде чем вернуться к работе, решил еще раз изучить вопрос сжатия и на свежую голову переписал декодер. На этот раз, все получилось как надо.
Даже подъехали текстуры с прозрачностью.
Дальше было довольно просто сохранить их в проекте. Разве что генерация материалов заняла достаточно много времени. Но и с этим я справился.
Следующим шагом, я думаю загрузить модели и сделать из них префабы, которые уже можно будет быстро спавнить на сцену. Может быть попробую сконвертировать их в формат FBX, для редактирования. В общем, процесс идет, вдохновение есть. И снова - буду держать в курсе в своей группе, если вдруг интересно.
А на этом пока все.