Go to file
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
bin/.blender Move Korean file from kr to ko also updated it to newer file. 2008-09-29 15:02:20 +00:00
blenderplayer Addes jpeg2000 support to cmake. 2009-03-06 15:46:13 +00:00
CMake Fix: compiling with cmake 2.4 didn't work anymore due to a 2008-09-05 21:57:34 +00:00
config [#18473] SCons build fails when linking blender when WITH_BF_OGG enabled 2009-03-31 08:13:21 +00:00
doc * add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG function as partial search entries. 2008-11-09 21:00:49 +00:00
extern BGE Scenegraph and View frustrum culling improvement. 2009-04-07 22:14:06 +00:00
intern BGE: slow parent was causing scaling distortion, now use correct quaternion interpolation. 2009-04-16 20:13:13 +00:00
po Move Korean file from kr to ko also updated it to newer file. 2008-09-29 15:02:20 +00:00
projectfiles Clean up for the imminent migration from SVN to GIT. 2009-03-31 22:34:34 +00:00
projectfiles_vc7 Clean up for the imminent migration from SVN to GIT. 2009-03-31 22:34:34 +00:00
projectfiles_vc9 BGE: Occlusion culling and other performance improvements. 2009-04-13 20:08:33 +00:00
release [#7789] 3DS Import , Mesh not correct since Blender 2.44 2009-04-15 07:00:11 +00:00
source BGE Python API 2009-04-19 12:46:39 +00:00
tools [#18260] FMOD Removal 2009-03-24 09:09:10 +00:00
CMakeLists.txt Addes jpeg2000 support to cmake. 2009-03-06 15:46:13 +00:00
COPYING Biiig commit! Thanks to 2-3 weeks of cvs freeze... 2004-12-27 19:28:52 +00:00
Makefile Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
README Patch #17310: Fixing urls in main README 2008-07-12 06:18:06 +00:00
SConstruct let command line args override the 'blenderlite' target 2009-04-17 10:34:09 +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