forked from bartvdbraak/blender
8d2cb5bea4
This changes how the BGE classes and Python work together, which hasnt changed since blender went opensource. The main difference is PyObjectPlus - the base class for most game engine classes, no longer inherit from PyObject, and cannot be cast to a PyObject. This has the advantage that the BGE does not have to keep 2 reference counts valid for C++ and Python. Previously C++ classes would never be freed while python held a reference, however this reference could be problematic eg: a GameObject that isnt in a scene anymore should not be used by python, doing so could even crash blender in some cases. Instead PyObjectPlus has a member "PyObject *m_proxy" which is lazily initialized when python needs it. m_proxy reference counts are managed by python, though it should never be freed while the C++ class exists since it holds a reference to avoid making and freeing it all the time. When the C++ class is free'd it sets the m_proxy reference to NULL, If python accesses this variable it will raise a RuntimeError, (check the isValid attribute to see if its valid without raising an error). - This replaces the m_zombie bool and IsZombie() tests added recently. In python return values that used to be.. return value->AddRef(); Are now return value->GetProxy(); or... return value->NewProxy(true); // true means python owns this C++ value which will be deleted when the PyObject is freed |
||
---|---|---|
bin/.blender | ||
blenderplayer | ||
CMake | ||
config | ||
doc | ||
extern | ||
intern | ||
po | ||
projectfiles | ||
projectfiles_vc7 | ||
projectfiles_vc9 | ||
release | ||
source | ||
tools | ||
CMakeLists.txt | ||
COPYING | ||
Makefile | ||
README | ||
SConstruct |
Welcome to the fun world of open source. For instructions on building and installing Blender, please see the file named INSTALL. ---------------------.Blanguages and the .blender directory--------------------- The .blender directory holds various data files for Blender. In the 2.28a release those are the .Blanguages file containing a list of translations, the translations themselves and a default ttf font. Blender checks for the presence of this directory in several locations: - the current directory - your home directory - On OSX, the blender bundle is also checked - On Windows, the installation dir is checked. If you get a 'File ".Blanguages" not found' warning, try to copy the .blender dir to one of these locations (your home directory being recommended). -------------------------------------Links-------------------------------------- Getting Involved: http://www.blender.org/community/get-involved Community: http://www.blender.org/Community Main blender development site: http://www.blender.org The Blender project homepage: http://projects.blender.org/projects/bf-blender Documentation: http://www.blender.org/education-help Bug tracker: http://www.blender.org/development/report-a-bug Feature request tracker: http://wiki.blender.org/index.php/Requests