This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Campbell Barton 8d2cb5bea4 BGE Python API
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
2009-04-19 12:46:39 +00:00
2009-04-19 12:46:39 +00:00
2009-03-24 09:09:10 +00:00

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
Description
Archive of Blender with old branches
Readme 823 MiB
Languages
C 67.4%
C++ 23.4%
Python 6.1%
CMake 1.5%
GLSL 1.1%
Other 0.4%