- XCode project
- Scons :
scons stopped working for Os X in the last month (dont know when) :
* the '.' and '..' keywords in CCPPATH
are not recognized anymore for sconscripts compiling files at
a sub level
* when doing a scons clean, the 3 subdirs in build dir are removed
and scons then fail to recreate them (exten, intern, source)
this commit solve the first problem as a temp workaround
for the latter simply recreate the dirs manually
I will investigate that further when on vacations, which i should already
be.
;(
all 3 build systems are now working on Os X
- moved back to editing buttons, where life is now cramped... switched
to constraint style foldout panes, still a WIP. In particular not
sure what buttons should be in header (and if current toggles stay
in header if they should also be in an expanded pane). Also need
new icons for move up/move down (and drag and drop would of course
be nice). Finally current plane is to make it so modifiers will
expand out in modifier pane for horizontal orientations instead of
just going down down down to goblin town.
- added error field to modifiers that is displayed in UI, need to have
some way for modifiers to return errors back to interface (esp. important
for python)
- tweaked cage determination and handling, currently the editmode cage
is determined by last modifier with OnCage set that is preceeded completely
by modifiers that support mapping or are disabled in editmode. it is
kinda confusing, but the interface only lets you toggle OnCage for modifiers
that support it - it just might not be clear all the time why you can't
toggle a certain modifier OnCage.
- update displistmesh_copy to only copy edges if non-NULL
There is a display bug that already existed but is more obvious with
new modifiers where parts of the pane get drawn in a different area
after toggling editmode. It has to do with drawing parts of the interface
using GL instead of 100% buttons. I try to keep my grubby little toes
out of the interface code so this can wait for Ton to return.
- remove python access to Optimal and Subsurf flags (they don't
work this way anymore, I suppose need to replace with python
access to modifiers but not going to do right now).
- removed interface access to OPTIMAL mode, needs to be rethough...
this means at the moment subsurfs outside editmode always draw
and render all edges
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
- 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.
- 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
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)
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 :)
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.
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).
- 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.
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
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.
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.
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.
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)
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.
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)
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.
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.
_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
- 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...
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!