[tuhopuu-devel] Problems with compiling, hemesh--patch attached

Joseph Eagar joeeagar at prodigy.net
Fri Jul 15 07:41:40 CEST 2005


Hi.  I just downloaded a new cvs tuhopuu checkout today--and it wouldn't
compile.  So, I went to work, and heres a patch of what I've done.

I had to comment a #include from BKE_bad_level_calls.h, add #include
"render_types" to a bunch of files, add some missing code to
material_panal_shading(), and comment out the special windows folder
code in usiblender.c as mingw's libshell32.a seems to lack the functions
(gerrr. . .).  Not even the put-the-lib-multiple-times trick worked.

Also, I got hemesh to work with the DAG somewhat, though not
completely.  But from a user point of view it works fine.  Towards this
end I split hemesh's makeDispList code into it's own, static function
makeDispList_HEMESH (since that seems to be the direction thing are going).

joeedh
P.S.: more hemesh fixes will follow.  I'm in the process of moving at
the moment, though, so time is limited.




-------------- next part --------------
? source/blender/makesdna/DNA.c
? source/blender/makesdna/intern/DNA.c
Index: source/blender/blenkernel/BKE_bad_level_calls.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/BKE_bad_level_calls.h,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 BKE_bad_level_calls.h
--- source/blender/blenkernel/BKE_bad_level_calls.h	15 May 2005 14:23:42 -0000	1.1.1.4
+++ source/blender/blenkernel/BKE_bad_level_calls.h	15 Jul 2005 04:59:29 -0000
@@ -37,6 +37,8 @@
 #ifndef BKE_BAD_LEVEL_CALLS_H
 #define BKE_BAD_LEVEL_CALLS_H
 
+#include "DNA_listBase.h"
+
 /* readfile.c */
 struct PluginSeq;
 void open_plugin_seq(struct PluginSeq *pis, char *seqname);
@@ -74,7 +76,7 @@
 
 /* displist.c */
 #include "DNA_world_types.h"	/* for render_types */
-#include "render_types.h"
+//#include "render_types.h"
 extern struct RE_Render R;
 float Phong_Spec(float *, float *, float *, int);
 void waitcursor(int);
Index: source/blender/blenkernel/intern/blender.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/blender.c,v
retrieving revision 1.7
diff -u -r1.7 blender.c
--- source/blender/blenkernel/intern/blender.c	5 Jul 2005 01:39:02 -0000	1.7
+++ source/blender/blenkernel/intern/blender.c	15 Jul 2005 04:59:30 -0000
@@ -88,6 +88,7 @@
 #include "mydevice.h"
 #include "nla.h"
 #include "blendef.h"
+#include "render_types.h"
 
 Global G;
 UserDef U;
Index: source/blender/blenkernel/intern/displist.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/displist.c,v
retrieving revision 1.25
diff -u -r1.25 displist.c
--- source/blender/blenkernel/intern/displist.c	5 Jul 2005 03:46:31 -0000	1.25
+++ source/blender/blenkernel/intern/displist.c	15 Jul 2005 04:59:32 -0000
@@ -1675,6 +1675,33 @@
 	return 1.0;
 }
 
+static void makeDispList_HEMesh(Object *ob)
+{
+	if(ob==NULL) return;
+	if(ob->flag & OB_FROMDUPLI) return;
+
+	freedisplist(&(ob->disp));	
+	HE_Mesh *hme = ob->data, *hdef;
+	int subsurf = (((hme->f & HEM_SUBSURF) && hme->subdivLevels))?1:0;
+	if (hme->dmesh) free_DMesh(hme->dmesh);	
+	
+	if ((G.obedit && (G.obedit->data==hme))) {
+		if (subsurf) {
+			//hme->dmesh = MEM_callocN(sizeof(DMesh), "DMesh with deriv");
+			//hme->dmesh->deriv = HE_subsurf_ccg_make_derived_from_editmesh(G.he_editMesh, hme->subdivLevels);
+			hme->dmesh = subSurf_make_DMesh_fromEditHEMesh(hme, (int)hme->subdivLevels);
+		} else hme->dmesh = make_DMesh_from_HEMesh(hme);
+	} else {
+		if (subsurf) {
+			hme->dmesh = subSurf_make_DMesh_fromHEMesh(hme, (int)hme->subdivLevels);
+		} else hme->dmesh = make_DMesh_from_HEMesh(hme);
+		object_deform(ob);
+	}
+	hme->dmesh->mat = hme->mat;
+	dmesh_calcFaceNormals(hme->dmesh);
+	dmesh_calc_vertnormals(hme->dmesh);
+}
+
 void makeDispList(Object *ob)
 {
 	EditMesh *em = G.editMesh;
@@ -1695,26 +1722,7 @@
 
 	freedisplist(&(ob->disp));
 	if (ob->type==OB_HEMESH) {
-		HE_Mesh *hme = ob->data, *hdef;
-		int subsurf = (((hme->f & HEM_SUBSURF) && hme->subdivLevels))?1:0;
-		if (hme->dmesh) free_DMesh(hme->dmesh);	
-		
-		if ((G.obedit && (G.obedit->data==hme))) {
-		    if (subsurf) {
-		        //hme->dmesh = MEM_callocN(sizeof(DMesh), "DMesh with deriv");
-				//hme->dmesh->deriv = HE_subsurf_ccg_make_derived_from_editmesh(G.he_editMesh, hme->subdivLevels);
-		        hme->dmesh = subSurf_make_DMesh_fromEditHEMesh(hme, (int)hme->subdivLevels);
-		    } else hme->dmesh = make_DMesh_from_HEMesh(hme);
-		} else {
-		    if (subsurf) {
-				hme->dmesh = subSurf_make_DMesh_fromHEMesh(hme, (int)hme->subdivLevels);
-			} else hme->dmesh = make_DMesh_from_HEMesh(hme);
-			object_deform(ob);
-		}
-		hme->dmesh->mat = hme->mat;
-		dmesh_calcFaceNormals(hme->dmesh);
-		dmesh_calc_vertnormals(hme->dmesh);
-		return;
+		makeDispList_HEMesh(ob);
 	} else if(ob->type==OB_MESH) {
 		me= ob->data;
 		freedisplist(&me->disp);
Index: source/blender/blenkernel/intern/image.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/image.c,v
retrieving revision 1.4
diff -u -r1.4 image.c
--- source/blender/blenkernel/intern/image.c	11 Jul 2005 03:45:46 -0000	1.4
+++ source/blender/blenkernel/intern/image.c	15 Jul 2005 04:59:32 -0000
@@ -66,7 +66,9 @@
 #include "BKE_utildefines.h"
 
 /* bad level; call to free_realtime_image */
-#include "BKE_bad_level_calls.h"	
+#include "BKE_bad_level_calls.h"
+
+#include "render_types.h"
 
 void free_image_buffers(Image *ima)
 {
Index: source/blender/blenkernel/intern/ipo.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/ipo.c,v
retrieving revision 1.8
diff -u -r1.8 ipo.c
--- source/blender/blenkernel/intern/ipo.c	11 Jul 2005 03:45:46 -0000	1.8
+++ source/blender/blenkernel/intern/ipo.c	15 Jul 2005 04:59:34 -0000
@@ -74,6 +74,8 @@
 #include "BKE_mesh.h"
 #include "BKE_object.h"
 
+#include "render_types.h"
+
 #define SMALL -1.0e-10
 
 /* This array concept was meant to make sure that defines such as OB_LOC_X
Index: source/blender/blenkernel/intern/key.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/key.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 key.c
--- source/blender/blenkernel/intern/key.c	5 Jul 2005 01:05:40 -0000	1.1.1.2
+++ source/blender/blenkernel/intern/key.c	15 Jul 2005 04:59:35 -0000
@@ -60,6 +60,8 @@
 #include "BKE_ipo.h"
 #include "BKE_lattice.h"
 
+#include "render_types.h"
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
Index: source/blender/blenkernel/intern/material.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/material.c,v
retrieving revision 1.5
diff -u -r1.5 material.c
--- source/blender/blenkernel/intern/material.c	5 Jul 2005 01:39:02 -0000	1.5
+++ source/blender/blenkernel/intern/material.c	15 Jul 2005 04:59:35 -0000
@@ -59,6 +59,7 @@
 #include "BKE_material.h"
 
 #include "BPY_extern.h"
+#include "render_types.h"
 
 void free_material(Material *ma)
 {
Index: source/blender/blenkernel/intern/mball.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/mball.c,v
retrieving revision 1.7
diff -u -r1.7 mball.c
--- source/blender/blenkernel/intern/mball.c	5 Jun 2005 00:35:43 -0000	1.7
+++ source/blender/blenkernel/intern/mball.c	15 Jul 2005 04:59:37 -0000
@@ -66,6 +66,8 @@
 #include "BKE_displist.h"
 #include "BKE_mball.h"
 
+#include "render_types.h"
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
Index: source/blender/blenkernel/intern/object.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/object.c,v
retrieving revision 1.13
diff -u -r1.13 object.c
--- source/blender/blenkernel/intern/object.c	11 Jul 2005 03:45:46 -0000	1.13
+++ source/blender/blenkernel/intern/object.c	15 Jul 2005 04:59:37 -0000
@@ -105,6 +105,8 @@
 
 #include "he_editmesh.h"
 
+#include "render_types.h"
+
 /* Local function protos */
 static void solve_parenting (Object *ob, Object *par, float slowmat[][4], int simul);
 
Index: source/blender/blenkernel/intern/packedFile.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/packedFile.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 packedFile.c
--- source/blender/blenkernel/intern/packedFile.c	23 Dec 2004 00:39:10 -0000	1.1.1.1
+++ source/blender/blenkernel/intern/packedFile.c	15 Jul 2005 04:59:38 -0000
@@ -70,6 +70,7 @@
 #include "BKE_image.h"
 #include "BKE_font.h"
 #include "BKE_packedFile.h"
+#include "render_types.h"
 
 int seekPackedFile(PackedFile * pf, int offset, int whence)
 {
Index: source/blender/blenkernel/intern/scene.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/scene.c,v
retrieving revision 1.13
diff -u -r1.13 scene.c
--- source/blender/blenkernel/intern/scene.c	5 Jul 2005 01:39:02 -0000	1.13
+++ source/blender/blenkernel/intern/scene.c	15 Jul 2005 04:59:38 -0000
@@ -77,6 +77,7 @@
 #include "BPY_extern.h"
 
 #include "BLI_blenlib.h"
+#include "render_types.h"
 
 #include "nla.h"
 
Index: source/blender/blenkernel/intern/world.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/world.c,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 world.c
--- source/blender/blenkernel/intern/world.c	5 Jun 2005 00:24:16 -0000	1.1.1.3
+++ source/blender/blenkernel/intern/world.c	15 Jul 2005 04:59:38 -0000
@@ -62,6 +62,8 @@
 #include <config.h>
 #endif
 
+#include "render_types.h"
+
 void free_world(World *wrld)
 {
 	MTex *mtex;
Index: source/blender/blenkernel/intern/writeavi.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/writeavi.c,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 writeavi.c
--- source/blender/blenkernel/intern/writeavi.c	3 Apr 2005 19:03:19 -0000	1.1.1.4
+++ source/blender/blenkernel/intern/writeavi.c	15 Jul 2005 04:59:39 -0000
@@ -55,6 +55,7 @@
 /* RPW - End */
 
 #include "BKE_writeavi.h"
+#include "render_types.h"
 
 static AviMovie *avi=NULL;
 static int sframe;
Index: source/blender/blenlib/intern/freetypefont.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenlib/intern/freetypefont.c,v
retrieving revision 1.4
diff -u -r1.4 freetypefont.c
--- source/blender/blenlib/intern/freetypefont.c	2 Apr 2005 00:33:19 -0000	1.4
+++ source/blender/blenlib/intern/freetypefont.c	15 Jul 2005 04:59:39 -0000
@@ -52,7 +52,7 @@
 #include "BLI_blenlib.h"
 #include "BLI_arithb.h"  
 
-#include "BIF_toolbox.h"
+//#include "BIF_toolbox.h"
 
 #include "BKE_global.h"
 #include "BKE_utildefines.h"
Index: source/blender/src/buttons_shading.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/buttons_shading.c,v
retrieving revision 1.32
diff -u -r1.32 buttons_shading.c
--- source/blender/src/buttons_shading.c	11 Jul 2005 03:45:46 -0000	1.32
+++ source/blender/src/buttons_shading.c	15 Jul 2005 04:59:44 -0000
@@ -57,6 +57,7 @@
 #include "DNA_image_types.h"
 #include "DNA_packedFile_types.h"
 #include "DNA_userdef_types.h"
+#include "DNA_ID.h"
 
 #include "BKE_global.h"
 #include "BKE_main.h"
@@ -3706,9 +3707,13 @@
 }
 
 
-static void material_panel_shading(Material *ma)
+static void material_panel_shading(Material *ma, Object *ob)
 {
 	uiBlock *block;
+	ID *id, *idfrom;
+	
+	buttons_active_id(&id, &idfrom);
+	/*FIX ME THIS FUNCTION IS DYING*/
 	
 	block= uiNewBlock(&curarea->uiblocks, "material_panel_shading", UI_EMBOSS, UI_HELV, curarea->win);
 	if(uiNewPanel(curarea, block, "Shading", "Material", 640, 0, 318, 204)==0) return;
@@ -4038,7 +4043,7 @@
 			material_panel_dyn(ma);
 			uiSetButLock(ma->id.lib!=NULL, "Can't edit library data");
 
-			material_panel_shading(ma);
+			material_panel_shading(ma, ob);
 			if(!(ma->mode & MA_HALO)) { /* none of these apply to halo based materials */
                material_panel_ramps(ma);
 			   if (G.scene->r.renderer==R_INTERN)
Index: source/blender/src/transform_generics.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/transform_generics.c,v
retrieving revision 1.25
diff -u -r1.25 transform_generics.c
--- source/blender/src/transform_generics.c	11 Jul 2005 03:45:46 -0000	1.25
+++ source/blender/src/transform_generics.c	15 Jul 2005 04:59:45 -0000
@@ -125,6 +125,9 @@
 			DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);  /* sets recalc flags */
 			
 			recalc_editnormals();
+		} else if (G.obedit->type == OB_HEMESH) {
+			DAG_object_flush_update(G.scene, G.obedit, OB_RECALC_DATA);
+			HE_recalcnormals();
 		}
 		else if ELEM(G.obedit->type, OB_CURVE, OB_SURF) {
 			Nurb *nu= editNurb.first;
Index: source/blender/src/usiblender.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/usiblender.c,v
retrieving revision 1.19
diff -u -r1.19 usiblender.c
--- source/blender/src/usiblender.c	30 Jun 2005 17:31:16 -0000	1.19
+++ source/blender/src/usiblender.c	15 Jul 2005 04:59:45 -0000
@@ -438,11 +438,11 @@
 		}
 
 		/* Adding Desktop and My Documents */
-		fsmenu_append_seperator();
+		/*fsmenu_append_seperator();
 		SHGetSpecialFolderPath(0, folder, CSIDL_PERSONAL, 0);
 		fsmenu_insert_entry(folder, 0);
 		SHGetSpecialFolderPath(0, folder, CSIDL_DESKTOPDIRECTORY, 0);
-		fsmenu_insert_entry(folder, 0);
+		fsmenu_insert_entry(folder, 0);*/
 		
 		fsmenu_append_seperator();
 	}






More information about the tuhopuu-devel mailing list