Revision: 57745
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57745
Author:   kupoman
Date:     2013-06-25 21:06:35 +0000 (Tue, 25 Jun 2013)
Log Message:
-----------
Levels of detail are now properly saved and loaded.

Modified Paths:
--------------
    branches/soc-2013-bge/source/blender/blenloader/intern/readfile.c
    branches/soc-2013-bge/source/blender/blenloader/intern/writefile.c

Modified: branches/soc-2013-bge/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2013-bge/source/blender/blenloader/intern/readfile.c   
2013-06-25 21:00:00 UTC (rev 57744)
+++ branches/soc-2013-bge/source/blender/blenloader/intern/readfile.c   
2013-06-25 21:06:35 UTC (rev 57745)
@@ -4493,6 +4493,13 @@
                                ob->rigidbody_constraint->ob1 = newlibadr(fd, 
ob->id.lib, ob->rigidbody_constraint->ob1);
                                ob->rigidbody_constraint->ob2 = newlibadr(fd, 
ob->id.lib, ob->rigidbody_constraint->ob2);
                        }
+
+                       {
+                               LodLevel *level;
+                               for (level = ob->lodlevels.first; level; level 
= level->next) {
+                                       level->source = newlibadr(fd, 
ob->id.lib, level->source);
+                               }
+                       }
                }
        }
        
@@ -5018,6 +5025,9 @@
        if (ob->sculpt) {
                ob->sculpt = MEM_callocN(sizeof(SculptSession), "reload sculpt 
session");
        }
+
+       link_list(fd, &ob->lodlevels);
+       ob->currentlod = ob->lodlevels.first;
 }
 
 /* ************ READ SCENE ***************** */
@@ -9520,7 +9530,7 @@
                LodLevel *base;
 
                for (ob = main->object.first; ob; ob = ob->id.next) {
-                       if (BLI_countlist(&ob->lodlevels) == 0) {
+                       if (!ob->lodlevels.first) {
                                BKE_object_lod_add(ob);
                                base = BLI_findlink(&ob->lodlevels, 0);
                                base->distance = 0.0;

Modified: branches/soc-2013-bge/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/soc-2013-bge/source/blender/blenloader/intern/writefile.c  
2013-06-25 21:00:00 UTC (rev 57744)
+++ branches/soc-2013-bge/source/blender/blenloader/intern/writefile.c  
2013-06-25 21:06:35 UTC (rev 57745)
@@ -1529,6 +1529,8 @@
 
                        write_particlesystems(wd, &ob->particlesystem);
                        write_modifiers(wd, &ob->modifiers);
+
+                       writelist(wd, DATA, "LodLevel", &ob->lodlevels);
                }
                ob= ob->id.next;
        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to