Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-05Merge of first part of changes from the apricot branch, especiallyBrecht Van Lommel
the features that are needed to run the game. Compile tested with scons, make, but not cmake, that seems to have an issue not related to these changes. The changes include: * GLSL support in the viewport and game engine, enable in the game menu in textured draw mode. * Synced and merged part of the duplicated blender and gameengine/ gameplayer drawing code. * Further refactoring of game engine drawing code, especially mesh storage changed a lot. * Optimizations in game engine armatures to avoid recomputations. * A python function to get the framerate estimate in game. * An option take object color into account in materials. * An option to restrict shadow casters to a lamp's layers. * Increase from 10 to 18 texture slots for materials, lamps, word. An extra texture slot shows up once the last slot is used. * Memory limit for undo, not enabled by default yet because it needs the .B.blend to be changed. * Multiple undo for image painting. * An offset for dupligroups, so not all objects in a group have to be at the origin.
2008-09-04Added SDL headers so gamestuff compiles with Makefiles again.Kent Mein
Kent
2008-09-04fix for 2 python refcounting errorsCampbell Barton
2008-09-03BGE Py api, deleting properties didnt raise an error when the property wasnt ↵Campbell Barton
there. also added some exception messages and renamed joystick getConnected() to isConnected()
2008-08-29Use Py_ssize_t rather then int, broke building on 64bt linuxCampbell Barton
2008-08-29BGE Py API - GameKeys.EventToString() utility function, makes key ↵Campbell Barton
configuration menu's easier to write. own error with blenderplayer, wasnt decreffing the GameLogic module, probably didnt matter since python was restarted anyway, but is incorrect.
2008-08-28BGE patch: add X-Ray option to ray sensor. The option is effective only if a ↵Benoit Bolsee
property is set: the sensor will ignore the objects that don't have the property.
2008-08-28final fix for compilation problem with KX_RayCast::Callback template in gccBenoit Bolsee
2008-08-28more fix for compilation problem with KX_RayCast::Callback template in gccBenoit Bolsee
2008-08-28didnt build before committiong this small change :/ Campbell Barton
isLight() is apricot only. Add this back when GLSL is merged to avoid conflicts.
2008-08-28BGE patch: fix division by 0 error when sound sample cannot be loaded in ↵Benoit Bolsee
sound actuator.
2008-08-28BGE Bugfix, lights were not being removed when their gameobject was removed ↵Campbell Barton
causing odd shadows to hang about the scene.
2008-08-28remove more python functions from builtins that could allow scripts to do ↵Campbell Barton
bad stuff. - reload, file, execfile, compile These are only removed when running in higher security mode thats not default in blender.
2008-08-27BGE patch: KX_GameObject::rayCast() improvements to have X-Ray option, ↵Benoit Bolsee
return true face normal and hit polygon information. rayCast(to,from,dist,prop,face,xray,poly): The face paremeter determines the orientation of the normal: 0 or omitted => hit normal is always oriented towards the ray origin (as if you casted the ray from outside) 1 => hit normal is the real face normal (only for mesh object, otherwise face has no effect) The ray has X-Ray capability if xray parameter is 1, otherwise the first object hit (other than self object) stops the ray. The prop and xray parameters interact as follow: prop off, xray off: return closest hit or no hit if there is no object on the full extend of the ray. prop off, xray on : idem. prop on, xray off: return closest hit if it matches prop, no hit otherwise. prop on, xray on : return closest hit matching prop or no hit if there is no object matching prop on the full extend of the ray. if poly is 0 or omitted, returns a 3-tuple with object reference, hit point and hit normal or (None,None,None) if no hit. if poly is 1, returns a 4-tuple with in addition a KX_PolyProxy as 4th element. The KX_PolyProxy object holds information on the polygon hit by the ray: the index of the vertex forming the poylgon, material, etc. Attributes (read-only): matname: The name of polygon material, empty if no material. material: The material of the polygon texture: The texture name of the polygon. matid: The material index of the polygon, use this to retrieve vertex proxy from mesh proxy v1: vertex index of the first vertex of the polygon, use this to retrieve vertex proxy from mesh proxy v2: vertex index of the second vertex of the polygon, use this to retrieve vertex proxy from mesh proxy v3: vertex index of the third vertex of the polygon, use this to retrieve vertex proxy from mesh proxy v4: vertex index of the fourth vertex of the polygon, 0 if polygon has only 3 vertex use this to retrieve vertex proxy from mesh proxy visible: visible state of the polygon: 1=visible, 0=invisible collide: collide state of the polygon: 1=receives collision, 0=collision free. Methods: getMaterialName(): Returns the polygon material name with MA prefix getMaterial(): Returns the polygon material getTextureName(): Returns the polygon texture name getMaterialIndex(): Returns the material bucket index of the polygon. getNumVertex(): Returns the number of vertex of the polygon. isVisible(): Returns whether the polygon is visible or not isCollider(): Returns whether the polygon is receives collision or not getVertexIndex(vertex): Returns the mesh vertex index of a polygon vertex getMesh(): Returns a mesh proxy New methods of KX_MeshProxy have been implemented to retrieve KX_PolyProxy objects: getNumPolygons(): Returns the number of polygon in the mesh. getPolygon(index): Gets the specified polygon from the mesh. More details in PyDoc.
2008-08-27BGE bugfix, ipo actuator's foce option didnt check that the object was dynamic.Campbell Barton
2008-08-27get/set Angular velocity for KX_GameObjects python api and for the AddObject ↵Campbell Barton
actuator. Needed so objects created in an explosion could start spinning without having motion actuators and collision sensors on each item.
2008-08-25TLC needed for Makefiles to get gameengine compiling again.Kent Mein
Sorry it took me so long to do this :) Kent
2008-08-25getting the last created object would return an object that had no SG_Node ↵Campbell Barton
which would crash whenever python tried to get its location. since the object was removed from the scene anyway, there is no reason to return it.
2008-08-22Fix Windows compilation problem and update MSVC project filesBenoit Bolsee
2008-08-22BGE Python API - GameLogic.getBlendFileList(path='//') to return a list of ↵Campbell Barton
blend's in the current directory. Needed for creating a level selector that lists all files in the level directory. CMakeFile include path to compile with recent changes.
2008-08-22BGE bug #17411 fixed: the always sensor is called before the the scale of ↵Benoit Bolsee
the object is applied. The scale is now applied to the shape before the creation of the rigid body.
2008-08-21BGE bug #17491 fixed: BGE, Dupli instance with different scale, massive ↵Benoit Bolsee
slowdown. The root cause of this bug is the fact that Bullet shapes are shared between duplicated game objects. As the physics object scale is stored in the shape, all duplicas must have the same scale otherwise the physics representation is incorrect. This fix introduces a mechanism to duplicate shapes at runtime so that Bullet shapes are not shared anymore. The drawback is an increased memory consuption. A reference count mechanism will be introduced in a later revision to keep Bullet shape shared between duplicas that have the same scale.
2008-08-19Added GameLogic.globalDict, this is a place where data can be stored even ↵Campbell Barton
when new blend files are loaded. Using for apricot so frankie can go into levels in new blendfiles keeping his inventory, currently it dosnt work for the blenderplayer which stops python before loading new blend files.
2008-08-17Win64: please check my changes if you ran across them ;) But should be fine ↵Daniel Genrich
since no additional crashes were reported!
2008-08-14Python API get/setObject update for Actuators. (SetParent, AddObject, Camera ↵Campbell Barton
and TrackTo) * bugfix for BGE python api - SetParent actuator getObject would segfault if the object was not set. * Added utility function ConvertPythonToGameObject() that can take a GameObject, string or None and set the game object from this since it was being done in a number of places. * allow setObject(None), since no object is valid for actuators, Python should be able to set this. * added optional argument for getObject() so it returns the KX_GameObject rather then its name, would prefer this be default but it could break existing games.
2008-08-14bugfix (good for 2.47) - 2 cases of returning Py_None without increfing it. ↵Campbell Barton
this can crash blender.
2008-08-14game engine python apiCampbell Barton
* removed macros that were not used much, some misleading. * removed error string setting calls that overwrote the error set by PyArg_ParseTuple with a less useful one. * use python macros Py_RETURN_NONE, Py_RETURN_TRUE, Py_RETURN_FALSE
2008-08-07BGE bug #17408 fixed: Radar sensor is oriented the wrong way when the set ↵Benoit Bolsee
along negative axis. Improve reliability of Radar detection by clearing the manifold cache instead of updating it.
2008-08-07BGE fix: alignToVect() fac parameter clamping should obviously be done the ↵Benoit Bolsee
other way round
2008-08-07Getting the blenderplayer to compile/link with CMake.Chris Want
Note: yuck, this is a horrible way to do it -- python devs should think about splitting the python stuff into separate libs if they only want to partially include it in the game engine.
2008-08-06* blenderplayer wasnt useing the scenes frame rate.Campbell Barton
* GBE Python API's alignToVect wasnt clamping the align ammount from 0.0-1.0 * Generated images arnt animated - use for a test to see if the textures animated.
2008-08-06Made Mathutils its own module rather then GanmeLogic.MathutilsCampbell Barton
2008-08-05BGE fix bug #17430: BGE Collide/Touch Sensor interfearing with other ↵Benoit Bolsee
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-05Added GameLogic.Mathutils so Mathutils and its types can be accessed from ↵Campbell Barton
blenderplayer. also changed importText so it dosnt do a malloc
2008-08-04* KX_GameObject.cpp - error with getMesh(), was returning None rather then ↵Campbell Barton
an error with invalid args. also memory leak with getVectTo() if invalid args were given. * Material.c - functions for get/setRayTransGlossSamples were not being used. * BPY_interface.c - removed function GetName(), since everything else just uses id->name+2. * header_info.c - added ifdef win32 around copy_game_dll since its not needed for other os's yet
2008-08-04BGE patch #17398 approved: implementation of BGE method getVectTo().Benoit Bolsee
2008-07-30BGE patch: logic optimization part 2: remove inactive sensors from logic ↵Benoit Bolsee
manager. With this patch, only sensors that are connected to active states are actually registered in the logic manager. Inactive sensors won't take any CPU, especially the Radar and Near sensors that use a physical object for the detection: these objects are removed from the physics engine. To take advantage of this optimization patch, you need to define very light idle state when the objects are inactive: make them transparent, suspend the physics, keep few sensors active (e,g a message sensor to wake up), etc.
2008-07-30Bugfixes: fix for two memory leaks related to dupligroups,Brecht Van Lommel
and a missing reference count in the trackto actuator. This showed up as leaked pose data, but actually the whole object was not being freed.
2008-07-29Game Engine: alpha blending and sortingBrecht Van Lommel
======================================= Alpha blending + sorting was revised, to fix bugs and get it to work more predictable. * A new per texture face "Sort" setting defines if the face is alpha sorted or not, instead of abusing the "ZTransp" setting as it did before. * Existing files are converted to hopefully match the old behavior as much as possible with a version patch. * On new meshes the Sort flag is disabled by the default, to avoid unexpected and hard to find slowdowns. * Alpha sorting for faces was incredibly slow. Sorting faces in a mesh with 600 faces lowered the framerate from 200 to 70 fps in my test.. the sorting there case goes about 15x faster now, but it is still advised to use Clip Alpha if possible instead of regular Alpha. * There still various limitations in the alpha sorting code, I've added some comments to the code about this. Some docs at the bottom of the page: http://www.blender.org/development/current-projects/changes-since-246/realtime-glsl-materials/ Merged some fixes from the apricot branch, most important change is that tangents are now exactly the same as the rest of Blender, instead of being computed in the game engine with a different algorithm. Also, the subversion was bumped to 1.
2008-07-29BGE patch: fix support of group hidden layer in dupli group instantiation: ↵Benoit Bolsee
only the objects in layers matching the group layer mask will be instantiated. This is equivalent to the 3D view
2008-07-26BGE patch: support runtime duplication of groups. Adding an object with ↵Benoit Bolsee
Dupligroup option set will cause the group to be instantiated. No special actuator is needed for this feature, just put dupligroup objects in inactive layers and add them dynamically
2008-07-26added exception messages to game engine matrix and vector conversions. also ↵Campbell Barton
removed own unneeded defines in arithb.c
2008-07-25BGE patch: approve patch #17312: Multiple material IPOs per mesh in BGE.Benoit Bolsee
2008-07-25BGE bug fix: approve patch #17297: Track To Actuator bug fixBenoit Bolsee
2008-07-24BGE patch: Add PyDoc for new logic bricks, set exception message on Py ↵Benoit Bolsee
error, remove args on Py functions that don't take any to save CPU time
2008-07-23Added NodeUpdateGS so GameObject Python api alignAxisToVect function,Campbell Barton
Otherwise the rotation isn't applied.
2008-07-23BGE patch: Add min/max parameters to orientation constraint actuatorBenoit Bolsee
The min/max parameters define a minimum/maximum angle that the object axis can have with the reference direction without being constrainted. The angle is expressed in degree and is limited to 0-180 range. The min/max parameters define a conical free zone around the reference direction. If the object axis is outside that free zone, the actuator will tend to put it back using as a temporary reference direction the vector that is exactly at min or max degree of the reference direction (depending if the axis angle is below the minimum or above the maximum) and is located in the plane formed by the axis and the reference direction. With a low damping value, this is equivalent to clamping the axis orientation within min/max degree of the reference direction. Backward compatibility corresponds to the absence of free zone: min = max = 0.
2008-07-22BGE patch: update KX_GameObject::getChildren() to use CListValue instead of ↵Benoit Bolsee
python list (allows name search keep refcount consistent)
2008-07-22== Grease Pencil ==Joshua Leung
Grease Pencil is a tool which allows you to draw freehand in some views, allowing you to annotate/scribble over the contents of that view in either 2d or 3d. This facilitates many easier communication and planning abilities. To use, simply enable it from the View menu (choose 'Grease Pencil...' and click 'Use Grease Pencil'). Then, click+drag using the left-mouse button and the shift-key held to draw a stroke. For more information, check the following page on the wiki: http://wiki.blender.org/index.php/User:Aligorith/247_Grease_Pencil
2008-07-21BGE patch: Optimization of bullet adaptation layer - part 1.Benoit Bolsee
First batch of optimizaton of the bullet adaptation layer in the BGE. - remove circular motion state update. - optimization of physic adaptation layer for bullet: bypass unecessary conversion of rotation matrix to quaternion and back. - remove double updates during object replication.