841b518bf6571d6fe8bcf992923e0e87750fc9d2
Allows to use regular constructor/destructors. And standard CPP data like string, maps, etc. Main is defined as non-movable and non-copyable for the time being. The existing creating/deleting API is kept as-is, moving to direct MEM_new/MEM_delete usages in the code is kept as a later cleanup commit. The 'ListBase' of split-by-libraries Mains has been replaced by a VectorSet. This is an unfortunate consequence of making Main a non-trivial C++ struct: it is no more guaranteed that next/prev pointers required for ListBase remain immediately at the top of the struct anymore - and on Windows they indeed don't. So move to a more modern form of storage for split-by-libraries mains, with a few other related changes to internal readfile code. WARNING: This is quite a sensitive change, extensively tested locally (including library-related changes across undos and redos, in complex production scenes). Pull Request: https://projects.blender.org/blender/blender/pulls/141086
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
