[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16328] branches/apricot: svn merge -r 16297:HEAD https://svn.blender.org/svnroot/bf-blender/trunk/ blender

Campbell Barton ideasman42 at gmail.com
Mon Sep 1 09:03:09 CEST 2008


Revision: 16328
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16328
Author:   campbellbarton
Date:     2008-09-01 09:03:09 +0200 (Mon, 01 Sep 2008)

Log Message:
-----------
svn merge -r 16297:HEAD https://svn.blender.org/svnroot/bf-blender/trunk/blender

Modified Paths:
--------------
    branches/apricot/CMakeLists.txt
    branches/apricot/release/scripts/bpymodules/colladaImEx/cstartup.py
    branches/apricot/source/blender/blenkernel/intern/ipo.c
    branches/apricot/source/blender/include/BIF_editarmature.h
    branches/apricot/source/blender/makesdna/DNA_sensor_types.h
    branches/apricot/source/blender/src/buttons_logic.c
    branches/apricot/source/blender/src/drawgpencil.c
    branches/apricot/source/blender/src/editarmature.c
    branches/apricot/source/blender/src/editnode.c
    branches/apricot/source/blender/src/editobject.c
    branches/apricot/source/blender/src/gpencil.c
    branches/apricot/source/blender/src/header_view3d.c
    branches/apricot/source/blender/src/transform_conversions.c
    branches/apricot/source/gameengine/Converter/BL_ArmatureObject.cpp
    branches/apricot/source/gameengine/Converter/BL_ArmatureObject.h
    branches/apricot/source/gameengine/Converter/KX_ConvertSensors.cpp
    branches/apricot/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
    branches/apricot/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
    branches/apricot/source/gameengine/GameLogic/Joystick/SCA_JoystickDefines.h
    branches/apricot/source/gameengine/GameLogic/SCA_JoystickManager.cpp
    branches/apricot/source/gameengine/GameLogic/SCA_JoystickManager.h
    branches/apricot/source/gameengine/GameLogic/SCA_JoystickSensor.cpp
    branches/apricot/source/gameengine/GameLogic/SCA_JoystickSensor.h
    branches/apricot/source/gameengine/PyDoc/KX_GameObject.py
    branches/apricot/source/gameengine/PyDoc/KX_ObjectActuator.py
    branches/apricot/source/gameengine/PyDoc/KX_PolyProxy.py
    branches/apricot/source/gameengine/PyDoc/KX_TrackToActuator.py
    branches/apricot/source/gameengine/PyDoc/Rasterizer.py
    branches/apricot/source/gameengine/PyDoc/SCA_DelaySensor.py

Modified: branches/apricot/CMakeLists.txt
===================================================================
--- branches/apricot/CMakeLists.txt	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/CMakeLists.txt	2008-09-01 07:03:09 UTC (rev 16328)
@@ -255,7 +255,11 @@
   
   SET(GETTEXT ${LIBDIR}/gettext)
   SET(GETTEXT_INC ${GETTEXT}/include)
-  SET(GETTEXT_LIB gnu_gettext)
+  IF(CMAKE_CL_64)
+  	SET(GETTEXT_LIB gettextlib)
+  ELSE(CMAKE_CL_64)
+  	SET(GETTEXT_LIB gnu_gettext)
+  ENDIF(CMAKE_CL_64)
   SET(GETTEXT_LIBPATH ${GETTEXT}/lib)
 
   SET(FREETYPE ${LIBDIR}/freetype)
@@ -286,7 +290,12 @@
   SET(FFMPEG_LIB avcodec-51 avformat-51 avutil-49)
   SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
 
+  IF(CMAKE_CL_64)
+  SET(LLIBS kernel32 user32 vfw32 winmm ws2_32 )
+  ELSE(CMAKE_CL_64)
   SET(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm)
+  ENDIF(CMAKE_CL_64)
+  
   IF(WITH_OPENAL)
     SET(LLIBS ${LLIBS} dxguid)
   ENDIF(WITH_OPENAL)
@@ -324,7 +333,7 @@
   SET(WINTAB_INC ${LIBDIR}/wintab/include) 
 
   IF(CMAKE_CL_64)
-  SET(PLATFORM_LINKFLAGS "/NODEFAULTLIB:libc.lib;MSVCRT.lib ")
+  SET(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib;MSVCRT.lib ")
   ELSE(CMAKE_CL_64)
   SET(PLATFORM_LINKFLAGS "/NODEFAULTLIB:libc.lib ")
   ENDIF(CMAKE_CL_64)

Modified: branches/apricot/release/scripts/bpymodules/colladaImEx/cstartup.py
===================================================================
--- branches/apricot/release/scripts/bpymodules/colladaImEx/cstartup.py	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/release/scripts/bpymodules/colladaImEx/cstartup.py	2008-09-01 07:03:09 UTC (rev 16328)
@@ -53,6 +53,7 @@
 # Check if full version of python is installed.
 try:
 	import os
+	import xml
 except ImportError:
 	print"Error! Could not find full version of Python..."
 	_ERROR = True

Modified: branches/apricot/source/blender/blenkernel/intern/ipo.c
===================================================================
--- branches/apricot/source/blender/blenkernel/intern/ipo.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/blenkernel/intern/ipo.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -1695,6 +1695,8 @@
 				icu->ymax= 5.0; break;
 			case MA_ADD:
 				icu->ymax= 1.0; break;
+			case MA_EMIT:
+				icu->ymax= 2.0; break;
 			default:
 				icu->ymax= 1.0; break;
 			}

Modified: branches/apricot/source/blender/include/BIF_editarmature.h
===================================================================
--- branches/apricot/source/blender/include/BIF_editarmature.h	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/include/BIF_editarmature.h	2008-09-01 07:03:09 UTC (rev 16328)
@@ -100,13 +100,14 @@
 
 void	make_editArmature(void);
 void	make_trans_bones (char mode);
+void	remake_editArmature(void);
+void	editbones_to_armature(struct ListBase *list, struct Object *ob);
 
 int		do_pose_selectbuffer(struct Base *base, unsigned int *buffer, short hits);
 
 void generateSkeleton(void);
 
 void	mouse_armature(void);
-void	remake_editArmature(void);
 void	selectconnected_armature(void);
 void	selectconnected_posearmature(void);
 void	armature_select_hierarchy(short direction, short add_to_sel);

Modified: branches/apricot/source/blender/makesdna/DNA_sensor_types.h
===================================================================
--- branches/apricot/source/blender/makesdna/DNA_sensor_types.h	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/makesdna/DNA_sensor_types.h	2008-09-01 07:03:09 UTC (rev 16328)
@@ -164,7 +164,7 @@
 typedef struct bJoystickSensor {
 	char name[32];
 	short type;
-	short pad;
+	short joyindex;
 	int axis;
 	int axisf;
 	int button;
@@ -266,6 +266,7 @@
 #define SENS_JOY_HAT_DIR		0
 
 #define SENS_DELAY_REPEAT		1
-
+// should match JOYINDEX_MAX in SCA_JoystickDefines.h */
+#define SENS_JOY_MAXINDEX		8
 #endif
 

Modified: branches/apricot/source/blender/src/buttons_logic.c
===================================================================
--- branches/apricot/source/blender/src/buttons_logic.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/buttons_logic.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -1444,10 +1444,13 @@
 			draw_default_sensor_header(sens, block, xco, yco, width);
 
 			joy= sens->data;
-			
 
+			uiDefButS(block, NUM, 1, "Index:", xco+10, yco-44, 0.6 * (width-120), 19,
+			&joy->joyindex, 0, SENS_JOY_MAXINDEX-1, 100, 0,
+			"Spesify which joystick to use");			
+
 			str= "Type %t|Button %x0|Axis %x1|Hat%x2"; 
-			uiDefButS(block, MENU, B_REDR, str, xco+10, yco-44, 0.6 * (width-20), 19,
+			uiDefButS(block, MENU, B_REDR, str, xco+87, yco-44, 0.6 * (width-150), 19,
 				&joy->type, 0, 31, 0, 0,
 				"The type of event this joystick sensor is triggered on.");
 			

Modified: branches/apricot/source/blender/src/drawgpencil.c
===================================================================
--- branches/apricot/source/blender/src/drawgpencil.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/drawgpencil.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -145,6 +145,13 @@
 	allqueue(REDRAWACTION, 0);
 }
 
+/* convert the active layer to geometry */
+void gp_ui_convertlayer_cb (void *gpd, void *gpl)
+{
+	gpencil_layer_setactive(gpd, gpl);
+	gpencil_convert_menu();
+}
+
 /* ------- Drawing Code ------- */
 
 /* draw the controls for a given layer */
@@ -166,7 +173,7 @@
 		/* rounded header */
 		if (active) uiBlockSetCol(block, TH_BUT_ACTION);
 			rb_col= (active)?-20:20;
-			uiDefBut(block, ROUNDBOX, B_DIFF, "", *xco-8, *yco-2, width, 24, NULL, 5.0, 0.0, 15 , rb_col-20, ""); 
+			uiDefBut(block, ROUNDBOX, B_REDR, "", *xco-8, *yco-2, width, 24, NULL, 5.0, 0.0, 15 , rb_col-20, ""); 
 		if (active) uiBlockSetCol(block, TH_AUTO);
 		
 		/* lock toggle */
@@ -249,8 +256,14 @@
 			
 			/* options */
 			uiBlockBeginAlign(block);
-				but= uiDefBut(block, BUT, B_REDR, "Del Active Frame", *xco+160, *yco-75, 140, 20, NULL, 0, 0, 0, 0, "Erases the the active frame for this layer (Hotkey = Alt-XKEY/DEL)");
-				uiButSetFunc(but, gp_ui_delframe_cb, gpd, gpl);
+				if (curarea->spacetype == SPACE_VIEW3D) {
+					but= uiDefBut(block, BUT, B_REDR, "Convert to...", *xco+160, *yco-75, 140, 20, NULL, 0, 0, 0, 0, "Converts this layer's strokes to geometry (Hotkey = Alt-Shift-C)");
+					uiButSetFunc(but, gp_ui_convertlayer_cb, gpd, gpl);
+				}
+				else {
+					but= uiDefBut(block, BUT, B_REDR, "Del Active Frame", *xco+160, *yco-75, 140, 20, NULL, 0, 0, 0, 0, "Erases the the active frame for this layer (Hotkey = Alt-XKEY/DEL)");
+					uiButSetFunc(but, gp_ui_delframe_cb, gpd, gpl);
+				}
 				
 				but= uiDefBut(block, BUT, B_REDR, "Del Last Stroke", *xco+160, *yco-95, 140, 20, NULL, 0, 0, 0, 0, "Erases the last stroke from the active frame (Hotkey = Alt-XKEY/DEL)");
 				uiButSetFunc(but, gp_ui_delstroke_cb, gpd, gpl);

Modified: branches/apricot/source/blender/src/editarmature.c
===================================================================
--- branches/apricot/source/blender/src/editarmature.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/editarmature.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -440,9 +440,23 @@
 }
 
 /* helper for apply_armature_pose2bones - fixes parenting of objects that are bone-parented to armature */
-static void applyarmature_fix_boneparents (Object *ob)
+static void applyarmature_fix_boneparents (Object *armob)
 {
+	Object *ob;
 	
+	/* go through all objects in database */
+	for (ob= G.main->object.first; ob; ob= ob->id.next) {
+		/* if parent is bone in this armature, apply corrections */
+		if ((ob->parent == armob) && (ob->partype == PARBONE)) {
+			/* apply current transform from parent (not yet destroyed), 
+			 * then calculate new parent inverse matrix
+			 */
+			apply_obmat(ob);
+			
+			what_does_parent(ob);
+			Mat4Invert(ob->parentinv, workob.obmat);
+		}
+	}
 }
 
 /* set the current pose as the restpose */
@@ -463,6 +477,9 @@
 	}
 	arm= get_armature(ob); 
 	
+	/* helpful warnings... */
+	// TODO: add warnings to be careful about actions, applying deforms first, etc.
+	
 	/* Get editbones of active armature to alter */
 	if (G.edbo.first) BLI_freelistN(&G.edbo);
 	make_boneList(&G.edbo, &arm->bonebase, NULL);
@@ -485,9 +502,9 @@
 			float premat[3][3], imat[3][3],pmat[3][3], tmat[3][3];
 			float delta[3], eul[3];
 			
-			/* obtain new auto-yrotation */
+			/* obtain new auto y-rotation */
 			VecSubf(delta, curbone->tail, curbone->head);
-			vec_roll_to_mat3(delta, curbone->roll, premat);
+			vec_roll_to_mat3(delta, 0.0, premat);
 			Mat3Inv(imat, premat);
 			
 			/* get pchan 'visual' matrix */
@@ -503,9 +520,11 @@
 		
 		/* clear transform values for pchan */
 		pchan->loc[0]= pchan->loc[1]= pchan->loc[2]= 0;
-		pchan->size[0]= pchan->size[1]= pchan->size[2]= 1;
 		pchan->quat[1]= pchan->quat[2]= pchan->quat[3]= 0;
-		pchan->quat[0]= 1;
+		pchan->quat[0]= pchan->size[0]= pchan->size[1]= pchan->size[2]= 1;
+		
+		/* set anim lock */
+		curbone->flag |= BONE_UNKEYED;
 	}
 	
 	/* convert editbones back to bones */

Modified: branches/apricot/source/blender/src/editnode.c
===================================================================
--- branches/apricot/source/blender/src/editnode.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/editnode.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -2001,7 +2001,10 @@
 void node_insert_key(SpaceNode *snode)
 {
 	bNode *node= editnode_get_active(snode->edittree);
-
+	
+	if(node == NULL)
+		return;
+	
 	if(node->type==CMP_NODE_TIME) {
 		if(node->custom1<node->custom2) {
 

Modified: branches/apricot/source/blender/src/editobject.c
===================================================================
--- branches/apricot/source/blender/src/editobject.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/editobject.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -2828,6 +2828,7 @@
 	if(G.scene->id.lib) return;
 
 	obact= OBACT;
+	if (obact == NULL) return;
 	if(!obact->flag & SELECT) return;
 	if(G.obedit) return;
 	

Modified: branches/apricot/source/blender/src/gpencil.c
===================================================================
--- branches/apricot/source/blender/src/gpencil.c	2008-09-01 06:25:13 UTC (rev 16327)
+++ branches/apricot/source/blender/src/gpencil.c	2008-09-01 07:03:09 UTC (rev 16328)
@@ -46,6 +46,7 @@
 #include "BLI_blenlib.h"
 
 #include "DNA_listBase.h"

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list