Commit Graph

66005 Commits

Author SHA1 Message Date
93c47e1071 - Added support for kinematic objects (interaction between rigidbodies), deriving linear/angular velocity from previous transform/current transform and deltatime.
- Made another attempt to migrate from Sumo to Bullet: import of older files automatically switch to Bullet, but you can override it, and save the file in 2.42 version. then it stays Sumo physics.
2006-05-11 00:13:42 +00:00
Chris Want
2358e85b6d Converting spaces to tabs in this script (this is standard!) 2006-05-10 21:37:03 +00:00
1fc1d769fb -> Fix for Bug #4167
https://projects.blender.org/tracker/?func=detail&aid=4167&group_id=9&atid=125

Stored selections (mselect array in mesh) were not getting freed along with their mesh blocks.
2006-05-10 21:08:38 +00:00
6e047236c3 -> Fix for Bug #4181
Silly typo in a call to memcpy was leading to crashes when doing remove doubles with vertex weights (whoops!) Fixed now.
2006-05-10 20:34:45 +00:00
d5ae204275 This is a bit of a hack, but it looks like sun
Used F11 and friends for its special keys Stop,again etc..
                  So this little patch enables F11 and F12 to work as expected
                  following link has documentation on it:
                  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4734408
                  also from /usr/include/X11/Sunkeysym.h
#define SunXK_F36               0x1005FF10      // Labeled F11
#define SunXK_F37               0x1005FF11      // Labeled F12

I also added a comment explaning why the heck its there...

What this means is XK_F11 and XK_F12 do not line up with the F11 and F12
keys on sun keyboards.  So I've added special cases to correct the issue.

Doing a quick grep for XK_F shows there are some files in the
gameengine that use them when they probably shouldn't, but I'm not going to
attempt to fix them, Files that should be looked at are:
gameengine/BlenderRoutines/KX_BlenderInputDevice.h
gameengine/Converter/KX_ConvertSensors.cpp
gameengine/GameLogic/SCA_IInputDevice.h
gameengine/GamePlayer/common/unix/GPU_KeyboardDevice.cpp
gameengine/GamePlayer/common/windows/GPW_KeyboardDevice.cpp
gameengine/GamePlayer/ghost/GPG_KeyboardDevice.cpp
gameengine/Ketsji/KX_PythonInit.cpp

Kent
2006-05-10 19:46:06 +00:00
d0acd78ad8 Bugfix #4175
Copying a Mesh did set the "texco mesh" pointer to zero... very weird code
from NaN days, which is a line that should just be removed. :)
2006-05-10 17:22:49 +00:00
6cbc64ce52 removed an optimizarion in seeking verts that could cause an eternal loop. 2006-05-10 15:31:11 +00:00
8f84542c23 Modified mesh to allow writing to normals.
renamed meshPrettyNormals to meshCalcNormals, and it now writes to normals rather then returning a list of vecs.
updated vertexpaint_selfshadow_ao to be a bit more efficient and make use of the above changes.
2006-05-10 12:12:21 +00:00
f81206228c Fixed typo 2006-05-10 03:59:16 +00:00
1567254b12 (experimental) logic timestep to 60hertz instead of 30 hertz. 2006-05-10 02:04:21 +00:00
41623cbdb9 made mesh's getFromObject pick the materials from object or obdata as set by the objects colbits.
its crufty that None of the exports currently export materials correctly, hopefully this will help.
2006-05-10 01:38:02 +00:00
4c9f07e59f Disabled Sumo, and use Bullet physics instead.
Until too many people complain: People can use older versions of Blender / player if they really need Sumo.
Sumo is not supported by anyone, and Bullet needs more feedback.

Note: Sumo is not removed yet, because no discussion is started about this. It's currently just a simple switch that replaced Sumo by Bullet.
2006-05-10 00:30:35 +00:00
bcc6704299 fixed [ #3863 ] Baking game physics to IPOs misses the first few frames of motion
Also, the recording starts from the actual 'curframe' onwards, rather then from frame 1
2006-05-10 00:05:49 +00:00
55ab57519d modified behaviour of PropertySensor and MessageSensor on popular request.
Logic systems should be improved, with consistent Level and Edge triggering usage in the logic bricks.
2006-05-09 23:43:14 +00:00
12e2f68bff Potential bugfix #4141
The curves tool didn't extend after last point correctly, in linux/windows.
Stupid bug found by Joeedh. thanks!
2006-05-09 20:26:34 +00:00
d66d173c20 fixed 2 physics related bugs (friction had a typo, and jacobian calculation too) 2006-05-09 19:03:26 +00:00
cc8f876950 applied Charlies patch (commenting out unused extensions that cause compile problems under Solaris and probably other platforms) 2006-05-09 18:23:45 +00:00
b3742ea41e Added some shading options
Concave/Convex Angle clipping- usefull for tinkering with highlights/shadow results.
Blur radius was inverted.
... Needs documenting.
2006-05-09 14:36:31 +00:00
Ken Hughes
4de7589720 Bugfix: mesh.removeVertsFromGroup() caused segfault due to NULL pointer. 2006-05-09 14:17:34 +00:00
8dc9c228d1 Added options
Rotate X90 (most objs use X up)
Reuse Existing Materials (so material names arnt created when names match)

Fixed some bugs and added a few speedups.
2006-05-09 13:20:18 +00:00
1736624d3e Small fix: "Curves" UI widget used wrong method for defining shades for
drawing grid lines, which didn't show in default theme.
2006-05-09 07:45:06 +00:00
Ken Hughes
4b310f2b8f ===Python API===
Correct error in Constraint example code.
2006-05-09 01:34:59 +00:00
e19fcdc670 fixed Bullet raycasting filtering issue 2006-05-09 01:15:12 +00:00
Ken Hughes
5f6a5f1b17 ===Python API===
Bugfix: replaced calls to enter_editmode() and exit_editmode(), which would
cause segfaults on scripts run in background mode (discovered by NichG).
2006-05-08 05:37:00 +00:00
f579a65cbc fixed error with zero length normals (caused by zero area faces)
fixed rare bug - that a colour wasnt clamped between 0 and 255.
2006-05-07 18:13:21 +00:00
Ken Hughes
cd3af13a1b ===Python API===
New Constraint API.  Constraints are accessible through a "constraints"
attribute in poses and objects.  Would be REALLY NICE for armature users to
pound on this code.
2006-05-07 14:57:58 +00:00
8255bdce57 Added a self shadowing script accessed from the vertex paint menu, it does a fake ao thats more pradictable then radio baking and fairly fast.
Also assed a function to calculate high quality normals (normals are the same even for different topologys).
2006-05-07 14:09:46 +00:00
bb52e70c8a Added "VertexPaint" slot for python menus 2006-05-07 13:09:29 +00:00
390380e97b Bugfixes for frame number boost:
- Found several places, where people explicitly casted the frame number
  to short.
- Fixed the crash in BPY_interface by adding an empty line (to make it
  recompile everywhere, make clean doesn't help...)

  For the build system maintainers:

  Problem was: The change in makesdna changed the position of the
  scriptlink structure. BPY_interface.c somehow didn't get recompiled
  (not even after a make clean!!!) which triggered crashes on adding
  scriptlinks.
2006-05-07 08:23:51 +00:00
53e777aae1 added optional 'worldspace' arg to getLocation/getSize/getEuler
getSize is never flipped, but added a note in the docs.
correction to getEuler, its not wrapped.

also removed all // comments to shut GCC up.
2006-05-07 08:12:18 +00:00
5f571e4ded ==Bugfix==
Made the frame boost from short to int (30000 -> 300000 frames) complete
by walking through the source and finally changing all frame-variables
to ints.

This should finally fix the framecounter warp around seen in some buttons.

If you step on any further problems that may arise starting from frame
32768 please just give me a hint and I'll fix it.

(Sorry about that, didn't know enough about Blender, when I did it the first
time...)
2006-05-06 15:26:53 +00:00
5a9b917ea4 Applied patch https://projects.blender.org/tracker/index.php?func=detail&aid=4159&group_id=9&atid=127
Updated batch object name edit. to assign datanames from obnames.
2006-05-06 09:11:11 +00:00
e9718958ee Applied pack unpack from Pablo Martin (caedes),
http://projects.blender.org/tracker/?func=detail&atid=127&aid=3246&group_id=9
adds

Blender.c:
Blender.UnpackModes (dict with the unpack modes)
Blender.UnpackAll(mode)
Blender.PackAll()
Blender.CountPackedFiles()

Image.c:
image.packed (this was working)
image.pack()
image.unpack()

Sound.c:
sound.packed
sound.pack()
sound.unpack()
2006-05-06 06:17:46 +00:00
75f4416e32 Added vertex weight python scripts accessable from the paint menu.
* clean weights (removed low weights)
* normalize, maximizes weights to a user set peak, optionaly scales other groups too to keep the proportion of the weights even. (Doubles as a weight scaler)
* Grow/Shrink, uses the mesh topology to expand/contract the vert weights. a few options for iterationsm, max length and strength.
I need a way tell if the users in Face Select mode (in python) so I can make use of the selected face flag.
2006-05-05 16:17:59 +00:00
9681a329c1 added a python menu slot for weight pain.
Also needed to seperate
  view3d_paintmenu
into
  view3d_vpaintmenu
  view3d_tpaintmenu
  view3d_wpaintmenu

The view3d_paintmenu and do_view3d_paintmenu were getting messy and had a lot of if's in it.
2006-05-05 06:57:33 +00:00
Ken Hughes
18a23ab8c9 ===Python API===
Bufgix #4171: Action_setName() didn't call rename_id(), messing up the
internal database.  Patch provided by Roland Hess (thanks).
2006-05-04 13:42:12 +00:00
4646ee2aaa Bugfix for sequencer:
When you wanted to display "Chroma VectorScope" or "Luma WaveForm" for
 image/window with small width/height, then Blender crashed, because
 Blender has used fixed limits of ibuf->rect size. Statistics informations
 should be created corectly now too.
2006-05-04 11:55:29 +00:00
cb67cba19a Multiple armatures<>mesh objects now work with name flipping.
previously would only work if the armature was the first in the meshes modifier list,
in that case the armature would be name flipped but the mesh would not)
2006-05-04 00:59:02 +00:00
Ken Hughes
e5ccb8773d Bugfix #4169: unlinking an empty object using scene.unlink() wasn't checking
for ob->data == NULL, causing segfault.
2006-05-03 17:15:33 +00:00
e80099d921 Bugfix for Node editing;
When multiple output nodes exist (Material), the active Output flag could
get copied and wasn't reset properly. Now the depenendency sorting code
ensures only 1 output node is the active output for execution.
2006-05-03 13:20:25 +00:00
Ken Hughes
9874d5c76f ===Python API===
Added activeGroup attribute to Mesh API, to get/set active vertex group for
meshes.
2006-05-02 17:44:44 +00:00
88f225f226 Added some comments on what vec in BezTriple contains.
(Provided by harkyman)

I also added comments explaining what the Blank lines with #
where for above a couple of structures.
(compiler ignores them and they specifiy to makesdna that that structure
can be ignored)

Kent
2006-05-02 14:35:47 +00:00
7deaac1d25 ==Sequencer==
- Added early-out optimisation to add-effect (the case, where fac == 0)
- Bugfixes:
  * hddaudio: ffmpeg does not seek always to the correct frame,
    if the SEEK_BACKWARD flag is used. Now we account for this and
    seek a little bit further... (hack, urghs)
  * hddaudio: on long timelines, the new seek code didn't work
    (forgot a long long cast)
  * the audio mixdown code now also calculates meta-strip IPOs
2006-05-02 13:22:00 +00:00
444e4e36fe Commited 3ds export enhancements from Mark Stijnman (beowulff)
Will need to do some updates, Mesh over NMesh and optimize some areas but it works and is a big improvement.

from
https://projects.blender.org/tracker/index.php?func=detail&aid=4156&group_id=9&atid=127

Detailed description:
Modified the 3ds export script 3ds_export.py:
- It now exports face UV correctly. 3ds only supports one UV coordinate per vertex. The script now duplicates vertices that had multiple UV pairs assigned to them so that each duplicate now only contains one and only one UV. Faces have their vertex indices adjusted accordingly.
- Quads are now split into triangles better. 3ds only supports triangles, so quads need to be split into two triangles. Instead of rather arbitrarily splitting along the diagonal between points 0 and 2, the script now splits along the shortest diagonal. This creates a higher quality triangular mesh, as well as better preservation of symmetry.
- Now creates an object node block, exporting object nodes, needed by some 3D importers. Among others, allows one to export object hierarchy.
- Now exports Empties as 3ds Dummies.

To be able to add all of the above new features, the script has been mostly rewritten and strongly restructured.

Motivation for the rewrite was the desire to be able to use Blender to produce custom 3d cars for Trackmania:Sunrise (TM:S). Previously, the TM:S importer could not correctly handle the 3ds files from the Blender 3ds export script. With this version, one can export cars complete with UV textures, correct wheel placement and light placement. To my knowledge, this script would make Blender the first fully free 3d modeller that allows one to export 3ds models for TM:S (expect a tutorial soon). The ability to have proper UV coordinates exported into the 3ds file should also be very welcome to many.

Add A Comment: Notepad
2006-05-02 11:26:32 +00:00
bd09b7703a editmesh's seperate was crashing because the em->selected wasnt being flushed along with the seperated data.
easy 1 liner, seperate now clears the selection order linkedList.

Watch out for places where removing verts might not remove the selection order data.
2006-05-02 10:43:58 +00:00
c3c0c38ad0 added a glDisable(GL_DEPTH_TEST); before the UI drawing because face select and wp mode were drawing mesh data over the UI. 2006-05-02 07:55:26 +00:00
35b8dac2ca As mentioned in the pydrivers commit, I had to change the order in
exit_usiblender() to finalize Python before main library data was freed.
This solved a somewhat specific sigsegv with pydrivers, but as Ken
Hughes found out (thanks!) caused one with scripts that called Blender.Exit().

Now running scripts (G.main->script) are freed in BPY_end_python()
itself (so before the rest of the library data is freed), before
Py_Finalize(). Works fine in all my tests so far.

The file script.c should become obsolete with this change (I added a
comment about it there). If all is indeed fine, it will be removed
later.
2006-05-02 02:42:08 +00:00
Ken Hughes
30f4f3e2c4 ===Python API===
Remove references in epydoc to deleted NMesh modes SUBSURF and OPTIMAL.
2006-05-01 21:15:49 +00:00
Ken Hughes
02506b1a5b ===Python API===
Make EXPP_setBitfield() PyObject_IsTrue() to evaluate parameter, so
boolean-type attribute setters will accept wider range of true/false inputs.
2006-05-01 05:28:51 +00:00
066a2b2ed2 Small update for pydrivers: force reloading the pydrivers.py Blender
text module when user edits the input text box of any pydriver
(Transform Properties panel, Ipo window).

It's enough to click in and out of a single pydriver's text input box
for the module reloading and also re-evaluation of all pydrivers
available. Maybe this "refreshing" should also be available from a
menu, let's see.

Note for Python fans:

Definitions and redefinitions in a reloaded module are properly handled
in Python, but previously defined data in the module doesn't disappear.
So if you define a function "f" inside a module, import it, then change
the function's name to "g" and reload the module, both "f" and "g" will
be available. This is considered a feature, check reload's documentation:
http://docs.python.org/lib/built-in-funcs.html#l2h-59
2006-04-30 22:10:39 +00:00