blender/source/gameengine/Ketsji
Campbell Barton fcc23faa3a Added getitem/setitem access for KX_GameObject
ob.someProp = 10
can now be...
ob["someProp"] = 10

For simple get/set test with an objects 10 properties, this is ~30% faster.

Though I like the attribute access, its slower because it needs to lookup BGE attributes and methods (for parent classes as well as KX_GameObject class).

This could also be an advantage if there are collisions between new attributes added for 2.49 and existing properties a game uses.

Made some other small optimizations,
- Getting and setting property can use const char* as well as STR_String (avoids making new STR_Strings just to do the lookup).
- CValue::SetPropertiesModified() and CValue::SetPropertiesModified(), were looping through all items in the std::map, advancing from the beginning each time.
2009-04-02 05:38:05 +00:00
..
KXNetwork BGE API cleanup, patch from Moguri: RaySensor, NetworkMessageActuator, NetworkMessageSensor. 2009-03-31 19:02:01 +00:00
BL_BlenderShader.cpp Fix for bug #18423: BGE lights in overlay scene also affected 2009-03-24 15:45:08 +00:00
BL_BlenderShader.h Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
BL_Material.cpp Sync with Apricot Game Engine 2008-07-10 12:47:20 +00:00
BL_Material.h Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
BL_Shader.cpp Py BGE API 2009-02-26 09:04:06 +00:00
BL_Shader.h remove warnings for the BGE 2009-02-25 03:26:02 +00:00
BL_Texture.cpp BGE Python API 2009-02-19 13:42:07 +00:00
BL_Texture.h Preparation to VideoTexture: everything but the VideoTexture module itself. 2008-10-31 21:06:48 +00:00
CMakeLists.txt Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
KX_BlenderMaterial.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_BlenderMaterial.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_BulletPhysicsController.cpp remove warnings for the BGE 2009-02-25 03:26:02 +00:00
KX_BulletPhysicsController.h BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
KX_Camera.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_Camera.h BGE Python API 2009-02-23 06:41:10 +00:00
KX_CameraActuator.cpp * removed typedefs that were not used (from anonymous enums and structs) 2009-02-21 12:43:24 +00:00
KX_CameraActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_CameraIpoSGController.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_CameraIpoSGController.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_CDActuator.cpp BGE API cleanup: CDActuator, ParentActuator, VisibilityActuator done. Thanks to Andre. 2009-03-29 15:17:55 +00:00
KX_CDActuator.h BGE API cleanup: CDActuator, ParentActuator, VisibilityActuator done. Thanks to Andre. 2009-03-29 15:17:55 +00:00
KX_ClientObjectInfo.h Building the game engine with Solid/Sumo is now optional for scons using WITH_BF_SOLID. 2009-02-25 12:07:51 +00:00
KX_ConstraintActuator.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_ConstraintActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_ConstraintWrapper.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_ConstraintWrapper.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_ConvertPhysicsObject.h Add support to lock individual axis during rigid body simulation, for translation and rotation. This makes it easier to do 1D or 2D physics (tetris, blockout) 2009-03-09 07:12:16 +00:00
KX_ConvertPhysicsObjects.cpp Applied patch #18446, to do versions on damping 2009-03-29 19:54:05 +00:00
KX_EmptyObject.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_EmptyObject.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_GameActuator.cpp BGE API Cleanup: GameActuator (patch from Andre) 2009-03-27 22:11:30 +00:00
KX_GameActuator.h BGE API Cleanup: GameActuator (patch from Andre) 2009-03-27 22:11:30 +00:00
KX_GameObject.cpp Added getitem/setitem access for KX_GameObject 2009-04-02 05:38:05 +00:00
KX_GameObject.h Added getitem/setitem access for KX_GameObject 2009-04-02 05:38:05 +00:00
KX_IInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_IPhysicsController.cpp BGE patch: dynamically update the coumpound parent shape when parenting to a compound object. 2009-01-13 22:59:18 +00:00
KX_IPhysicsController.h BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
KX_IPO_SGController.cpp remove warnings for the BGE 2009-02-25 03:26:02 +00:00
KX_IPO_SGController.h BGE bug #17657 fixed: dRotY doesn't work properly after 90 degrees rotation. 2008-09-23 20:07:15 +00:00
KX_IpoActuator.cpp Added attributes for Ipo Actuator settings (replacing all methods) 2009-03-26 01:42:01 +00:00
KX_IpoActuator.h Added attributes for Ipo Actuator settings (replacing all methods) 2009-03-26 01:42:01 +00:00
KX_IPOTransform.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_IScalarInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ISceneConverter.h Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
KX_ISystem.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_KetsjiEngine.cpp Fix: The debug lines of Physics Debug Visualization were drawn incorrectly when using overlay scenes (it was using the wrong camera) 2009-03-09 05:01:16 +00:00
KX_KetsjiEngine.h BGE update: helper functions for VideoTexture render to texture feature. 2008-11-26 17:38:54 +00:00
KX_Light.cpp Fix for bug #18423: BGE lights in overlay scene also affected 2009-03-24 15:45:08 +00:00
KX_Light.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_LightIpoSGController.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_LightIpoSGController.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_MaterialIpoController.cpp Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported! 2008-08-17 17:08:00 +00:00
KX_MaterialIpoController.h BGE patch: approve patch #17312: Multiple material IPOs per mesh in BGE. 2008-07-25 13:45:57 +00:00
KX_MeshProxy.cpp BGE API cleanup: ReplaceMeshActuator mesh attributes now returns a KX_MeshProxy. Fix a bug in KX_MeshProxy where the Python type was not set right. 2009-04-01 08:59:36 +00:00
KX_MeshProxy.h BGE API cleanup: ReplaceMeshActuator mesh attributes now returns a KX_MeshProxy. Fix a bug in KX_MeshProxy where the Python type was not set right. 2009-04-01 08:59:36 +00:00
KX_MotionState.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_MotionState.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_MouseFocusSensor.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_MouseFocusSensor.h Minor speedups for the BGE 2009-02-25 06:43:03 +00:00
KX_NearSensor.cpp BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_NearSensor.h BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_ObColorIpoSGController.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ObColorIpoSGController.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ObjectActuator.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_ObjectActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_OdePhysicsController.cpp BGE patch: dynamically update the coumpound parent shape when parenting to a compound object. 2009-01-13 22:59:18 +00:00
KX_OdePhysicsController.h BGE patch: dynamically update the coumpound parent shape when parenting to a compound object. 2009-01-13 22:59:18 +00:00
KX_OrientationInterpolator.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_OrientationInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ParentActuator.cpp Clean up for the imminent migration from SVN to GIT. 2009-03-31 22:34:34 +00:00
KX_ParentActuator.h Clean up for the imminent migration from SVN to GIT. 2009-03-31 22:34:34 +00:00
KX_PhysicsEngineEnums.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_PhysicsObjectWrapper.cpp BGE Python API 2009-02-19 13:42:07 +00:00
KX_PhysicsObjectWrapper.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_PhysicsPropertiesobsolete.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_PolygonMaterial.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_PolygonMaterial.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_PolyProxy.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_PolyProxy.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_PositionInterpolator.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_PositionInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_PyConstraintBinding.cpp Fix bug in rigid body constraint buttons drawing, and while we are at it, add 'Collision' button to disable collisions between bodies, linked between constraint. 2008-10-10 05:12:57 +00:00
KX_PyConstraintBinding.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_PyMath.cpp BGE Python API 2009-02-23 06:41:10 +00:00
KX_PyMath.h BGE Python API 2009-02-23 06:41:10 +00:00
KX_PythonInit.cpp BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_PythonInit.h Preparation to VideoTexture: everything but the VideoTexture module itself. 2008-10-31 21:06:48 +00:00
KX_RadarSensor.cpp BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_RadarSensor.h BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_RayCast.cpp BGE patch: KX_GameObject::rayCast() improvements to have X-Ray option, return true face normal and hit polygon information. 2008-08-27 19:34:19 +00:00
KX_RayCast.h BGE patch: KX_GameObject::rayCast() improvements to have X-Ray option, return true face normal and hit polygon information. 2008-08-27 19:34:19 +00:00
KX_RayEventManager.cpp BGE patch: logic optimization part 2: remove inactive sensors from logic manager. 2008-07-30 17:41:47 +00:00
KX_RayEventManager.h BGE patch: logic optimization part 2: remove inactive sensors from logic manager. 2008-07-30 17:41:47 +00:00
KX_RaySensor.cpp BGE API cleanup, patch from Moguri: RaySensor, NetworkMessageActuator, NetworkMessageSensor. 2009-03-31 19:02:01 +00:00
KX_RaySensor.h BGE API cleanup, patch from Moguri: RaySensor, NetworkMessageActuator, NetworkMessageSensor. 2009-03-31 19:02:01 +00:00
KX_SCA_AddObjectActuator.cpp BGE API cleanup: AddObject, DeleteObject and Scene actuator added. 2009-03-27 21:54:16 +00:00
KX_SCA_AddObjectActuator.h BGE API cleanup: AddObject, DeleteObject and Scene actuator added. 2009-03-27 21:54:16 +00:00
KX_SCA_DynamicActuator.cpp BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_SCA_DynamicActuator.h BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_SCA_EndObjectActuator.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_SCA_EndObjectActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_SCA_ReplaceMeshActuator.cpp BGE API cleanup: ReplaceMeshActuator mesh attributes now returns a KX_MeshProxy. Fix a bug in KX_MeshProxy where the Python type was not set right. 2009-04-01 08:59:36 +00:00
KX_SCA_ReplaceMeshActuator.h BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_ScalarInterpolator.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ScalarInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ScalingInterpolator.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_ScalingInterpolator.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_Scene.cpp BGE patch #18309 commited: Add an addObject() method to KX_Scene. 2009-02-28 22:25:23 +00:00
KX_Scene.h BGE patch #18309 commited: Add an addObject() method to KX_Scene. 2009-02-28 22:25:23 +00:00
KX_SceneActuator.cpp BGE API cleanup: AddObject, DeleteObject and Scene actuator added. 2009-03-27 21:54:16 +00:00
KX_SceneActuator.h BGE API cleanup: AddObject, DeleteObject and Scene actuator added. 2009-03-27 21:54:16 +00:00
KX_SG_BoneParentNodeRelationship.cpp Minor speedups for the BGE 2009-02-25 06:43:03 +00:00
KX_SG_BoneParentNodeRelationship.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_SG_NodeRelationships.cpp Minor speedups for the BGE 2009-02-25 06:43:03 +00:00
KX_SG_NodeRelationships.h Added access for adjusting timeOffset value at runtime, used for apricot (Franky climbing walls) 2008-06-14 17:12:49 +00:00
KX_SoundActuator.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_SoundActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_StateActuator.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_StateActuator.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_SumoPhysicsController.cpp BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
KX_SumoPhysicsController.h BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value. 2009-01-14 22:33:39 +00:00
KX_TimeCategoryLogger.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_TimeCategoryLogger.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_TimeLogger.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_TimeLogger.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_TouchEventManager.cpp BGE fix bug #17430: BGE Collide/Touch Sensor interfearing with other unrelated sensor states. The bug was introduced in the recent logic optimization patch. It only affects collision and touch sensors. The bug is fixed by keeping track of registration count. 2008-08-05 16:23:33 +00:00
KX_TouchEventManager.h BGE patch: logic optimization part 2: remove inactive sensors from logic manager. 2008-07-30 17:41:47 +00:00
KX_TouchSensor.cpp BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_TouchSensor.h BGE API cleanup: apply patch from Moguri: Near, Radar, Touch sensor updated. 2009-02-28 21:00:27 +00:00
KX_TrackToActuator.cpp BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_TrackToActuator.h BGE API cleanup: DynamicActuator, ReplaceMeshActuator, TrackToActuator. 2009-03-31 21:03:15 +00:00
KX_VehicleWrapper.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_VehicleWrapper.h BGE Python API 2009-02-19 13:42:07 +00:00
KX_VertexProxy.cpp Py BGE API 2009-02-26 09:04:06 +00:00
KX_VertexProxy.h BGE Python API 2009-02-23 06:41:10 +00:00
KX_VisibilityActuator.cpp BGE API cleanup: CDActuator, ParentActuator, VisibilityActuator done. Thanks to Andre. 2009-03-29 15:17:55 +00:00
KX_VisibilityActuator.h BGE API cleanup: CDActuator, ParentActuator, VisibilityActuator done. Thanks to Andre. 2009-03-29 15:17:55 +00:00
KX_WorldInfo.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_WorldInfo.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_WorldIpoController.cpp Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
KX_WorldIpoController.h Patch from GSR that a) fixes a whole bunch of GPL/BL license 2008-04-16 22:40:48 +00:00
Makefile Merge of first part of changes from the apricot branch, especially 2008-09-04 20:51:28 +00:00
SConscript Building the game engine with Solid/Sumo is now optional for scons using WITH_BF_SOLID. 2009-02-25 12:07:51 +00:00