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
2016-01-28cleanup: spelling, comments, alignmentMike Erwin
fixed pet peeve “frustrum” and other non-functional changes.
2016-01-27World textures displaying for viewport in BI.Alexander Romanov
This patch supports "Image or Movie" and "Environment map" types of world texture for the viewport. It supports: - "View", "AngMap" and "Equirectangular" types of mapping. - Different types of texture blending (according to BI world render). - Same color blending as when it lacked textures (but render via glsl). {F207734} {F207735} Example: {F275180} Original author: @valentin_b4w Regards, Alexander (Blend4Web Team). Reviewers: sergey, valentin_b4w, brecht, merwin Reviewed By: merwin Subscribers: campbellbarton, merwin, blueprintrandom, youle, a.romanov, yurikovelenov, AlexKowel, Evgeny_Rodygin Projects: #rendering, #opengl_gfx, #bf_blender:_next Differential Revision: https://developer.blender.org/D1414
2016-01-25Fix T46902: Revert zeroing velocity in BGE logic brickSybren A. Stüvel
This reverts commit 3dbc123061aa063efd1fca358f5e295b0ce7b302, "BGE: allow setting velocity to zero in a motion actuator" as it caused more issues than it solved. Zeroing linear or angular velocity with logic bricks is discussed further in https://developer.blender.org/D1545
2016-01-23Vector Transform node support for GLSL mode and the internal rendererAlexander Romanov
The Vector Transform node is a useful node which is present in the Cycles renderer. {F144283} This patch implements the Vector Transform node for GLSL mode and the internal renderer. Example: {F273060} Alexander (Blend4Web Team) Reviewers: brecht, campbellbarton, sergey Reviewed By: campbellbarton, sergey Subscribers: psy-fi, duarteframos, RobM, lightbwk, sergey, AlexKowel, valentin_b4w, Evgeny_Rodygin, yurikovelenov Projects: #bf_blender:_next Differential Revision: https://developer.blender.org/D909
2016-01-17BGE: Allow access to light shadow settings with pythonUlysse Martin
This patch adds a new API which allow us to access light shadow settings from python. The new API can be used to write custom GLSL materials with shadows. Reviewers: brecht, kupoman, agoose77, panzergame, campbellbarton, moguri, hg1 Reviewed By: agoose77, panzergame, campbellbarton, moguri, hg1 Projects: #game_engine Differential Revision: https://developer.blender.org/D1690
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-30BGE: Fix invalid operator< for microsoft compiler.Porteries Tristan
It fixes the strict weak ordering assertion failure, see : https://support.microsoft.com/en-us/kb/949171. sybren and youle are the author of this commit.
2015-12-27Split id->flag in two, persistent flags and runtime tags.Bastien Montagne
This is purely internal sanitizing/cleanup, no change in behavior is expected at all. This change was also needed because we were getting short on ID flags, and future enhancement of 'user_one' ID behavior requires two new ones. id->flag remains for persistent data (fakeuser only, so far!), this also allows us 100% backward & forward compatibility. New id->tag is used for most flags. Though written in .blend files, its content is cleared at read time. Note that .blend file version was bumped, so that we can clear runtimeflags from old .blends, important in case we add new persistent flags in future. Also, behavior of tags (either status ones, or whether they need to be cleared before/after use) has been added as comments to their declaration. Reviewers: sergey, campbellbarton Differential Revision: https://developer.blender.org/D1683
2015-12-17Fix T46959: sys.meta_path reset on on exitCampbell Barton
2015-12-16BGE clean up: use float version of trigonometric functionsJorge Bernal
2015-12-16BGE Ketsji clean-up: double-promotion warningsJorge Bernal
2015-12-15use float (not double) for font matrixMike Erwin
Following up on recent double --> float commits in the game engine.
2015-12-13BGE: Use float as default instead of double in Moto library.Porteries Tristan
Use float in moto instead of double for MT_Scalar. This switch allow future optimization like SSE. Additionally, it changes the OpenGL calls to float versions as they are very bad with doubles. Reviewers: campbellbarton, moguri, lordloki Reviewed By: lordloki Subscribers: brecht, lordloki Differential Revision: https://developer.blender.org/D1610
2015-12-12BGE: Improve clock managementArnaud Degroote
This patch improves clock management in BGE, to be able to accelerate / slow the time, and also to finely synchronize clock with external engines. Several new python functions have been added and existence ones have been improved for that purpose. Now we have: - getClockTime(): Get the current BGE render time, in seconds. The BGE render time is the simulation time corresponding to the next scene that will be rendered. - getFrameTime(): Get the current BGE frame time, in seconds. The BGE frame time is the simulation time corresponding to the current call of the logic system. Generally speaking, it is what the user is interested in. - getRealTime(): Get the number of real (system-clock) seconds elapsed since the beginning of the simulation. - getTimeScale(): Get the time multiplier between real-time and simulation time. The default value is 1.0. A value greater than 1.0 means that the simulation is going faster than real-time, a value lower than 1.0 means that the simulation is going slower than real-time. - setTimeScale(time_scale): Set the time multiplier between real-time and simulation time. A value greater than 1.0 means that the simulation is going faster than real-time, a value lower than 1.0 means that the simulation is going slower than real-time. Note that a too large value may lead to some physics instabilities. - getUseExternalClock(): Get if the BGE use the inner BGE clock, or rely or on an external clock. The default is to use the inner BGE clock. - setUseExternalClock(use_external_clock): Set if the BGE use the inner BGE clock, or rely or on an external clock. If the user selects the use of an external clock, he should call regularly the setClockTime method. - setClockTime(new_time): Set the next value of the simulation clock. It is preferable to use this method from a custom main function in python, as calling it in the logic block can easily lead to a blocked system (if the time does not advance enough to run at least the next logic step). Rationale are described more precisely in the thread http://lists.blender.org/pipermail/bf-gamedev/2013-November/000165.html. See also T37640 Reviewers: sybren, panzergame, #game_engine, lordloki, moguri Reviewed By: sybren, panzergame, #game_engine, lordloki, moguri Subscribers: moguri, hg1, sybren, panzergame, dfelinto, lordloki Projects: #game_engine Maniphest Tasks: T37640 Differential Revision: https://developer.blender.org/D728
2015-12-08OpenGL: split off framebuffer, shader and texture code into separate files.Brecht Van Lommel
2015-12-08OpenGL: remove non-power-of-two texture check, where even ES 2.0 does not ↵Brecht Van Lommel
need it.
2015-12-08BGE code cleanup: Removing RAS_GLExtensionManager.Mitchell Stokes
This class did nothing but print out extensions if they were found. Instead, the code from bge.logic.PrintGLInfo() is now printed as the Rasterizer is initialized. This gives better information, and it removes some GL code from KX_PythonInit.cpp (the PrintGLInfo method now calls the Rasterizer to print the information). Differential Revision: https://developer.blender.org/D438
2015-11-26BGE: Fix ray cast with unfound property.Porteries Tristan
To return a valid ray cast result the object must not be NULL and KX_RayCast::RayTest must return true.
2015-11-10BGE: allow setting velocity to zero in a motion actuator.Sybren A. Stüvel
The motion actuator goes out of its way to prevent setting zero velocities, which should actually be supported. This patch just works around it as a first test. We should investigate whether the flags `m_bitLocalFlag.ZeroLinearVelocity` and `m_bitLocalFlag.ZeroAngularVelocity` are actually needed/desired at all. One of the issues that's already visible with this simple change, is that objects aren't actually frozen but still move a little bit; see test with {F241908}. Reviewers: lordloki, hg1, moguri, panzergame Reviewed By: lordloki, panzergame Differential Revision: https://developer.blender.org/D1545
2015-11-03BGE: Remove KX_IPOActuator.Porteries Tristan
KX_IPOActuator is not used since 2.4. This patch removes: - KX_IPOActuator.h/cpp; - Python doc; - Write of IPO actuator in write.c; - Allocation of IPOactuator in sca.c; - Conversion in KX_ConvertActuators.cpp; - Initialization of the python proxy in KX_PythonInitTypes.cpp; - Other minor remove in logic_windows.c and in KX_PythonInit.cpp. Reviewers: sybren, campbellbarton Reviewed By: campbellbarton Subscribers: moguri Differential Revision: https://developer.blender.org/D1603
2015-10-29BGE: Fix T38986: Start object position not initialized in IPO.Porteries Tristan
The start position must be initialized at the first call of KX_IpoSGController::Update when m_ipo_start_initialized is to false, not when also the frame time is not 0.
2015-10-29BGE: Cleanup KX_IPO_SGCOntroller.Porteries Tristan
- Add spaces around operators. - Replace !(a == b) by a != b - Add "f" at end of float value. - Remove extras lines in fonctions declaration. - Remove indentation to align attributes definition.
2015-10-29BGE: Fix T35188: Duplicate an instance of group.Porteries Tristan
This behavior caused a double free. Before when we duplicated an instance of a group the new instance keep the pointer of the group but was not added in the group instance list (normal). And during the object deletion we tried to remove the object in the instance list but anyways if it failed decrement the reference count. Set the group and the instance list to NULL in ProcessReplica avoid these kind of problems.
2015-10-28BGE: Fix T45945: Action bouncing.Porteries Tristan
Bug introduced in 583fa7d1e, KX_GameObject.setActionFrame can make BL_Action::m_starttime negative. But in BL_Action::Update m_starttime is set to the current time if it's negative. To fix it we use a boolean BL_Action::m_initializedTime to know if we should initialize the time in BL_Action::Update, it's more stable than comparing times. Tested with bug task T45945 and T32054, with an extra patch about to fix suspend resume scene issues with actions : D1569
2015-10-27BGE: Fix T31357: wrong zoom when sets camera.Porteries Tristan
This patch makes independant the override camera zoom and the default camera object zoom. The override zoom is 2.0f and the camera object zoom is computed with the RegionView3D camera zoom. These features are only used for the embedded BGE, so there's no compatibility issues with the blenderplayer. I let the override zoom with a setter to allow later to create an override camera in blenderplayer easily. Tested with the 3 framing modes in embedded and standalone.
2015-10-26BGE: generic python callback list + replace KX_PythonSeq.Porteries Tristan
I made this patch to declared a python list without converting all elements in python object (too slow) or use a CListValue which required CValue items (too expensive in memory). In the case of a big list of points like a collision contacts points list, to use a CListValue we must implement a new class based on CValue for 3D vector to create a python proxy even if mathutils do it perfectly, we must also convert all points (frequently ~100 points) when fill the CListValue even if the list is not used (in the case of the collision callback). The easy way is to use callback (it doesn't worth to do an inheritance) which convert the item in PyObject only during an acces. 5 callbacks are used : - Check if the list is valid = allow acces (like PyObjectPlus.invalid) - Get the list size - Get an item in the list by index. - Get an item name in the list by index (used for operator `list["name"]`) - Set an item in the list at the index position. All of these callback take as first argument the client instance. Why do we use a void * for the client instance ? : In KX_PythonInitTypes.cpp we have to initialize each python inherited class, if we use a template (the only other way) we must add this class each time we use a new type with in KX_PythonInitTypes.cpp To check if the list can be accessed from python by the user, we check if the python proxy, which is the `m_base` member, is still a valid proxy like in PyObjectPlus. But we can use a callback for more control of user access (e.g a list of collision point invalidate a frame later, in this case no real python owner). This python list is easily defined with : ``` CPythonCallBackList( void *client, // The client instance PyObject *base, // The python instance which owned this list, used to know if the list is valid (like in KX_PythonSeq) bool (*checkValid)(void *), // A callback to check if this list is till valid (optional) int (*getSize)(void *), // A callback to get size PyObject *(*getItem)(void *, int), // A callback to get an item const char *(*getItemName)(void *, int), // A callback to get an item name (optional) use for acces by string key bool (*setItem)(void *, int, PyObject *) // A callback to set an item (optional) ) ``` To show its usecase i replaced the odd KX_PythonSeq, it modify KX_Gameobject.sensors/controllers/actuators, SCA_IController.sensors/actuators and BL_ArmatureObject.constraints/channels. Example : {F245193}, See message in console, press R to erase the object and see invalid proxy error message. Reviewers: brita_, #game_python, youle, campbellbarton, moguri, agoose77, sergey Reviewed By: campbellbarton, moguri, agoose77, sergey Subscribers: sergey Projects: #game_engine Differential Revision: https://developer.blender.org/D1363
2015-10-25BGE: Cleanup: Code style BL_ShaderThomas Szepe
Reviewers: lordloki, youle, campbellbarton, sergey, kupoman, moguri, panzergame Reviewed By: panzergame Projects: #game_engine Differential Revision: https://developer.blender.org/D1397
2015-10-25BGE: Fix issues with async libload.Porteries Tristan
This patch fixes: - the call of LibFree on a unfinished loaded library; - memory leak created on end of game : the async libraries are loaded but not converted, so not freed with the master scene. Reviewers: campbellbarton, sybren, youle, hg1, moguri, lordloki Reviewed By: moguri, lordloki Differential Revision: https://developer.blender.org/D1571
2015-10-20Cleanup: remove _POSIX_C_SOURCE undefineCampbell Barton
2015-10-19BGE: Cleanup BL_ActionPorteries Tristan
Remove initialization of m_endtime : fix compile about previous BL_Action cleanup.
2015-10-19BGE: Cleanup BL_Action.Porteries Tristan
- Rename m_localtime to m_localframe to avoid ambiguity : it's a count for the actual action frame, not time. - Delete m_end : it's unused.
2015-10-19BGE: Fix T46381 : last action frame not updated.Porteries Tristan
It fix T46381. Normally BL_Action::Update (manage action time, end, loop…) should be called the same number of times as BL_Action::UpdateIPO (update action position, scale ect… in the game object). But the bug report shows that UpdateIPO is called one less time than Update. To fix it i revert the commit 362b25b38287cb75e4d22b30bdbc7f47e8eb3fdf and implement a mutex in BL_Action::Update. Example file : {F245823} Reviewers: lordloki, kupoman, campbellbarton, youle, moguri, sybren Reviewed By: youle, moguri, sybren Maniphest Tasks: T39928, T46381 Differential Revision: https://developer.blender.org/D1562
2015-10-14BGE: Fix animations update when scene is suspended.Porteries Tristan
2015-10-13Fix T46458: BGE Crash on loadCampbell Barton
regression from 96dd213e7
2015-10-11BGE: Change KX_WolrdInfo mathutils vector to colorThomas Szepe
Change the mathutils callback from vector to color for mistColor, backgroundColor and ambientColor. Reviewers: lordloki, campbellbarton, panzergame, moguri, sybren Reviewed By: panzergame, moguri, sybren Projects: #game_engine, #game_logic Differential Revision: https://developer.blender.org/D1432
2015-10-11BGE: Adding a Max Jumps value to the character physic windowThomas Szepe
Actually we only have a Python API that allows to change the max jumps value. The patch also allows non programmers to change the maximum numbers of jumps. Reviewers: panzergame, sybren, campbellbarton, lordloki, moguri, agoose77 Reviewed By: lordloki, moguri Projects: #game_engine Differential Revision: https://developer.blender.org/D1302
2015-10-11BGE: Change character jumping to charThomas Szepe
* Change the character jumping variables and methods from int to char. * Limit the maxJumps integer value from 0 to 255. * Allow to set the minimum jump amount to 0. Reviewers: panzergame, lordloki, moguri Reviewed By: lordloki, moguri Subscribers: agoose77 Projects: #game_engine Differential Revision: https://developer.blender.org/D1305
2015-10-11BGE: Add recursive dupli group deletionThomas Szepe
This patch will delete all associated objects from a group instance (dupli group) if the are deleted. Reviewers: brita_, sybren, lordloki, moguri Reviewed By: lordloki, moguri Projects: #game_engine Maniphest Tasks: T36388 Differential Revision: https://developer.blender.org/D1205
2015-10-11BGE: Adding a screenshot function to game actuatorThomas Szepe
Extending the existing game actuator with a screenshot function, to give also non programmers the ability to take screenshots in the BGE. Reviewers: lordloki, campbellbarton, moguri Reviewed By: lordloki, moguri Subscribers: lordloki, Genome36 Projects: #game_engine Differential Revision: https://developer.blender.org/D651
2015-10-07BGE : Collision mask support in raycast + and raycast cleanup.Porteries Tristan
I have removed the m_pHitObject, m_xray and m_testPropName and replace them by a temporary struct "RayCastData" which contains these datas and a collision mask. Finally i add a collision mask argument in the python function "rayCast" : ``` rayCast(to, from, dist, prop, face, xray, poly, mask) ``` It can be useful to hit only object which are on the right colision layer. for example if you have hitbox for a charater or vehicle you don't want to hit it with raycast. test file : {F237337} left mouse click on two planes and see console messages. Somewhat more elaborate test file by @sybren: {F237779} Look around and click on the cubes. One cube lamp responds, the other doesn't, based on their collision groups. Reviewers: moguri, hg1, agoose77, campbellbarton, sybren Reviewed By: agoose77, campbellbarton, sybren Subscribers: campbellbarton, sergey, blueprintrandom, sybren Projects: #game_engine, #game_physics Differential Revision: https://developer.blender.org/D1239
2015-10-07Fix for T41536: 2.71 getActionFrame no longer returns frames accuratelyMitchell Stokes
We now keep actions around when they are finished playing so scripts can still get access to information such as the current frame. Playing a new action in the same layer still overwrites the previous action as before this commit. Using an explicit KX_GameObject.stopAction() will free the memory. The action is also freed when the KX_GameObject is freed as before.
2015-09-08Fix for building with C++ guarded allocCampbell Barton
KX_WorldInfo is already inherits the overrides
2015-09-02Cleanup: styleCampbell Barton
2015-08-25BGE: added bge.logic.{get,set}AnimRecordFrame functionsSybren A. Stüvel
By using getAnimRecordFrame(), game developers have access to the frame number used by the "Record animation" feature. This enables them to record additional information in Blender's F-Curves and ensuring perfect synchronization with the information already recorded by Blender. The setAnimRecordFrame() can be used to change the frame number at which animations are recorded, for example to introduce delays the recording that do not require delays in the actual game/simulation run. The getter/setter functions in KX_KetsjiEngine are not directly named after property they access (m_currentFrame). I found "current frame" to be too vague for a public interface, hence chose a more descriptive name. Reviewers: moguri, hg1, campbellbarton, panzergame, aligorith Reviewed By: panzergame, aligorith Differential Revision: https://developer.blender.org/D1449
2015-08-18BGE: Fix mesh not registered in scene libload.Porteries Tristan
2015-08-16BGE: Fix memory leak and crash with certain physic typesThomas Szepe
Fixing crash if the physic type is set sensor or character. Caused by a790e172d0281e64. Fixing memory leak, if the constraint is deleted with Python API removeConstraint(). Add RemoveConstraint() method to avoid code duplication. Rename old RemoveConstraint() to RemoveConstraintById() which is more suitable name for this method.
2015-08-11BGE: Fix T33187 constraints replication for libloaded objects.Porteries Tristan
Reviewers: Moguri
2015-08-10BGE: Fix T19377 restore dynamics after unparenting object.Porteries Tristan
Reviewers: scorpion81
2015-08-06Cleanup: whitespaceCampbell Barton
2015-08-04SCons: Fix for really nasty bug with polluting configuration environmentSergey Sharybin
The issue was caused by the following construction: def = env['SOMETHING'] defs.append('SOMETHING_MORE') Since first assignment was actually referencing environment option it was totally polluted hawing weird and wonderful side effects on all other areas of Blender.