Просмотр исходного кода

allow automatic decompression when writing textures to file

David Rose 17 лет назад
Родитель
Сommit
88d573917e
1 измененных файлов с 8 добавлено и 5 удалено
  1. 8 5
      panda/src/gobj/texture.cxx

+ 8 - 5
panda/src/gobj/texture.cxx

@@ -2665,15 +2665,18 @@ do_read_dds(istream &in, const string &filename, bool header_only) {
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 bool Texture::
 bool Texture::
 do_write(const Filename &fullpath, int z, int n, bool write_pages, bool write_mipmaps) const {
 do_write(const Filename &fullpath, int z, int n, bool write_pages, bool write_mipmaps) const {
-  if (!do_has_ram_image()) {
-    ((Texture *)this)->do_get_ram_image();
-  }
-  nassertr(do_has_ram_image(), false);
-
   if (is_txo_filename(fullpath)) {
   if (is_txo_filename(fullpath)) {
+    if (!do_has_ram_image()) {
+      ((Texture *)this)->do_get_ram_image();
+    }
+    nassertr(do_has_ram_image(), false);
     return do_write_txo_file(fullpath);
     return do_write_txo_file(fullpath);
   }
   }
 
 
+  if (!do_has_uncompressed_ram_image()) {
+    ((Texture *)this)->do_get_uncompressed_ram_image();
+  }
+
   nassertr(do_has_ram_mipmap_image(n), false);
   nassertr(do_has_ram_mipmap_image(n), false);
   nassertr(_ram_image_compression == CM_off, false);
   nassertr(_ram_image_compression == CM_off, false);