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-06Fix Windows compile error. Update MSVC project filesBenoit Bolsee
2008-09-03Update MSVC project files after GSoC mergeBenoit Bolsee
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-06Update MSVC project files for Mathutils support in the blenderplayerBenoit Bolsee
2008-08-03Small update to get the BlenderPlayer compiling (also needed for 2.47)Benoit Bolsee
2008-06-25BGE patch 15044 approved: Edit Object Dynamics Actuator.Benoit Bolsee
Add enable/disable dynamics actuator under the "Edit Object" category. The Enable/disable rigid body option is also availale but not implemented.
2008-06-22BGE patch: add state engine support in the logic bricks.Benoit Bolsee
This patch introduces a simple state engine system with the logic bricks. This system features full backward compatibility, multiple active states, multiple state transitions, automatic disabling of sensor and actuators, full GUI support and selective display of sensors and actuators. Note: Python API is available but not documented yet. It will be added asap. State internals =============== The state system is object based. The current state mask is stored in the object as a 32 bit value; each bit set in the mask is an active state. The controllers have a state mask too but only one bit can be set: a controller belongs to a single state. The game engine will only execute controllers that belong to active states. Sensors and actuators don't have a state mask but are effectively attached to states via their links to the controllers. Sensors and actuators can be connected to more than one state. When a controller becomes inactive because of a state change, its links to sensors and actuators are temporarily broken (until the state becomes active again). If an actuator gets isolated, i.e all the links to controllers are broken, it is automatically disabled. If a sensor gets isolated, the game engine will stop calling it to save CPU. It will also reset the sensor internal state so that it can react as if the game just started when it gets reconnected to an active controller. For example, an Always sensor in no pulse mode that is connected to a single state (i.e connected to one or more controllers of a single state) will generate a pulse each time the state becomes active. This feature is not available on all sensors, see the notes below. GUI === This system system is fully configurable through the GUI: the object state mask is visible under the object bar in the controller's colum as an array of buttons just like the 3D view layer mask. Click on a state bit to only display the controllers of that state. You can select more than one state with SHIFT-click. The All button sets all the bits so that you can see all the controllers of the object. The Ini button sets the state mask back to the object default state. You can change the default state of object by first selecting the desired state mask and storing using the menu under the State button. If you define a default state mask, it will be loaded into the object state make when you load the blend file or when you run the game under the blenderplayer. However, when you run the game under Blender, the current selected state mask will be used as the startup state for the object. This allows you to test specific state during the game design. The controller display the state they belong to with a new button in the controller header. When you add a new controller, it is added by default in the lowest enabled state. You can change the controller state by clicking on the button and selecting another state. If more than one state is enabled in the object state mask, controllers are grouped by state for more readibility. The new Sta button in the sensor and actuator column header allows you to display only the sensors and actuators that are linked to visible controllers. A new state actuator is available to modify the state during the game. It defines a bit mask and the operation to apply on the current object state mask: Cpy: the bit mask is copied to the object state mask. Add: the bits that set in the bit mask will be turned on in the object state mask. Sub: the bits that set in the bit mask will be turned off in the object state mask. Inv: the bits that set in the bit mask will be inverted in the objecyy state mask. Notes ===== - Although states have no name, a simply convention consists in using the name of the first controller of the state as the state name. The GUI will support that convention by displaying as a hint the name of the first controller of the state when you move the mouse over a state bit of the object state mask or of the state actuator bit mask. - Each object has a state mask and each object can have a state engine but if several objects are part of a logical group, it is recommended to put the state engine only in the main object and to link the controllers of that object to the sensors and actuators of the different objects. - When loading an old blend file, the state mask of all objects and controllers are initialized to 1 so that all the controllers belong to this single state. This ensures backward compatibility with existing game. - When the state actuator is activated at the same time as other actuators, these actuators are guaranteed to execute before being eventually disabled due to the state change. This is useful for example to send a message or update a property at the time of changing the state. - Sensors that depend on underlying resource won't reset fully when they are isolated. By the time they are acticated again, they will behave as follow: * keyboard sensor: keys already pressed won't be detected. The keyboard sensor is only sensitive to new key press. * collision sensor: objects already colliding won't be detected. Only new collisions are detected. * near and radar sensor: same as collision sensor.
2008-06-18BGE Patch: Add Shape Action support and update MSCV_7 project file for glew.Benoit Bolsee
Shape Action are now supported in the BGE. A new type of actuator "Shape Action" is available on mesh objects. It can be combined with Action actuator on parent armature. Only relative keys are supported. All the usual action options are available: type, blending, priority, Python API. Only actions with shape channels should be specified of course, otherwise the actuator has no effect. Shape action will still work after a mesh replacement provided that the new mesh has compatible shape keys.
2008-05-06Add support for GLEXT in MSVC project files - continued: also support ↵Benoit Bolsee
BlenderPlayer and release config
2008-05-05BGE patch: add support for GLEXT in MSVC project files. User must update ↵Benoit Bolsee
glext.h in SDK directory: C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl\glxext.h. Get the latest glext.h from http://www.opengl.org/registry/
2008-04-06Commit patch #8799: Realtime SetParent function in the BGEBenoit Bolsee
This patch consists in new KX_GameObject::SetParent() and KX_GameObject::RemoveParent() functions to create and destroy parent relation during game. These functions are accessible through python and through a new actuator KX_ParentActuator. Function documentation in PyDoc. The object keeps its orientation, position and scale when it is parented but will further rotate, move and scale with its parent from that point on. When the parent relation is broken, the object keeps the orientation, position and scale it had at that time. The function has no effect if any of the X/Y/Z scale of the object or its new parent are below Epsilon.
2007-03-01updating vc7 projectfiles to link to python2.5Joseph Gilbert
2006-04-18Update to the VC7 projectfiles.Joseph Gilbert
This should bring the projectfiles upto date for msvc7. Moving these to version 7.1 so that the version 8 people don't have such a hard time importing into 2005. Build intern.sln, extern.sln and then blender.sln. Enjoy. :p
2005-08-02_.NET projectfiles update_Joseph Gilbert
- links to python 2.4 (please update /lib/windows)
2005-08-02_.NET projectfiles update_Joseph Gilbert
* converted files to .NET 2002 * removed unneeded projectfiles from bullet * PHY_Bullet outputs to correct directories * Bullet linked to activex and blenderplayer * misc updates
2005-07-31updated vc7 projectfiles so they work with bulletErwin Coumans
2005-07-28_.NET projectfile updates_Joseph Gilbert
This fixes a number of build issues with msvc7 projectfiles * fixes the zlib problem * fully builds bullet + solid + blender * updates project files
2005-05-16- updates to MSVC7 projectfiles for recent (and past) changesJoseph Gilbert
2005-03-30- update to msvc7 projectfiles to accomodate recent file additionsJoseph Gilbert
- fixed bad path in extern project file
2005-03-18- adds /GR to compiler options for generating run time type info for c++ ↵Joseph Gilbert
classes in the debug release - add support for new transform files
2005-02-21MSVC7 update and freetype2 sourceJoseph Gilbert
- Added correct .libs to be linked to GP_Ghost - Fixed incorrect library extensions for the linker (*.lib and not unix *.a) - Projects have been set to be multi-threaded - projects were being linked to different versions of the CRT - All projects are now linking to python 2.3 (this fixes an error regarding struct sizes in python) - Removed invalid source paths from inclusion for the compiler - Fix dependency issues with the GP_Ghost module - Proper .dll's are now being copied to their respective locations for debug and release version of blender/blenderplayer - Warnings have been set to level 2 - Import paths have been updated and organized for the compiler - Duplicate import paths for the compiler have been removed - Removed silly silly silly silly unix path-separators from window paths - Post-Build scripts have been updated where neccessary (XCOPY is retatined) - Fixed the output of various .lib files (PHY_Sumo and Yafray) - PHY_Sumo now uses a .pch - Removed #undef _DEBUG from debug builds :p - FTF_Font is now contains a debug build and is being set to it's correct output path - Blender/Blenderplayer/3DPlugin all linkto Debug libs where appropriate (instead of static release libs to avoid conflicts with the CRT) - Python23_d.dll is now loaded into a true debug output of both blenderplayer and blender debug builds - msvcrtd.dll is now loaded into a true debug output of both blenderplayer and blender debug builds - Post-builds now clean up their mess - ActiveX controller now builds - BlenderPlayer now builds - Internal libs now using .pch - Moved the build directory from /blender/obj to ../build/msvc_7/ to follow precedence with scons builds - Builds are now organized to follow precedence with scons builds with a /libs and a /intern /extern /source obj folders - Set the proper build path for opennl - Forcing BLO_loader source files to follow project defaults - Added an 'extern' project that mimics the /make build of the 'intern' project - Extern build includes solid and it's associated builds, ftgl, and freetype - Added .vcproj files to /extern directory - Added new extern.sln file to /extern directory - All project now link to the built solid.lib from the extern project instead of lib/windows - Removed uneeded XCOPYs commands from post-builds - Added conditional Directory building to post-builds - Freetype2 source commit (this is need for the building of a correct MFC linked version of the activeX controller as well as a correct release and debug build of the blender project) - Ftgl is built and linked by the 'extern' project - Intern/Extern project are now exporting their proper header files - PHY_Physics is now linking to the correct set of header files (in build path not source) - Makesdna builds object files into build directory now - Projects are now ignoring the CORRECT versions of the CRT's :) - Renderconverter is now outputting it's obj file to it's own directory instead of /render - Gen_system is now being built to ../kernel - BL_src_cre is now being built to /creator - *.exp and *.ilk are now being cleaned up from linkers - Libpng.dll and zlib.dll are now being copied to the /bin - MTDLL build are now available for the correct projects - ActiveX 3D Plugin now links correctly to solid and freetype2 - Corrected the Preprocessor #define that was labeled incorrectly in FTF_Font and Blender that was causing the FTGL libs to export dll calling conventions. - Changed the solution configurations to 3D Plugin Release, Debug and Blender Release, Debug for internal and external librarys - Changed the solution configurations to 3D Plugin Release, Debug and Blender Release, Debug for blender and added 2 new solutions configurations BlenderPlayer Release, Debug -
2004-09-19Update project files to compile and link with newest changes (editmesh ↵Nathan Letwory
refactoring)
2004-05-18Forgot to add PyMath.cpp and .hNathan Letwory
2004-04-07Major update for Visual Studio .Net project files. Both Release and Debug ↵Nathan Letwory
modes have been sanitised (ie. use .lib instead of .a). This update also makes the structure similar to the msvc6 projectfiles. The new blender.sln is now found in directory projectfiles_vc7\\blender. Update to the INSTALL file will follow soon.