Commit Graph

47594 Commits

Author SHA1 Message Date
1db88bd065 - modify CCG to not crash when passed invalid faces, just ignores
that face... this situation should still not happen with well
   written modifiers but at least it won't crash now
 - bug fix in mirror modifier, calculation during editmode did not
   check to make sure built mface's had valid indices... grr the
   ==0 tagging system is really a pain.
 - convert a few uiDefBut calls to use explicit type
2005-08-03 19:27:19 +00:00
45386aeb3c Made the screen redraw on loopcut cancel 2005-08-03 19:23:56 +00:00
b03a20d272 - got rid of silly #define ..._BIT, #define ... (1<<..._BIT) stuff
- switched almost all uiDefBut(..., TOG|BIT|..) to use UiDefButBit and the
   name of the actual bit define instead of just a magic constant, this makes
   searching the code much nicer. most of the credit here goes to LetterRip
   who did almost all of the conversions, I mostly just checked them over.
2005-08-03 18:48:22 +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
8a58197cf3 - change modifier applyModifier[EM] function to not free derived argument
- added modifier_supportsMapping function
 - update CCG to set actual vertex normal (and not just
   interior face vertex normal, bla bla bla no one knows
   what this means nevermind).
 - renamed modifierType_get_info to modifierType_getInfo for
   consistency and to increase my commit line count.
 - update EditMeshDerivedMesh to calculate (and use new) normals
   when given deformed vertices
 - added
 - update editmode modifier calculation to also calculate a cage,
   not working 100% atm, in particular if a deformer follows a modifier
   that returns a DerivedMesh the cage is not accurate.
 - added ccg derivedmesh drawMapped{Vert,Face]NormalsEM functions
 - currently UI for selecting the cage mesh is rather irritating,
   will be updated
2005-08-03 04:04:05 +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
280e976044 A little feature for Broken...
When choosing Subdivide from the w menu or Confirming the number of cuts in a subdivide multi, hold down the CTRL key and
instead of getting the original selection recreated on the new edges, get the "inner edges" as you would get if doing a loopcut. UI for this may change before release (perhaps a toggle button in edit buttons)
2005-08-02 18:20:36 +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
bc865d6d20 Make Loopcut in Faceselect mode able to enter Edgeslide and not get 'loop crosses itself' message. Still need to work on selection out of this condition 2005-08-01 19:12:29 +00:00
7d63a1f277 This patches adds support for Font, Curve, Surface and Meta Objects in
Blender.NMesh.GetRawFromObject through a displist conversion method as used by
Blender when converting them in the UI.

Notes:	Objects with only edges (3D curves/polyline without bevel) do not have
		normals, so they are all initialised to (1, 0, 0) on conversion

		Converting from meta objects only work on the "mother ball". That is,
		the object with the lower base name.
		Example: "meta" for all the "meta.*" objects.

		Meshes extracted from curve based objects (Font/2D filled curves)
		contain	both the filled surfaces and the outlines of the shapes.

		Materials are taken from the object's material list. Material handling
		in NMesh is incorrect anyway, as it always uses the materials from the
		mesh, ignoring the setting in ob->colbits.

This patch also makes the include order a little clearer.
A couple of warnings have been fixed by using better types:
	-	Using char instead of short when parsing color values.
		The "constructor" expects and uses char anyway.

	-	Explicit casting to short when storing normals back in mvert.

	-	Changing constant doubles to floats with "f" to make compiler happy.

The only warning left regards NMFace.flag which is stored as a short but is
used to fill in TFace.flag which is a char. I didn't want to change the
object's structure so I left it like that. I didn't add an explicit cast when
putting it back in TFace so that the warning can remind us that there might be
something to change there.
2005-08-01 06:01:24 +00:00
55720d20de Work for fix of #2256 "something weird with some buttons":
NUMSLI buttons with retval of 0 can be used to trigger other buttons. Not
sure if this is best course of action but will investigate more. Until then
buttons_shading.c is clear of NUMSLI buttons with retval of 0 and now use
B_DIFF as retval argument (which happens to be 1).
2005-08-01 03:36:46 +00:00
f6ff9ec608 Scripts updated:
- Jean-Michel Soler: 1) paths import -- ai module; 2) tex2uvbaker;
- Campbell Barton: obj exporter.

BPython:
- Campbell also provided a patch (+docs) to add shader data access to Blender.Material.

Again, thanks guys and sorry for the long delay.
2005-08-01 03:06:24 +00:00
3f9d13c119 Moved some theme-related defines to BIF_space.h from space.c 2005-08-01 01:46:10 +00:00
3624c1278d Just a little cleanup, removed an extra redraw....move along :) 2005-07-31 20:56:20 +00:00
01436513dc Some more loop fixing, this time in loopcut 2005-07-31 20:40:27 +00:00
1d2dd4ce75 Adding a little idling to Edgeslide loop, 2005-07-31 20:18:38 +00:00
3509a7239a yo bassam, here it is
Action editor UI tweaking:
PageUpKey moves action up one row ( shift == move to top )
PageDownKey moves action down one row ( shift == move to bottom )
multiple selections allowed
2005-07-31 20:01:15 +00:00
49499c49be updated vc7 projectfiles so they work with bullet 2005-07-31 14:40:51 +00:00
3b7d40cfdb For edgeslide control rail there are 2 options:
Scroll Up/Down and Left/Right arrow key will cycle through the control edges in either direction.

I got rid of SHIFT for the time being.
2005-07-30 19:50:51 +00:00
6eeaacde0a enable bullet for vc7 too by default (can be switched off easily) 2005-07-30 18:21:02 +00:00
9da7ec89ed Edgeslide Mouse Movement Fix
Edgeslide movement is now controlled by a line drawn between the endpoints of the 2 control rail edges. Edgeslide will
try to pick a control rail pair (will color green ATM) if you don't like the edge it picked, use the mouse wheel up to change it.
have to code mouse wheel down to go other direction still. Just ran out of time ATM and wanted to get this in for movement testing.

movement is in 1% per edge (so 1% out of -1 to 1)
CTRL makes it 10%
SHIFT makes it .1%

Se what you think and give me some feedback on functionality :) Code needs cleanup and comments, so don't crit that too much yet.
2005-07-30 16:37:04 +00:00
a2eefbd7c7 Fixed some warning shenanigans 2005-07-30 01:44:15 +00:00
Alexander Ewering
7de4b17263 Fixing (hopefully) a stupid issue with rendering text objects:
cu->curinfo.mat_nr appearently didn't get initialized to 0 when creating
a new curve / text object, thus assigning random material indices to
characters, which crashed when rendering.

I'm still not sure if this was the actual issue, though I'd hope so :)

For old files that crash on rendering, just enter editmode on EACH text
object, select all text, and assign a material to it.

I hope this fixes.
2005-07-30 01:14:59 +00:00
d44e6153d1 Flush Edge selection down to verts in subdivide if you are in Vertex select mode 2005-07-29 20:07:01 +00:00
60dc7730f4 Commented out some debug printfs 2005-07-29 18:54:48 +00:00
0d90195d17 Another UV tweak for subdivide, It seems to work better now, still not perfect 2005-07-29 18:45:40 +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
7d797797c8 A Small change on Edgeslide while I try to come up with a better mouse interaction.
Move mouse  - 5%
SHIFT modifier - 1%
CTRL modifier - 10%
2005-07-29 14:20:48 +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
0f3303b7c5 Fix for zlib with MSVC/SCONS. Should compile now. This does not fix the bullet issues yet. But with this Blender should compile without the gameengine. 2005-07-28 18:11:10 +00:00
d501f56e96 Bugfix #2875
Removed old code that was used when the global undo still saved files. It
was restoring pointers in the UI based on names, which gave confusing
results when loading the quit.blend file (actually undobuffer).
Instead it should treat the quit.blend same as "Load without UI" option.
2005-07-28 11:05:21 +00:00
4cc96528b8 Nice time saver for Armatures: Introduced Bone type "Hinge", which doesn't
inherit pose rotation/scale from its parent pose-channel.
Button is available in Editing Buttons for PoseMode as well as EditMode.

Aim is to reduce overhead of Constraint usage (copy location).

(in object.c I removed old code for IK)
2005-07-28 10:01:10 +00:00
28bd71602d Killed some warnings. No please.. hold the applause. 2005-07-28 03:20:21 +00:00
539a9ad08f Part of a fix to the makefiles for compiling the new ZLib stuff. This
seemed to do the trick for me, however a game engine error has prevented me
from compiling to test. Anyone who has time to test compiling it would be
appreciated.
2005-07-28 00:13:18 +00:00
8828aa060a - move zlib.h around to make windows happy
still having linking issues with zlib, grumble grumble
2005-07-27 21:31:44 +00:00
4b1588e277 - update storage.c to use standard time codes (should fix issue
with MSVS 8)
 - broke mesh_create_shadedColors out of shadeDispList, used to
   build vertex colors for mesh in vpaint as well (also fixed
   bug where they were not initialized correctly for subsurfs)
 - added modifier_copyData and modifier_findByType functions
 - change editmode modifiers to only calculate if Realtime and
   Editmode bits are both set, makes more sense for copying
   modifiers
 - update object_copy to correctly copy modifiers
 - removed duplicate redefinition of ME_ attributes in python,
   this is a horrible idea, why was it done in the first place?
 - update armature auto vertex group code to check for subsurf
   in modifier stack
 - fixed flip_subdivision to work with move to modifier stack
 - added copymenu_modifiers, can copy all modifiers or just
   data from first modifier of a certain type (not sure how
   to deal with multiple modifiers of same type... not
   a big issue though I think)
2005-07-27 20:16:41 +00:00
410512e265 Patch provided by Shaul Kedem: Compressed files are back!
He even made a nice doc in wiki:
http://wiki.blender.org/bin/view.pl/Blenderdev/Blendgz

Usage: set the option "Compress File" in the main "File" pulldown menu.
This setting is a user-def, meaning it is not changed on reading files.
If you want it default, save it with CTRL+U.

The longest debate went over the file naming convention. Shaul started
with .blend.gz files, which gave issues in Blender because of the code
hanging out everywhere that detects blender files, and that appends the
.blend extension if needed.

Daniel Dunbar proposed to just save it as .blend, and not bother users
with such details. This is indeed the most elegant solution, with as
only drawback that old Blender executables cannot read it.
This drawback isn't very relevant at the moment, since we're heading
towards a release that isn't upward compatible anyway... the recode
going on on Meshes, Modfiers, Armatures, Poses, Actions, NLA already
have upward compatibility issues.
We might check - during the next month(s) - on a builtin system to
warn users in the future when we change things that make a file risky
to read in an older release.
2005-07-27 19:46:06 +00:00
cd6cbda7db Bug fix #2870
Wire material doesn't work with raytrace, but the wire faces were still
trace-able, giving weird results.
Now the wire faces are excluded from the octree.
2005-07-27 18:53:59 +00:00
2da63a1ad7 Added Name flip for
_L
_l
_R
_r

Also added if suffix == 001, do not re-add suffix. So allows the following procedure

 bone named Bone_R is copied, becomes Bone_R.001
Bone_R.001 is Flipped, becomes Bone_L

Currently only works for 001, could be extended later
2005-07-27 18:48:08 +00:00
59672145a9 Cleanup & goodies for rigging geeks! :)
- PoseMode: Wkey menu, "Flip Left/Right Names". On selected bones, it flips
  the L/R tags in names, and calls the proper code to rename everything
  that's related (constraint targets, bone-childs, etc).
- PoseMode: Shift+S snapmenu: snap cursor to selected now works
- Outliner: select bones now correctly sets 'active' flag for bones,
  updating the UI as well.
  Also made sure you cannot select hidden bones in outliner.
- 3DWindow: in PoseMode/EditMode draws name of active Bone too (with user
  option "Draw active object name" set.
- Added the new Armature/PoseMode options in View3D pulldowns.

Cleanup:

- moved Pose code from editaction.c to poseobject.c
- removed BSE_editaction.h and BSE_editaction_types.h, moved contents of
  it to BIF_editaction.h. One include per C file should be fine. :)
  I know the src/ structure would require more elaborated includes, but
  we don't have that now...
2005-07-27 10:37:20 +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
b8142515ce visual studio 8 crashes on this R argument, todo: find replacement 2005-07-27 09:09:36 +00:00
21e59fd927 Correct init_userdef_file to not overwrite CollectRate and Image TimeOut every time it loads. 2005-07-27 07:50:28 +00:00
2e73199ea7 Image memory garbage collection:
clock seemed to work weird on some machine, switching to PIL_check_seconds_timer.
It's more in line with the rest of Blender anyway.
2005-07-27 07:43:48 +00:00
fe30da1775 Image memory garbage collection wasn't working correctly due to a poorly constructed if clause (it was collecting only images marked as NO_COLLECT, which only happens with Python loaded images).
Another problem now is that the userpref values aren't correctly saved in .b.blend, they always reset to the default. Will look into that.
2005-07-27 06:21:50 +00:00
c25b7117d0 - decimator modifier was giving wrong # of verts when a previous
modifier was active
2005-07-26 23:38:26 +00:00
f253d4693a Fix in outliner. Renaming PoseChannels didn't call the routine that checked
all bones, other poses, constraints, actions, etc.

Also: for clarity, brought back the display of both Armature Bones as
Pose Channels. Renaming either works, but you can notice the constraints
are on Pose, not Armature.

Little bug still; the order of drawing (pose, armature) sometimes flips,
don't know why yet. Tomorrow!
2005-07-26 20:42:11 +00:00
b0065e3451 Added PoseMode CTRL+C copy menu. Does loc/rot/size and constraints. 2005-07-26 19:51:15 +00:00