Cleanup: use plural names for Main lists
authorCampbell Barton <ideasman42@gmail.com>
Thu, 7 Mar 2019 22:29:17 +0000 (09:29 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 7 Mar 2019 22:50:00 +0000 (09:50 +1100)
Convention was not to but after discussion on 918941483f7e we agree its
best to change the convention.

Names now mostly follow RNA.

Some exceptions:

- Use 'nodetrees' instead of 'nodegroups'
  since the struct is called NodeTree.
- Use 'gpencils' instead of 'grease_pencil'
  since 'gpencil' is a common abbreviation in the C code.

Other exceptions:

- Leave 'wm' as it's a list of one.
- Leave 'ipo' as is for versioning.

130 files changed:
source/blender/alembic/intern/abc_mesh.cc
source/blender/blenkernel/BKE_main.h
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/blender_copybuffer.c
source/blender/blenkernel/intern/blendfile.c
source/blender/blenkernel/intern/brush.c
source/blender/blenkernel/intern/cachefile.c
source/blender/blenkernel/intern/collection.c
source/blender/blenkernel/intern/font.c
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/ipo.c
source/blender/blenkernel/intern/layer.c
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/library_remap.c
source/blender/blenkernel/intern/main.c
source/blender/blenkernel/intern/mask.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/mesh_convert.c
source/blender/blenkernel/intern/movieclip.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/object_dupli.c
source/blender/blenkernel/intern/packedFile.c
source/blender/blenkernel/intern/paint_toolslots.c
source/blender/blenkernel/intern/rigidbody.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/sequencer.c
source/blender/blenkernel/intern/sound.c
source/blender/blenkernel/intern/workspace.c
source/blender/blenloader/intern/readblenentry.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/versioning_250.c
source/blender/blenloader/intern/versioning_260.c
source/blender/blenloader/intern/versioning_270.c
source/blender/blenloader/intern/versioning_280.c
source/blender/blenloader/intern/versioning_defaults.c
source/blender/blenloader/intern/versioning_legacy.c
source/blender/blenloader/intern/writefile.c
source/blender/bmesh/intern/bmesh_mesh_conv.c
source/blender/collada/collada_utils.cpp
source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc
source/blender/depsgraph/intern/depsgraph_build.cc
source/blender/depsgraph/intern/depsgraph_tag.cc
source/blender/editors/animation/anim_filter.c
source/blender/editors/animation/anim_markers.c
source/blender/editors/animation/keyingsets.c
source/blender/editors/armature/armature_naming.c
source/blender/editors/armature/armature_relations.c
source/blender/editors/armature/armature_utils.c
source/blender/editors/armature/pose_transform.c
source/blender/editors/curve/editcurve.c
source/blender/editors/gpencil/gpencil_edit.c
source/blender/editors/gpencil/gpencil_fill.c
source/blender/editors/gpencil/gpencil_old.c
source/blender/editors/gpencil/gpencil_paint.c
source/blender/editors/gpencil/gpencil_utils.c
source/blender/editors/interface/interface_ops.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/mesh/editmesh_utils.c
source/blender/editors/object/object_add.c
source/blender/editors/object/object_bake_api.c
source/blender/editors/object/object_collection.c
source/blender/editors/object/object_constraint.c
source/blender/editors/object/object_edit.c
source/blender/editors/object/object_modifier.c
source/blender/editors/object/object_relations.c
source/blender/editors/object/object_select.c
source/blender/editors/object/object_transform.c
source/blender/editors/render/render_internal.c
source/blender/editors/render/render_preview.c
source/blender/editors/render/render_update.c
source/blender/editors/scene/scene_edit.c
source/blender/editors/screen/screen_edit.c
source/blender/editors/screen/screen_ops.c
source/blender/editors/screen/workspace_edit.c
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/sculpt_paint/paint_image_proj.c
source/blender/editors/sculpt_paint/paint_ops.c
source/blender/editors/sound/sound_ops.c
source/blender/editors/space_image/image_ops.c
source/blender/editors/space_info/info_ops.c
source/blender/editors/space_nla/nla_edit.c
source/blender/editors/space_node/node_edit.c
source/blender/editors/space_node/node_relationships.c
source/blender/editors/space_node/node_templates.c
source/blender/editors/space_outliner/outliner_collections.c
source/blender/editors/space_outliner/outliner_tools.c
source/blender/editors/space_outliner/outliner_tree.c
source/blender/editors/space_sequencer/sequencer_add.c
source/blender/editors/space_text/text_ops.c
source/blender/editors/space_view3d/view3d_ops.c
source/blender/editors/space_view3d/view3d_snap.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_snap.c
source/blender/editors/util/ed_util.c
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_material.c
source/blender/imbuf/intern/colormanagement.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_brush.c
source/blender/makesrna/intern/rna_color.c
source/blender/makesrna/intern/rna_key.c
source/blender/makesrna/intern/rna_lattice.c
source/blender/makesrna/intern/rna_main.c
source/blender/makesrna/intern/rna_main_api.c
source/blender/makesrna/intern/rna_material.c
source/blender/makesrna/intern/rna_meta.c
source/blender/makesrna/intern/rna_particle.c
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_sculpt_paint.c
source/blender/makesrna/intern/rna_space.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/makesrna/intern/rna_wm_gizmo.c
source/blender/nodes/composite/node_composite_tree.c
source/blender/nodes/composite/nodes/node_composite_image.c
source/blender/python/generic/bpy_internal_import.c
source/blender/python/intern/bpy_interface.c
source/blender/python/intern/bpy_rna.c
source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c
source/blender/windowmanager/gizmo/intern/wm_gizmo_map.c
source/blender/windowmanager/gizmo/intern/wm_gizmo_type.c
source/blender/windowmanager/intern/wm_event_system.c
source/blender/windowmanager/intern/wm_files.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_toolsystem.c
source/creator/creator_args.c

index 50d9567..e777182 100644 (file)
@@ -682,7 +682,7 @@ namespace utils {
 
 static void build_mat_map(const Main *bmain, std::map<std::string, Material *> &mat_map)
 {
-       Material *material = static_cast<Material *>(bmain->mat.first);
+       Material *material = static_cast<Material *>(bmain->materials.first);
 
        for (; material; material = static_cast<Material *>(material->id.next)) {
                mat_map[material->id.name + 2] = material;
index 48f9ac1..03f9f9a 100644 (file)
@@ -84,42 +84,42 @@ typedef struct Main {
        BlendThumbnail *blen_thumb;
 
        struct Library *curlib;
-       ListBase scene;
-       ListBase library;
-       ListBase object;
-       ListBase mesh;
-       ListBase curve;
-       ListBase mball;
-       ListBase mat;
-       ListBase tex;
-       ListBase image;
-       ListBase lattice;
-       ListBase light;
-       ListBase camera;
-       ListBase ipo;   // XXX deprecated
-       ListBase key;
-       ListBase world;
-       ListBase screen;
-       ListBase vfont;
-       ListBase text;
-       ListBase speaker;
-       ListBase lightprobe;
-       ListBase sound;
-       ListBase collection;
-       ListBase armature;
-       ListBase action;
-       ListBase nodetree;
-       ListBase brush;
-       ListBase particle;
-       ListBase palette;
-       ListBase paintcurve;
-       ListBase wm;
-       ListBase gpencil;
-       ListBase movieclip;
-       ListBase mask;
-       ListBase linestyle;
-       ListBase cachefile;
-       ListBase workspace;
+       ListBase scenes;
+       ListBase libraries;
+       ListBase objects;
+       ListBase meshes;
+       ListBase curves;
+       ListBase metaballs;
+       ListBase materials;
+       ListBase textures;
+       ListBase images;
+       ListBase lattices;
+       ListBase lights;
+       ListBase cameras;
+       ListBase ipo;  /* Deprecated (only for versioning). */
+       ListBase shapekeys;
+       ListBase worlds;
+       ListBase screens;
+       ListBase fonts;
+       ListBase texts;
+       ListBase speakers;
+       ListBase lightprobes;
+       ListBase sounds;
+       ListBase collections;
+       ListBase armatures;
+       ListBase actions;
+       ListBase nodetrees;
+       ListBase brushes;
+       ListBase particles;
+       ListBase palettes;
+       ListBase paintcurves;
+       ListBase wm;  /* Singleton (exception). */
+       ListBase gpencils;
+       ListBase movieclips;
+       ListBase masks;
+       ListBase linestyles;
+       ListBase cachefiles;
+       ListBase workspaces;
 
        /* Must be generated, used and freed by same code - never assume this is valid data unless you know
         * when, who and how it was created.
index 0a45e9c..9ba3a23 100644 (file)
@@ -1005,7 +1005,7 @@ void framechange_poses_clear_unkeyed(Main *bmain)
 
        /* This needs to be done for each object that has a pose */
        /* TODO: proxies may/may not be correctly handled here... (this needs checking) */
-       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                /* we only need to do this on objects with a pose */
                if ((pose = ob->pose)) {
                        for (pchan = pose->chanbase.first; pchan; pchan = pchan->next) {
index 7c1c269..33f19ca 100644 (file)
@@ -1135,70 +1135,70 @@ void BKE_animdata_main_cb(Main *bmain, ID_AnimData_Edit_Callback func, void *use
        } (void)0
 
        /* nodes */
-       ANIMDATA_IDS_CB(bmain->nodetree.first);
+       ANIMDATA_IDS_CB(bmain->nodetrees.first);
 
        /* textures */
-       ANIMDATA_NODETREE_IDS_CB(bmain->tex.first, Tex);
+       ANIMDATA_NODETREE_IDS_CB(bmain->textures.first, Tex);
 
        /* lights */
-       ANIMDATA_NODETREE_IDS_CB(bmain->light.first, Light);
+       ANIMDATA_NODETREE_IDS_CB(bmain->lights.first, Light);
 
        /* materials */
-       ANIMDATA_NODETREE_IDS_CB(bmain->mat.first, Material);
+       ANIMDATA_NODETREE_IDS_CB(bmain->materials.first, Material);
 
        /* cameras */
-       ANIMDATA_IDS_CB(bmain->camera.first);
+       ANIMDATA_IDS_CB(bmain->cameras.first);
 
        /* shapekeys */
-       ANIMDATA_IDS_CB(bmain->key.first);
+       ANIMDATA_IDS_CB(bmain->shapekeys.first);
 
        /* metaballs */
-       ANIMDATA_IDS_CB(bmain->mball.first);
+       ANIMDATA_IDS_CB(bmain->metaballs.first);
 
        /* curves */
-       ANIMDATA_IDS_CB(bmain->curve.first);
+       ANIMDATA_IDS_CB(bmain->curves.first);
 
        /* armatures */
-       ANIMDATA_IDS_CB(bmain->armature.first);
+       ANIMDATA_IDS_CB(bmain->armatures.first);
 
        /* lattices */
-       ANIMDATA_IDS_CB(bmain->lattice.first);
+       ANIMDATA_IDS_CB(bmain->lattices.first);
 
        /* meshes */
-       ANIMDATA_IDS_CB(bmain->mesh.first);
+       ANIMDATA_IDS_CB(bmain->meshes.first);
 
        /* particles */
-       ANIMDATA_IDS_CB(bmain->particle.first);
+       ANIMDATA_IDS_CB(bmain->particles.first);
 
        /* speakers */
-       ANIMDATA_IDS_CB(bmain->speaker.first);
+       ANIMDATA_IDS_CB(bmain->speakers.first);
 
        /* movie clips */
-       ANIMDATA_IDS_CB(bmain->movieclip.first);
+       ANIMDATA_IDS_CB(bmain->movieclips.first);
 
        /* objects */
-       ANIMDATA_IDS_CB(bmain->object.first);
+       ANIMDATA_IDS_CB(bmain->objects.first);
 
        /* masks */
-       ANIMDATA_IDS_CB(bmain->mask.first);
+       ANIMDATA_IDS_CB(bmain->masks.first);
 
        /* worlds */
-       ANIMDATA_NODETREE_IDS_CB(bmain->world.first, World);
+       ANIMDATA_NODETREE_IDS_CB(bmain->worlds.first, World);
 
        /* scenes */
-       ANIMDATA_NODETREE_IDS_CB(bmain->scene.first, Scene);
+       ANIMDATA_NODETREE_IDS_CB(bmain->scenes.first, Scene);
 
        /* line styles */
-       ANIMDATA_IDS_CB(bmain->linestyle.first);
+       ANIMDATA_IDS_CB(bmain->linestyles.first);
 
        /* grease pencil */
-       ANIMDATA_IDS_CB(bmain->gpencil.first);
+       ANIMDATA_IDS_CB(bmain->gpencils.first);
 
        /* palettes */
-       ANIMDATA_IDS_CB(bmain->palette.first);
+       ANIMDATA_IDS_CB(bmain->palettes.first);
 
        /* cache files */
-       ANIMDATA_IDS_CB(bmain->cachefile.first);
+       ANIMDATA_IDS_CB(bmain->cachefiles.first);
 }
 
 /* Fix all RNA-Paths throughout the database (directly access the Global.main version)
@@ -1234,67 +1234,67 @@ void BKE_animdata_fix_paths_rename_all(ID *ref_id, const char *prefix, const cha
        } (void)0
 
        /* nodes */
-       RENAMEFIX_ANIM_IDS(bmain->nodetree.first);
+       RENAMEFIX_ANIM_IDS(bmain->nodetrees.first);
 
        /* textures */
-       RENAMEFIX_ANIM_NODETREE_IDS(bmain->tex.first, Tex);
+       RENAMEFIX_ANIM_NODETREE_IDS(bmain->textures.first, Tex);
 
        /* lights */
-       RENAMEFIX_ANIM_NODETREE_IDS(bmain->light.first, Light);
+       RENAMEFIX_ANIM_NODETREE_IDS(bmain->lights.first, Light);
 
        /* materials */
-       RENAMEFIX_ANIM_NODETREE_IDS(bmain->mat.first, Material);
+       RENAMEFIX_ANIM_NODETREE_IDS(bmain->materials.first, Material);
 
        /* cameras */
-       RENAMEFIX_ANIM_IDS(bmain->camera.first);
+       RENAMEFIX_ANIM_IDS(bmain->cameras.first);
 
        /* shapekeys */
-       RENAMEFIX_ANIM_IDS(bmain->key.first);
+       RENAMEFIX_ANIM_IDS(bmain->shapekeys.first);
 
        /* metaballs */
-       RENAMEFIX_ANIM_IDS(bmain->mball.first);
+       RENAMEFIX_ANIM_IDS(bmain->metaballs.first);
 
        /* curves */
-       RENAMEFIX_ANIM_IDS(bmain->curve.first);
+       RENAMEFIX_ANIM_IDS(bmain->curves.first);
 
        /* armatures */
-       RENAMEFIX_ANIM_IDS(bmain->armature.first);
+       RENAMEFIX_ANIM_IDS(bmain->armatures.first);
 
        /* lattices */
-       RENAMEFIX_ANIM_IDS(bmain->lattice.first);
+       RENAMEFIX_ANIM_IDS(bmain->lattices.first);
 
        /* meshes */
-       RENAMEFIX_ANIM_IDS(bmain->mesh.first);
+       RENAMEFIX_ANIM_IDS(bmain->meshes.first);
 
        /* particles */
-       RENAMEFIX_ANIM_IDS(bmain->particle.first);
+       RENAMEFIX_ANIM_IDS(bmain->particles.first);
 
        /* speakers */
-       RENAMEFIX_ANIM_IDS(bmain->speaker.first);
+       RENAMEFIX_ANIM_IDS(bmain->speakers.first);
 
        /* movie clips */
-       RENAMEFIX_ANIM_IDS(bmain->movieclip.first);
+       RENAMEFIX_ANIM_IDS(bmain->movieclips.first);
 
        /* objects */
-       RENAMEFIX_ANIM_IDS(bmain->object.first);
+       RENAMEFIX_ANIM_IDS(bmain->objects.first);
 
        /* masks */
-       RENAMEFIX_ANIM_IDS(bmain->mask.first);
+       RENAMEFIX_ANIM_IDS(bmain->masks.first);
 
        /* worlds */
-       RENAMEFIX_ANIM_NODETREE_IDS(bmain->world.first, World);
+       RENAMEFIX_ANIM_NODETREE_IDS(bmain->worlds.first, World);
 
        /* linestyles */
-       RENAMEFIX_ANIM_IDS(bmain->linestyle.first);
+       RENAMEFIX_ANIM_IDS(bmain->linestyles.first);
 
        /* grease pencil */
-       RENAMEFIX_ANIM_IDS(bmain->gpencil.first);
+       RENAMEFIX_ANIM_IDS(bmain->gpencils.first);
 
        /* cache files */
-       RENAMEFIX_ANIM_IDS(bmain->cachefile.first);
+       RENAMEFIX_ANIM_IDS(bmain->cachefiles.first);
 
        /* scenes */
-       RENAMEFIX_ANIM_NODETREE_IDS(bmain->scene.first, Scene);
+       RENAMEFIX_ANIM_NODETREE_IDS(bmain->scenes.first, Scene);
 }
 
 /* *********************************** */
@@ -3608,7 +3608,7 @@ void BKE_animsys_evaluate_all_animation(Main *main, Depsgraph *depsgraph, Scene
         * however, if there are some curves, we will need to make sure that their 'ctime' property gets
         * set correctly, so this optimization must be skipped in that case...
         */
-       if (BLI_listbase_is_empty(&main->action) && BLI_listbase_is_empty(&main->curve)) {
+       if (BLI_listbase_is_empty(&main->actions) && BLI_listbase_is_empty(&main->curves)) {
                if (G.debug & G_DEBUG)
                        printf("\tNo Actions, so no animation needs to be evaluated...\n");
 
@@ -3616,74 +3616,74 @@ void BKE_animsys_evaluate_all_animation(Main *main, Depsgraph *depsgraph, Scene
        }
 
        /* nodes */
-       EVAL_ANIM_IDS(main->nodetree.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->nodetrees.first, ADT_RECALC_ANIM);
 
        /* textures */
-       EVAL_ANIM_NODETREE_IDS(main->tex.first, Tex, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->textures.first, Tex, ADT_RECALC_ANIM);
 
        /* lights */
-       EVAL_ANIM_NODETREE_IDS(main->light.first, Light, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->lights.first, Light, ADT_RECALC_ANIM);
 
        /* materials */
-       EVAL_ANIM_NODETREE_IDS(main->mat.first, Material, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->materials.first, Material, ADT_RECALC_ANIM);
 
        /* cameras */
-       EVAL_ANIM_IDS(main->camera.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->cameras.first, ADT_RECALC_ANIM);
 
        /* shapekeys */
-       EVAL_ANIM_IDS(main->key.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->shapekeys.first, ADT_RECALC_ANIM);
 
        /* metaballs */
-       EVAL_ANIM_IDS(main->mball.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->metaballs.first, ADT_RECALC_ANIM);
 
        /* curves */
-       EVAL_ANIM_IDS(main->curve.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->curves.first, ADT_RECALC_ANIM);
 
        /* armatures */
-       EVAL_ANIM_IDS(main->armature.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->armatures.first, ADT_RECALC_ANIM);
 
        /* lattices */
-       EVAL_ANIM_IDS(main->lattice.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->lattices.first, ADT_RECALC_ANIM);
 
        /* meshes */
-       EVAL_ANIM_IDS(main->mesh.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->meshes.first, ADT_RECALC_ANIM);
 
        /* particles */
-       EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->particles.first, ADT_RECALC_ANIM);
 
        /* speakers */
-       EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->speakers.first, ADT_RECALC_ANIM);
 
        /* movie clips */
-       EVAL_ANIM_IDS(main->movieclip.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->movieclips.first, ADT_RECALC_ANIM);
 
        /* linestyles */
-       EVAL_ANIM_IDS(main->linestyle.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->linestyles.first, ADT_RECALC_ANIM);
 
        /* grease pencil */
-       EVAL_ANIM_IDS(main->gpencil.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->gpencils.first, ADT_RECALC_ANIM);
 
        /* palettes */
-       EVAL_ANIM_IDS(main->palette.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->palettes.first, ADT_RECALC_ANIM);
 
        /* cache files */
-       EVAL_ANIM_IDS(main->cachefile.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->cachefiles.first, ADT_RECALC_ANIM);
 
        /* objects */
        /* ADT_RECALC_ANIM doesn't need to be supplied here, since object AnimData gets
         * this tagged by Depsgraph on framechange. This optimization means that objects
         * linked from other (not-visible) scenes will not need their data calculated.
         */
-       EVAL_ANIM_IDS(main->object.first, 0);
+       EVAL_ANIM_IDS(main->objects.first, 0);
 
        /* masks */
-       EVAL_ANIM_IDS(main->mask.first, ADT_RECALC_ANIM);
+       EVAL_ANIM_IDS(main->masks.first, ADT_RECALC_ANIM);
 
        /* worlds */
-       EVAL_ANIM_NODETREE_IDS(main->world.first, World, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->worlds.first, World, ADT_RECALC_ANIM);
 
        /* scenes */
-       EVAL_ANIM_NODETREE_IDS(main->scene.first, Scene, ADT_RECALC_ANIM);
+       EVAL_ANIM_NODETREE_IDS(main->scenes.first, Scene, ADT_RECALC_ANIM);
 }
 
 /* ***************************************** */
index a9ff96b..bc935f0 100644 (file)
@@ -97,7 +97,7 @@ bool BKE_copybuffer_read(Main *bmain_dst, const char *libname, ReportList *repor
        BKE_main_lib_objects_recalc_all(bmain_dst);
        IMB_colormanagement_check_file_config(bmain_dst);
        /* Append, rather than linking. */
-       Library *lib = BLI_findstring(&bmain_dst->library, libname, offsetof(Library, filepath));
+       Library *lib = BLI_findstring(&bmain_dst->libraries, libname, offsetof(Library, filepath));
        BKE_library_make_local(bmain_dst, lib, NULL, true, false);
        /* Important we unset, otherwise these object wont
         * link into other scenes from this blend file.
@@ -147,7 +147,7 @@ bool BKE_copybuffer_paste(bContext *C, const char *libname, const short flag, Re
        IMB_colormanagement_check_file_config(bmain);
 
        /* append, rather than linking */
-       lib = BLI_findstring(&bmain->library, libname, offsetof(Library, filepath));
+       lib = BLI_findstring(&bmain->libraries, libname, offsetof(Library, filepath));
        BKE_library_make_local(bmain, lib, NULL, true, false);
 
        /* important we unset, otherwise these object wont
index e93788f..455f73c 100644 (file)
@@ -82,7 +82,7 @@ static void clean_paths(Main *main)
 
        BKE_bpath_traverse_main(main, clean_paths_visit_cb, BKE_BPATH_TRAVERSE_SKIP_MULTIFILE, NULL);
 
-       for (scene = main->scene.first; scene; scene = scene->id.next) {
+       for (scene = main->scenes.first; scene; scene = scene->id.next) {
                BLI_path_native_slash(scene->r.pic);
        }
 }
@@ -127,7 +127,7 @@ static void setup_app_data(
                BKE_report(reports, RPT_WARNING, "Library file, loading empty scene");
                mode = LOAD_UI_OFF;
        }
-       else if (BLI_listbase_is_empty(&bfd->main->screen)) {
+       else if (BLI_listbase_is_empty(&bfd->main->screens)) {
                mode = LOAD_UNDO;
        }
        else if ((G.fileflags & G_FILE_NO_UI) && (is_startup == false)) {
@@ -170,8 +170,8 @@ static void setup_app_data(
 
                /* comes from readfile.c */
                SWAP(ListBase, bmain->wm, bfd->main->wm);
-               SWAP(ListBase, bmain->workspace, bfd->main->workspace);
-               SWAP(ListBase, bmain->screen, bfd->main->screen);
+               SWAP(ListBase, bmain->workspaces, bfd->main->workspaces);
+               SWAP(ListBase, bmain->screens, bfd->main->screens);
 
                /* we re-use current window and screen */
                win = CTX_wm_window(C);
@@ -183,7 +183,7 @@ static void setup_app_data(
                track_undo_scene = (mode == LOAD_UNDO && curscreen && curscene && bfd->main->wm.first);
 
                if (curscene == NULL) {
-                       curscene = bfd->main->scene.first;
+                       curscene = bfd->main->scenes.first;
                }
                /* empty file, we add a scene to make Blender work */
                if (curscene == NULL) {
@@ -278,10 +278,10 @@ static void setup_app_data(
                wmWindow *win = CTX_wm_window(C);
 
                /* in case we don't even have a local scene, add one */
-               if (!bmain->scene.first)
+               if (!bmain->scenes.first)
                        BKE_scene_add(bmain, "Empty");
 
-               CTX_data_scene_set(C, bmain->scene.first);
+               CTX_data_scene_set(C, bmain->scenes.first);
                win->scene = CTX_data_scene(C);
                curscene = CTX_data_scene(C);
        }
@@ -441,8 +441,8 @@ bool BKE_blendfile_read_from_memfile(
                /* remove the unused screens and wm */
                while (bfd->main->wm.first)
                        BKE_id_free(bfd->main, bfd->main->wm.first);
-               while (bfd->main->screen.first)
-                       BKE_id_free(bfd->main, bfd->main->screen.first);
+               while (bfd->main->screens.first)
+                       BKE_id_free(bfd->main, bfd->main->screens.first);
 
                setup_app_data(C, bfd, "<memory1>", params->is_startup, reports);
        }
@@ -573,7 +573,7 @@ WorkspaceConfigFileData *BKE_blendfile_workspace_config_read(const char *filepat
        if (bfd) {
                workspace_config = MEM_mallocN(sizeof(*workspace_config), __func__);
                workspace_config->main = bfd->main;
-               workspace_config->workspaces = bfd->main->workspace;
+               workspace_config->workspaces = bfd->main->workspaces;
 
                MEM_freeN(bfd);
        }
@@ -588,7 +588,7 @@ bool BKE_blendfile_workspace_config_write(Main *bmain, const char *filepath, Rep
 
        BKE_blendfile_write_partial_begin(bmain);
 
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                BKE_blendfile_write_partial_tag_ID(&workspace->id, true);
        }
 
index 346066b..58813c9 100644 (file)
@@ -527,7 +527,7 @@ void BKE_brush_gpencil_presets(bContext *C)
 
 void BKE_brush_update_material(Main *bmain, Material *ma, Brush *exclude_brush)
 {
-       for (Brush *brush = bmain->brush.first; brush; brush = brush->id.next) {
+       for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) {
                if ((exclude_brush != NULL) && (brush == exclude_brush)) {
                        continue;
                }
@@ -547,7 +547,7 @@ struct Brush *BKE_brush_first_search(struct Main *bmain, const eObjectMode ob_mo
 {
        Brush *brush;
 
-       for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+       for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                if (brush->ob_mode & ob_mode)
                        return brush;
        }
index 4741984..b4f6408 100644 (file)
@@ -177,7 +177,7 @@ void BKE_cachefile_update_frame(
        CacheFile *cache_file;
        char filename[FILE_MAX];
 
-       for (cache_file = bmain->cachefile.first; cache_file; cache_file = cache_file->id.next) {
+       for (cache_file = bmain->cachefiles.first; cache_file; cache_file = cache_file->id.next) {
                /* TODO: dependency graph should be updated to do drivers on cachefile.
                 * Execute drivers only, as animation has already been done. */
                BKE_animsys_evaluate_animdata(depsgraph, scene, &cache_file->id, cache_file->adt, ctime, ADT_RECALC_DRIVERS);
@@ -231,7 +231,7 @@ float BKE_cachefile_time_offset(CacheFile *cache_file, const float time, const f
 /* TODO(kevin): replace this with some depsgraph mechanism, or something similar. */
 void BKE_cachefile_clean(struct Main *bmain, CacheFile *cache_file)
 {
-       for (Object *ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
                ModifierData *md = modifiers_findByType(ob, eModifierType_MeshSequenceCache);
 
                if (md) {
index beefe4b..8a71c0c 100644 (file)
@@ -517,7 +517,7 @@ static bool collection_object_cyclic_check_internal(Object *object, Collection *
 bool BKE_collection_object_cyclic_check(Main *bmain, Object *object, Collection *collection)
 {
        /* first flag all collections */
-       BKE_main_id_tag_listbase(&bmain->collection, LIB_TAG_DOIT, true);
+       BKE_main_id_tag_listbase(&bmain->collections, LIB_TAG_DOIT, true);
 
        return collection_object_cyclic_check_internal(object, collection);
 }
@@ -548,7 +548,7 @@ Collection *BKE_collection_object_find(Main *bmain, Collection *collection, Obje
        if (collection)
                collection = collection->id.next;
        else
-               collection = bmain->collection.first;
+               collection = bmain->collections.first;
 
        while (collection) {
                if (BKE_collection_has_object(collection, ob))
@@ -737,11 +737,11 @@ static void collection_object_remove_nulls(Collection *collection)
 
 void BKE_collections_object_remove_nulls(Main *bmain)
 {
-       for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                collection_object_remove_nulls(scene->master_collection);
        }
 
-       for (Collection *collection = bmain->collection.first; collection; collection = collection->id.next) {
+       for (Collection *collection = bmain->collections.first; collection; collection = collection->id.next) {
                collection_object_remove_nulls(collection);
        }
 }
@@ -785,17 +785,17 @@ void BKE_collections_child_remove_nulls(Main *bmain, Collection *collection)
                 * otherwise we can miss some cases...
                 * Also, master collections are not in bmain, so we also need to loop over scenes.
                 */
-               for (collection = bmain->collection.first; collection != NULL; collection = collection->id.next) {
+               for (collection = bmain->collections.first; collection != NULL; collection = collection->id.next) {
                        collection_null_children_remove(collection);
                }
-               for (Scene *scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                        collection_null_children_remove(BKE_collection_master(scene));
                }
 
-               for (collection = bmain->collection.first; collection != NULL; collection = collection->id.next) {
+               for (collection = bmain->collections.first; collection != NULL; collection = collection->id.next) {
                        collection_missing_parents_remove(collection);
                }
-               for (Scene *scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                        collection_missing_parents_remove(BKE_collection_master(scene));
                }
        }
index a3d19c7..9b18471 100644 (file)
@@ -297,7 +297,7 @@ VFont *BKE_vfont_load_exists_ex(struct Main *bmain, const char *filepath, bool *
        BLI_path_abs(str, BKE_main_blendfile_path(bmain));
 
        /* first search an identical filepath */
-       for (vfont = bmain->vfont.first; vfont; vfont = vfont->id.next) {
+       for (vfont = bmain->fonts.first; vfont; vfont = vfont->id.next) {
                BLI_strncpy(strtest, vfont->name, sizeof(vfont->name));
                BLI_path_abs(strtest, ID_BLEND_PATH(bmain, &vfont->id));
 
@@ -342,7 +342,7 @@ VFont *BKE_vfont_builtin_get(void)
 {
        VFont *vfont;
 
-       for (vfont = G_MAIN->vfont.first; vfont; vfont = vfont->id.next) {
+       for (vfont = G_MAIN->fonts.first; vfont; vfont = vfont->id.next) {
                if (BKE_vfont_is_builtin(vfont)) {
                        return vfont;
                }
index 38513f8..177601c 100644 (file)
@@ -556,7 +556,7 @@ Image *BKE_image_load_exists_ex(Main *bmain, const char *filepath, bool *r_exist
        BLI_path_abs(str, BKE_main_blendfile_path_from_global());
 
        /* first search an identical filepath */
-       for (ima = bmain->image.first; ima; ima = ima->id.next) {
+       for (ima = bmain->images.first; ima; ima = ima->id.next) {
                if (ima->source != IMA_SRC_VIEWER && ima->source != IMA_SRC_GENERATED) {
                        STRNCPY(strtest, ima->name);
                        BLI_path_abs(strtest, ID_BLEND_PATH(bmain, &ima->id));
@@ -912,12 +912,12 @@ void BKE_image_print_memlist(Main *bmain)
        Image *ima;
        uintptr_t size, totsize = 0;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                totsize += image_mem_size(ima);
 
        printf("\ntotal image memory len: %.3f MB\n", (double)totsize / (double)(1024 * 1024));
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next) {
+       for (ima = bmain->images.first; ima; ima = ima->id.next) {
                size = image_mem_size(ima);
 
                if (size)
@@ -940,14 +940,14 @@ void BKE_image_free_all_textures(Main *bmain)
        uintptr_t tot_freed_size = 0;
 #endif
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                ima->id.tag &= ~LIB_TAG_DOIT;
 
-       for (tex = bmain->tex.first; tex; tex = tex->id.next)
+       for (tex = bmain->textures.first; tex; tex = tex->id.next)
                if (tex->ima)
                        tex->ima->id.tag |= LIB_TAG_DOIT;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next) {
+       for (ima = bmain->images.first; ima; ima = ima->id.next) {
                if (ima->cache && (ima->id.tag & LIB_TAG_DOIT)) {
 #ifdef CHECK_FREED_SIZE
                        uintptr_t old_size = image_mem_size(ima);
@@ -987,7 +987,7 @@ void BKE_image_all_free_anim_ibufs(Main *bmain, int cfra)
 {
        Image *ima;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                if (BKE_image_is_animated(ima))
                        BKE_image_free_anim_ibufs(ima, cfra);
 }
@@ -2570,7 +2570,7 @@ Image *BKE_image_verify_viewer(Main *bmain, int type, const char *name)
 {
        Image *ima;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                if (ima->source == IMA_SRC_VIEWER)
                        if (ima->type == type)
                                break;
@@ -2759,27 +2759,27 @@ void BKE_image_walk_id_all_users(ID *id, void *customdata,
 void BKE_image_walk_all_users(const Main *mainp, void *customdata,
                               void callback(Image *ima, ImageUser *iuser, void *customdata))
 {
-       for (Scene *scene = mainp->scene.first; scene; scene = scene->id.next) {
+       for (Scene *scene = mainp->scenes.first; scene; scene = scene->id.next) {
                BKE_image_walk_id_all_users(&scene->id, customdata, callback);
        }
 
-       for (Object *ob = mainp->object.first; ob; ob = ob->id.next) {
+       for (Object *ob = mainp->objects.first; ob; ob = ob->id.next) {
                BKE_image_walk_id_all_users(&ob->id, customdata, callback);
        }
 
-       for (bNodeTree *ntree = mainp->nodetree.first; ntree; ntree = ntree->id.next) {
+       for (bNodeTree *ntree = mainp->nodetrees.first; ntree; ntree = ntree->id.next) {
                BKE_image_walk_id_all_users(&ntree->id, customdata, callback);
        }
 
-       for (Material *ma = mainp->mat.first; ma; ma = ma->id.next) {
+       for (Material *ma = mainp->materials.first; ma; ma = ma->id.next) {
                BKE_image_walk_id_all_users(&ma->id, customdata, callback);
        }
 
-       for (Tex *tex = mainp->tex.first; tex; tex = tex->id.next) {
+       for (Tex *tex = mainp->textures.first; tex; tex = tex->id.next) {
                BKE_image_walk_id_all_users(&tex->id, customdata, callback);
        }
 
-       for (Camera *cam = mainp->camera.first; cam; cam = cam->id.next) {
+       for (Camera *cam = mainp->cameras.first; cam; cam = cam->id.next) {
                BKE_image_walk_id_all_users(&cam->id, customdata, callback);
        }
 
@@ -2949,7 +2949,7 @@ void BKE_image_signal(Main *bmain, Image *ima, ImageUser *iuser, int signal)
         * this also makes sure all scenes are accounted for. */
        {
                Scene *scene;
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->nodetree) {
                                nodeUpdateID(scene->nodetree, &ima->id);
                        }
index cccbb4a..954026e 100644 (file)
@@ -1697,7 +1697,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        /* ----------- Animation Attached to Data -------------- */
 
        /* objects */
-       for (id = bmain->object.first; id; id = id->next) {
+       for (id = bmain->objects.first; id; id = id->next) {
                Object *ob = (Object *)id;
                bPoseChannel *pchan;
                bConstraint *con;
@@ -1824,7 +1824,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* shapekeys */
-       for (id = bmain->key.first; id; id = id->next) {
+       for (id = bmain->shapekeys.first; id; id = id->next) {
                Key *key = (Key *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting key %s\n", id->name + 2);
@@ -1849,7 +1849,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* materials */
-       for (id = bmain->mat.first; id; id = id->next) {
+       for (id = bmain->materials.first; id; id = id->next) {
                Material *ma = (Material *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting material %s\n", id->name + 2);
@@ -1871,7 +1871,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* worlds */
-       for (id = bmain->world.first; id; id = id->next) {
+       for (id = bmain->worlds.first; id; id = id->next) {
                World *wo = (World *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting world %s\n", id->name + 2);
@@ -1893,7 +1893,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* sequence strips */
-       for (id = bmain->scene.first; id; id = id->next) {
+       for (id = bmain->scenes.first; id; id = id->next) {
                Scene *scene = (Scene *)id;
                Editing *ed = scene->ed;
                if (ed && ed->seqbasep) {
@@ -1946,7 +1946,7 @@ void do_versions_ipos_to_animato(Main *bmain)
 
 
        /* textures */
-       for (id = bmain->tex.first; id; id = id->next) {
+       for (id = bmain->textures.first; id; id = id->next) {
                Tex *te = (Tex *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting texture %s\n", id->name + 2);
@@ -1968,7 +1968,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* cameras */
-       for (id = bmain->camera.first; id; id = id->next) {
+       for (id = bmain->cameras.first; id; id = id->next) {
                Camera *ca = (Camera *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting camera %s\n", id->name + 2);
@@ -1990,7 +1990,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* lights */
-       for (id = bmain->light.first; id; id = id->next) {
+       for (id = bmain->lights.first; id; id = id->next) {
                Light *la = (Light *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting light %s\n", id->name + 2);
@@ -2012,7 +2012,7 @@ void do_versions_ipos_to_animato(Main *bmain)
        }
 
        /* curves */
-       for (id = bmain->curve.first; id; id = id->next) {
+       for (id = bmain->curves.first; id; id = id->next) {
                Curve *cu = (Curve *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting curve %s\n", id->name + 2);
@@ -2045,7 +2045,7 @@ void do_versions_ipos_to_animato(Main *bmain)
         */
 
        /* actions */
-       for (id = bmain->action.first; id; id = id->next) {
+       for (id = bmain->actions.first; id; id = id->next) {
                bAction *act = (bAction *)id;
 
                if (G.debug & G_DEBUG) printf("\tconverting action %s\n", id->name + 2);
index ebea589..a5360f3 100644 (file)
@@ -822,7 +822,7 @@ void BKE_main_collection_sync(const Main *bmain)
 
        /* TODO: optimize for file load so only linked collections get checked? */
 
-       for (const Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (const Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                BKE_scene_collection_sync(scene);
        }
 }
@@ -832,7 +832,7 @@ void BKE_main_collection_sync_remap(const Main *bmain)
        /* On remapping of object or collection pointers free caches. */
        /* TODO: try to make this faster */
 
-       for (const Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (const Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
                        MEM_SAFE_FREE(view_layer->object_bases_array);
 
@@ -843,7 +843,7 @@ void BKE_main_collection_sync_remap(const Main *bmain)
                }
        }
 
-       for (Collection *collection = bmain->collection.first; collection; collection = collection->id.next) {
+       for (Collection *collection = bmain->collections.first; collection; collection = collection->id.next) {
                BKE_collection_object_cache_free(collection);
                DEG_id_tag_update_ex((Main *)bmain, &collection->id, ID_RECALC_COPY_ON_WRITE);
        }
index af76425..2db6793 100644 (file)
@@ -1005,7 +1005,7 @@ void BKE_main_lib_objects_recalc_all(Main *bmain)
        Object *ob;
 
        /* flag for full recalc */
-       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                if (ID_IS_LINKED(ob)) {
                        DEG_id_tag_update(&ob->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY | ID_RECALC_ANIMATION);
                }
@@ -1308,7 +1308,7 @@ void BKE_libblock_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int fla
        /* Grrrrrrrrr... Not adding 'root' nodetrees to bmain.... grrrrrrrrrrrrrrrrrrrr! */
        /* This is taken from original ntree copy code, might be weak actually? */
        const bool use_nodetree_alloc_exception = ((GS(id->name) == ID_NT) && (bmain != NULL) &&
-                                                  (BLI_findindex(&bmain->nodetree, id) < 0));
+                                                  (BLI_findindex(&bmain->nodetrees, id) < 0));
 
        BLI_assert((flag & LIB_ID_CREATE_NO_MAIN) != 0 || bmain != NULL);
        BLI_assert((flag & LIB_ID_CREATE_NO_MAIN) != 0 || (flag & LIB_ID_CREATE_NO_ALLOCATE) == 0);
@@ -1970,14 +1970,14 @@ void BKE_library_make_local(
         * and evaluation code ends up trying to evaluate a not-yet-updated armature object's deformations.
         * Try "make all local" in 04_01_H.lighting.blend from Agent327 without this, e.g. */
        /* Also, use this object loop to we handle rigid body resetting. */
-       for (Object *ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
                if (ob->data != NULL && ob->type == OB_ARMATURE && ob->pose != NULL && ob->pose->flag & POSE_RECALC) {
                        BKE_pose_rebuild(bmain, ob, ob->data, true);
                }
 
                /* If there was ever any rigidbody settings in the object, we reset it. */
                if (ob->rigidbody_object) {
-                       for (Scene *scene_iter = bmain->scene.first; scene_iter; scene_iter = scene_iter->id.next) {
+                       for (Scene *scene_iter = bmain->scenes.first; scene_iter; scene_iter = scene_iter->id.next) {
                                if (scene_iter->rigidbody_world) {
                                        BKE_rigidbody_remove_object(bmain, scene_iter, ob);
                                }
index 077ce05..04ccdc7 100644 (file)
@@ -320,14 +320,14 @@ static void libblock_remap_data_postprocess_object_update(Main *bmain, Object *o
        BKE_main_collection_sync_remap(bmain);
 
        if (old_ob == NULL) {
-               for (Object *ob = bmain->object.first; ob != NULL; ob = ob->id.next) {
+               for (Object *ob = bmain->objects.first; ob != NULL; ob = ob->id.next) {
                        if (ob->type == OB_MBALL && BKE_mball_is_basis(ob)) {
                                DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
                        }
                }
        }
        else {
-               for (Object *ob = bmain->object.first; ob != NULL; ob = ob->id.next) {
+               for (Object *ob = bmain->objects.first; ob != NULL; ob = ob->id.next) {
                        if (ob->type == OB_MBALL && BKE_mball_is_basis_for(ob, old_ob)) {
                                DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
                                break;  /* There is only one basis... */
@@ -536,7 +536,7 @@ void BKE_libblock_remap_locked(
                case ID_CU:
                case ID_MB:
                        if (new_id) {  /* Only affects us in case obdata was relinked (changed). */
-                               for (Object *ob = bmain->object.first; ob; ob = ob->id.next) {
+                               for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
                                        libblock_remap_data_postprocess_obdata_relink(bmain, ob, new_id);
                                }
                        }
index a6a302b..1f65212 100644 (file)
@@ -322,77 +322,77 @@ ListBase *which_libbase(Main *bmain, short type)
 {
        switch ((ID_Type)type) {
                case ID_SCE:
-                       return &(bmain->scene);
+                       return &(bmain->scenes);
                case ID_LI:
-                       return &(bmain->library);
+                       return &(bmain->libraries);
                case ID_OB:
-                       return &(bmain->object);
+                       return &(bmain->objects);
                case ID_ME:
-                       return &(bmain->mesh);
+                       return &(bmain->meshes);
                case ID_CU:
-                       return &(bmain->curve);
+                       return &(bmain->curves);
                case ID_MB:
-                       return &(bmain->mball);
+                       return &(bmain->metaballs);
                case ID_MA:
-                       return &(bmain->mat);
+                       return &(bmain->materials);
                case ID_TE:
-                       return &(bmain->tex);
+                       return &(bmain->textures);
                case ID_IM:
-                       return &(bmain->image);
+                       return &(bmain->images);
                case ID_LT:
-                       return &(bmain->lattice);
+                       return &(bmain->lattices);
                case ID_LA:
-                       return &(bmain->light);
+                       return &(bmain->lights);
                case ID_CA:
-                       return &(bmain->camera);
+                       return &(bmain->cameras);
                case ID_IP:
                        return &(bmain->ipo);
                case ID_KE:
-                       return &(bmain->key);
+                       return &(bmain->shapekeys);
                case ID_WO:
-                       return &(bmain->world);
+                       return &(bmain->worlds);
                case ID_SCR:
-                       return &(bmain->screen);
+                       return &(bmain->screens);
                case ID_VF:
-                       return &(bmain->vfont);
+                       return &(bmain->fonts);
                case ID_TXT:
-                       return &(bmain->text);
+                       return &(bmain->texts);
                case ID_SPK:
-                       return &(bmain->speaker);
+                       return &(bmain->speakers);
                case ID_LP:
-                       return &(bmain->lightprobe);
+                       return &(bmain->lightprobes);
                case ID_SO:
-                       return &(bmain->sound);
+                       return &(bmain->sounds);
                case ID_GR:
-                       return &(bmain->collection);
+                       return &(bmain->collections);
                case ID_AR:
-                       return &(bmain->armature);
+                       return &(bmain->armatures);
                case ID_AC:
-                       return &(bmain->action);
+                       return &(bmain->actions);
                case ID_NT:
-                       return &(bmain->nodetree);
+                       return &(bmain->nodetrees);
                case ID_BR:
-                       return &(bmain->brush);
+                       return &(bmain->brushes);
                case ID_PA:
-                       return &(bmain->particle);
+                       return &(bmain->particles);
                case ID_WM:
                        return &(bmain->wm);
                case ID_GD:
-                       return &(bmain->gpencil);
+                       return &(bmain->gpencils);
                case ID_MC:
-                       return &(bmain->movieclip);
+                       return &(bmain->movieclips);
                case ID_MSK:
-                       return &(bmain->mask);
+                       return &(bmain->masks);
                case ID_LS:
-                       return &(bmain->linestyle);
+                       return &(bmain->linestyles);
                case ID_PAL:
-                       return &(bmain->palette);
+                       return &(bmain->palettes);
                case ID_PC:
-                       return &(bmain->paintcurve);
+                       return &(bmain->paintcurves);
                case ID_CF:
-                       return &(bmain->cachefile);
+                       return &(bmain->cachefiles);
                case ID_WS:
-                       return &(bmain->workspace);
+                       return &(bmain->workspaces);
        }
        return NULL;
 }
@@ -409,52 +409,52 @@ int set_listbasepointers(Main *bmain, ListBase **lb)
        /* BACKWARDS! also watch order of free-ing! (mesh<->mat), first items freed last.
         * This is important because freeing data decreases usercounts of other datablocks,
         * if this data is its self freed it can crash. */
-       lb[INDEX_ID_LI] = &(bmain->library);  /* Libraries may be accessed from pretty much any other ID... */
+       lb[INDEX_ID_LI] = &(bmain->libraries);  /* Libraries may be accessed from pretty much any other ID... */
        lb[INDEX_ID_IP] = &(bmain->ipo);
-       lb[INDEX_ID_AC] = &(bmain->action); /* moved here to avoid problems when freeing with animato (aligorith) */
-       lb[INDEX_ID_KE] = &(bmain->key);
-       lb[INDEX_ID_PAL] = &(bmain->palette); /* referenced by gpencil, so needs to be before that to avoid crashes */
-       lb[INDEX_ID_GD] = &(bmain->gpencil); /* referenced by nodes, objects, view, scene etc, before to free after. */
-       lb[INDEX_ID_NT] = &(bmain->nodetree);
-       lb[INDEX_ID_IM] = &(bmain->image);
-       lb[INDEX_ID_TE] = &(bmain->tex);
-       lb[INDEX_ID_MA] = &(bmain->mat);
-       lb[INDEX_ID_VF] = &(bmain->vfont);
+       lb[INDEX_ID_AC] = &(bmain->actions); /* moved here to avoid problems when freeing with animato (aligorith) */
+       lb[INDEX_ID_KE] = &(bmain->shapekeys);
+       lb[INDEX_ID_PAL] = &(bmain->palettes); /* referenced by gpencil, so needs to be before that to avoid crashes */
+       lb[INDEX_ID_GD] = &(bmain->gpencils); /* referenced by nodes, objects, view, scene etc, before to free after. */
+       lb[INDEX_ID_NT] = &(bmain->nodetrees);
+       lb[INDEX_ID_IM] = &(bmain->images);
+       lb[INDEX_ID_TE] = &(bmain->textures);
+       lb[INDEX_ID_MA] = &(bmain->materials);
+       lb[INDEX_ID_VF] = &(bmain->fonts);
 
        /* Important!: When adding a new object type,
         * the specific data should be inserted here
         */
 
-       lb[INDEX_ID_AR] = &(bmain->armature);
-
-       lb[INDEX_ID_CF] = &(bmain->cachefile);
-       lb[INDEX_ID_ME] = &(bmain->mesh);
-       lb[INDEX_ID_CU] = &(bmain->curve);
-       lb[INDEX_ID_MB] = &(bmain->mball);
-
-       lb[INDEX_ID_LT] = &(bmain->lattice);
-       lb[INDEX_ID_LA] = &(bmain->light);
-       lb[INDEX_ID_CA] = &(bmain->camera);
-
-       lb[INDEX_ID_TXT] = &(bmain->text);
-       lb[INDEX_ID_SO]  = &(bmain->sound);
-       lb[INDEX_ID_GR]  = &(bmain->collection);
-       lb[INDEX_ID_PAL] = &(bmain->palette);
-       lb[INDEX_ID_PC]  = &(bmain->paintcurve);
-       lb[INDEX_ID_BR]  = &(bmain->brush);
-       lb[INDEX_ID_PA]  = &(bmain->particle);
-       lb[INDEX_ID_SPK] = &(bmain->speaker);
-       lb[INDEX_ID_LP]  = &(bmain->lightprobe);
-
-       lb[INDEX_ID_WO]  = &(bmain->world);
-       lb[INDEX_ID_MC]  = &(bmain->movieclip);
-       lb[INDEX_ID_SCR] = &(bmain->screen);
-       lb[INDEX_ID_OB]  = &(bmain->object);
-       lb[INDEX_ID_LS]  = &(bmain->linestyle); /* referenced by scenes */
-       lb[INDEX_ID_SCE] = &(bmain->scene);
-       lb[INDEX_ID_WS]  = &(bmain->workspace); /* before wm, so it's freed after it! */
+       lb[INDEX_ID_AR] = &(bmain->armatures);
+
+       lb[INDEX_ID_CF] = &(bmain->cachefiles);
+       lb[INDEX_ID_ME] = &(bmain->meshes);
+       lb[INDEX_ID_CU] = &(bmain->curves);
+       lb[INDEX_ID_MB] = &(bmain->metaballs);
+
+       lb[INDEX_ID_LT] = &(bmain->lattices);
+       lb[INDEX_ID_LA] = &(bmain->lights);
+       lb[INDEX_ID_CA] = &(bmain->cameras);
+
+       lb[INDEX_ID_TXT] = &(bmain->texts);
+       lb[INDEX_ID_SO]  = &(bmain->sounds);
+       lb[INDEX_ID_GR]  = &(bmain->collections);
+       lb[INDEX_ID_PAL] = &(bmain->palettes);
+       lb[INDEX_ID_PC]  = &(bmain->paintcurves);
+       lb[INDEX_ID_BR]  = &(bmain->brushes);
+       lb[INDEX_ID_PA]  = &(bmain->particles);
+       lb[INDEX_ID_SPK] = &(bmain->speakers);
+       lb[INDEX_ID_LP]  = &(bmain->lightprobes);
+
+       lb[INDEX_ID_WO]  = &(bmain->worlds);
+       lb[INDEX_ID_MC]  = &(bmain->movieclips);
+       lb[INDEX_ID_SCR] = &(bmain->screens);
+       lb[INDEX_ID_OB]  = &(bmain->objects);
+       lb[INDEX_ID_LS]  = &(bmain->linestyles); /* referenced by scenes */
+       lb[INDEX_ID_SCE] = &(bmain->scenes);
+       lb[INDEX_ID_WS]  = &(bmain->workspaces); /* before wm, so it's freed after it! */
        lb[INDEX_ID_WM]  = &(bmain->wm);
-       lb[INDEX_ID_MSK] = &(bmain->mask);
+       lb[INDEX_ID_MSK] = &(bmain->masks);
 
        lb[INDEX_ID_NULL] = NULL;
 
index 0222570..a67f533 100644 (file)
@@ -1423,7 +1423,7 @@ void BKE_mask_evaluate_all_masks(Main *bmain, float ctime, const bool do_newfram
 {
        Mask *mask;
 
-       for (mask = bmain->mask.first; mask; mask = mask->id.next) {
+       for (mask = bmain->masks.first; mask; mask = mask->id.next) {
                BKE_mask_evaluate(mask, ctime, do_newframe);
        }
 }
index 5bc65bc..d821052 100644 (file)
@@ -645,7 +645,7 @@ void test_all_objects_materials(Main *bmain, ID *id)
        }
 
        BKE_main_lock(bmain);
-       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                if (ob->data == id) {
                        BKE_material_resize_object(bmain, ob, *totcol, false);
                }
@@ -972,7 +972,7 @@ bool BKE_object_material_slot_remove(Main *bmain, Object *ob)
 
        actcol = ob->actcol;
 
-       for (Object *obt = bmain->object.first; obt; obt = obt->id.next) {
+       for (Object *obt = bmain->objects.first; obt; obt = obt->id.next) {
                if (obt->data == ob->data) {
                        /* Can happen when object material lists are used, see: T52953 */
                        if (actcol > obt->totcol) {
index ad60cb9..83a2075 100644 (file)
@@ -619,7 +619,7 @@ void BKE_mesh_from_nurbs_displist(
        ob->type = OB_MESH;
 
        /* other users */
-       ob1 = bmain->object.first;
+       ob1 = bmain->objects.first;
        while (ob1) {
                if (ob1->data == cu) {
                        ob1->type = OB_MESH;
index 3475ed7..bfa4c4b 100644 (file)
@@ -765,7 +765,7 @@ MovieClip *BKE_movieclip_file_add_exists_ex(Main *bmain, const char *filepath, b
        BLI_path_abs(str, BKE_main_blendfile_path(bmain));
 
        /* first search an identical filepath */
-       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                BLI_strncpy(strtest, clip->name, sizeof(clip->name));
                BLI_path_abs(strtest, ID_BLEND_PATH(bmain, &clip->id));
 
@@ -1370,7 +1370,7 @@ void BKE_movieclip_reload(Main *bmain, MovieClip *clip)
         */
        {
                Scene *scene;
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->nodetree) {
                                nodeUpdateID(scene->nodetree, &clip->id);
                        }
index 4eb8fa2..09b44db 100644 (file)
@@ -3692,13 +3692,13 @@ void free_nodesystem(void)
 
 void BKE_node_tree_iter_init(struct NodeTreeIterStore *ntreeiter, struct Main *bmain)
 {
-       ntreeiter->ngroup = bmain->nodetree.first;
-       ntreeiter->scene = bmain->scene.first;
-       ntreeiter->mat = bmain->mat.first;
-       ntreeiter->tex = bmain->tex.first;
-       ntreeiter->light = bmain->light.first;
-       ntreeiter->world = bmain->world.first;
-       ntreeiter->linestyle = bmain->linestyle.first;
+       ntreeiter->ngroup = bmain->nodetrees.first;
+       ntreeiter->scene = bmain->scenes.first;
+       ntreeiter->mat = bmain->materials.first;
+       ntreeiter->tex = bmain->textures.first;
+       ntreeiter->light = bmain->lights.first;
+       ntreeiter->world = bmain->worlds.first;
+       ntreeiter->linestyle = bmain->linestyles.first;
 }
 bool BKE_node_tree_iter_step(struct NodeTreeIterStore *ntreeiter,
                              bNodeTree **r_nodetree, struct ID **r_id)
index 1743060..bdca469 100644 (file)
@@ -749,7 +749,7 @@ bool BKE_object_exists_check(Main *bmain, const Object *obtest)
 
        if (obtest == NULL) return false;
 
-       ob = bmain->object.first;
+       ob = bmain->objects.first;
        while (ob) {
                if (ob == obtest) return true;
                ob = ob->id.next;
@@ -3772,7 +3772,7 @@ bool BKE_object_is_animated(Scene *scene, Object *ob)
 int BKE_object_scenes_users_get(Main *bmain, Object *ob)
 {
        int num_scenes = 0;
-       for (Scene *scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+       for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                if (BKE_collection_has_object_recursive(BKE_collection_master(scene), ob)) {
                        num_scenes++;
                }
index 5bd91c2..1f3680e 100644 (file)
@@ -233,7 +233,7 @@ static void make_child_duplis(const DupliContext *ctx, void *userdata, MakeChild
                                DupliContext pctx;
                                copy_dupli_context(&pctx, ctx, ctx->object, NULL, _base_id);
 
-                               /* mballs have a different dupli handling */
+                               /* metaballs have a different dupli handling */
                                if (ob->type != OB_MBALL) {
                                        ob->flag |= OB_DONE;  /* doesn't render */
                                }
@@ -251,7 +251,7 @@ static void make_child_duplis(const DupliContext *ctx, void *userdata, MakeChild
                                DupliContext pctx;
                                copy_dupli_context(&pctx, ctx, ctx->object, NULL, baseid);
 
-                               /* mballs have a different dupli handling */
+                               /* metaballs have a different dupli handling */
                                if (ob->type != OB_MBALL)
                                        ob->flag |= OB_DONE;  /* doesn't render */
 
@@ -445,7 +445,7 @@ static Object *find_family_object(Main *bmain, const char *family, size_t family
                ch_utf8[ch_utf8_len] = '\0';
                ch_utf8_len += 1;  /* compare with null terminator */
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (STREQLEN(ob->id.name + 2 + family_len, ch_utf8, ch_utf8_len)) {
                                if (STREQLEN(ob->id.name + 2, family, family_len)) {
                                        break;
index 340acc5..a039e05 100644 (file)
@@ -118,15 +118,15 @@ int countPackedFiles(Main *bmain)
        int count = 0;
 
        /* let's check if there are packed files... */
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                if (BKE_image_has_packedfile(ima))
                        count ++;
 
-       for (vf = bmain->vfont.first; vf; vf = vf->id.next)
+       for (vf = bmain->fonts.first; vf; vf = vf->id.next)
                if (vf->packedfile)
                        count++;
 
-       for (sound = bmain->sound.first; sound; sound = sound->id.next)
+       for (sound = bmain->sounds.first; sound; sound = sound->id.next)
                if (sound->packedfile)
                        count++;
 
@@ -222,7 +222,7 @@ void packAll(Main *bmain, ReportList *reports, bool verbose)
        bSound *sound;
        int tot = 0;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next) {
+       for (ima = bmain->images.first; ima; ima = ima->id.next) {
                if (BKE_image_has_packedfile(ima) == false && !ID_IS_LINKED(ima)) {
                        if (ima->source == IMA_SRC_FILE) {
                                BKE_image_packfiles(reports, ima, ID_BLEND_PATH(bmain, &ima->id));
@@ -235,14 +235,14 @@ void packAll(Main *bmain, ReportList *reports, bool verbose)
                }
        }
 
-       for (vfont = bmain->vfont.first; vfont; vfont = vfont->id.next) {
+       for (vfont = bmain->fonts.first; vfont; vfont = vfont->id.next) {
                if (vfont->packedfile == NULL && !ID_IS_LINKED(vfont) && BKE_vfont_is_builtin(vfont) == false) {
                        vfont->packedfile = newPackedFile(reports, vfont->name, BKE_main_blendfile_path(bmain));
                        tot ++;
                }
        }
 
-       for (sound = bmain->sound.first; sound; sound = sound->id.next) {
+       for (sound = bmain->sounds.first; sound; sound = sound->id.next) {
                if (sound->packedfile == NULL && !ID_IS_LINKED(sound)) {
                        sound->packedfile = newPackedFile(reports, sound->name, BKE_main_blendfile_path(bmain));
                        tot++;
@@ -598,7 +598,7 @@ int unpackLibraries(Main *bmain, ReportList *reports)
        char *newname;
        int ret_value = RET_ERROR;
 
-       for (lib = bmain->library.first; lib; lib = lib->id.next) {
+       for (lib = bmain->libraries.first; lib; lib = lib->id.next) {
                if (lib->packedfile && lib->name[0]) {
 
                        newname = unpackFile(reports, BKE_main_blendfile_path(bmain), lib->filepath, lib->filepath, lib->packedfile, PF_WRITE_ORIGINAL);
@@ -623,7 +623,7 @@ void packLibraries(Main *bmain, ReportList *reports)
        Library *lib;
 
        /* test for relativenss */
-       for (lib = bmain->library.first; lib; lib = lib->id.next)
+       for (lib = bmain->libraries.first; lib; lib = lib->id.next)
                if (!BLI_path_is_rel(lib->name))
                        break;
 
@@ -632,7 +632,7 @@ void packLibraries(Main *bmain, ReportList *reports)
                return;
        }
 
-       for (lib = bmain->library.first; lib; lib = lib->id.next)
+       for (lib = bmain->libraries.first; lib; lib = lib->id.next)
                if (lib->packedfile == NULL)
                        lib->packedfile = newPackedFile(reports, lib->name, BKE_main_blendfile_path(bmain));
 }
@@ -643,15 +643,15 @@ void unpackAll(Main *bmain, ReportList *reports, int how)
        VFont *vf;
        bSound *sound;
 
-       for (ima = bmain->image.first; ima; ima = ima->id.next)
+       for (ima = bmain->images.first; ima; ima = ima->id.next)
                if (BKE_image_has_packedfile(ima))
                        unpackImage(bmain, reports, ima, how);
 
-       for (vf = bmain->vfont.first; vf; vf = vf->id.next)
+       for (vf = bmain->fonts.first; vf; vf = vf->id.next)
                if (vf->packedfile)
                        unpackVFont(bmain, reports, vf, how);
 
-       for (sound = bmain->sound.first; sound; sound = sound->id.next)
+       for (sound = bmain->sounds.first; sound; sound = sound->id.next)
                if (sound->packedfile)
                        unpackSound(bmain, reports, sound, how);
 }
index 39c25f6..24b801c 100644 (file)
@@ -50,7 +50,7 @@ static void paint_toolslots_init(Main *bmain, Paint *paint)
        }
        const eObjectMode ob_mode = paint->runtime.ob_mode;
        BLI_assert(paint->runtime.tool_offset && ob_mode);
-       for (Brush *brush = bmain->brush.first; brush; brush = brush->id.next) {
+       for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) {
                if (brush->ob_mode & ob_mode) {
                        const int slot_index = BKE_brush_tool_get(brush, paint);
                        BKE_paint_toolslots_len_ensure(paint, slot_index + 1);
@@ -64,7 +64,7 @@ static void paint_toolslots_init(Main *bmain, Paint *paint)
 
 void BKE_paint_toolslots_init_from_main(struct Main *bmain)
 {
-       for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                ToolSettings *ts = scene->toolsettings;
                paint_toolslots_init(bmain, &ts->imapaint.paint);
                paint_toolslots_init(bmain, &ts->sculpt->paint);
index 1052954..745c17c 100644 (file)
@@ -1175,7 +1175,7 @@ void BKE_rigidbody_constraints_collection_validate(Scene *scene, RigidBodyWorld
 
 void BKE_rigidbody_main_collection_object_add(Main *bmain, Collection *collection, Object *object)
 {
-       for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                RigidBodyWorld *rbw = scene->rigidbody_world;
 
                if (rbw == NULL) {
index 1ae0de6..abe0393 100644 (file)
@@ -998,7 +998,7 @@ void BKE_scene_set_background(Main *bmain, Scene *scene)
        BKE_scene_validate_setscene(bmain, scene);
 
        /* deselect objects (for dataselect) */
-       for (ob = bmain->object.first; ob; ob = ob->id.next)
+       for (ob = bmain->objects.first; ob; ob = ob->id.next)
                ob->flag &= ~SELECT;
 
        /* copy layers and flags from bases to objects */
@@ -1097,7 +1097,7 @@ int BKE_scene_base_iter_next(Depsgraph *depsgraph, SceneBaseIter *iter,
                        else {
                                if (iter->phase != F_DUPLI) {
                                        if (depsgraph && (*base)->object->transflag & OB_DUPLI) {
-                                               /* collections cannot be duplicated for mballs yet,
+                                               /* collections cannot be duplicated for metaballs yet,
                                                 * this enters eternal loop because of
                                                 * makeDispListMBall getting called inside of collection_duplilist */
                                                if ((*base)->object->instance_collection == NULL) {
@@ -1155,7 +1155,7 @@ int BKE_scene_base_iter_next(Depsgraph *depsgraph, SceneBaseIter *iter,
 
 Scene *BKE_scene_find_from_collection(const Main *bmain, const Collection *collection)
 {
-       for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+       for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                for (ViewLayer *layer = scene->view_layers.first; layer; layer = layer->next) {
                        if (BKE_view_layer_has_collection(layer, collection)) {
                                return scene;
@@ -1291,7 +1291,7 @@ bool BKE_scene_validate_setscene(Main *bmain, Scene *sce)
        int a, totscene;
 
        if (sce->set == NULL) return true;
-       totscene = BLI_listbase_count(&bmain->scene);
+       totscene = BLI_listbase_count(&bmain->scenes);
 
        for (a = 0, sce_iter = sce; sce_iter->set; sce_iter = sce_iter->set, a++) {
                /* more iterations than scenes means we have a cycle */
@@ -1393,10 +1393,10 @@ int BKE_scene_orientation_slot_get_index(const TransformOrientationSlot *orient_
 static void scene_armature_depsgraph_workaround(Main *bmain, Depsgraph *depsgraph)
 {
        Object *ob;
-       if (BLI_listbase_is_empty(&bmain->armature) || !DEG_id_type_updated(depsgraph, ID_OB)) {
+       if (BLI_listbase_is_empty(&bmain->armatures) || !DEG_id_type_updated(depsgraph, ID_OB)) {
                return;
        }
-       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                if (ob->type == OB_ARMATURE && ob->adt) {
                        if (ob->pose == NULL || (ob->pose->flag & POSE_RECALC)) {
                                BKE_pose_rebuild(bmain, ob, ob->data, true);
index 56e34bb..f9a1eed 100644 (file)
@@ -1070,7 +1070,7 @@ void BKE_sequencer_clear_scene_in_allseqs(Main *bmain, Scene *scene)
        Scene *scene_iter;
 
        /* when a scene is deleted: test all seqs */
-       for (scene_iter = bmain->scene.first; scene_iter; scene_iter = scene_iter->id.next) {
+       for (scene_iter = bmain->scenes.first; scene_iter; scene_iter = scene_iter->id.next) {
                if (scene_iter != scene && scene_iter->ed) {
                        BKE_sequencer_base_recursive_apply(&scene_iter->ed->seqbase, clear_scene_in_allseqs_cb, scene);
                }
@@ -5716,7 +5716,7 @@ static void sequencer_all_free_anim_ibufs(ListBase *seqbase, int cfra)
 void BKE_sequencer_all_free_anim_ibufs(Main *bmain, int cfra)
 {
        BKE_sequencer_cache_cleanup();
-       for (Scene *scene = bmain->scene.first;
+       for (Scene *scene = bmain->scenes.first;
             scene != NULL;
             scene = scene->id.next)
        {
index f344a52..c909f00 100644 (file)
@@ -91,7 +91,7 @@ bSound *BKE_sound_new_file_exists_ex(struct Main *bmain, const char *filepath, b
        BLI_path_abs(str, BKE_main_blendfile_path(bmain));
 
        /* first search an identical filepath */
-       for (sound = bmain->sound.first; sound; sound = sound->id.next) {
+       for (sound = bmain->sounds.first; sound; sound = sound->id.next) {
                BLI_strncpy(strtest, sound->name, sizeof(sound->name));
                BLI_path_abs(strtest, ID_BLEND_PATH(bmain, &sound->id));
 
@@ -192,7 +192,7 @@ static void sound_sync_callback(void *data, int mode, float time)
        struct Main *bmain = (struct Main *)data;
        struct Scene *scene;
 
-       scene = bmain->scene.first;
+       scene = bmain->scenes.first;
        while (scene) {
                if (scene->audio.flag & AUDIO_SYNC) {
                        if (mode)
@@ -606,7 +606,7 @@ void BKE_sound_update_sequencer(struct Main *main, bSound *sound)
 {
        struct Scene *scene;
 
-       for (scene = main->scene.first; scene; scene = scene->id.next) {
+       for (scene = main->scenes.first; scene; scene = scene->id.next) {
                BKE_sequencer_update_sound(scene, sound);
        }
 }
@@ -686,7 +686,7 @@ void BKE_sound_seek_scene(struct Main *bmain, struct Scene *scene)
        }
 
        animation_playing = 0;
-       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                if (screen->animtimer) {
                        animation_playing = 1;
                        break;
@@ -883,8 +883,8 @@ void BKE_sound_update_scene(Main *bmain, Scene *scene)
        float quat[4];
 
        /* cheap test to skip looping over all objects (no speakers is a common case) */
-       if (!BLI_listbase_is_empty(&bmain->speaker)) {
-               BKE_main_id_tag_listbase(&bmain->object, LIB_TAG_DOIT, true);
+       if (!BLI_listbase_is_empty(&bmain->speakers)) {
+               BKE_main_id_tag_listbase(&bmain->objects, LIB_TAG_DOIT, true);
 
                for (ViewLayer *view_layer = scene->view_layers.first; view_layer; view_layer = view_layer->next) {
                        for (base = view_layer->object_bases.first; base; base = base->next) {
index c059168..c2bded4 100644 (file)
@@ -123,7 +123,7 @@ static bool UNUSED_FUNCTION(workspaces_is_screen_used)
 #endif
         (const Main *bmain, bScreen *screen)
 {
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                if (workspace_layout_find_exec(workspace, screen)) {
                        return true;
                }
@@ -185,7 +185,7 @@ WorkSpaceInstanceHook *BKE_workspace_instance_hook_create(const Main *bmain)
        WorkSpaceInstanceHook *hook = MEM_callocN(sizeof(WorkSpaceInstanceHook), __func__);
 
        /* set an active screen-layout for each possible window/workspace combination */
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                BKE_workspace_hook_layout_for_workspace_set(hook, workspace, workspace->layouts.first);
        }
 
@@ -194,10 +194,10 @@ WorkSpaceInstanceHook *BKE_workspace_instance_hook_create(const Main *bmain)
 void BKE_workspace_instance_hook_free(const Main *bmain, WorkSpaceInstanceHook *hook)
 {
        /* workspaces should never be freed before wm (during which we call this function) */
-       BLI_assert(!BLI_listbase_is_empty(&bmain->workspace));
+       BLI_assert(!BLI_listbase_is_empty(&bmain->workspaces));
 
        /* Free relations for this hook */
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                for (WorkSpaceDataRelation *relation = workspace->hook_layout_relations.first, *relation_next;
                     relation;
                     relation = relation_next)
@@ -287,7 +287,7 @@ WorkSpaceLayout *BKE_workspace_layout_find_global(
                *r_workspace = NULL;
        }
 
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                if ((layout = workspace_layout_find_exec(workspace, screen))) {
                        if (r_workspace) {
                                *r_workspace = workspace;
index 9f9571d..7fcacd8 100644 (file)
@@ -439,7 +439,7 @@ BlendFileData *BLO_read_from_memfile(
                        }
                        /* In any case, we need to move all lib datablocks themselves - those are 'first level data',
                         * getting rid of them would imply updating spaces & co to prevent invalid pointers access. */
-                       BLI_movelisttolist(&newmain->library, &oldmain->library);
+                       BLI_movelisttolist(&newmain->libraries, &oldmain->libraries);
 
                        blo_join_main(&new_mainlist);
                }
index de997e7..e5d4da8 100644 (file)
@@ -547,15 +547,15 @@ void blo_split_main(ListBase *mainlist, Main *main)
        mainlist->first = mainlist->last = main;
        main->next = NULL;
 
-       if (BLI_listbase_is_empty(&main->library))
+       if (BLI_listbase_is_empty(&main->libraries))
                return;
 
        /* (Library.temp_index -> Main), lookup table */
-       const uint lib_main_array_len = BLI_listbase_count(&main->library);
+       const uint lib_main_array_len = BLI_listbase_count(&main->libraries);
        Main     **lib_main_array     = MEM_malloc_arrayN(lib_main_array_len, sizeof(*lib_main_array), __func__);
 
        int i = 0;
-       for (Library *lib = main->library.first; lib; lib = lib->id.next, i++) {
+       for (Library *lib = main->libraries.first; lib; lib = lib->id.next, i++) {
                Main *libmain = BKE_main_new();
                libmain->curlib = lib;
                libmain->versionfile = lib->versionfile;
@@ -1792,7 +1792,7 @@ static void change_link_placeholder_to_real_ID_pointer(ListBase *mainlist, FileD
  */
 void blo_clear_proxy_pointers_from_lib(Main *oldmain)
 {
-       Object *ob = oldmain->object.first;
+       Object *ob = oldmain->objects.first;
 
        for (; ob; ob = ob->id.next) {
                if (ob->id.lib != NULL && ob->proxy_from != NULL && ob->proxy_from->id.lib == NULL) {
@@ -1803,7 +1803,7 @@ void blo_clear_proxy_pointers_from_lib(Main *oldmain)
 
 void blo_make_scene_pointer_map(FileData *fd, Main *oldmain)
 {
-       Scene *sce = oldmain->scene.first;
+       Scene *sce = oldmain->scenes.first;
 
        fd->scenemap = oldnewmap_new();
 
@@ -1818,7 +1818,7 @@ void blo_make_scene_pointer_map(FileData *fd, Main *oldmain)
 void blo_end_scene_pointer_map(FileData *fd, Main *oldmain)
 {
        OldNew *entry = fd->scenemap->entries;
-       Scene *sce = oldmain->scene.first;
+       Scene *sce = oldmain->scenes.first;
        int i;
 
        /* used entries were restored, so we put them to zero */
@@ -1834,8 +1834,8 @@ void blo_end_scene_pointer_map(FileData *fd, Main *oldmain)
 
 void blo_make_image_pointer_map(FileData *fd, Main *oldmain)
 {
-       Image *ima = oldmain->image.first;
-       Scene *sce = oldmain->scene.first;
+       Image *ima = oldmain->images.first;
+       Scene *sce = oldmain->scenes.first;
        int a;
 
        fd->imamap = oldnewmap_new();
@@ -1874,8 +1874,8 @@ void blo_make_image_pointer_map(FileData *fd, Main *oldmain)
 void blo_end_image_pointer_map(FileData *fd, Main *oldmain)
 {
        OldNew *entry = fd->imamap->entries;
-       Image *ima = oldmain->image.first;
-       Scene *sce = oldmain->scene.first;
+       Image *ima = oldmain->images.first;
+       Scene *sce = oldmain->scenes.first;
        int i;
 
        /* used entries were restored, so we put them to zero */
@@ -1925,8 +1925,8 @@ void blo_end_image_pointer_map(FileData *fd, Main *oldmain)
 
 void blo_make_movieclip_pointer_map(FileData *fd, Main *oldmain)
 {
-       MovieClip *clip = oldmain->movieclip.first;
-       Scene *sce = oldmain->scene.first;
+       MovieClip *clip = oldmain->movieclips.first;
+       Scene *sce = oldmain->scenes.first;
 
        fd->movieclipmap = oldnewmap_new();
 
@@ -1953,8 +1953,8 @@ void blo_make_movieclip_pointer_map(FileData *fd, Main *oldmain)
 void blo_end_movieclip_pointer_map(FileData *fd, Main *oldmain)
 {
        OldNew *entry = fd->movieclipmap->entries;
-       MovieClip *clip = oldmain->movieclip.first;
-       Scene *sce = oldmain->scene.first;
+       MovieClip *clip = oldmain->movieclips.first;
+       Scene *sce = oldmain->scenes.first;
        int i;
 
        /* used entries were restored, so we put them to zero */
@@ -1980,7 +1980,7 @@ void blo_end_movieclip_pointer_map(FileData *fd, Main *oldmain)
 
 void blo_make_sound_pointer_map(FileData *fd, Main *oldmain)
 {
-       bSound *sound = oldmain->sound.first;
+       bSound *sound = oldmain->sounds.first;
 
        fd->soundmap = oldnewmap_new();
 
@@ -1995,7 +1995,7 @@ void blo_make_sound_pointer_map(FileData *fd, Main *oldmain)
 void blo_end_sound_pointer_map(FileData *fd, Main *oldmain)
 {
        OldNew *entry = fd->soundmap->entries;
-       bSound *sound = oldmain->sound.first;
+       bSound *sound = oldmain->sounds.first;
        int i;
 
        /* used entries were restored, so we put them to zero */
@@ -2026,7 +2026,7 @@ void blo_make_packed_pointer_map(FileData *fd, Main *oldmain)
 
        fd->packedmap = oldnewmap_new();
 
-       for (ima = oldmain->image.first; ima; ima = ima->id.next) {
+       for (ima = oldmain->images.first; ima; ima = ima->id.next) {
                ImagePackedFile *imapf;
 
                if (ima->packedfile)
@@ -2037,15 +2037,15 @@ void blo_make_packed_pointer_map(FileData *fd, Main *oldmain)
                                insert_packedmap(fd, imapf->packedfile);
        }
 
-       for (vfont = oldmain->vfont.first; vfont; vfont = vfont->id.next)
+       for (vfont = oldmain->fonts.first; vfont; vfont = vfont->id.next)
                if (vfont->packedfile)
                        insert_packedmap(fd, vfont->packedfile);
 
-       for (sound = oldmain->sound.first; sound; sound = sound->id.next)
+       for (sound = oldmain->sounds.first; sound; sound = sound->id.next)
                if (sound->packedfile)
                        insert_packedmap(fd, sound->packedfile);
 
-       for (lib = oldmain->library.first; lib; lib = lib->id.next)
+       for (lib = oldmain->libraries.first; lib; lib = lib->id.next)
                if (lib->packedfile)
                        insert_packedmap(fd, lib->packedfile);
 
@@ -2068,7 +2068,7 @@ void blo_end_packed_pointer_map(FileData *fd, Main *oldmain)
                        entry->newp = NULL;
        }
 
-       for (ima = oldmain->image.first; ima; ima = ima->id.next) {
+       for (ima = oldmain->images.first; ima; ima = ima->id.next) {
                ImagePackedFile *imapf;
 
                ima->packedfile = newpackedadr(fd, ima->packedfile);
@@ -2077,13 +2077,13 @@ void blo_end_packed_pointer_map(FileData *fd, Main *oldmain)
                        imapf->packedfile = newpackedadr(fd, imapf->packedfile);
        }
 
-       for (vfont = oldmain->vfont.first; vfont; vfont = vfont->id.next)
+       for (vfont = oldmain->fonts.first; vfont; vfont = vfont->id.next)
                vfont->packedfile = newpackedadr(fd, vfont->packedfile);
 
-       for (sound = oldmain->sound.first; sound; sound = sound->id.next)
+       for (sound = oldmain->sounds.first; sound; sound = sound->id.next)
                sound->packedfile = newpackedadr(fd, sound->packedfile);
 
-       for (lib = oldmain->library.first; lib; lib = lib->id.next)
+       for (lib = oldmain->libraries.first; lib; lib = lib->id.next)
                lib->packedfile = newpackedadr(fd, lib->packedfile);
 }
 
@@ -2605,7 +2605,7 @@ static void direct_link_curvemapping(FileData *fd, CurveMapping *cumap)
 static void lib_link_brush(FileData *fd, Main *main)
 {
        /* only link ID pointers */
-       for (Brush *brush = main->brush.first; brush; brush = brush->id.next) {
+       for (Brush *brush = main->brushes.first; brush; brush = brush->id.next) {
                if (brush->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(brush->id.properties, fd);
 
@@ -2670,7 +2670,7 @@ static void direct_link_brush(FileData *fd, Brush *brush)
 static void lib_link_palette(FileData *fd, Main *main)
 {
        /* only link ID pointers */
-       for (Palette *palette = main->palette.first; palette; palette = palette->id.next) {
+       for (Palette *palette = main->palettes.first; palette; palette = palette->id.next) {
                if (palette->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(palette->id.properties, fd);
 
@@ -2689,7 +2689,7 @@ static void direct_link_palette(FileData *fd, Palette *palette)
 static void lib_link_paint_curve(FileData *fd, Main *main)
 {
        /* only link ID pointers */
-       for (PaintCurve *pc = main->paintcurve.first; pc; pc = pc->id.next) {
+       for (PaintCurve *pc = main->paintcurves.first; pc; pc = pc->id.next) {
                if (pc->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(pc->id.properties, fd);
 
@@ -2956,7 +2956,7 @@ static void direct_link_fcurves(FileData *fd, ListBase *list)
 
 static void lib_link_action(FileData *fd, Main *main)
 {
-       for (bAction *act = main->action.first; act; act = act->id.next) {
+       for (bAction *act = main->actions.first; act; act = act->id.next) {
                if (act->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(act->id.properties, fd);
 
@@ -3168,7 +3168,7 @@ static void direct_link_animdata(FileData *fd, AnimData *adt)
 static void lib_link_cachefiles(FileData *fd, Main *bmain)
 {
        /* only link ID pointers */
-       for (CacheFile *cache_file = bmain->cachefile.first; cache_file; cache_file = cache_file->id.next) {
+       for (CacheFile *cache_file = bmain->cachefiles.first; cache_file; cache_file = cache_file->id.next) {
                if (cache_file->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(cache_file->id.properties, fd);
                        lib_link_animdata(fd, &cache_file->id, cache_file->adt);
@@ -3197,7 +3197,7 @@ static void direct_link_cachefile(FileData *fd, CacheFile *cache_file)
 
 static void lib_link_workspaces(FileData *fd, Main *bmain)
 {
-       for (WorkSpace *workspace = bmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = bmain->workspaces.first; workspace; workspace = workspace->id.next) {
                ListBase *layouts = BKE_workspace_layouts_get(workspace);
                ID *id = (ID *)workspace;
 
@@ -3311,7 +3311,7 @@ static void lib_link_ntree(FileData *fd, ID *id, bNodeTree *ntree)
 static void lib_link_nodetree(FileData *fd, Main *main)
 {
        /* only link ID pointers */
-       for (bNodeTree *ntree = main->nodetree.first; ntree; ntree = ntree->id.next) {
+       for (bNodeTree *ntree = main->nodetrees.first; ntree; ntree = ntree->id.next) {
                if (ntree->id.tag & LIB_TAG_NEED_LINK) {
                        lib_link_ntree(fd, &ntree->id, ntree);
 
@@ -3388,7 +3388,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
                 * we have set the NTREE_DO_VERSIONS_GROUP_EXPOSE_2_56_2 flag, so at this point we can do the
                 * actual group node updates.
                 */
-               for (bNodeTree *ntree = main->nodetree.first; ntree; ntree = ntree->id.next) {
+               for (bNodeTree *ntree = main->nodetrees.first; ntree; ntree = ntree->id.next) {
                        if (ntree->flag & NTREE_DO_VERSIONS_GROUP_EXPOSE_2_56_2) {
                                has_old_groups = 1;
                        }
@@ -3408,7 +3408,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
                        } FOREACH_NODETREE_END;
                }
 
-               for (bNodeTree *ntree = main->nodetree.first; ntree; ntree = ntree->id.next) {
+               for (bNodeTree *ntree = main->nodetrees.first; ntree; ntree = ntree->id.next) {
                        ntree->flag &= ~NTREE_DO_VERSIONS_GROUP_EXPOSE_2_56_2;
                }
        }
@@ -3516,7 +3516,7 @@ static void lib_verify_nodetree(Main *main, int UNUSED(open))
        }
 
        /* verify all group user nodes */
-       for (bNodeTree *ntree = main->nodetree.first; ntree; ntree = ntree->id.next) {
+       for (bNodeTree *ntree = main->nodetrees.first; ntree; ntree = ntree->id.next) {
                ntreeVerifyNodes(main, &ntree->id);
        }
 
@@ -3876,7 +3876,7 @@ static void lib_link_bones(FileData *fd, Bone *bone)
 
 static void lib_link_armature(FileData *fd, Main *main)
 {
-       for (bArmature *arm = main->armature.first; arm; arm = arm->id.next) {
+       for (bArmature *arm = main->armatures.first; arm; arm = arm->id.next) {
                if (arm->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(arm->id.properties, fd);
                        lib_link_animdata(fd, &arm->id, arm->adt);
@@ -3935,7 +3935,7 @@ static void direct_link_armature(FileData *fd, bArmature *arm)
 
 static void lib_link_camera(FileData *fd, Main *main)
 {
-       for (Camera *ca = main->camera.first; ca; ca = ca->id.next) {
+       for (Camera *ca = main->cameras.first; ca; ca = ca->id.next) {
                if (ca->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(ca->id.properties, fd);
                        lib_link_animdata(fd, &ca->id, ca->adt);
@@ -3975,7 +3975,7 @@ static void direct_link_camera(FileData *fd, Camera *ca)
 
 static void lib_link_light(FileData *fd, Main *main)
 {
-       for (Light *la = main->light.first; la; la = la->id.next) {
+       for (Light *la = main->lights.first; la; la = la->id.next) {
                if (la->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(la->id.properties, fd);
                        lib_link_animdata(fd, &la->id, la->adt);
@@ -4028,7 +4028,7 @@ void blo_do_versions_key_uidgen(Key *key)
 
 static void lib_link_key(FileData *fd, Main *main)
 {
-       for (Key *key = main->key.first; key; key = key->id.next) {
+       for (Key *key = main->shapekeys.first; key; key = key->id.next) {
                BLI_assert((key->id.tag & LIB_TAG_EXTERN) == 0);
 
                if (key->id.tag & LIB_TAG_NEED_LINK) {
@@ -4099,7 +4099,7 @@ static void direct_link_key(FileData *fd, Key *key)
 
 static void lib_link_mball(FileData *fd, Main *main)
 {
-       for (MetaBall *mb = main->mball.first; mb; mb = mb->id.next) {
+       for (MetaBall *mb = main->metaballs.first; mb; mb = mb->id.next) {
                if (mb->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(mb->id.properties, fd);
                        lib_link_animdata(fd, &mb->id, mb->adt);
@@ -4140,7 +4140,7 @@ static void direct_link_mball(FileData *fd, MetaBall *mb)
 
 static void lib_link_world(FileData *fd, Main *main)
 {
-       for (World *wrld = main->world.first; wrld; wrld = wrld->id.next) {
+       for (World *wrld = main->worlds.first; wrld; wrld = wrld->id.next) {
                if (wrld->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(wrld->id.properties, fd);
                        lib_link_animdata(fd, &wrld->id, wrld->adt);
@@ -4183,7 +4183,7 @@ static void direct_link_world(FileData *fd, World *wrld)
 
 static void lib_link_vfont(FileData *fd, Main *main)
 {
-       for (VFont *vf = main->vfont.first; vf; vf = vf->id.next) {
+       for (VFont *vf = main->fonts.first; vf; vf = vf->id.next) {
                if (vf->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(vf->id.properties, fd);
 
@@ -4207,7 +4207,7 @@ static void direct_link_vfont(FileData *fd, VFont *vf)
 
 static void lib_link_text(FileData *fd, Main *main)
 {
-       for (Text *text = main->text.first; text; text = text->id.next) {
+       for (Text *text = main->texts.first; text; text = text->id.next) {
                if (text->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(text->id.properties, fd);
 
@@ -4259,7 +4259,7 @@ static void direct_link_text(FileData *fd, Text *text)
 
 static void lib_link_image(FileData *fd, Main *main)
 {
-       for (Image *ima = main->image.first; ima; ima = ima->id.next) {
+       for (Image *ima = main->images.first; ima; ima = ima->id.next) {
                if (ima->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(ima->id.properties, fd);
 
@@ -4334,7 +4334,7 @@ static void direct_link_image(FileData *fd, Image *ima)
 
 static void lib_link_curve(FileData *fd, Main *main)
 {
-       for (Curve *cu = main->curve.first; cu; cu = cu->id.next) {
+       for (Curve *cu = main->curves.first; cu; cu = cu->id.next) {
                if (cu->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(cu->id.properties, fd);
                        lib_link_animdata(fd, &cu->id, cu->adt);
@@ -4434,7 +4434,7 @@ static void direct_link_curve(FileData *fd, Curve *cu)
 
 static void lib_link_texture(FileData *fd, Main *main)
 {
-       for (Tex *tex = main->tex.first; tex; tex = tex->id.next) {
+       for (Tex *tex = main->textures.first; tex; tex = tex->id.next) {
                if (tex->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(tex->id.properties, fd);
                        lib_link_animdata(fd, &tex->id, tex->adt);
@@ -4479,7 +4479,7 @@ static void direct_link_texture(FileData *fd, Tex *tex)
 
 static void lib_link_material(FileData *fd, Main *main)
 {
-       for (Material *ma = main->mat.first; ma; ma = ma->id.next) {
+       for (Material *ma = main->materials.first; ma; ma = ma->id.next) {
                if (ma->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(ma->id.properties, fd);
                        lib_link_animdata(fd, &ma->id, ma->adt);
@@ -4620,7 +4620,7 @@ static void lib_link_partdeflect(FileData *fd, ID *id, PartDeflect *pd)
 
 static void lib_link_particlesettings(FileData *fd, Main *main)
 {
-       for (ParticleSettings *part = main->particle.first; part; part = part->id.next) {
+       for (ParticleSettings *part = main->particles.first; part; part = part->id.next) {
                if (part->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(part->id.properties, fd);
                        lib_link_animdata(fd, &part->id, part->adt);
@@ -4875,7 +4875,7 @@ static void lib_link_mesh(FileData *fd, Main *main)
 {
        Mesh *me;
 
-       for (me = main->mesh.first; me; me = me->id.next) {
+       for (me = main->meshes.first; me; me = me->id.next) {
                if (me->id.tag & LIB_TAG_NEED_LINK) {
                        int i;
 
@@ -4900,7 +4900,7 @@ static void lib_link_mesh(FileData *fd, Main *main)
                }
        }
 
-       for (me = main->mesh.first; me; me = me->id.next) {
+       for (me = main->meshes.first; me; me = me->id.next) {
                if (me->id.tag & LIB_TAG_NEED_LINK) {
                        /*check if we need to convert mfaces to mpolys*/
                        if (me->totface && !me->totpoly) {
@@ -5142,7 +5142,7 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
 
 static void lib_link_latt(FileData *fd, Main *main)
 {
-       for (Lattice *lt = main->lattice.first; lt; lt = lt->id.next) {
+       for (Lattice *lt = main->lattices.first; lt; lt = lt->id.next) {
                if (lt->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(lt->id.properties, fd);
                        lib_link_animdata(fd, &lt->id, lt->adt);
@@ -5227,7 +5227,7 @@ static void lib_link_object(FileData *fd, Main *main)
 {
        bool warn = false;
 
-       for (Object *ob = main->object.first; ob; ob = ob->id.next) {
+       for (Object *ob = main->objects.first; ob; ob = ob->id.next) {
                if (ob->id.tag & LIB_TAG_NEED_LINK) {
                        int a;
 
@@ -6237,7 +6237,7 @@ static void lib_link_collection_data(FileData *fd, Library *lib, Collection *col
 
 static void lib_link_collection(FileData *fd, Main *main)
 {
-       for (Collection *collection = main->collection.first; collection; collection = collection->id.next) {
+       for (Collection *collection = main->collections.first; collection; collection = collection->id.next) {
                if (collection->id.tag & LIB_TAG_NEED_LINK) {
                        collection->id.tag &= ~LIB_TAG_NEED_LINK;
                        IDP_LibLinkProperty(collection->id.properties, fd);
@@ -6372,7 +6372,7 @@ static void lib_link_scene(FileData *fd, Main *main)
        int totscene = 0;
 #endif
 
-       for (Scene *sce = main->scene.first; sce; sce = sce->id.next) {
+       for (Scene *sce = main->scenes.first; sce; sce = sce->id.next) {
                if (sce->id.tag & LIB_TAG_NEED_LINK) {
                        /* Link ID Properties -- and copy this comment EXACTLY for easy finding
                         * of library blocks that implement this.*/
@@ -6552,7 +6552,7 @@ static void lib_link_scene(FileData *fd, Main *main)
 
 #ifdef USE_SETSCENE_CHECK
        if (need_check_set) {
-               for (Scene *sce = main->scene.first; sce; sce = sce->id.next) {
+               for (Scene *sce = main->scenes.first; sce; sce = sce->id.next) {
                        if (sce->id.tag & LIB_TAG_NEED_LINK) {
                                sce->id.tag &= ~LIB_TAG_NEED_LINK;
                                if (!scene_validate_setscene__liblink(sce, totscene)) {
@@ -6937,7 +6937,7 @@ static void direct_link_scene(FileData *fd, Scene *sce)
 static void lib_link_gpencil(FileData *fd, Main *main)
 {
        /* Relink all datablock linked by GP datablock */
-       for (bGPdata *gpd = main->gpencil.first; gpd; gpd = gpd->id.next) {
+       for (bGPdata *gpd = main->gpencils.first; gpd; gpd = gpd->id.next) {
                if (gpd->id.tag & LIB_TAG_NEED_LINK) {
                        /* Layers */
                        for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
@@ -7678,7 +7678,7 @@ static void lib_link_windowmanager(FileData *fd, Main *main)
  * check lib pointers in call below */
 static void lib_link_screen(FileData *fd, Main *main)
 {
-       for (bScreen *sc = main->screen.first; sc; sc = sc->id.next) {
+       for (bScreen *sc = main->screens.first; sc; sc = sc->id.next) {
                if (sc->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(sc->id.properties, fd);
 
@@ -7963,7 +7963,7 @@ static void lib_link_workspace_layout_restore(struct IDNameLib_Map *id_map, Main
                                        SpaceText *st = (SpaceText *)sl;
 
                                        st->text = restore_pointer_by_name(id_map, (ID *)st->text, USER_REAL);
-                                       if (st->text == NULL) st->text = newmain->text.first;
+                                       if (st->text == NULL) st->text = newmain->texts.first;
                                }
                                else if (sl->spacetype == SPACE_SCRIPT) {
                                        SpaceScript *scpt = (SpaceScript *)sl;
@@ -8062,7 +8062,7 @@ void blo_lib_link_restore(Main *oldmain, Main *newmain, wmWindowManager *curwm,
 {
        struct IDNameLib_Map *id_map = BKE_main_idmap_create(newmain, true, oldmain);
 
-       for (WorkSpace *workspace = newmain->workspace.first; workspace; workspace = workspace->id.next) {
+       for (WorkSpace *workspace = newmain->workspaces.first; workspace; workspace = workspace->id.next) {
                ListBase *layouts = BKE_workspace_layouts_get(workspace);
 
                for (WorkSpaceLayout *layout = layouts->first; layout; layout = layout->next) {
@@ -8164,7 +8164,7 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main)
                                change_link_placeholder_to_real_ID_pointer(fd->mainlist, fd, lib, newmain->curlib);
 /*                             change_link_placeholder_to_real_ID_pointer_fd(fd, lib, newmain->curlib); */
 
-                               BLI_remlink(&main->library, lib);
+                               BLI_remlink(&main->libraries, lib);
                                MEM_freeN(lib);
 
                                /* Now, since Blender always expect **latest** Main pointer from fd->mainlist to be the active library
@@ -8200,7 +8200,7 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main)
 static void lib_link_library(FileData *UNUSED(fd), Main *main)
 {
        Library *lib;
-       for (lib = main->library.first; lib; lib = lib->id.next) {
+       for (lib = main->libraries.first; lib; lib = lib->id.next) {
                id_us_ensure_real(&lib->id);
        }
 }
@@ -8211,7 +8211,7 @@ static void fix_relpaths_library(const char *basepath, Main *main)
        Library *lib;
        /* BLO_read_from_memory uses a blank filename */
        if (basepath == NULL || basepath[0] == '\0') {
-               for (lib = main->library.first; lib; lib = lib->id.next) {
+               for (lib = main->libraries.first; lib; lib = lib->id.next) {
                        /* when loading a linked lib into a file which has not been saved,
                         * there is nothing we can be relative to, so instead we need to make
                         * it absolute. This can happen when appending an object with a relative
@@ -8223,7 +8223,7 @@ static void fix_relpaths_library(const char *basepath, Main *main)
                }
        }
        else {
-               for (lib = main->library.first; lib; lib = lib->id.next) {
+               for (lib = main->libraries.first; lib; lib = lib->id.next) {
                        /* Libraries store both relative and abs paths, recreate relative paths,
                         * relative to the blend file since indirectly linked libs will be relative to their direct linked library */
                        if (BLI_path_is_rel(lib->name)) {  /* if this is relative to begin with? */
@@ -8242,7 +8242,7 @@ static void fix_relpaths_library(const char *basepath, Main *main)
 
 static void lib_link_lightprobe(FileData *fd, Main *main)
 {
-       for (LightProbe *prb = main->lightprobe.first; prb; prb = prb->id.next) {
+       for (LightProbe *prb = main->lightprobes.first; prb; prb = prb->id.next) {
                if (prb->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(prb->id.properties, fd);
                        lib_link_animdata(fd, &prb->id, prb->adt);
@@ -8268,7 +8268,7 @@ static void direct_link_lightprobe(FileData *fd, LightProbe *prb)
 
 static void lib_link_speaker(FileData *fd, Main *main)
 {
-       for (Speaker *spk = main->speaker.first; spk; spk = spk->id.next) {
+       for (Speaker *spk = main->speakers.first; spk; spk = spk->id.next) {
                if (spk->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(spk->id.properties, fd);
                        lib_link_animdata(fd, &spk->id, spk->adt);
@@ -8330,7 +8330,7 @@ static void direct_link_sound(FileData *fd, bSound *sound)
 
 static void lib_link_sound(FileData *fd, Main *main)
 {
-       for (bSound *sound = main->sound.first; sound; sound = sound->id.next) {
+       for (bSound *sound = main->sounds.first; sound; sound = sound->id.next) {
                if (sound->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(sound->id.properties, fd);
 
@@ -8447,7 +8447,7 @@ static void lib_link_moviePlaneTracks(FileData *fd, MovieClip *clip, ListBase *t
 
 static void lib_link_movieclip(FileData *fd, Main *main)
 {
-       for (MovieClip *clip = main->movieclip.first; clip; clip = clip->id.next) {
+       for (MovieClip *clip = main->movieclips.first; clip; clip = clip->id.next) {
                if (clip->id.tag & LIB_TAG_NEED_LINK) {
                        MovieTracking *tracking = &clip->tracking;
 
@@ -8541,7 +8541,7 @@ static void lib_link_mask_parent(FileData *fd, Mask *mask, MaskParent *parent)
 
 static void lib_link_mask(FileData *fd, Main *main)
 {
-       for (Mask *mask = main->mask.first; mask; mask = mask->id.next) {
+       for (Mask *mask = main->masks.first; mask; mask = mask->id.next) {
                if (mask->id.tag & LIB_TAG_NEED_LINK) {
                        IDP_LibLinkProperty(mask->id.properties, fd);
                        lib_link_animdata(fd, &mask->id, mask->adt);
@@ -8580,7 +8580,7 @@ static void lib_link_mask(FileData *fd, Main *main)
 
 static void lib_link_linestyle(FileData *fd, Main *main)
 {
-       for (FreestyleLineStyle *linestyle = main->linestyle.first; linestyle; linestyle = linestyle->id.next) {
+       for (FreestyleLineStyle *linestyle = main->linestyles.first; linestyle; linestyle = linestyle->id.next) {
                if (linestyle->id.tag & LIB_TAG_NEED_LINK) {
                        LineStyleModifier *m;
 
@@ -8949,9 +8949,9 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, const int ta
                                         * a missing ID_LINK_PLACEHOLDER, we need to get the correct lib it is linked to!
                                         * Order is crucial, we cannot bulk-add it in BLO_read_from_memfile() like it used to be... */
                                        BLI_remlink(fd->old_mainlist, libmain);
-                                       BLI_remlink_safe(&oldmain->library, libmain->curlib);
+                                       BLI_remlink_safe(&oldmain->libraries, libmain->curlib);
                                        BLI_addtail(fd->mainlist, libmain);
-                                       BLI_addtail(&main->library, libmain->curlib);
+                                       BLI_addtail(&main->libraries, libmain->curlib);
 
                                        if (r_id) {
                                                *r_id = NULL;  /* Just in case... */
@@ -10787,7 +10787,7 @@ static bool object_in_any_scene(Main *bmain, Object *ob)
 {
        Scene *sce;
 
-       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                if (BKE_scene_object_find(sce, ob)) {
                        return true;
                }
@@ -10806,7 +10806,7 @@ static void add_loose_objects_to_scene(
        BLI_assert(scene);
 
        /* Give all objects which are LIB_TAG_INDIRECT a base, or for a collection when *lib has been set. */
-       for (Object *ob = mainvar->object.first; ob; ob = ob->id.next) {
+       for (Object *ob = mainvar->objects.first; ob; ob = ob->id.next) {
                bool do_it = (ob->id.tag & LIB_TAG_DOIT) != 0;
                if (do_it || ((ob->id.tag & LIB_TAG_INDIRECT) && (ob->id.tag & LIB_TAG_PRE_EXISTING) == 0)) {
                        if (!is_link) {
@@ -10870,7 +10870,7 @@ static void add_collections_to_scene(
        }
 
        /* Give all objects which are tagged a base. */
-       for (Collection *collection = mainvar->collection.first; collection; collection = collection->id.next) {
+       for (Collection *collection = mainvar->collections.first; collection; collection = collection->id.next) {
                if ((flag & FILE_GROUP_INSTANCE) && (collection->id.tag & LIB_TAG_DOIT)) {
                        /* Any indirect collection should not have been tagged. */
                        BLI_assert((collection->id.tag & LIB_TAG_INDIRECT) == 0);
@@ -11100,7 +11100,7 @@ static Main *library_link_begin(Main *mainvar, FileData **fd, const char *filepa
        (*fd)->mainlist = MEM_callocN(sizeof(ListBase), "FileData.mainlist");
 
        /* clear for collection instantiating tag */
-       BKE_main_id_tag_listbase(&(mainvar->collection), LIB_TAG_DOIT, false);
+       BKE_main_id_tag_listbase(&(mainvar->collections), LIB_TAG_DOIT, false);
 
        /* make mains */
        blo_split_main((*fd)->mainlist, mainvar);
@@ -11227,8 +11227,8 @@ static void library_link_end(
        }
 
        /* Clear objects and collections instantiating tag. */
-       BKE_main_id_tag_listbase(&(mainvar->object), LIB_TAG_DOIT, false);
-       BKE_main_id_tag_listbase(&(mainvar->collection), LIB_TAG_DOIT, false);
+       BKE_main_id_tag_listbase(&(mainvar->objects), LIB_TAG_DOIT, false);
+       BKE_main_id_tag_listbase(&(mainvar->collections), LIB_TAG_DOIT, false);
 
        /* patch to prevent switch_endian happens twice */
        if ((*fd)->flags & FD_FLAGS_SWITCH_ENDIAN) {
index 5d7f37d..d8bd0e8 100644 (file)
@@ -459,21 +459,21 @@ static void do_versions_gpencil_2_50(Main *main, bScreen *screen)
                        if (sl->spacetype == SPACE_VIEW3D) {
                                View3D *v3d = (View3D *)sl;
                                if (v3d->gpd) {
-                                       versions_gpencil_add_main(&main->gpencil, (ID *)v3d->gpd, "GPencil View3D");
+                                       versions_gpencil_add_main(&main->gpencils, (ID *)v3d->gpd, "GPencil View3D");
                                        v3d->gpd = NULL;
                                }
                        }
                        else if (sl->spacetype == SPACE_NODE) {
                                SpaceNode *snode = (SpaceNode *)sl;
                                if (snode->gpd) {
-                                       versions_gpencil_add_main(&main->gpencil, (ID *)snode->gpd, "GPencil Node");
+                                       versions_gpencil_add_main(&main->gpencils, (ID *)snode->gpd, "GPencil Node");
                                        snode->gpd = NULL;
                                }
                        }
                        else if (sl->spacetype == SPACE_SEQ) {
                                SpaceSeq *sseq = (SpaceSeq *)sl;
                                if (sseq->gpd) {
-                                       versions_gpencil_add_main(&main->gpencil, (ID *)sseq->gpd, "GPencil Node");
+                                       versions_gpencil_add_main(&main->gpencils, (ID *)sseq->gpd, "GPencil Node");
                                        sseq->gpd = NULL;
                                }
                        }
@@ -498,7 +498,7 @@ static void do_version_mdef_250(Main *main)
        ModifierData *md;
        MeshDeformModifierData *mmd;
 
-       for (ob = main->object.first; ob; ob = ob->id.next) {
+       for (ob = main->objects.first; ob; ob = ob->id.next) {
                for (md = ob->modifiers.first; md; md = md->next) {
                        if (md->type == eModifierType_MeshDeform) {
                                mmd = (MeshDeformModifierData *)md;
@@ -641,14 +641,14 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                bSound *sound;
                Sequence *seq;
 
-               for (sound = bmain->sound.first; sound; sound = sound->id.next) {
+               for (sound = bmain->sounds.first; sound; sound = sound->id.next) {
                        if (sound->newpackedfile) {
                                sound->packedfile = sound->newpackedfile;
                                sound->newpackedfile = NULL;
                        }
                }
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->ed && scene->ed->seqbasep) {
                                SEQ_BEGIN(scene->ed, seq)
                                {
@@ -672,7 +672,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
 
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        do_versions_windowmanager_2_50(screen);
                        do_versions_gpencil_2_50(bmain, screen);
                }
@@ -680,13 +680,13 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                /* shader, composite and texture node trees have id.name empty, put something in
                 * to have them show in RNA viewer and accessible otherwise.
                 */
-               for (ma = bmain->mat.first; ma; ma = ma->id.next) {
+               for (ma = bmain->materials.first; ma; ma = ma->id.next) {
                        if (ma->nodetree && ma->nodetree->id.name[0] == '\0')
                                strcpy(ma->nodetree->id.name, "NTShader Nodetree");
                }
 
                /* and composite trees */
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        enum { R_PANORAMA = (1 << 10) };
                        if (sce->nodetree && sce->nodetree->id.name[0] == '\0')
                                strcpy(sce->nodetree->id.name, "NTCompositing Nodetree");
@@ -707,7 +707,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* and texture trees */
-               for (tx = bmain->tex.first; tx; tx = tx->id.next) {
+               for (tx = bmain->textures.first; tx; tx = tx->id.next) {
                        bNode *node;
 
                        if (tx->nodetree) {
@@ -722,7 +722,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* particle draw and render types */
-               for (part = bmain->particle.first; part; part = part->id.next) {
+               for (part = bmain->particles.first; part; part = part->id.next) {
                        if (part->draw_as) {
                                if (part->draw_as == PART_DRAW_DOT) {
                                        part->ren_as = PART_DRAW_HALO;
@@ -741,7 +741,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* set old pointcaches to have disk cache flag */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
 
                        //BKE_ptcache_ids_from_object(&pidlist, ob);
 
@@ -752,7 +752,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* type was a mixed flag & enum. move the 2d flag elsewhere */
-               for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+               for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                        Nurb *nu;
 
                        for (nu = cu->nurb.first; nu; nu = nu->next) {
@@ -770,7 +770,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                //PTCacheID *pid;
                //ListBase pidlist;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        //BKE_ptcache_ids_from_object(&pidlist, ob);
 
                        //for (pid = pidlist.first; pid; pid = pid->next) {
@@ -804,12 +804,12 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* texture filter */
-               for (tex = bmain->tex.first; tex; tex = tex->id.next) {
+               for (tex = bmain->textures.first; tex; tex = tex->id.next) {
                        if (tex->afmax == 0)
                                tex->afmax = 8;
                }
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        ts = sce->toolsettings;
                        if (!ts->uv_selectmode || ts->vgroup_weight == 0.0f) {
                                ts->selectmode = SCE_SELECT_VERTEX;
@@ -830,7 +830,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
        if (bmain->versionfile < 250 || (bmain->versionfile == 250 && bmain->subversionfile < 2)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (ob->flag & 8192) // OB_POSEMODE = 8192
                                ob->mode |= OB_MODE_POSE;
                }
@@ -842,11 +842,11 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                ParticleSettings *part;
                bool do_gravity = false;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next)
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next)
                        if (sce->unit.scale_length == 0.0f)
                                sce->unit.scale_length = 1.0f;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        /* fluid-sim stuff */
                        FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim);
                        if (fluidmd)
@@ -856,7 +856,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        ob->rotmode = ROT_MODE_EUL;
                }
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if (sce->audio.main == 0.0f)
                                sce->audio.main = 1.0f;
 
@@ -868,7 +868,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* Add default gravity to scenes */
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if ((sce->physics_settings.flag & PHYS_GLOBAL_GRAVITY) == 0 &&
                            is_zero_v3(sce->physics_settings.gravity))
                        {
@@ -881,11 +881,11 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                /* Assign proper global gravity weights for dynamics (only z-coordinate is taken into account) */
                if (do_gravity) {
-                       for (part = bmain->particle.first; part; part = part->id.next)
+                       for (part = bmain->particles.first; part; part = part->id.next)
                                part->effector_weights->global_gravity = part->acc[2] / -9.81f;
                }
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
 
                        if (do_gravity) {
@@ -918,7 +918,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Object *ob;
 
                /* New variables for axis-angle rotations and/or quaternion rotations were added, and need proper initialization */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        /* new variables for all objects */
                        ob->quat[0] = 1.0f;
                        ob->rotAxis[1] = 1.0f;
@@ -947,7 +947,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                /* shape keys are no longer applied to the mesh itself, but rather
                 * to the derivedmesh/displist, so here we ensure that the basis
                 * shape key is always set in the mesh coordinates. */
-               for (me = bmain->mesh.first; me; me = me->id.next) {
+               for (me = bmain->meshes.first; me; me = me->id.next) {
                        if ((key = blo_do_versions_newlibadr(fd, lib, me->key)) && key->refkey) {
                                data = key->refkey->data;
                                tot = MIN2(me->totvert, key->refkey->totelem);
@@ -957,7 +957,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
 
-               for (lt = bmain->lattice.first; lt; lt = lt->id.next) {
+               for (lt = bmain->lattices.first; lt; lt = lt->id.next) {
                        if ((key = blo_do_versions_newlibadr(fd, lib, lt->key)) && key->refkey) {
                                data = key->refkey->data;
                                tot = MIN2(lt->pntsu * lt->pntsv * lt->pntsw, key->refkey->totelem);
@@ -967,7 +967,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
 
-               for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+               for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                        if ((key = blo_do_versions_newlibadr(fd, lib, cu->key)) && key->refkey) {
                                data = key->refkey->data;
 
@@ -997,7 +997,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
        if (bmain->versionfile < 250 || (bmain->versionfile == 250 && bmain->subversionfile < 8)) {
                {
-                       Scene *sce = bmain->scene.first;
+                       Scene *sce = bmain->scenes.first;
                        while (sce) {
                                if (sce->r.frame_step == 0)
                                        sce->r.frame_step = 1;
@@ -1008,7 +1008,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                {
                        /* ensure all nodes have unique names */
-                       bNodeTree *ntree = bmain->nodetree.first;
+                       bNodeTree *ntree = bmain->nodetrees.first;
                        while (ntree) {
                                bNode *node = ntree->nodes.first;
 
@@ -1022,7 +1022,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                {
-                       Object *ob = bmain->object.first;
+                       Object *ob = bmain->objects.first;
                        while (ob) {
                                /* shaded mode disabled for now */
                                if (ob->dt == OB_MATERIAL)
@@ -1036,7 +1036,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        ScrArea *sa;
                        SpaceLink *sl;
 
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                for (sa = screen->areabase.first; sa; sa = sa->next) {
                                        for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                                if (sl->spacetype == SPACE_VIEW3D) {
@@ -1051,9 +1051,9 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                /* only convert old 2.50 files with color management */
                if (bmain->versionfile == 250) {
-                       Scene *sce = bmain->scene.first;
-                       Material *ma = bmain->mat.first;
-                       Tex *tex = bmain->tex.first;
+                       Scene *sce = bmain->scenes.first;
+                       Material *ma = bmain->materials.first;
+                       Tex *tex = bmain->textures.first;
                        int i, convert = 0;
 
                        /* convert to new color management system:
@@ -1094,15 +1094,15 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Mesh *me;
                Object *ob;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next)
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next)
                        if (!sce->toolsettings->particle.selectmode)
                                sce->toolsettings->particle.selectmode = SCE_SELECT_PATH;
 
                if (bmain->versionfile == 250 && bmain->subversionfile > 1) {
-                       for (me = bmain->mesh.first; me; me = me->id.next)
+                       for (me = bmain->meshes.first; me; me = me->id.next)
                                multires_load_old_250(me);
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                MultiresModifierData *mmd = (MultiresModifierData *)modifiers_findByType(ob, eModifierType_Multires);
 
                                if (mmd) {
@@ -1119,7 +1119,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Object *ob;
 
                /* properly initialize hair clothsim data on old files */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Cloth) {
@@ -1139,7 +1139,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                SpaceLink *sl;
 
                /* remove all preview window in wrong spaces */
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        for (sa = screen->areabase.first; sa; sa = sa->next) {
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                        if (sl->spacetype != SPACE_SEQ) {
@@ -1176,7 +1176,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        ScrArea *sa;
                        SpaceLink *sl;
 
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                for (sa = screen->areabase.first; sa; sa = sa->next) {
                                        for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                                if (sl->spacetype == SPACE_SEQ) {
@@ -1217,7 +1217,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Brush *brush;
 
                /* anim viz changes */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        /* initialize object defaults */
                        animviz_settings_init(&ob->avs);
 
@@ -1262,7 +1262,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* brush texture changes */
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        BKE_texture_mtex_default(&brush->mtex);
                        BKE_texture_mtex_default(&brush->mask_mtex);
                }
@@ -1274,7 +1274,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Object *ob;
 
                /* convert degrees to radians for internal use */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        bPoseChannel *pchan;
 
                        do_version_constraints_radians_degrees_250(&ob->constraints);
@@ -1300,7 +1300,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                ScrArea *sa;
                SpaceLink *sl;
 
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        for (sa = screen->areabase.first; sa; sa = sa->next) {
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                        ListBase *regionbase;
@@ -1329,7 +1329,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Sequence *seq;
 
                /* initialize to sane default so toggling on border shows something */
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if (sce->r.border.xmin == 0.0f && sce->r.border.ymin == 0.0f &&
                            sce->r.border.xmax == 0.0f && sce->r.border.ymax == 0.0f)
                        {
@@ -1349,7 +1349,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* particle brush strength factor was changed from int to float */
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        ParticleEditSettings *pset = &sce->toolsettings->particle;
                        int a;
 
@@ -1363,7 +1363,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        ScrArea *sa;
                        SpaceLink *sl;
 
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                for (sa = screen->areabase.first; sa; sa = sa->next) {
                                        for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                                if (sl->spacetype == SPACE_SEQ) {
@@ -1399,7 +1399,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                 * This bit was used in the past for V3D_TRANSFORM_SNAP, which is now deprecated.
                 * Here we clear it for old files so they don't come in with V3D_HIDE_OVERLAYS set,
                 * which would cause cameras, lights, etc to become invisible */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1419,13 +1419,13 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Scene *scene;
                bNodeTree *ntree;
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        if (brush->curve)
                                brush->curve->preset = CURVE_PRESET_SMOOTH;
                }
 
                /* properly initialize active flag for fluidsim modifiers */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Fluidsim) {
@@ -1437,7 +1437,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* adjustment to color balance node values */
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->nodetree) {
                                bNode *node = scene->nodetree->nodes.first;
 
@@ -1453,7 +1453,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
                /* check inside node groups too */
-               for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next) {
+               for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next) {
                        bNode *node = ntree->nodes.first;
 
                        while (node) {
@@ -1473,7 +1473,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
        if (bmain->versionfile < 252 || (bmain->versionfile == 252 && bmain->subversionfile < 2)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next)
+               for (ob = bmain->objects.first; ob; ob = ob->id.next)
                        blo_do_version_old_trackto_to_constraints(ob);
        }
 
@@ -1481,7 +1481,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                bScreen *sc;
 
                /* Image editor scopes */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
 
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
@@ -1504,7 +1504,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Tex *tex;
                Brush *brush;
 
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1541,7 +1541,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                do_version_mdef_250(bmain);
 
                /* parent type to modifier */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (ob->parent) {
                                Object *parent = (Object *)blo_do_versions_newlibadr(fd, lib, ob->parent);
                                if (parent) { /* parent may not be in group */
@@ -1577,7 +1577,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* initialize scene active layer */
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        int i;
                        for (i = 0; i < 20; i++) {
                                if (scene->lay & (1 << i)) {
@@ -1587,7 +1587,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
 
-               for (tex = bmain->tex.first; tex; tex = tex->id.next) {
+               for (tex = bmain->textures.first; tex; tex = tex->id.next) {
                        /* if youre picky, this isn't correct until we do a version bump
                         * since you could set saturation to be 0.0*/
                        if (tex->saturation == 0.0f)
@@ -1596,12 +1596,12 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                {
                        Curve *cu;
-                       for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+                       for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                                cu->smallcaps_scale = 0.75f;
                        }
                }
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene) {
                                Sequence *seq;
                                SEQ_BEGIN(scene->ed, seq)
@@ -1615,7 +1615,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                /* GSOC 2010 Sculpt - New settings for Brush */
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        /* Sanity Check */
 
                        /* infinite number of dabs */
@@ -1691,7 +1691,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
        /* GSOC Sculpt 2010 - Sanity check on Sculpt/Paint settings */
        if (bmain->versionfile < 253) {
                Scene *sce;
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if (sce->toolsettings->sculpt_paint_unified_alpha == 0)
                                sce->toolsettings->sculpt_paint_unified_alpha = 0.5f;
 
@@ -1706,7 +1706,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
        if (bmain->versionfile < 253 || (bmain->versionfile == 253 && bmain->subversionfile < 1)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
 
                        for (md = ob->modifiers.first; md; md = md->next) {
@@ -1726,7 +1726,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                                                /* for now just add it to all flow objects in the scene */
                                                {
                                                        Object *ob2;
-                                                       for (ob2 = bmain->object.first; ob2; ob2 = ob2->id.next) {
+                                                       for (ob2 = bmain->objects.first; ob2; ob2 = ob2->id.next) {
                                                                ModifierData *md2;
                                                                for (md2 = ob2->modifiers.first; md2; md2 = md2->next) {
                                                                        if (md2->type == eModifierType_Smoke) {
@@ -1754,12 +1754,12 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                ParticleSettings *part;
                bScreen *sc;
 
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        if (br->ob_mode == 0)
                                br->ob_mode = OB_MODE_ALL_PAINT;
                }
 
-               for (part = bmain->particle.first; part; part = part->id.next) {
+               for (part = bmain->particles.first; part; part = part->id.next) {
                        if (part->boids)
                                part->boids->pitch = 1.0f;
 
@@ -1767,7 +1767,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        part->kink_amp_clump = 1.f; /* keep old files looking similar */
                }
 
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1798,7 +1798,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Object *ob;
 
                /* ocean res is now squared, reset old ones - will be massive */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Ocean) {
@@ -1816,7 +1816,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Key *key;
 
                /* Fix for sample line scope initializing with no height */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        sa = sc->areabase.first;
                        while (sa) {
                                SpaceLink *sl;
@@ -1835,7 +1835,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                 * 2.4x would never reveal this to users as a dummy value always ended up getting used
                 * instead
                 */
-               for (key = bmain->key.first; key; key = key->id.next) {
+               for (key = bmain->shapekeys.first; key; key = key->id.next) {
                        KeyBlock *kb;
 
                        for (kb = key->block.first; kb; kb = kb->next) {
@@ -1851,13 +1851,13 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                Bone *bone;
                Object *ob;
 
-               for (arm = bmain->armature.first; arm; arm = arm->id.next)
+               for (arm = bmain->armatures.first; arm; arm = arm->id.next)
                        for (bone = arm->bonebase.first; bone; bone = bone->next)
                                do_version_bone_roll_256(bone);
 
                /* fix for objects which have zero dquat's
                 * since this is multiplied with the quat rather than added */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (is_zero_v4(ob->dquat)) {
                                unit_qt(ob->dquat);
                        }
@@ -1876,7 +1876,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                /* node sockets are not exposed automatically any more,
                 * this mimics the old behavior by adding all unlinked sockets to groups.
                 */
-               for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next) {
+               for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next) {
                        /* this adds copies and links from all unlinked internal sockets to group inputs/outputs. */
 
                        /* first make sure the own_index for new sockets is valid */
@@ -1952,7 +1952,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                ParticleSettings *part;
 
                /* redraws flag in SpaceTime has been moved to Screen level */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        if (sc->redraws_flag == 0) {
                                /* just initialize to default? */
                                /* XXX: we could also have iterated through areas, and taken them from the first timeline available... */
@@ -1960,13 +1960,13 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        }
                }
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        if (brush->height == 0)
                                brush->height = 0.4f;
                }
 
                /* replace 'rim material' option for in offset*/
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Solidify) {
@@ -1980,7 +1980,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                }
 
                /* particle draw color from material */
-               for (part = bmain->particle.first; part; part = part->id.next) {
+               for (part = bmain->particles.first; part; part = part->id.next) {
                        if (part->draw & PART_DRAW_MAT_COL)
                                part->draw_col = PART_DRAW_COL_MAT;
                }
@@ -1989,7 +1989,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
        if (bmain->versionfile < 256 || (bmain->versionfile == 256 && bmain->subversionfile < 6)) {
                Mesh *me;
 
-               for (me = bmain->mesh.first; me; me = me->id.next)
+               for (me = bmain->meshes.first; me; me = me->id.next)
                        BKE_mesh_calc_normals_tessface(me->mvert, me->totvert, me->mface, me->totface, NULL);
        }
 
@@ -1997,7 +1997,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                /* update blur area sizes from 0..1 range to 0..100 percentage */
                Scene *scene;
                bNode *node;
-               for (scene = bmain->scene.first; scene; scene = scene->id.next)
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next)
                        if (scene->nodetree)
                                for (node = scene->nodetree->nodes.first; node; node = node->next)
                                        if (node->type == CMP_NODE_BLUR) {
@@ -2013,7 +2013,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                 * need to make less ugly - possibly an iterator? */
                bScreen *screen;
 
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        ScrArea *sa;
                        /* add regions */
                        for (sa = screen->areabase.first; sa; sa = sa->next) {
@@ -2044,7 +2044,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                {
                        ParticleSettings *part;
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                /* Initialize particle billboard scale */
                                part->bb_size[0] = part->bb_size[1] = 1.0f;
                        }
@@ -2056,7 +2056,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        Scene *scene;
                        Sequence *seq;
 
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                scene->r.ffcodecdata.audio_channels = 2;
                                scene->audio.volume = 1.0f;
                                SEQ_BEGIN(scene->ed, seq)
@@ -2068,7 +2068,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
 
                {
                        bScreen *screen;
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                ScrArea *sa;
 
                                /* add regions */
@@ -2109,7 +2109,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                        bAction *act;
                        FCurve *fcu;
 
-                       for (act = bmain->action.first; act; act = act->id.next) {
+                       for (act = bmain->actions.first; act; act = act->id.next) {
                                for (fcu = act->curves.first; fcu; fcu = fcu->next) {
                                        BezTriple *bezt;
                                        uint i = 0;
@@ -2164,7 +2164,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                         */
                        bNodeTree *ntree;
                        /* all node trees in bmain->nodetree are considered groups */
-                       for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+                       for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                                ntree->nodetype = NODE_GROUP;
                }
        }
@@ -2173,7 +2173,7 @@ void blo_do_versions_250(FileData *fd, Library *lib, Main *bmain)
                {
                        /* Adaptive time step for particle systems */
                        ParticleSettings *part;
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                part->courant_target = 0.2f;
                                part->time_flag &= ~PART_TIME_AUTOSF;
                        }
index 86e4fd4..31be224 100644 (file)
@@ -609,7 +609,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        Scene *sce;
                        bNodeTree *ntree;
 
-                       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+                       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                                /* there are files with invalid audio_channels value, the real cause
                                 * is unknown, but we fix it here anyway to avoid crashes */
                                if (sce->r.ffcodecdata.audio_channels == 0)
@@ -619,7 +619,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                        do_versions_nodetree_image_default_alpha_output(sce->nodetree);
                        }
 
-                       for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+                       for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                                do_versions_nodetree_image_default_alpha_output(ntree);
                }
 
@@ -627,7 +627,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        /* support old particle dupliobject rotation settings */
                        ParticleSettings *part;
 
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                if (ELEM(part->ren_as, PART_DRAW_OB, PART_DRAW_GR)) {
                                        part->draw |= PART_DRAW_ROTATE_OB;
 
@@ -641,13 +641,13 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 260 || (bmain->versionfile == 260 && bmain->subversionfile < 1)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ob->collision_boundtype = ob->boundtype;
                }
 
                {
                        Camera *cam;
-                       for (cam = bmain->camera.first; cam; cam = cam->id.next) {
+                       for (cam = bmain->cameras.first; cam; cam = cam->id.next) {
                                if (cam->sensor_x < 0.01f)
                                        cam->sensor_x = DEFAULT_SENSOR_WIDTH;
 
@@ -682,17 +682,17 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        Material *mat;
                        bNodeTree *ntree;
 
-                       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+                       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                                if (sce->nodetree)
                                        do_versions_nodetree_convert_angle(sce->nodetree);
                        }
 
-                       for (mat = bmain->mat.first; mat; mat = mat->id.next) {
+                       for (mat = bmain->materials.first; mat; mat = mat->id.next) {
                                if (mat->nodetree)
                                        do_versions_nodetree_convert_angle(mat->nodetree);
                        }
 
-                       for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+                       for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                                do_versions_nodetree_convert_angle(ntree);
                }
 
@@ -701,7 +701,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        bScreen *sc;
                        MovieClip *clip;
 
-                       for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+                       for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                                ScrArea *sa;
                                for (sa = sc->areabase.first; sa; sa = sa->next) {
                                        SpaceLink *sl;
@@ -725,7 +725,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                }
                        }
 
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                MovieTrackingTrack *track;
 
                                if (clip->aspx < 1.0f) {
@@ -761,11 +761,11 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *sce;
                MovieClip *clip;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        do_versions_image_settings_2_60(sce);
                }
 
-               for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+               for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                        MovieTrackingSettings *settings = &clip->tracking.settings;
 
                        if (settings->default_pattern_size == 0.0f) {
@@ -778,7 +778,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                /* convert delta addition into delta scale */
                                int i;
                                for (i = 0; i < 3; i++) {
@@ -800,7 +800,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
         * at some point this could be removed. */
        else if (bmain->versionfile == 260 && bmain->subversionfile == 6) {
                Object *ob;
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (is_zero_v3(ob->dscale)) {
                                copy_vn_fl(ob->dscale, 3, 1.0f);
                        }
@@ -810,7 +810,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 260 || (bmain->versionfile == 260 && bmain->subversionfile < 8)) {
                Brush *brush;
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        if (brush->sculpt_tool == SCULPT_TOOL_ROTATE)
                                brush->alpha = 1.0f;
                }
@@ -825,32 +825,32 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        World *world;
                        bNodeTree *ntree;
 
-                       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+                       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                                if (sce->nodetree)
                                        do_versions_nodetree_socket_use_flags_2_62(sce->nodetree);
                        }
 
-                       for (mat = bmain->mat.first; mat; mat = mat->id.next) {
+                       for (mat = bmain->materials.first; mat; mat = mat->id.next) {
                                if (mat->nodetree)
                                        do_versions_nodetree_socket_use_flags_2_62(mat->nodetree);
                        }
 
-                       for (tex = bmain->tex.first; tex; tex = tex->id.next) {
+                       for (tex = bmain->textures.first; tex; tex = tex->id.next) {
                                if (tex->nodetree)
                                        do_versions_nodetree_socket_use_flags_2_62(tex->nodetree);
                        }
 
-                       for (Light *la = bmain->light.first; la; la = la->id.next) {
+                       for (Light *la = bmain->lights.first; la; la = la->id.next) {
                                if (la->nodetree)
                                        do_versions_nodetree_socket_use_flags_2_62(la->nodetree);
                        }
 
-                       for (world = bmain->world.first; world; world = world->id.next) {
+                       for (world = bmain->worlds.first; world; world = world->id.next) {
                                if (world->nodetree)
                                        do_versions_nodetree_socket_use_flags_2_62(world->nodetree);
                        }
 
-                       for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next) {
+                       for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next) {
                                do_versions_nodetree_socket_use_flags_2_62(ntree);
                        }
                }
@@ -858,7 +858,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        MovieClip *clip;
                        Object *ob;
 
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                MovieTracking *tracking = &clip->tracking;
                                MovieTrackingObject *tracking_object = tracking->objects.first;
 
@@ -878,7 +878,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                }
                        }
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                bConstraint *con;
                                for (con = ob->constraints.first; con; con = con->next) {
                                        if (con->type == CONSTRAINT_TYPE_OBJECTSOLVER) {
@@ -897,7 +897,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        /* convert deprecated sculpt_paint_unified_* fields to
                         * UnifiedPaintSettings */
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                ToolSettings *ts = scene->toolsettings;
                                UnifiedPaintSettings *ups = &ts->unified_paint_settings;
                                ups->size = ts->sculpt_paint_unified_size;
@@ -912,7 +912,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        /* convert extended ascii to utf-8 for text editor */
                        Text *text;
-                       for (text = bmain->text.first; text; text = text->id.next) {
+                       for (text = bmain->texts.first; text; text = text->id.next) {
                                if (!(text->flags & TXT_ISEXT)) {
                                        TextLine *tl;
 
@@ -930,7 +930,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        /* set new dynamic paint values */
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_DynamicPaint) {
@@ -952,7 +952,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (bmain->versionfile < 262) {
                Object *ob;
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
 
                        for (md = ob->modifiers.first; md; md = md->next) {
@@ -970,7 +970,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                 * try to correct it, if rate is 0.0 that's likely not intentional */
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Fluidsim) {
@@ -987,13 +987,13 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *sce;
                bNodeTree *ntree;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if (sce->nodetree)
                                do_versions_nodetree_multi_file_output_format_2_62_1(sce, sce->nodetree);
                }
 
                /* XXX can't associate with scene for group nodes, image format will stay uninitialized */
-               for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+               for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                        do_versions_nodetree_multi_file_output_format_2_62_1(NULL, ntree);
        }
 
@@ -1001,7 +1001,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile == 262 && bmain->subversionfile == 1) {
                {
                        Mesh *me;
-                       for (me = bmain->mesh.first; me; me = me->id.next) {
+                       for (me = bmain->meshes.first; me; me = me->id.next) {
                                do_versions_mesh_mloopcol_swap_2_62_1(me);
                        }
                }
@@ -1010,7 +1010,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 262 || (bmain->versionfile == 262 && bmain->subversionfile < 2)) {
                /* Set new idname of keyingsets from their now "label-only" name. */
                Scene *scene;
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        KeyingSet *ks;
                        for (ks = scene->keyingsets.first; ks; ks = ks->next) {
                                if (!ks->idname[0])
@@ -1023,7 +1023,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Object *ob;
                ModifierData *md;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Lattice) {
                                        LatticeModifierData *lmd = (LatticeModifierData *)md;
@@ -1037,7 +1037,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                /* Read Viscosity presets from older files */
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Fluidsim) {
@@ -1060,7 +1060,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 263) {
                /* Default for old files is to save particle rotations to pointcache */
                ParticleSettings *part;
-               for (part = bmain->particle.first; part; part = part->id.next) {
+               for (part = bmain->particles.first; part; part = part->id.next) {
                        part->flag |= PART_ROTATIONS;
                }
        }
@@ -1070,10 +1070,10 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *sce;
                bNodeTree *ntree;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next)
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next)
                        if (sce->nodetree)
                                do_versions_nodetree_multi_file_output_path_2_63_1(sce->nodetree);
-               for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+               for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                        do_versions_nodetree_multi_file_output_path_2_63_1(ntree);
        }
 
@@ -1085,7 +1085,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                 * unified paint settings also have weight. Update unified
                 * paint settings and brushes with a default weight value. */
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        ToolSettings *ts = scene->toolsettings;
                        if (ts) {
                                ts->unified_paint_settings.weight = ts->vgroup_weight;
@@ -1093,7 +1093,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        brush->weight = 0.5;
                }
        }
@@ -1101,7 +1101,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 2)) {
                bScreen *sc;
 
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1137,14 +1137,14 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Camera *cam;
                Curve *cu;
 
-               for (cam = bmain->camera.first; cam; cam = cam->id.next) {
+               for (cam = bmain->cameras.first; cam; cam = cam->id.next) {
                        if (cam->flag & CAM_PANORAMA) {
                                cam->type = CAM_PANO;
                                cam->flag &= ~CAM_PANORAMA;
                        }
                }
 
-               for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+               for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                        if (cu->bevfac2 == 0.0f) {
                                cu->bevfac1 = 0.0f;
                                cu->bevfac2 = 1.0f;
@@ -1158,13 +1158,13 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        Scene *sce;
                        bNodeTree *ntree;
 
-                       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+                       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                                if (sce->nodetree) {
                                        do_versions_nodetree_file_output_layers_2_64_5(sce->nodetree);
                                        do_versions_nodetree_image_layer_2_64_5(sce->nodetree);
                                }
                        }
-                       for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next) {
+                       for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next) {
                                do_versions_nodetree_file_output_layers_2_64_5(ntree);
                                do_versions_nodetree_image_layer_2_64_5(ntree);
                        }
@@ -1179,34 +1179,34 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                World *world;
                bNodeTree *ntree;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next)
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next)
                        if (sce->nodetree)
                                do_versions_nodetree_frame_2_64_6(sce->nodetree);
 
-               for (mat = bmain->mat.first; mat; mat = mat->id.next)
+               for (mat = bmain->materials.first; mat; mat = mat->id.next)
                        if (mat->nodetree)
                                do_versions_nodetree_frame_2_64_6(mat->nodetree);
 
-               for (tex = bmain->tex.first; tex; tex = tex->id.next)
+               for (tex = bmain->textures.first; tex; tex = tex->id.next)
                        if (tex->nodetree)
                                do_versions_nodetree_frame_2_64_6(tex->nodetree);
 
-               for (Light *la = bmain->light.first; la; la = la->id.next)
+               for (Light *la = bmain->lights.first; la; la = la->id.next)
                        if (la->nodetree)
                                do_versions_nodetree_frame_2_64_6(la->nodetree);
 
-               for (world = bmain->world.first; world; world = world->id.next)
+               for (world = bmain->worlds.first; world; world = world->id.next)
                        if (world->nodetree)
                                do_versions_nodetree_frame_2_64_6(world->nodetree);
 
-               for (ntree = bmain->nodetree.first; ntree; ntree = ntree->id.next)
+               for (ntree = bmain->nodetrees.first; ntree; ntree = ntree->id.next)
                        do_versions_nodetree_frame_2_64_6(ntree);
        }
 
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 7)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Smoke) {
@@ -1242,7 +1242,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        Scene *scene;
                        // composite redesign
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                if (scene->nodetree) {
                                        if (scene->nodetree->chunksize == 0) {
                                                scene->nodetree->chunksize = 256;
@@ -1268,7 +1268,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        bScreen *sc;
 
-                       for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+                       for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                                ScrArea *sa;
 
                                for (sa = sc->areabase.first; sa; sa = sa->next) {
@@ -1290,7 +1290,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        MovieClip *clip;
 
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                clip->start_frame = 1;
                        }
                }
@@ -1299,7 +1299,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 11)) {
                MovieClip *clip;
 
-               for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+               for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                        MovieTrackingTrack *track;
 
                        track = clip->tracking.tracks.first;
@@ -1347,7 +1347,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                } FOREACH_NODETREE_END;
 
                /* keep compatibility for dupliobject particle size */
-               for (part = bmain->particle.first; part; part = part->id.next)
+               for (part = bmain->particles.first; part; part = part->id.next)
                        if (ELEM(part->ren_as, PART_DRAW_OB, PART_DRAW_GR))
                                if ((part->draw & PART_DRAW_ROTATE_OB) == 0)
                                        part->draw |= PART_DRAW_NO_SCALE_OB;
@@ -1376,7 +1376,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 18)) {
                Scene *scene;
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->ed) {
                                Sequence *seq;
 
@@ -1417,7 +1417,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                /* make scenes which are not using color management have got None as display device,
                 * so they wouldn't perform linear-to-sRGB conversion on display
                 */
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if ((scene->r.color_mgt_flag & R_COLOR_MANAGEMENT) == 0) {
                                ColorManagedDisplaySettings *display_settings = &scene->display_settings;
 
@@ -1430,7 +1430,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (ima = bmain->image.first; ima; ima = ima->id.next) {
+               for (ima = bmain->images.first; ima; ima = ima->id.next) {
                        if (ima->source == IMA_SRC_VIEWER) {
                                ima->flag |= IMA_VIEW_AS_RENDER;
                        }
@@ -1451,7 +1451,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 20)) {
                Key *key;
-               for (key = bmain->key.first; key; key = key->id.next) {
+               for (key = bmain->shapekeys.first; key; key = key->id.next) {
                        blo_do_versions_key_uidgen(key);
                }
        }
@@ -1459,7 +1459,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 263 || (bmain->versionfile == 263 && bmain->subversionfile < 21)) {
                {
                        Mesh *me;
-                       for (me = bmain->mesh.first; me; me = me->id.next) {
+                       for (me = bmain->meshes.first; me; me = me->id.next) {
                                CustomData_update_typemap(&me->vdata);
                                CustomData_free_layers(&me->vdata, CD_MSTICKY, me->totvert);
                        }
@@ -1473,7 +1473,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 264) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        if (ob->pose) {
                                if (ob->pose->avs.path_step == 0) {
                                        animviz_settings_init(&ob->pose->avs);
@@ -1496,7 +1496,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 264 || (bmain->versionfile == 264 && bmain->subversionfile < 2)) {
                MovieClip *clip;
 
-               for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+               for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                        MovieTracking *tracking = &clip->tracking;
                        MovieTrackingObject *tracking_object;
 
@@ -1517,7 +1517,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Smoke) {
@@ -1556,7 +1556,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        bScreen *sc;
 
-                       for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+                       for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                                ScrArea *sa;
                                for (sa = sc->areabase.first; sa; sa = sa->next) {
                                        SpaceLink *sl;
@@ -1580,7 +1580,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                /* set a unwrapping margin and ABF by default */
                Scene *scene;
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        if (scene->toolsettings->uvcalc_margin == 0.0f) {
                                scene->toolsettings->uvcalc_margin = 0.001f;
                                scene->toolsettings->unwrapper = 0;
@@ -1612,7 +1612,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        Scene *scene;
 
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                if (scene->r.tilex == 0 || scene->r.tiley == 1) {
                                        scene->r.tilex = scene->r.tiley = 64;
                                }
@@ -1622,7 +1622,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                /* collision masks */
                {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                if (ob->col_group == 0) {
                                        ob->col_group = 0x01;
                                        ob->col_mask = 0xff;
@@ -1634,7 +1634,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 264 || (bmain->versionfile == 264 && bmain->subversionfile < 7)) {
                MovieClip *clip;
 
-               for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+               for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                        MovieTrackingTrack *track;
                        MovieTrackingObject *object;
 
@@ -1652,7 +1652,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (bmain->versionfile < 265 || (bmain->versionfile == 265 && bmain->subversionfile < 3)) {
                bScreen *sc;
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1698,7 +1698,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *scene;
                Tex *tex;
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        Sequence *seq;
 
                        SEQ_BEGIN (scene->ed, seq)
@@ -1716,7 +1716,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                scene->r.bake_samples = 256;
                }
 
-               for (Image *image = bmain->image.first; image; image = image->id.next) {
+               for (Image *image = bmain->images.first; image; image = image->id.next) {
                        if (image->flag & IMA_DO_PREMUL) {
                                image->alpha_mode = IMA_ALPHA_STRAIGHT;
                        }
@@ -1725,7 +1725,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (tex = bmain->tex.first; tex; tex = tex->id.next) {
+               for (tex = bmain->textures.first; tex; tex = tex->id.next) {
                        if (tex->type == TEX_IMAGE && (tex->imaflag & TEX_USEALPHA) == 0) {
                                Image *image = blo_do_versions_newlibadr(fd, tex->id.lib, tex->ima);
 
@@ -1755,7 +1755,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                 * for compatibility all textures assumed it to be enabled */
                Tex *tex;
 
-               for (tex = bmain->tex.first; tex; tex = tex->id.next)
+               for (tex = bmain->textures.first; tex; tex = tex->id.next)
                        if (tex->type == TEX_IMAGE)
                                tex->imaflag |= TEX_USEALPHA;
        }
@@ -1763,7 +1763,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (bmain->versionfile < 265 || (bmain->versionfile == 265 && bmain->subversionfile < 7)) {
                Curve *cu;
 
-               for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+               for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                        if (cu->flag & (CU_FRONT | CU_BACK)) {
                                if (cu->ext1 != 0.0f || cu->ext2 != 0.0f) {
                                        Nurb *nu;
@@ -1797,14 +1797,14 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (MAIN_VERSION_OLDER(bmain, 265, 9)) {
                Mesh *me;
-               for (me = bmain->mesh.first; me; me = me->id.next) {
+               for (me = bmain->meshes.first; me; me = me->id.next) {
                        BKE_mesh_do_versions_cd_flag_init(me);
                }
        }
 
        if (MAIN_VERSION_OLDER(bmain, 265, 10)) {
                Brush *br;
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        if (br->ob_mode & OB_MODE_TEXTURE_PAINT) {
                                br->mtex.brush_map_mode = MTEX_MAP_MODE_TILED;
                        }
@@ -1833,7 +1833,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (MAIN_VERSION_OLDER(bmain, 266, 2)) {
                bScreen *sc;
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -1907,7 +1907,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 266, 4)) {
                Brush *brush;
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        BKE_texture_mtex_default(&brush->mask_mtex);
 
                        if (brush->ob_mode & OB_MODE_TEXTURE_PAINT) {
@@ -1920,7 +1920,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Brush *brush;
 #define BRUSH_TEXTURE_OVERLAY (1 << 21)
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        brush->overlay_flags = 0;
                        if (brush->flag & BRUSH_TEXTURE_OVERLAY)
                                brush->overlay_flags |= (BRUSH_OVERLAY_PRIMARY | BRUSH_OVERLAY_CURSOR);
@@ -1932,7 +1932,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                //if (!DNA_struct_elem_find(fd->filesdna, "Brush", "int", "stencil_pos")) {
                Brush *brush;
 
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        if (brush->stencil_dimension[0] == 0) {
                                brush->stencil_dimension[0] = 256;
                                brush->stencil_dimension[1] = 256;
@@ -1962,7 +1962,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                SceneRenderLayer *srl;
                FreestyleLineStyle *linestyle;
 
-               for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+               for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                        if (sce->r.line_thickness_mode == 0) {
                                sce->r.line_thickness_mode = R_LINE_THICKNESS_ABSOLUTE;
                                sce->r.unit_line_thickness = 1.0f;
@@ -1998,7 +1998,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
 
                }
-               for (linestyle = bmain->linestyle.first; linestyle; linestyle = linestyle->id.next) {
+               for (linestyle = bmain->linestyles.first; linestyle; linestyle = linestyle->id.next) {
 #if 1
                        /* disable the Misc panel for now */
                        if (linestyle->panel == LS_PANEL_MISC) {
@@ -2022,7 +2022,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *scene;
                bNodeInstanceKey active_viewer_key = {0};
                /* simply pick the first node space and use that for the active viewer key */
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        ScrArea *sa;
                        for (sa = screen->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -2044,7 +2044,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                break;
                }
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        /* NB: scene->nodetree is a local ID block, has been direct_link'ed */
                        if (scene->nodetree)
                                scene->nodetree->active_viewer_key = active_viewer_key;
@@ -2054,7 +2054,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (MAIN_VERSION_OLDER(bmain, 267, 1)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Smoke) {
@@ -2074,7 +2074,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 268, 1)) {
                Brush *brush;
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        brush->spacing = MAX2(1, brush->spacing);
                }
        }
@@ -2082,7 +2082,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 268, 2)) {
                Brush *brush;
 #define BRUSH_FIXED (1 << 6)
-               for (brush = bmain->brush.first; brush; brush = brush->id.next) {
+               for (brush = bmain->brushes.first; brush; brush = brush->id.next) {
                        brush->flag &= ~BRUSH_FIXED;
 
                        if (brush->cursor_overlay_alpha < 2)
@@ -2100,7 +2100,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                bScreen *sc;
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        bConstraint *con;
                        for (con = ob->constraints.first; con; con = con->next) {
                                if (con->type == CONSTRAINT_TYPE_SHRINKWRAP) {
@@ -2113,7 +2113,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Smoke) {
@@ -2132,7 +2132,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                 *
                 * We moved this check to the do versions to be sure the value makes any sense.
                 */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -2153,7 +2153,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                ScrArea *sa;
 
                /* add missing (+) expander in node editor */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                ARegion *ar, *arnew;
 
@@ -2232,7 +2232,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Scene *scene;
 
                /* Update files using invalid (outdated) outlinevis Outliner values. */
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                        if (sl->spacetype == SPACE_OUTLINER) {
@@ -2253,7 +2253,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingTrack", "float", "weight")) {
                        MovieClip *clip;
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                MovieTracking *tracking = &clip->tracking;
                                MovieTrackingObject *tracking_object;
                                for (tracking_object = tracking->objects.first;
@@ -2274,7 +2274,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "TriangulateModifierData", "int", "quad_method")) {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Triangulate) {
@@ -2292,7 +2292,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        /* this can now be turned off */
                        ToolSettings *ts = scene->toolsettings;
                        if (ts->sculpt)
@@ -2318,11 +2318,11 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        Scene *scene;
                        Object *ob;
 
-                       for (Light *la = bmain->light.first; la; la = la->id.next) {
+                       for (Light *la = bmain->lights.first; la; la = la->id.next) {
                                la->spotsize = DEG2RADF(la->spotsize);
                        }
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
 
                                for (md = ob->modifiers.first; md; md = md->next) {
@@ -2337,7 +2337,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
                                }
                        }
 
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                Sequence *seq;
                                SEQ_BEGIN (scene->ed, seq)
                                {
@@ -2371,7 +2371,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingPlaneTrack", "float", "image_opacity")) {
                        MovieClip *clip;
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                MovieTrackingPlaneTrack *plane_track;
                                for (plane_track = clip->tracking.plane_tracks.first;
                                     plane_track;
@@ -2385,7 +2385,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 269, 7)) {
                Scene *scene;
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        Sculpt *sd = scene->toolsettings->sculpt;
 
                        if (sd) {
@@ -2412,7 +2412,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 269, 8)) {
                Curve *cu;
 
-               for (cu = bmain->curve.first; cu; cu = cu->id.next) {
+               for (cu = bmain->curves.first; cu; cu = cu->id.next) {
                        if (cu->str) {
                                cu->len_wchar = BLI_strlen_utf8(cu->str);
                        }
@@ -2422,7 +2422,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 269, 9)) {
                Object *ob;
 
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.first; md; md = md->next) {
                                if (md->type == eModifierType_Build) {
@@ -2438,7 +2438,7 @@ void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 269, 11)) {
                bScreen *sc;
 
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *space_link;
index ab32a6d..3ea9c81 100644 (file)
@@ -406,7 +406,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "BevelModifierData", "float", "profile")) {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Bevel) {
@@ -433,7 +433,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        bScreen *screen;
 
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                ScrArea *area;
                                for (area = screen->areabase.first; area; area = area->next) {
                                        SpaceLink *space_link;
@@ -451,7 +451,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "MovieTrackingSettings", "float", "default_weight")) {
                        MovieClip *clip;
-                       for (clip = bmain->movieclip.first; clip; clip = clip->id.next) {
+                       for (clip = bmain->movieclips.first; clip; clip = clip->id.next) {
                                clip->tracking.settings.default_weight = 1.0f;
                        }
                }
@@ -461,7 +461,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Object *ob;
 
                /* Update Transform constraint (another deg -> rad stuff). */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        do_version_constraints_radians_degrees_270_1(&ob->constraints);
 
                        if (ob->pose) {
@@ -478,7 +478,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Mesh *me;
 
                /* Mesh smoothresh deg->rad. */
-               for (me = bmain->mesh.first; me; me = me->id.next) {
+               for (me = bmain->meshes.first; me; me = me->id.next) {
                        me->smoothresh = DEG2RADF(me->smoothresh);
                }
        }
@@ -486,7 +486,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 270, 3)) {
                FreestyleLineStyle *linestyle;
 
-               for (linestyle = bmain->linestyle.first; linestyle; linestyle = linestyle->id.next) {
+               for (linestyle = bmain->linestyles.first; linestyle; linestyle = linestyle->id.next) {
                        linestyle->flag |= LS_NO_SORTING;
                        linestyle->sort_key = LS_SORT_KEY_DISTANCE_FROM_CAMERA;
                        linestyle->integration_type = LS_INTEGRATION_MEAN;
@@ -499,7 +499,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                 */
                bScreen *sc;
 
-               for (sc = bmain->screen.first; sc; sc = sc->id.next) {
+               for (sc = bmain->screens.first; sc; sc = sc->id.next) {
                        ScrArea *sa;
                        for (sa = sc->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -520,7 +520,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Object *ob;
 
                /* Update Transform constraint (again :|). */
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        do_version_constraints_radians_degrees_270_5(&ob->constraints);
 
                        if (ob->pose) {
@@ -537,7 +537,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "BakeData", "bake")) {
                        Scene *sce;
 
-                       for (sce = bmain->scene.first; sce; sce = sce->id.next) {
+                       for (sce = bmain->scenes.first; sce; sce = sce->id.next) {
                                sce->r.bake.flag = R_BAKE_CLEAR;
                                sce->r.bake.width = 512;
                                sce->r.bake.height = 512;
@@ -559,7 +559,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "FreestyleLineStyle", "float", "texstep")) {
                        FreestyleLineStyle *linestyle;
 
-                       for (linestyle = bmain->linestyle.first; linestyle; linestyle = linestyle->id.next) {
+                       for (linestyle = bmain->linestyles.first; linestyle; linestyle = linestyle->id.next) {
                                linestyle->flag |= LS_TEXTURE;
                                linestyle->texstep = 1.0;
                        }
@@ -567,7 +567,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                {
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                int num_layers = BLI_listbase_count(&scene->r.layers);
                                scene->r.actlay = min_ff(scene->r.actlay, num_layers - 1);
                        }
@@ -578,7 +578,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "Material", "float", "line_col[4]")) {
                        Material *mat;
 
-                       for (mat = bmain->mat.first; mat; mat = mat->id.next) {
+                       for (mat = bmain->materials.first; mat; mat = mat->id.next) {
                                mat->line_col[0] = mat->line_col[1] = mat->line_col[2] = 0.0f;
                                mat->line_col[3] = mat->alpha;
                        }
@@ -586,7 +586,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "int", "preview_start_resolution")) {
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                scene->r.preview_start_resolution = 64;
                        }
                }
@@ -595,13 +595,13 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 271, 3)) {
                Brush *br;
 
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        br->fill_threshold = 0.2f;
                }
 
                if (!DNA_struct_elem_find(fd->filesdna, "BevelModifierData", "int", "mat")) {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
 
                                for (md = ob->modifiers.first; md; md = md->next) {
@@ -616,7 +616,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 271, 6)) {
                Object *ob;
-               for (ob = bmain->object.first; ob; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                        ModifierData *md;
 
                        for (md = ob->modifiers.first; md; md = md->next) {
@@ -633,7 +633,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 272, 0)) {
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "int", "preview_start_resolution")) {
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                scene->r.preview_start_resolution = 64;
                        }
                }
@@ -641,7 +641,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 272, 1)) {
                Brush *br;
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        if ((br->ob_mode & OB_MODE_SCULPT) && ELEM(br->sculpt_tool, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK))
                                br->alpha = 1.0f;
                }
@@ -650,7 +650,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 272, 2)) {
                if (!DNA_struct_elem_find(fd->filesdna, "Image", "float", "gen_color")) {
                        Image *image;
-                       for (image = bmain->image.first; image != NULL; image = image->id.next) {
+                       for (image = bmain->images.first; image != NULL; image = image->id.next) {
                                image->gen_color[3] = 1.0f;
                        }
                }
@@ -659,7 +659,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        Object *ob;
 
                        /* Update Transform constraint (again :|). */
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                do_version_constraints_stretch_to_limits(&ob->constraints);
 
                                if (ob->pose) {
@@ -679,7 +679,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                Brush *br;
 
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        if (br->flag & BRUSH_RAKE) {
                                br->mtex.brush_angle_mode |= MTEX_ANGLE_RAKE;
                                br->mask_mtex.brush_angle_mode |= MTEX_ANGLE_RAKE;
@@ -701,7 +701,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "Scene", "DisplaySafeAreas", "safe_areas")) {
                        Scene *scene;
 
-                       for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                copy_v2_fl2(scene->safe_areas.title, 3.5f / 100.0f, 3.5f / 100.0f);
                                copy_v2_fl2(scene->safe_areas.action, 10.0f / 100.0f, 5.0f / 100.0f);
                                copy_v2_fl2(scene->safe_areas.title_center, 17.5f / 100.0f, 5.0f / 100.0f);
@@ -712,7 +712,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 273, 3)) {
                ParticleSettings *part;
-               for (part = bmain->particle.first; part; part = part->id.next) {
+               for (part = bmain->particles.first; part; part = part->id.next) {
                        if (part->clumpcurve)
                                part->child_flag |= PART_CHILD_USE_CLUMP_CURVE;
                        if (part->roughcurve)
@@ -724,7 +724,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", "bending_damping")) {
                        Object *ob;
                        ModifierData *md;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Cloth) {
                                                ClothModifierData *clmd = (ClothModifierData *)md;
@@ -742,21 +742,21 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "float", "clump_noise_size")) {
                        ParticleSettings *part;
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                part->clump_noise_size = 1.0f;
                        }
                }
 
                if (!DNA_struct_elem_find(fd->filesdna, "ParticleSettings", "int", "kink_extra_steps")) {
                        ParticleSettings *part;
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                part->kink_extra_steps = 4;
                        }
                }
 
                if (!DNA_struct_elem_find(fd->filesdna, "MTex", "float", "kinkampfac")) {
                        ParticleSettings *part;
-                       for (part = bmain->particle.first; part; part = part->id.next) {
+                       for (part = bmain->particles.first; part; part = part->id.next) {
                                int a;
                                for (a = 0; a < MAX_MTEX; a++) {
                                        MTex *mtex = part->mtex[a];
@@ -770,7 +770,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "HookModifierData", "char", "flag")) {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Hook) {
@@ -800,7 +800,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "Camera", "GPUDOFSettings", "gpu_dof")) {
                        Camera *ca;
-                       for (ca = bmain->camera.first; ca; ca = ca->id.next) {
+                       for (ca = bmain->cameras.first; ca; ca = ca->id.next) {
                                ca->gpu_dof.fstop = 128.0f;
                                ca->gpu_dof.focal_length = 1.0f;
                                ca->gpu_dof.focus_distance = 1.0f;
@@ -811,7 +811,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 273, 8)) {
                Object *ob;
-               for (ob = bmain->object.first; ob != NULL; ob = ob->id.next) {
+               for (ob = bmain->objects.first; ob != NULL; ob = ob->id.next) {
                        ModifierData *md;
                        for (md = ob->modifiers.last; md != NULL; md = md->prev) {
                                if (modifier_unique_name(&ob->modifiers, md)) {
@@ -830,7 +830,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                ARegion *ar;
 
                /* Make sure sequencer preview area limits zoom */
-               for (scr = bmain->screen.first; scr; scr = scr->id.next) {
+               for (scr = bmain->screens.first; scr; scr = scr->id.next) {
                        for (sa = scr->areabase.first; sa; sa = sa->next) {
                                for (sl = sa->spacedata.first; sl; sl = sl->next) {
                                        if (sl->spacetype == SPACE_SEQ) {
@@ -853,7 +853,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        Object *ob;
                        ParticleSystem *psys;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                for (psys = ob->particlesystem.first; psys; psys = psys->next) {
                                        if ((psys->pointcache->flag & PTCACHE_BAKED) == 0) {
                                                psys->recalc |= ID_RECALC_PSYS_RESET;
@@ -865,7 +865,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                /* hysteresis setted to 10% but not actived */
                if (!DNA_struct_elem_find(fd->filesdna, "LodLevel", "int", "obhysteresis")) {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                LodLevel *level;
                                for (level = ob->lodlevels.first; level; level = level->next) {
                                        level->obhysteresis = 10;
@@ -883,7 +883,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                Camera *cam;
                Image *ima;
 
-               for (scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        Sequence *seq;
 
                        BKE_scene_add_render_view(scene, STEREO_LEFT_NAME);
@@ -912,7 +912,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        } SEQ_END;
                }
 
-               for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                        ScrArea *sa;
                        for (sa = screen->areabase.first; sa; sa = sa->next) {
                                SpaceLink *sl;
@@ -939,12 +939,12 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (cam = bmain->camera.first; cam; cam = cam->id.next) {
+               for (cam = bmain->cameras.first; cam; cam = cam->id.next) {
                        cam->stereo.interocular_distance = 0.065f;
                        cam->stereo.convergence_distance = 30.0f * 0.065f;
                }
 
-               for (ima = bmain->image.first; ima; ima = ima->id.next) {
+               for (ima = bmain->images.first; ima; ima = ima->id.next) {
                        ima->stereo3d_format = MEM_callocN(sizeof(Stereo3dFormat), "Image Stereo 3d Format");
 
                        if (ima->packedfile) {
@@ -968,7 +968,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                bScreen *screen;
 
                if (!DNA_struct_elem_find(fd->filesdna, "FileSelectParams", "int", "thumbnail_size")) {
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                ScrArea *sa;
 
                                for (sa = screen->areabase.first; sa; sa = sa->next) {
@@ -989,7 +989,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "short", "simplify_subsurf_render")) {
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                                scene->r.simplify_subsurf_render = scene->r.simplify_subsurf;
                                scene->r.simplify_particles_render = scene->r.simplify_particles;
                        }
@@ -998,7 +998,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "DecimateModifierData", "float", "defgrp_factor")) {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Decimate) {
@@ -1013,7 +1013,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 275, 3)) {
                Brush *br;
 #define BRUSH_TORUS (1 << 1)
-               for (br = bmain->brush.first; br; br = br->id.next) {
+               for (br = bmain->brushes.first; br; br = br->id.next) {
                        br->flag &= ~BRUSH_TORUS;
                }
 #undef BRUSH_TORUS
@@ -1023,7 +1023,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "bPoseChannel", "float", "custom_scale")) {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                if (ob->pose) {
                                        bPoseChannel *pchan;
                                        for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
@@ -1036,7 +1036,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                {
                        bScreen *screen;
 #define RV3D_VIEW_PERSPORTHO     7
-                       for (screen = bmain->screen.first; screen; screen = screen->id.next) {
+                       for (screen = bmain->screens.first; screen; screen = screen->id.next) {
                                ScrArea *sa;
                                for (sa = screen->areabase.first; sa; sa = sa->next) {
                                        SpaceLink *sl;
@@ -1064,7 +1064,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                {
 #define LA_YF_PHOTON    5
-                       for (Light *la = bmain->light.first; la; la = la->id.next) {
+                       for (Light *la = bmain->lights.first; la; la = la->id.next) {
                                if (la->type == LA_YF_PHOTON) {
                                        la->type = LA_LOCAL;
                                }
@@ -1076,7 +1076,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 276, 3)) {
                if (!DNA_struct_elem_find(fd->filesdna, "RenderData", "CurveMapping", "mblur_shutter_curve")) {
                        Scene *scene;
-                       for (scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+                       for (scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                                CurveMapping *curve_mapping = &scene->r.mblur_shutter_curve;
                                curvemapping_set_defaults(curve_mapping, 1, 0.0f, 0.0f, 1.0f, 1.0f);
                                curvemapping_initialize(curve_mapping);
@@ -1089,7 +1089,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        }
 
        if (!MAIN_VERSION_ATLEAST(bmain, 276, 4)) {
-               for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        ToolSettings *ts = scene->toolsettings;
 
                        if (ts->gp_sculpt.brush[0].size == 0) {
@@ -1164,7 +1164,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (bGPdata *gpd = bmain->gpencil.first; gpd; gpd = gpd->id.next) {
+               for (bGPdata *gpd = bmain->gpencils.first; gpd; gpd = gpd->id.next) {
                        bool enabled = false;
 
                        /* Ensure that the datablock's onionskinning toggle flag
@@ -1198,13 +1198,13 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 276, 7)) {
                Scene *scene;
-               for (scene = bmain->scene.first; scene != NULL; scene = scene->id.next) {
+               for (scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
                        scene->r.bake.pass_filter = R_BAKE_PASS_FILTER_ALL;
                }
        }
 
        if (!MAIN_VERSION_ATLEAST(bmain, 277, 1)) {
-               for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        ParticleEditSettings *pset = &scene->toolsettings->particle;
                        for (int a = 0; a < ARRAY_SIZE(pset->brush); a++) {
                                if (pset->brush[a].strength > 1.0f) {
@@ -1213,7 +1213,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
                        for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
                                for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
                                        ListBase *regionbase = (sl == sa->spacedata.first) ? &sa->regionbase : &sl->regionbase;
@@ -1246,7 +1246,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        CurvePaintSettings *cps = &scene->toolsettings->curve_paint_settings;
                        if (cps->error_threshold == 0) {
                                cps->curve_type = CU_BEZIER;
@@ -1257,7 +1257,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+               for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                        Sequence *seq;
 
                        SEQ_BEGIN (scene->ed, seq)
@@ -1280,7 +1280,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                }
 
                /* Adding "Properties" region to DopeSheet */
-               for (bScreen *screen = bmain->screen.first; screen; screen = screen->id.next) {
+               for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
                        for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
                                /* handle pushed-back space data first */
                                for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
@@ -1300,12 +1300,12 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
        if (!MAIN_VERSION_ATLEAST(bmain, 277, 2)) {
                if (!DNA_struct_elem_find(fd->filesdna, "Bone", "float", "scaleIn")) {
-                       for (bArmature *arm = bmain->armature.first; arm; arm = arm->id.next) {
+                       for (bArmature *arm = bmain->armatures.first; arm; arm = arm->id.next) {
                                do_version_bones_super_bbone(&arm->bonebase);
                        }
                }
                if (!DNA_struct_elem_find(fd->filesdna, "bPoseChannel", "float", "scaleIn")) {
-                       for (Object *ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (Object *ob = bmain->objects.first; ob; ob = ob->id.next) {
                                if (ob->pose) {
                                        for (bPoseChannel *pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
                                                /* see do_version_bones_super_bbone()... */
@@ -1325,7 +1325,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (Camera *camera = bmain->camera.first; camera != NULL; camera = camera->id.next) {
+               for (Camera *camera = bmain->cameras.first; camera != NULL; camera = camera->id.next) {
                        if (camera->stereo.pole_merge_angle_from == 0.0f &&
                            camera->stereo.pole_merge_angle_to == 0.0f)
                        {
@@ -1337,7 +1337,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "NormalEditModifierData", "float", "mix_limit")) {
                        Object *ob;
 
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_NormalEdit) {
@@ -1350,7 +1350,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
 
                if (!DNA_struct_elem_find(fd->filesdna, "BooleanModifierData", "float", "double_threshold")) {
                        Object *ob;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                ModifierData *md;
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Boolean) {
@@ -1361,7 +1361,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        }
                }
 
-               for (Brush *br = bmain->brush.first; br; br = br->id.next) {
+               for (Brush *br = bmain->brushes.first; br; br = br->id.next) {
                        if (br->sculpt_tool == SCULPT_TOOL_FLATTEN) {
                                br->flag |= BRUSH_ACCUMULATE;
                        }
@@ -1370,7 +1370,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                if (!DNA_struct_elem_find(fd->filesdna, "ClothSimSettings", "float", "time_scale")) {
                        Object *ob;
                        ModifierData *md;
-                       for (ob = bmain->object.first; ob; ob = ob->id.next) {
+                       for (ob = bmain->objects.first; ob; ob = ob->id.next) {
                                for (md = ob->modifiers.first; md; md = md->next) {
                                        if (md->type == eModifierType_Cloth) {
                                                ClothModifierData *clmd = (ClothModifierData *)md;
@@ -1390,7 +1390,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
        if (!MAIN_VERSION_ATLEAST(bmain, 277, 3)) {
                /* ------- init of grease pencil initialization --------------- */
                if (!DNA_struct_elem_find(fd->filesdna, "bGPDstroke", "bGPDpalettecolor", "*palcolor")) {
-                       for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
+                       for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
                                ToolSettings *ts = scene->toolsettings;
                                /* initialize use position for sculpt brushes */
                                ts->gp_sculpt.flag |= GP_SCULPT_SETT_FLAG_APPLY_POSITION;
@@ -1409,7 +1409,7 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *bmain)
                        /* Convert Grease Pencil to new palettes/brushes
                         * Loop all strokes and create the palette and all colors
                         */
-                       for (bGPdata *gpd = bmain->gpencil.first; gpd; gpd = gpd->id.next) {