12 years agoBGE PyAPI fixes
Campbell Barton [Wed, 3 Jun 2009 04:12:59 +0000 (04:12 +0000)]
BGE PyAPI fixes
- CValue warning ShowDeprecationWarning("val = ob.attr", "val = ob['attr']"); had false positives because of python using getattr() internally. Only show the wanring now when a CValue is found.
- Py functions that accepted a vector and a GameObject were slowed down by PySequence_Check() first called on the GameObject, though this would fail it would try and get attributes from the game object - ending up in ~8 attribute lookups each time. Avoiding PySequence_Check() makes ob.getDistanceTo(otherOb) over twice as fast.

- Joystick hat events could crash the BGE for joysticks with more then 4 hats.
- PLY Import failed on PLY files from Carve, added some extra types.

12 years agoThis commit fixes the following two coverity issues:
Kent Mein [Tue, 2 Jun 2009 19:29:20 +0000 (19:29 +0000)]
This commit fixes the following two coverity issues:

CID: 475
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/cloth.c
Function: bvhselftree_build_from_cloth
Description: Pointer "clmd" dereferenced before NULL check

CID: 476
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/cloth.c
Function: bvhtree_build_from_cloth
Description: Pointer "clmd" dereferenced before NULL check

You'll notice in the code the var is actually set again
a few lines down before being used so better to set it
after you've made sure the pointer is valid.


12 years agoFixed limits on translate node
Robin Allen [Mon, 1 Jun 2009 21:38:03 +0000 (21:38 +0000)]
Fixed limits on translate node

12 years agoBugfix for faulty noise function in bricks node
Robin Allen [Mon, 1 Jun 2009 21:22:43 +0000 (21:22 +0000)]
Bugfix for faulty noise function in bricks node

12 years agoBGE: memory leak in Random actuator + make actuator truly random when seed=0 in the...
Benoit Bolsee [Mon, 1 Jun 2009 18:41:58 +0000 (18:41 +0000)]
BGE: memory leak in Random actuator + make actuator truly random when seed=0 in the UI. When running the game, seed 0 is replaced by a random seed accessible through Python in seed attribute of the actuator. Other seed value will be left unchanged and will generate fixed pseudo random series.

12 years ago== Sequencer ==
Peter Schlaile [Mon, 1 Jun 2009 16:35:05 +0000 (16:35 +0000)]
== Sequencer ==

This fixes:
[#18507] Wrong audio mixdown

Also: you can change output sample rate while blender is running
and the audio device get's reopened automatically.

Subframe-precision seeking was also broken for some releases...
(shame on me)

12 years agofmod directory wasn't removed when all references to fmod were. (patch [#18260] FMOD...
Campbell Barton [Mon, 1 Jun 2009 12:49:16 +0000 (12:49 +0000)]
fmod directory wasn't removed when all references to fmod were. (patch [#18260] FMOD Removal, committed 19395)

12 years agoBGE Blendfile path bug (use for loading and saving the GameLogic.globalDict)
Campbell Barton [Mon, 1 Jun 2009 12:36:22 +0000 (12:36 +0000)]
BGE Blendfile path bug (use for loading and saving the GameLogic.globalDict)
the original blendfile path wasn't reset when loading new blendfiles.
blenderplayer was ok, but running the BGE from blender would set the blendfile original path and never reset it on loading other blend files.

12 years agoBGE bug fix: dynamically added sensor objects didn't have their physic shape synchron...
Benoit Bolsee [Mon, 1 Jun 2009 09:44:41 +0000 (09:44 +0000)]
BGE bug fix: dynamically added sensor objects didn't have their physic shape synchronized with movement.

12 years ago== Sequencer ==
Peter Schlaile [Mon, 1 Jun 2009 09:24:46 +0000 (09:24 +0000)]
== Sequencer ==

This removes the need of using "-g noaudio", if only HD Sound strips
are used. (In opposite to the RAM Sound strips, they don't need an
initialized Game Sound Engine for obvious reasons...)

12 years ago== Sequencer ==
Peter Schlaile [Mon, 1 Jun 2009 09:01:29 +0000 (09:01 +0000)]
== Sequencer ==

This fixes:
[#18707] Syncing animation to audio (works fine in 2.45. It does not work properly in 2.48)

12 years agoYoFrankie bug [#18857] On start gives ImportError: No module named frankie_scripts
Campbell Barton [Mon, 1 Jun 2009 05:43:58 +0000 (05:43 +0000)]
YoFrankie bug [#18857] On start gives ImportError: No module named frankie_scripts

GameEngine sys.path creation was broken because of a pesky slash at the end of each path name.
Win32 sys.paths were also failing when running a game that switched between blend files in different directories

On win32 for some reason making absolute paths from lib->name failed, work around this by using lib->filename.

STR_String.h, cast to float to quiet compiler warnings.

12 years ago== Sequencer ==
Peter Schlaile [Sun, 31 May 2009 21:14:25 +0000 (21:14 +0000)]
== Sequencer ==

This fixes dependency of scrub duration on mixbuffer size.
(start audio with a mixbuffer size of 2048, let it play = initialize,
change mixbuffer to smaller value, you will here 1 second
of audio instead of a scrub)

should hopefully fix
[#18850] 2.49 scrubbing creates an echo

12 years ago== Sequencer ==
Peter Schlaile [Sun, 31 May 2009 17:59:57 +0000 (17:59 +0000)]
== Sequencer ==

This fixes: IPO pinning on sequencer strips was lost during Undo.

12 years agoBug in KX_GameObject.get() and ListValue.get(), wasn't checking if the CValue derived...
Campbell Barton [Sun, 31 May 2009 17:44:38 +0000 (17:44 +0000)]
Bug in KX_GameObject.get() and ListValue.get(), wasn't checking if the CValue derived objects could be converted to a PyObject.
so where foo is an int prop,
 gameOb.get("foo") == 0, would end up returning a CValue int proxy.

This is more a problem for KX_GameObject since ListValues with python access mostly don't contain ints, strings, floats.
This also wont break games from 2.48 since the .get() function wasn't available.

12 years agoAnisotropic Friction bugfix for #18854
Erwin Coumans [Sun, 31 May 2009 16:22:22 +0000 (16:22 +0000)]
Anisotropic Friction bugfix for #18854
Thanks to Campbell for the reproduction case!

12 years agoBGE: fix refcount bug causing crash with Object texture coordinates.
Benoit Bolsee [Sun, 31 May 2009 14:54:31 +0000 (14:54 +0000)]
BGE: fix refcount bug causing crash with Object texture coordinates.

12 years agoAO render error, caused by bugfix after RC3 :(
Ton Roosendaal [Sun, 31 May 2009 11:22:11 +0000 (11:22 +0000)]
AO render error, caused by bugfix after RC3 :(

My bug fix to support AO with "Amb" texture channel changed code too that calls
AO as a pre-shade process, when texture isn't calculated yet. This caused very
first pixel in a tile to show wrong AO.

Especially myself deserves a kick in butt for not testing the regression files
for release binaries again! Error shows clearly... in the cornelius_passes
.blend file.

12 years agoThis was found by coverity
Kent Mein [Fri, 29 May 2009 19:11:04 +0000 (19:11 +0000)]
This was found by coverity

CID: 568
Checker: FORWARD_NULL (help)
File: base/src/extern/libopenjpeg/jp2.c
Function: jp2_decode
Description: Variable "image" tracked as NULL was dereferenced.

fixed by just updating to latest version of the file from
external svn branch.


12 years agoLast pre-2.49 commit part 2: the original file (png btw), and txt and
Ton Roosendaal [Fri, 29 May 2009 17:52:45 +0000 (17:52 +0000)]
Last pre-2.49 commit part 2: the original file (png btw), and txt and
VERSION update.

Image credits go to Clemens Granjon;

And now: release!

12 years agoLast pre-2.49 commit part 1: splash c file and release number
Ton Roosendaal [Fri, 29 May 2009 17:51:16 +0000 (17:51 +0000)]
Last pre-2.49 commit part 1: splash c file and release number

12 years agoBGE: small performance problem: object set invisible at startup were still put in...
Benoit Bolsee [Fri, 29 May 2009 17:09:20 +0000 (17:09 +0000)]
BGE: small performance problem: object set invisible at startup were still put in the DBVT, causing unnecessary culling.

12 years agoBGE: sensor object will now have Actor filter optional: new button 'Detect Actor...
Benoit Bolsee [Fri, 29 May 2009 16:55:22 +0000 (16:55 +0000)]
BGE: sensor object will now have Actor filter optional: new button 'Detect Actor' in physics settings indicate if you want the sensor to detect only Actor object or all objects. This way you don't need to set the scenery to Actor to detect ground for example.

12 years agoBGE modifier: last minute commit to fix a nasty bug with modifers messing the alpha...
Benoit Bolsee [Fri, 29 May 2009 13:37:51 +0000 (13:37 +0000)]
BGE modifier: last minute commit to fix a nasty bug with modifers messing the alpha blend mode of the GE. Note the alpha sorting on modified mesh is not implemented so derived mesh should not have alpha faces (clip will work though). Incidently fixed a performance problem in GLSL where the derived mesh was possibly rendered multiple times. Modifier support is still a bit experimental and should not be used in production game.

12 years agothe option for saving images as jpeg2000 was missing
Campbell Barton [Fri, 29 May 2009 13:33:33 +0000 (13:33 +0000)]
the option for saving images as jpeg2000 was missing

12 years agotypo in message
Campbell Barton [Fri, 29 May 2009 09:27:48 +0000 (09:27 +0000)]
typo in message

12 years agoworkaround for strange python problem in the BGE and BPy API where printing warnings...
Campbell Barton [Fri, 29 May 2009 09:22:24 +0000 (09:22 +0000)]
workaround for strange python problem in the BGE and BPy API where printing warnings mistook the blender binary for a script - argv[0], Binary lines were printed into the console sometimes causing console beeps and corrupting future console output.

Internal texts file on disk is not used it seems python warnings dont support this (even though exceptions do).

The most common cause of this is passing a float as an argument to a method that took an int.
get around this by setting __file__ in the namespace to the script name before executing the script, the file lines are not found but at least the output is not weird and confusing.

Added read only 'mode' attribute to the python controller so there is a way to tell if its executing a module or a script. Updated docs to better explain execution methods.

12 years agoRevert commit 20478: instead of changing the default in blender, it's better to chang...
Benoit Bolsee [Fri, 29 May 2009 08:55:14 +0000 (08:55 +0000)]
Revert commit 20478: instead of changing the default in blender, it's better to change the values for the demos that need it.

12 years agobugfix and update DXF-Exporter scripts
Remigiusz Fiedler [Fri, 29 May 2009 06:50:31 +0000 (06:50 +0000)]
bugfix and update DXF-Exporter scripts
please get it in 2.49 release

12 years agoBullet Physics maxphystep = 1 is better general default to avoid vicious circle
Erwin Coumans [Thu, 28 May 2009 22:26:28 +0000 (22:26 +0000)]
Bullet Physics maxphystep = 1 is better general default to avoid vicious circle
(graphics slower -> physics slower -> overall frametime slower -> graphics slower etc.)
See difference in vault.blend

12 years agobugfix: added import Curve module
Remigiusz Fiedler [Thu, 28 May 2009 20:28:52 +0000 (20:28 +0000)]
bugfix: added import Curve module

12 years agoPython API
Ken Hughes [Thu, 28 May 2009 14:24:16 +0000 (14:24 +0000)]
Python API
Bugfix: make work the same way as Blender.Mesh.New().

12 years ago[#18803] 'ShadeModes' dictionary and 'shadeMode' instance variable exported to Python API
Campbell Barton [Thu, 28 May 2009 14:01:10 +0000 (14:01 +0000)]
[#18803] 'ShadeModes' dictionary and 'shadeMode' instance variable exported to Python API
Ton was ok with adding Vladislav Turbanov (vladius)'s patch during the freeze.

12 years ago[#18840] Joystick sensor lag
Campbell Barton [Thu, 28 May 2009 13:44:32 +0000 (13:44 +0000)]
[#18840] Joystick sensor lag
if(SDL_PollEvent(&sdl_event)) // if -> while fixed it
removed 'm_buttonnum' was misleading, wasn't used as you expect.

Added gravity to variable to world to be used by collada.

12 years agoBGE: no sleeping and lock axis physics options were not propagated to replicas.
Benoit Bolsee [Thu, 28 May 2009 11:04:45 +0000 (11:04 +0000)]
BGE: no sleeping and lock axis physics options were not propagated to replicas.

12 years agorenamed python 'bookmark' attribute to 'useHighPriority', was renamed in the UI but...
Campbell Barton [Thu, 28 May 2009 07:11:12 +0000 (07:11 +0000)]
renamed python 'bookmark' attribute to 'useHighPriority', was renamed in the UI but not in python.

12 years agogrsaaynoel spent ~2hrs to figure this out, theeth, feel free to elaborate if the...
Campbell Barton [Thu, 28 May 2009 06:34:56 +0000 (06:34 +0000)]
grsaaynoel spent ~2hrs to figure this out, theeth, feel free to elaborate if the tip isnt quite correct.

12 years agoProjection paint, cloning from 1 layer to another would show ugly black lines at...
Campbell Barton [Thu, 28 May 2009 06:13:56 +0000 (06:13 +0000)]
Projection paint, cloning from 1 layer to another would show ugly black lines at the seams because interpolation didnt wrap across the image.
Added bilinear_interpolation_color_wrap to be used instead of bilinear_interpolation_color for painting.

12 years ago== FFMPEG ==
Peter Schlaile [Wed, 27 May 2009 22:37:45 +0000 (22:37 +0000)]
== FFMPEG ==

This fixes:
[#17505] Bad Interlacing for NTSC in mpeg-2 files

12 years agolast-minute Bullet bugfix: accidently commented out a constraint limit test, causing...
Erwin Coumans [Wed, 27 May 2009 22:27:10 +0000 (22:27 +0000)]
last-minute Bullet bugfix: accidently commented out a constraint limit test, causing instability for springs.

12 years agoDXF-importer second update: v1.12 - 2009.05.26 by migius
Remigiusz Fiedler [Wed, 27 May 2009 13:32:09 +0000 (13:32 +0000)]
DXF-importer second update: v1.12 - 2009.05.26 by migius
 - changed to the new 2.49 method Vector.cross()

12 years agoDXF-importer update: v1.12 - 2009.05.26 by migius
Remigiusz Fiedler [Wed, 27 May 2009 11:57:39 +0000 (11:57 +0000)]
DXF-importer update: v1.12 - 2009.05.26 by migius
 - bugfix WORLDY(1,1,0) to (0,1,0)

12 years agoflag the images as dirty when projection painting (so there is the option to repack...
Campbell Barton [Wed, 27 May 2009 03:43:22 +0000 (03:43 +0000)]
flag the images as dirty when projection painting (so there is the option to repack a packed image)

12 years agoWorkaround for size 1 brushes not working with projection paint,
Campbell Barton [Wed, 27 May 2009 02:03:22 +0000 (02:03 +0000)]
Workaround for size 1 brushes not working with projection paint,
need to investigate why this wont work but for now just clamp the value while projection painting.

12 years ago"Motor at limit" jitter fixed for btGeneric6Dof constraint, fix taken from Bullet...
Erwin Coumans [Wed, 27 May 2009 01:29:41 +0000 (01:29 +0000)]
"Motor at limit" jitter fixed for btGeneric6Dof constraint, fix taken from Bullet SVN repo.

Now we need some cool constraint limit/motor/spring demos, such as a Forklift demo, moving robots, ragdolls etc. for Blender 2.49!

12 years agoBGE: fix a bug with kinematic object not giving the correct friction to dynamic objec...
Benoit Bolsee [Tue, 26 May 2009 21:32:19 +0000 (21:32 +0000)]
BGE: fix a bug with kinematic object not giving the correct friction to dynamic object when they have a translation and rotation movement at the same time (translation is ignored). Performance: avoid unnecessary synchronization for static object.

12 years agoBGE VideoTexture: VideoFFmpeg was missing a rewind function: rename stop() to pause...
Benoit Bolsee [Tue, 26 May 2009 18:37:46 +0000 (18:37 +0000)]
BGE VideoTexture: VideoFFmpeg was missing a rewind function: rename stop() to pause() and add stop() that will also reset the frame counter.

12 years agoBGE PyAPI Bug reported by Pitel on blenderartist.
Campbell Barton [Tue, 26 May 2009 18:06:09 +0000 (18:06 +0000)]
BGE PyAPI Bug reported by Pitel on blenderartist.
importing "pygame" failed when running the BGE for the second time.

Rather then clearing modules, backup and restore them (as its doing with sys.path)

This way the BGE will never remember any modules imported during game play (which can cause bugs/crashes), but it also wont break pythons state by possibly removing modules that are being used internally.

12 years agoBGE build probs with CMake: directory "source/gameengine/SceneGraph"
Chris Want [Tue, 26 May 2009 17:15:29 +0000 (17:15 +0000)]
BGE build probs with CMake: directory "source/gameengine/SceneGraph"
was been referenced as "source/gameengine/Scenegraph" in some
include paths.

12 years agoBGE Py API
Campbell Barton [Tue, 26 May 2009 16:15:40 +0000 (16:15 +0000)]
- Deprecation warnings for using attribute access

- Added dictionary functions to KX_GameObject and ListValue
    ob.get(key, default=None)
 ob.has_key is important since there was no way to do something like hasattr(ob, "attr") which can be replaced by ob.has_key("attr") - (both still work of course).
 ob.get is just useful in many cases where you want a property if it exists but can fallback to a default.

- CListValue::FindValue was adding a reference but the ~3 places it was used were releasing the reference. added a FindValue that accepts a const char* type to avoid converting python strings to STR_String.

12 years agoFix for bug #18788: vector math node subtract did not work,
Brecht Van Lommel [Tue, 26 May 2009 15:01:06 +0000 (15:01 +0000)]
Fix for bug #18788: vector math node subtract did not work,
patch by Matt D., thanks.

12 years agoBugfix #18801
Ton Roosendaal [Tue, 26 May 2009 13:46:08 +0000 (13:46 +0000)]
Bugfix #18801

Third transparent shadow bug... this time it's a Material Node, which
has mirror + transp-shadow on, and when it traces its own material it
enters an eternal loop...

Raytracing + shading + materialnode combo really needs work!

12 years ago== Sequencer ==
Peter Schlaile [Tue, 26 May 2009 12:57:16 +0000 (12:57 +0000)]
== Sequencer ==

This adds a per preview option to set render sizes (which proxy size is used).
That makes it possible to have
* several small preview screens which update really fast using the proxy files
* one large output screen that operates in full resolution

Since most of the time not all input strips are considered when calculating
an output screen, this is a big win.

Also: one can disable a preview screen completely using this option.

Other use cases: vector + chromaviews don't always need full resolution
pictures and work equally well on proxy files!

This option finally makes my working setup _completely_ realtime :)

12 years agoMisc warnings
Campbell Barton [Tue, 26 May 2009 10:44:14 +0000 (10:44 +0000)]
Misc warnings
- Removed/Commented some unused vars
- CValue::GetPropertyText() could return a temp reference to a variable on the stack, option wasnt used anywhere so removed.
- KX_ConstraintWrapper::GetConstraintId allows args but ignored them
- KX_ConstraintWrapper::PySetParam didnt return NULL on an error (messing up pythons exceptions).
- BLI_natstrcmp didnt return 0 when the while loop exited

12 years agoBugfix: (discovered by course participant :)
Ton Roosendaal [Tue, 26 May 2009 08:30:28 +0000 (08:30 +0000)]
Bugfix: (discovered by course participant :)

Brush option "Clone" didn't read linked Clone Image from file.
No idea how this ever could work even... even for Undo it
would crash.

12 years agoBGE Script template for a python module (set EOL to native this time)
Campbell Barton [Tue, 26 May 2009 07:41:34 +0000 (07:41 +0000)]
BGE Script template for a python module (set EOL to native this time)
BGE PyAPI use defines for error return values
 - del gameOb['var'] error message was wrong.

12 years agoInterface
Ken Hughes [Tue, 26 May 2009 00:14:22 +0000 (00:14 +0000)]
Fixing typo in TimeOffset tooltip.

12 years agoIRIX: use python 2.5 by default
Stefan Gartner [Mon, 25 May 2009 23:35:29 +0000 (23:35 +0000)]
IRIX: use python 2.5 by default

12 years agotiny fix for irix: use putenv instead of setenv
Stefan Gartner [Mon, 25 May 2009 23:20:38 +0000 (23:20 +0000)]
tiny fix for irix: use putenv instead of setenv

12 years agoInterface
Ken Hughes [Mon, 25 May 2009 16:09:22 +0000 (16:09 +0000)]
Bugfix 18811: long filenames caused stack corruption in BLI_adddirstrings().

12 years ago* UI tweaks to python controller (more space for module name), setParent actuator...
Campbell Barton [Mon, 25 May 2009 11:39:09 +0000 (11:39 +0000)]
* UI tweaks to python controller (more space for module name), setParent actuator use less space
* - option to orient to face normal (useful for scattering objects over terrain), accounts for normal flipping and can adjust the orientation %.

12 years agoBGE Joystick Hat Bugfix
Campbell Barton [Mon, 25 May 2009 06:24:23 +0000 (06:24 +0000)]
BGE Joystick Hat Bugfix
bug reported by blenderage on blenderartist (found other bugs too).

- "All Hat Events" didnt work.
- Multiple hats didnt work
- use a menu with direction names rather then have the user guess. disallow zero as a direction.
- Allow up to 4 hats (was 2).
- Python api was clamping the axis to 2, maximum is currently JOYAXIS_MAX - 16
- New python attributes hatValues and hatSingle, match axis functions.
- Use SDL Axis events to fill in the axis and hat array rather then filling in every axis with SDL_JoystickGetAxis for each axis event.

12 years agoPressing the '~' key in the ipo view didnt store the view state in the ipo curves...
Campbell Barton [Mon, 25 May 2009 03:06:03 +0000 (03:06 +0000)]
Pressing the '~' key in the ipo view didnt store the view state in the ipo curves as clicking on the ipo channel names does.

12 years ago[#18819] save and load globalDictionary actuators don't load the proper files in...
Campbell Barton [Mon, 25 May 2009 02:39:05 +0000 (02:39 +0000)]
[#18819] save and load globalDictionary actuators don't load the proper files in 2.49 RC3
For this actuator to be useful it needs to use the first opened blendfile as the base name for the configuration file.
A recent fix that made the gp_GamePythonPath always match the current loaded blend file made this actuator work differently.

keep the original filename to use for making the config name so you can load the config between loading blendfiles.

12 years ago[#18808] Unstable results of Pack Margin in UV editor
Campbell Barton [Mon, 25 May 2009 02:11:18 +0000 (02:11 +0000)]
[#18808] Unstable results of Pack Margin in UV editor
was scaling the margin by the area twice

12 years ago[#18731] trouble with the python api in assigning script constraint's target.
Campbell Barton [Mon, 25 May 2009 01:45:35 +0000 (01:45 +0000)]
[#18731] trouble with the python api in assigning script constraint's target.
- Setting the constraint script from python didnt update the target count
- Setting objects didnt work at all, since it checked the input sequence for being an BPy_Object type (rather then an item in the sequence)

12 years agoquick fix still allowed for possible crash, check for valid newlibadr return value...
Campbell Barton [Mon, 25 May 2009 01:00:17 +0000 (01:00 +0000)]
quick fix still allowed for possible crash, check for valid newlibadr return value in the while loop.

12 years agomissing null check, would crash blender when loading some files
Campbell Barton [Mon, 25 May 2009 00:31:41 +0000 (00:31 +0000)]
missing null check, would crash blender when loading some files

12 years agoutility script for cleaning ipos animation curves,
Campbell Barton [Mon, 25 May 2009 00:30:06 +0000 (00:30 +0000)]
utility script for cleaning ipos animation curves,
used in YoFrankie to reduce file size for large actions

12 years ago- BGE Py API, any py function/attribute that took a KX_GameObject would not accept...
Campbell Barton [Sun, 24 May 2009 23:43:10 +0000 (23:43 +0000)]
- BGE Py API, any py function/attribute that took a KX_GameObject would not accept a KX_Light or KX_Camera (bad oversight on my part)
- Typo in occlusion variable init "m_buffer == NULL;" -> "m_buffer = NULL;"

CcdPhysicsEnvironment.cpp and CcdPhysicsController.cpp had too many warnings, fixed most of them.

12 years agoVideoTexture: exception in C++ was not returning an error in Python. Added function...
Benoit Bolsee [Sun, 24 May 2009 23:12:38 +0000 (23:12 +0000)]
VideoTexture: exception in C++ was not returning an error in Python. Added function name ini PyArg_ParseTuple.

12 years ago== Sequencer ==
Peter Schlaile [Sun, 24 May 2009 19:54:35 +0000 (19:54 +0000)]
== Sequencer ==

This fixes a stupid mistake in proxy handling with custom files:
CFRA not calculated correctly for proxy...

12 years agoAction actuator default value changed from 0.0 to 1.0. Bookmark renamed to Mark and...
Dalai Felinto [Sun, 24 May 2009 19:21:54 +0000 (19:21 +0000)]
Action actuator default value changed from 0.0 to 1.0. Bookmark renamed to Mark and other small logic tooltip changes

- IPOs and actions start it's frame counting in frame 1, not zero.
- Talked with Ben and we agreed to rename the "bookmark" feature before an official release.
- some English typos.
- removed all period in the end of tooltips for consistency's sake.

* note:
I resisted one more time to the temptation of alphabetical ordering the Sensors and Actuators.

That will be the first thing I would like to do after we are done with 2.49 :)
It really annoys me as a user.

12 years agoUser Interface
Ken Hughes [Sun, 24 May 2009 16:22:09 +0000 (16:22 +0000)]
User Interface
Bugfix 18817: DataBrowse for MTex used Material IDs instead of Texture IDs.

12 years ago== Sequencer ==
Peter Schlaile [Sun, 24 May 2009 14:14:58 +0000 (14:14 +0000)]
== Sequencer ==

Made relative paths work with custom proxy files.

12 years ago== Sequencer ==
Peter Schlaile [Sun, 24 May 2009 14:11:16 +0000 (14:11 +0000)]
== Sequencer ==

Fixed output rescaling, when changing between preview proxy rendering
and final resolution.

12 years ago== Sequencer ==
Peter Schlaile [Sun, 24 May 2009 13:41:37 +0000 (13:41 +0000)]
== Sequencer ==

This adds custom proxy file storage to the sequencer.
Reasoning: sometimes low resolution versions are already available as a
seperate file built by the capture application.
So there is no real reason to make blender build it's own seperate proxy.

This also somewhat fixes (aehm works around :) )
[#13632] Creating Proxy Takes Over Process, Should be Background

Since now you can just fire up ffmpeg to build your proxies in the background.
(You could have done before and build a directory of jpeg files, but then you
would have to rename all the files since otherwise things are off by one...)

12 years agoBGE: renamed sensor type enum to avoid conflict with mingw (NEAR was causing the...
Benoit Bolsee [Sun, 24 May 2009 12:53:49 +0000 (12:53 +0000)]
BGE: renamed sensor type enum to avoid conflict with mingw (NEAR was causing the problem).

12 years ago+ renamed pad3 to m_contactProcessingThreshold (thanks Campbell Barton/ideasman for...
Erwin Coumans [Sun, 24 May 2009 06:31:47 +0000 (06:31 +0000)]
+ renamed pad3 to m_contactProcessingThreshold (thanks Campbell Barton/ideasman for confirming it is ok to rename it)
+ fixed Python method, PyArg_ParseTuple already checks for errors, no returning of NULL, thanks Campbell too)
+ added linear/angular spring for each of the 6DOFs of a generic 6dof constraint.  This makes the generic 6dof constraint very versatile.

12 years agoPatch #18815: BGE: More updates to deprecation documentation and 2.49 conversion...
Dalai Felinto [Sun, 24 May 2009 04:45:10 +0000 (04:45 +0000)]
Patch #18815: BGE: More updates to deprecation documentation and 2.49 conversion script by Alex Frases(z0r)

 - Fixed some deprecation warnings in documentation.
 - Added more conversions to script.
 - Added more attributes to script todo list.
 - Print out name of text buffer when encountering an error in batch mode.
 - Refactor: Simplified attribute map.
 - Added notImplemented function to print warnings for missing conversions. References documentation.

12 years agoPhysicsConstraints.createConstraint:
Erwin Coumans [Sun, 24 May 2009 01:55:24 +0000 (01:55 +0000)]
allow to dynamically create rigid body constraints while disable collision detection between connected bodies, pass as 10th argument the flag 128

PhysiPython KX_ConstraintWrapper, setParam
export setParam(paramIndex,paramValue0,paramValue1) for Physics constraints
paramIndex 0,1,2 are linear limits, 3,4,5 are angular limits, 6,7,8 are linear motors, 9,10,11 are angular motors

For example:
cons = PhysicsConstraints.createConstraint(oid,rid,generic6dof,pivotInAx,pivotInAy,pivotInAz,angleX,angleY,angleZ,disableConnectedBodies)
#params 0,1,2 are linear limits, low,high value. if low > high then disable limit

I will provide an example .blend for Blender 2.49

12 years agofix generic 6dof constraint support -> convert 3 values into euler angles and convert...
Erwin Coumans [Sun, 24 May 2009 00:42:40 +0000 (00:42 +0000)]
fix generic 6dof constraint support -> convert 3 values into euler angles and convert those into a full constraint frame
(same values as Rigid Body constraint Generic 6DOF values), and add 'setLimit' support for generic 6DOF constraint. todo: enableMotor

12 years agoSet default constraint solver mode more compatible to Blender 2.48 settings, this...
Erwin Coumans [Sat, 23 May 2009 22:35:47 +0000 (22:35 +0000)]
Set default constraint solver mode more compatible to Blender 2.48 settings, this fixes rigid body stacking in this blend file:

(todo: expose this setting in World setting GUI)

Expose contact processing threshold in Advanced GUI, next to rigid body margin, called CPT.
Default to 1, makes rigid body stacking a bit more stable, smaller values makes sliding easier (at the cost of easier jittering).
Disabled for 'dynamic' objects that don't rotate, because characters etc. always need smooth sliding.

12 years agoMinor fixes in Bullet/constraint solving
Erwin Coumans [Sat, 23 May 2009 20:02:12 +0000 (20:02 +0000)]
Minor fixes in Bullet/constraint solving
Should  make generic 6DOF constraint more useable, and rigid body stacking more stable (warmstarting was accidently switched off)
If time allows, a few more minor last-minute 2.49 fixes might follow.
Check out

12 years ago== Sequencer ==
Peter Schlaile [Sat, 23 May 2009 19:36:11 +0000 (19:36 +0000)]
== Sequencer ==

Fix for the fix: SDL_PauseAudio() doesn't really wait for callback to finish
which can lead to random segfaults if we set audio_scene to 0 afterwards.

So we don't do that.

12 years agoBGE: fix memleaks.
Benoit Bolsee [Sat, 23 May 2009 14:46:43 +0000 (14:46 +0000)]
BGE: fix memleaks.

SCA_RandomActuator: The random generator was shared between replicas and not deleted. Added ref counting between replicas to allow deletion at the end.
KX_Camera: The scenegraph node was not deleted for temporary cameras (ImageMirror and shadow), causing 500 bytes leak per frame and per shadow light.
KX_GameActuator: Global dictionary buffer was not deleted after saving.
KX_MotionState: The motion state for compound child was not deleted
KX_ReplaceMeshActuator: The mesh was unnecessarily converted for each actuator and not deleted, causing large memleak.

After these fix, YoFrankie runs without memleak.

12 years agoBGE: Random sensor will produce true random sequence of events when seed is set to...
Benoit Bolsee [Sat, 23 May 2009 14:40:36 +0000 (14:40 +0000)]
BGE: Random sensor will produce true random sequence of events when seed is set to 0 in the GUI (the actual seed value is stored in the sensor seed attribute). Positive values will use fixed pseudo random sequence.

12 years agoFIX memleak in mmap().
Benoit Bolsee [Sat, 23 May 2009 14:21:11 +0000 (14:21 +0000)]
FIX memleak in mmap().

12 years ago== Sequencer ==
Peter Schlaile [Sat, 23 May 2009 07:37:02 +0000 (07:37 +0000)]
== Sequencer ==

This fixes:
[#18373] WAV with IPO CURVE: Clicking in playback

by adding linear interpolation between frames. (Old IPOs were only calculated
once per frame which will lead to clicking on steep curves)

12 years agoBGE PyController module reloading didnt check that the base of the function was a...
Campbell Barton [Sat, 23 May 2009 04:56:37 +0000 (04:56 +0000)]
BGE PyController module reloading didnt check that the base of the function was a module (could be a class).

12 years ago[#18802] BGE conversion script: more attributes; updated
Campbell Barton [Sat, 23 May 2009 03:19:47 +0000 (03:19 +0000)]
[#18802] BGE conversion script: more attributes; updated
Patch from Alex Fraser (z0r)

 - All attributes in the conversion map have been checked against the docs. More ambiguities have been resolved.
 - Added option to convert all text buffers in Blender.
 - Updated there were inconsistencies.

The script works well (causes no errors) with 0_FPS_Template.blend and vehicle_demo.blend from the
physics-2.43-physics-testfiles pack.

 - Conversions were checked against other deprecated attributes. I may have missed some cases where a deprecated attribute
has the same name as a non-deprecated attribute. I did catch a few though.
 - As with the last version, the conversion is purely text-based and doesn't compile the code. It's easy to create a
script that would break on conversion.

Still, it should get you 90% of the way to a converted script.

12 years agoPython API
Ken Hughes [Fri, 22 May 2009 17:01:32 +0000 (17:01 +0000)]
Python API
Fix incorrect exception message.

12 years agoUpdate to the bolt/nut script, I also replaced some loops with list-comprehension...
Campbell Barton [Fri, 22 May 2009 12:31:27 +0000 (12:31 +0000)]
Update to the bolt/nut script, I also replaced some loops with list-comprehension and use mesh.transform(matrix) rather then transforming every vert in a loop.
V2.00 22/05/09 by Aaron Keith

- Better error checking.
- Lock Nut and Hex Nut meshes added.
- Pre-sets for common metric bolts and nuts.
- Improved GUI.
- Meshes scaled to a smaller size
- Fixed bug when using crest and root percent other than 10%
- Can now create meshes in Edit Mode.  This will add to the
  current mesh and align with the current view.

12 years agothe debug option for BGE scripts only reloaded modules but not packages submodules.
Campbell Barton [Fri, 22 May 2009 09:48:05 +0000 (09:48 +0000)]
the debug option for BGE scripts only reloaded modules but not packages submodules.
Now reload all the submodules too.

It was also hiding the error message if there was a syntax error which wasnt so helpful.

12 years agoFix for: energy IPO not supported in glsl mode (reported in the forum).
Dalai Felinto [Fri, 22 May 2009 06:12:18 +0000 (06:12 +0000)]
Fix for: energy IPO not supported in glsl mode (reported in the forum).
in fact I redid part of the last "fix", making it working properly now.

Before we were changing Lamp->la . This is the Blender Lamp, we shouldn't touch it.
So this part of the code is correct now.

Things that could be tackled:
- color attribute is returning negative values when NEGATIVE is toggled
- objects with no material (default gray one) still don't support lamp spots (not spot lamp but the spot of the lamps)

12 years agoRemoved use of CrossVecs, DotVecs, CrossQuats and DotQuats
Campbell Barton [Fri, 22 May 2009 03:45:46 +0000 (03:45 +0000)]
Removed use of CrossVecs, DotVecs, CrossQuats and DotQuats
for all scripts except import_dxf and colladaImEx/

12 years ago- Deprecated Mathutils.CrossVecs(v1,v2) for v1.cross(v2), (same with .DotVecs ->...
Campbell Barton [Fri, 22 May 2009 03:22:56 +0000 (03:22 +0000)]
- Deprecated Mathutils.CrossVecs(v1,v2) for v1.cross(v2), (same with .DotVecs ->, for CrossQuats and DotQuats too)
- Grouped Mathutils deprecated functions
- Dont include source code in bpy epydocs

12 years agoBGE remove parent: unparented object keeps the linear and angular velocity it had...
Benoit Bolsee [Thu, 21 May 2009 19:38:49 +0000 (19:38 +0000)]
BGE remove parent: unparented object keeps the linear and angular velocity it had while being parented.

12 years agoBGE: GUI control over frame rate, logic rate, physics rate and physics subrate.
Benoit Bolsee [Thu, 21 May 2009 18:10:19 +0000 (18:10 +0000)]
BGE: GUI control over frame rate, logic rate, physics rate and physics subrate.

Four new buttons in World settings to control frame rate:
fps:  Nominal frame rate in frame per second.
      Also sets the physics timestep = 1/fps
phys: Maximum number of physics timestep per game frame in case
      the actual fps is less than nominal. This allows the
      physics to keep up with real time even if the graphics slows
      down the game.
sub:  Fixed number of simulation substeps per physic timestep.
      Improves the precision of the physics simulation. Useful for
      fast moving objects for example.
log:  Maximum number of logic steps per game frame in case the
      actual fps is less than nominal. This allows the logic
      system to follow the physics simulation.
      Upper bound = phys
      (setting the value higher than phys has no effect).
      On games with heavy logic system, it is useful to set this
      value to 1, to keep logic time under control.

All these values were already accessible from Python except phys:

Gets the maximum number of physics frame per render frame.

Sets the maximum number of physics timestep that are executed per render frame.
Higher value allows physics to keep up with realtime even if graphics slows down the game.
Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
      phys: integer

12 years patch committed by jean-michel soler (jms)
Remigiusz Fiedler [Thu, 21 May 2009 17:54:45 +0000 (17:54 +0000)] patch committed by jean-michel soler (jms)
[#18765] Update of the bundled script:
The script has been modified to use the last management of the modifiers in the python api and corrected too. Now it
can copy the mesh object when it is alone and also a shape keys to the second one if needed.