Commit Graph

3418 Commits

Author SHA1 Message Date
39fcd3586f Lots of stupid warning fixes:
Added newlines at end of a bunch of files that didn't have them.
removed a couple of unused variables and an extra ';'
(Also removed config.h crap from these files)

Kent
2006-01-05 23:10:54 +00:00
71991cf41e Some rigidbody dynamics fixes (scaling again) to make Happy 2006 domino simulation to work.
See http://www.continuousphysics.com/ftp/pub/test/index.php?dir=blender/&file=happy_2006_blend.zip
For the baked dominos. Thanks to Tom M (LetterRip) for the blend.
2006-01-01 00:20:50 +00:00
bab1b90edc more game engine bug-fixes, hooked up 'formfactor' as inertia tensor tweaker, friction/restitution, more scaling related fixes. 2005-12-31 21:59:56 +00:00
9119b6e8a5 Fixed several bugs: python refcounting related and Bullet related (basic add/remove object support, bounding volume hierarchy). Added a few files, updated the Bullet scons. Vc6/7 Bullet projectfiles need to add a couple of files: 'Bullet/CollisionShapes/BvhTriangleMeshShape.cpp',
'Bullet/CollisionShapes/ConvexTriangleCallback.cpp',
'Bullet/CollisionShapes/EmptyShape.cpp',
'Bullet/CollisionShapes/OptimizedBvh.cpp',
'Bullet/CollisionShapes/TriangleCallback.cpp',
'Bullet/CollisionShapes/TriangleIndexVertexArray.cpp',
'Bullet/NarrowPhaseCollision/ManifoldContactAddResult.cpp'.
Sorry, no armatures fix yet.
2005-12-31 07:20:08 +00:00
d59531226f Forgot to add 'ForgetReference' for game-python objects. 2005-12-20 09:13:06 +00:00
63d0e03bcf applying Volker Mische engine patch
correct bug #3594
2005-12-18 19:10:26 +00:00
0140c36df9 Cleanup & preparation commit for getting Armatures/Poses/Actions working
in the game engine again.

All files in source/gameengine/ I've committed below have a comment like
/* XXX note .... */
where something needs to be done. This is pretty straightforward for Erwin,
who has been notified in person too about this. :)
2005-11-29 12:45:18 +00:00
e1c66eb145 applied the 64-bit pointer patch submitted by Ken Hughes 2005-11-28 06:51:54 +00:00
fbee75fef3 fixed raysensor, hooked up a few more bullet method: force, torque etc, + 'local'. cosmetic change in physics-engine menu. 2005-11-11 05:02:14 +00:00
dfce9d7d9b minor cleanup. Todo: Does 'testhandles' need to be called after every single ipo_insert_vert ? 2005-11-06 16:50:22 +00:00
b7a465b437 when recording physics keyframes, always run at a fixed framerate (not variable/real-time) 2005-10-30 07:25:36 +00:00
745fc2f9d0 updated SConstruct and Makefile so that if you compile the gameengine, is always enables bullet, independent of sumo/ode.
So for the 2.4 release, both bullet AND sumo will be enabled. You can choose in the world buttons which physics engine is active for a scene.

sorry if this breaks your builds!
2005-10-23 17:55:19 +00:00
28f0eeaf61 Ack! Recently the get_ipocurve was added in the game engine, for baking
physics. This creates very bad dependencies... tsk!

comments indicate it though;

//quick hack
//todo, before 2.38/2.40 release, Erwin

Hrms... :)
2005-10-10 18:57:55 +00:00
Chris Want
0a2b71a3a4 Getting blender to compile for IRIX, in particular:
IK: needed to change abs() to TNT::abs() (thanks brecht!)

Freetype: FT_ENCODING_UNICODE typecast to FT_CharMap (thanks intrr!)

header_image: missing include for liballoc stuff

Ketsji: needed to declare m_hitObject as public in KX_MouseFocusSensor.h.
This is probably the wrong thing to do, but KX_MouseFocusSensor.cpp
compilation fails on line 279 otherwise.
2005-09-14 21:50:37 +00:00
207cbbd535 don't need Object.h 2005-08-23 16:50:53 +00:00
056a33ac69 new game-menu option 'Record Game Physics to Ipo'
including implementation. hope it works, and doesn't break to much.
it bakes physics objects transform into ipo, every frame of the running gameengine.
When you disable and run the game again, it clears the ipo's again. just for physics objects at the moment.

(perhaps some better UI in the future?)
2005-08-23 13:16:02 +00:00
43b59afebb more preparation for physics recording to ipo keyframes 2005-08-22 18:31:19 +00:00
65a52fc419 - prepared for automatic game physics -> animation (ipo) conversion (this allows to use bullet for animation)
- default the m_edgecode to 65535, the wireframe was invisible. when is the edgecode available again ?
- added an extra condition, nearsensor is not yet working for bullet, but it crashed.
2005-08-22 15:47:56 +00:00
4065cdb550 Temporal; make compiling happy. :) 2005-08-21 14:39:08 +00:00
Chris Want
e0189e3a96 spack() is no longer used in the blender core, so I moved it to
this gameengine source file that depends on it.
2005-08-18 16:48:10 +00:00
Chris Want
4a50f5b593 Support for 'Bullet' in the Makefiles. Enable with:
export NAN_USE_BULLET=true

in environment, or in user-def.mk
2005-08-18 06:07:02 +00:00
Chris Want
f7914a2248 The name of an included header had the capitalization wrong, causing
problems on unix.
2005-08-18 06:04:50 +00:00
c99c7fbcb3 some more fixes in the raycast/mouse over 2005-08-17 19:52:56 +00:00
72d60d7b63 added the "mouse over any", makes the sensor more useful 2005-08-17 14:29:58 +00:00
9537bfa121 now for the cigar... 2005-08-13 10:04:01 +00:00
4d7089d19b these files missed the cvs commt yesterday, this should fix compilation problems 2005-08-13 08:05:48 +00:00
841ddb4680 A couple of small fixes...
I removed config.h code from the files that had them.
effect.c had nested /* so cleaned that up...

added a newline to vector.c to shut gcc up ;)
buttons_editing.c had a possible unintalized var (height) so I gave
it a default value.

removed an unused var i in interface_draw.c
removed an unused var mti in outliner.c

in BL_SkinDeformer.cpp
commented out a call to bDeformGroup->data which no longer exists so it
compiles again.

Kent
2005-08-11 16:39:51 +00:00
29f06ad76e some more work on bullet raycast 2005-08-08 17:08:42 +00:00
66dc186fb6 fixed sphere shape, added non-uniform scaling (making it an ellipsoid)
removed bug-fixing comments
2005-08-05 22:10:27 +00:00
b6d9fbf0db fixed the mouse-over sensor,
added raycast support for bullet (no triangle-mesh support, soon)
added python methods for 'getHitObject', getRayDirection, getHitPosition and getHitNormal for mouse over sensor,
which makes it easy for a shootout.blend demo :)
2005-08-05 17:00:32 +00:00
210ab537ce improved deactivation, exposed more tweakable parameters to python,
fixed some copy/paste bug in inertia/inverse inertia.
colors in deactivation debug
2005-08-04 19:07:39 +00:00
2cc6d565cb moved some hardcoded constants into tweaking tresholds
exposed those tresholds to python (more 'expert' settings)
2005-08-03 18:22:30 +00:00
671235b69b Finalised support for compiling BULLET on linux.
Bullet is now off by default on all platforms until we get an OK
from Erwin. To enable it, change USE_PHYSICS to 'bullet' in your
config.opts.
2005-08-02 18:54:11 +00:00
558b8daf67 added python binding for debugdraw,
tweaked friction, some more preparations but no real functionality added yet
2005-08-02 14:59:49 +00:00
208da2a5d0 Added support for compiling BULLET with scons on windows
using bandoler's patch as a basis (thanks!).

A couple of notes:

-  This is for windows only, I did not have a chance to try linux yet.

-  SConscript for PHY_Bullet may need tweaking (plus support
 for other platforms), but at least it's in there :)

Any problems, shout :)
2005-08-01 21:19:41 +00:00
49499c49be updated vc7 projectfiles so they work with bullet 2005-07-31 14:40:51 +00:00
6eeaacde0a enable bullet for vc7 too by default (can be switched off easily) 2005-07-30 18:21:02 +00:00
dad6ef9045 added physics-debugging
didn't check every single file, so might have broken some gameengine stuff, will fix it this weekend!
2005-07-29 18:14:41 +00:00
7432e4485e >humm, .. this seems to define USE_BULLET for 1400 > _MSC_VER
>e.g.  my msvc6 and gcc in linux. right?
>BM

thanks bjornmose, is was a typo
(it only disabled bullet for Visual Studio 2006, which is not even in planning stage :)
Should be fixed now
2005-07-29 06:08:02 +00:00
8f15f9805a got some "_1400 <= _MSC_VER" wrong, should be "_1400 < _MSC_VER"
Lets hope gcc doesn't define this :)
2005-07-27 09:47:08 +00:00
411123b250 - added debug line drawing in gameengine (handy for debugging physics problems)
- added #ifdef for a visual studio 8 crashing problems
- added scaling and tolerances to triangle meshes
2005-07-27 09:30:53 +00:00
701b9c21fd more preparations for bullet physics, and some eol issues with SCA_Joystick* 2005-07-18 05:41:00 +00:00
7c9422111b another file behind the #USE_BULLET 2005-07-16 22:13:20 +00:00
2d73b31aff preparation for bullet physics 2005-07-16 21:47:54 +00:00
502c34ee49 added Bullet physics binding files 2005-07-16 10:15:31 +00:00
24c9dc7322 Commented out one more line to make debug version of engine compile, needed
because API for armatures changed.
2005-07-09 13:33:36 +00:00
d59894ac42 Old define in engine still... 2005-07-03 18:10:41 +00:00
28a1e8277b Result of 2 weeks of quiet coding work in Greece :)
Aim was to get a total refresh of the animation system. This
is needed because;
- we need to upgrade it with 21st century features
- current code is spaghetti/hack combo, and hides good design
- it should become lag-free with using dependency graphs

A full log, with complete code API/structure/design explanation
will follow, that's a load of work... so here below the list with
hot changes;

- The entire object update system (matrices, geometry) is now
  centralized. Calls to where_is_object and makeDispList are
  forbidden, instead we tag objects 'changed' and let the
  depgraph code sort it out
- Removed all old "Ika" code
- Depgraph is aware of all relationships, including meta balls,
  constraints, bevelcurve, and so on.
- Made depgraph aware of relation types and layers, to do smart
  flushing of 'changed' events. Nothing gets calculated too often!
- Transform uses depgraph to detect changes
- On frame-advance, depgraph flushes animated changes

Armatures;

Almost all armature related code has been fully built from scratch.
It now reveils the original design much better, with a very clean
implementation, lag free without even calculating each Bone more than
once. Result is quite a speedup yes!

Important to note is;

1) Armature is data containing the 'rest position'
2) Pose is the changes of rest position, and always on object level.
   That way more Objects can use same Pose. Also constraints are in Pose
3) Actions only contain the Ipos to change values in Poses.

- Bones draw unrotated now
- Drawing bones speedup enormously (10-20 times)
- Bone selecting in EditMode, selection state is saved for PoseMode,
  and vice-versa
- Undo in editmode
- Bone renaming does vertexgroups, constraints, posechannels, actions,
  for all users of Armature in entire file
- Added Bone renaming in NKey panel
- Nkey PoseMode shows eulers now
- EditMode and PoseMode now have 'active' bone too (last clicked)
- Parenting in EditMode' CTRL+P, ALT+P, with nice options!
- Pose is added in Outliner now, with showing that constraints are in
  the Pose, not Armature
- Disconnected IK solving from constraints. It's a separate phase now,
  on top of the full Pose calculations
- Pose itself has a dependency graph too, so evaluation order is lag free.

TODO NOW;

- Rotating in Posemode has incorrect inverse transform (Martin will fix)
- Python Bone/Armature/Pose API disabled... needs full recode too
  (wait for my doc!)
- Game engine will need upgrade too
- Depgraph code needs revision, cleanup, can be much faster!
  (But, compliments for Jean-Luc, it works like a charm!)
- IK changed, it now doesnt use previous position to advance to next
  position anymore. That system looks nice (no flips) but is not well
  suited for NLA and background render.

TODO LATER;

We now can do loadsa new nifty features as well; like:

- Kill PoseMode (can be option for armatures itself)
- Make B-Bones (Bezier, Bspline, like for spines)
- Move all silly button level edit to 3d window (like CTRL+I = add
  IK)
- Much better & informative drawing
- Fix action/nla editors
- Put all ipos in Actions (object, mesh key, lamp color)
- Add hooks
- Null bones
- Much more advanced constraints...


Bugfixes;

- OGL render (view3d header) had wrong first frame on anim render
- Ipo 'recording' mode had wrong playback speed
- Vertex-key mode now sticks to show 'active key', until frame change

-Ton-
2005-07-03 17:35:38 +00:00
205b6501a0 (Accidentally sent previous commit without message... is same stuff)
gcc4 error fixes for compiling in OSX Tiger

Also; make using python framework default in makefiles
2005-06-08 18:55:49 +00:00
f38e0686d9 new round of warning fixes. we are now down to 24 with Xcode on blender
alone with the following flags :
-Wall -Wno-char-subscripts -Wno-missing-braces.

the only one still worrying me is in rand.c line 57 :

rand.c:57: integer constant is too large for "long" type

but i have no clue about how correct cross-compiler and 32/64 bits friendly

see also my mail to commiter list for signed/unsigned issues
2005-06-04 16:22:50 +00:00