Я тут пилю динамическую карту для бьенда, или вроде того. Делаю на PyQt5, это короче порт обычного Qt на питон. Сам Qt - хорошая библиотека для рисования графических интерфейсов, вроде можно даже 3d прикрутить.
Пока я на стадии импорта изображений, карты и кода из бьенд-файлов. С кодом и картой нет проблем, они существуют в виде текста, а вот изображения импортируются только в формате png. И если в исходном файле есть анимация, то она раскладывается на кадры, и при этом теряются "state", скорость воспроизведения анимации и прочие текстовые штуки, а как их оттуда достать я не знаю.
Notepade++ не видит там каких-то текстовых строк.
Может кто знает как их правильно открывать.


Вопросы-вопросики по .dmi формату
Автор
tizit
, 02 Apr 2015 17:47
Сообщений в теме: 6
#1
Отправлено 02 April 2015 - 17:47
Скрытый текст
#2
Отправлено 02 April 2015 - 18:29
Единственное что я могу посоветовать сходу, так это найти подробную документацию по бьёндовским форматам и относительно этого уже писать код импортера изображений. Я сомневаюсь что текст с анимацией будет храниться в фаиле в несжатом виде, поэтому его найти и не удалось.
God bless Animus!
#3
Отправлено 02 April 2015 - 18:30
Лично как мне говорили, DMI файлы это обычные файлы обычных изображений, только к ним ещё код бьёнда приписывается.
#4
Отправлено 02 April 2015 - 18:39
.dmi - бинарники
Скрытый текст
#5
Отправлено 02 April 2015 - 19:03
Я совсем не разбираюсь в этом деле, но заметил, что открывая png файлы нотпадом, он находит в их начале PNG, и видимо таким образом графические редакторы открывают dmi как png, просто читая формат в самом файле.
Скрытый текст
#6
Отправлено 02 April 2015 - 19:12
Нашёл видео про конвертацию dmi в png и обратно >without losing sprite information.
Скрытый текст
#7
Отправлено 04 April 2015 - 19:26
Это обычное пнг, у него в информации вся анимация и прописана. Т.е. это в пнг стандарте возможно и нормально. Можешь даже просто сменить расширение и нихуя не потеряешь.
Держи какой-то мой древнокод на крестах и libpng
Держи какой-то мой древнокод на крестах и libpng
int convert(string path, string filename) { FILE *fp = fopen(path.append(filename).c_str(), "rb"); if (!fp) return 1; png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL,(png_error_ptr)NULL, (png_error_ptr)NULL); if (!png_ptr) { fclose(fp); return 2; } png_infop info_ptr = png_create_info_struct(png_ptr); if (!info_ptr) { png_destroy_read_struct(&png_ptr, NULL, NULL); fclose(fp); return 3; } png_init_io(png_ptr, fp); png_read_info(png_ptr, info_ptr); ofstream zfile("test.txt"); zfile << info_ptr->text->text; zfile.close(); png_destroy_info_struct(png_ptr, &info_ptr); png_destroy_read_struct(&png_ptr, NULL, NULL); fclose(fp); return 0; }
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных