[tuhopuu-devel] New Patch

joeedh joeeagar at prodigy.net
Sun May 8 09:39:07 CEST 2005


joeedh wrote:

> joeedh wrote:
>
>> here.  this is the preliminary warnings implicit-declaration fix I did.
>>
>> also includes some fixes I had to do to get tuho to compile after the 
>> merge.
>> put the new file in blender/include
>>
>> joeedh
>
>
> oh, and it fixes all but 2 he implicit declartion warnings.  so 
> another patch with those 2 fixed will be forthcoming.
>
> joeedh
> _

ok, heres a new and better patch.  no time to fix the two warnings, 
unfortunately.

joeedh
-------------- next part --------------
Index: source/blender/blenkernel/BKE_hemesh.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/BKE_hemesh.h,v
retrieving revision 1.5
diff -u -r1.5 BKE_hemesh.h
--- source/blender/blenkernel/BKE_hemesh.h	12 Apr 2005 04:23:56 -0000	1.5
+++ source/blender/blenkernel/BKE_hemesh.h	8 May 2005 07:19:43 -0000
@@ -1,12 +1,13 @@
 #include "DNA_hemesh_types.h"
 #include "BLI_memarena.h"
 
-extern void free_hemesh(HE_Mesh *me);
-extern void *add_hemesh(void);
-extern struct Mesh *hemesh_to_mesh(struct HE_Mesh *oldme, int do_libblock, float **face_nors);
-extern struct HE_Mesh *mesh_to_hemesh(struct Mesh *oldme, int do_libblock);
-extern HE_Mesh *duplicate_hemesh(HE_Mesh *oldme, int do_libblock);
-extern void unlink_hemesh(HE_Mesh *me);
-extern HE_Mesh *init_he_deform(HE_Mesh *me);
-
+void free_hemesh(HE_Mesh *me);
+void *add_hemesh(void);
+struct Mesh *hemesh_to_mesh(struct HE_Mesh *oldme, int do_libblock, float **face_nors);
+struct HE_Mesh *mesh_to_hemesh(struct Mesh *oldme, int do_libblock);
+HE_Mesh *duplicate_hemesh(HE_Mesh *oldme, int do_libblock);
+void unlink_hemesh(HE_Mesh *me);
+HE_Mesh *init_he_deform(HE_Mesh *me);
+void set_hemesh(Object *ob, HE_Mesh *me);
+void undo_push_hemesh(char *str);
 
Index: source/blender/blenkernel/intern/dmesh.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/blenkernel/intern/dmesh.c,v
retrieving revision 1.11
diff -u -r1.11 dmesh.c
--- source/blender/blenkernel/intern/dmesh.c	13 Apr 2005 15:03:26 -0000	1.11
+++ source/blender/blenkernel/intern/dmesh.c	8 May 2005 07:19:43 -0000
@@ -7,6 +7,7 @@
 #include "BIF_gl.h"
 
 #include "BKE_hemesh.h" 
+#include "BKE_library.h"
 #include "BKE_mesh.h"
 #include "BKE_dmesh.h"
 #include "BKE_global.h"
@@ -23,6 +24,7 @@
 
 #include "BLI_parray.h"
 #include "BLI_arithb.h"
+#include "BLI_blenlib.h"
 #include "math.h"
 
 static void draw_dmesh_solid(DMesh *dm);
Index: source/blender/hemesh/include/he_editmesh.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/include/he_editmesh.h,v
retrieving revision 1.9
diff -u -r1.9 he_editmesh.h
--- source/blender/hemesh/include/he_editmesh.h	13 Apr 2005 13:51:42 -0000	1.9
+++ source/blender/hemesh/include/he_editmesh.h	8 May 2005 07:19:44 -0000
@@ -16,6 +16,8 @@
 struct HE_EditVert;
 struct heUndoMesh;
 struct ListBase;
+struct MemCache;
+struct HE_UndoEntry;
 
 struct HE_EditEdge **he_getSolidsAroundVert(struct HE_EditMesh *em, struct HE_EditVert *eve);
 void he_free_HEEditMesh(struct HE_EditMesh *em);
@@ -221,6 +223,7 @@
 	struct heUndoHashEdge *hashes;
 	int tothash;
 	int index;
+	struct MemCache *cache;
 } heUndoMesh;
 
 
Index: source/blender/hemesh/include/he_tools.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/include/he_tools.h,v
retrieving revision 1.7
diff -u -r1.7 he_tools.h
--- source/blender/hemesh/include/he_tools.h	24 Apr 2005 03:31:27 -0000	1.7
+++ source/blender/hemesh/include/he_tools.h	8 May 2005 07:19:44 -0000
@@ -48,6 +48,7 @@
 struct HE_EditMesh;
 struct ListBase;
 
+char *HE_LoopCutTool(char *arg_string, struct HE_EditMesh *em);
 char *HE_DelVertTool(char *arg_string, struct HE_EditMesh *em);
 char *HE_SubdivideTool(char *arg_string, struct HE_EditMesh *em);
 char *HE_SubdivSmoothTool(char *arg_string,struct  HE_EditMesh *em);
Index: source/blender/hemesh/intern/HE_Event.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/intern/HE_Event.c,v
retrieving revision 1.12
diff -u -r1.12 HE_Event.c
--- source/blender/hemesh/intern/HE_Event.c	1 May 2005 23:48:48 -0000	1.12
+++ source/blender/hemesh/intern/HE_Event.c	8 May 2005 07:19:44 -0000
@@ -410,7 +410,12 @@
 				break;
 			case XKEY:
 				HET_DelVert();
-		   		break;   
+				break;
+			case RKEY:
+				if (G.qual & LR_CTRLKEY) {
+					//HET_LoopCut();
+				}
+				break;
 		}
 	}
 }
Index: source/blender/hemesh/intern/HE_Lib.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/intern/HE_Lib.c,v
retrieving revision 1.9
diff -u -r1.9 HE_Lib.c
--- source/blender/hemesh/intern/HE_Lib.c	22 Apr 2005 01:10:20 -0000	1.9
+++ source/blender/hemesh/intern/HE_Lib.c	8 May 2005 07:19:44 -0000
@@ -233,7 +233,7 @@
 
 	if (!em) return NULL; // protect;
 	if (!eve->edge) return NULL; // protect; /*same as NULL*/
-	for (eed=em->edges.first; eed; eed=eed->next) eed->f2 = 0;
+	//for (eed=em->edges.first; eed; eed=eed->next) eed->f2 = 0;
 
 	/*first we rewind. . .*/
 	eed = eve->edge;
Index: source/blender/hemesh/intern/HE_Select.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/intern/HE_Select.c,v
retrieving revision 1.13
diff -u -r1.13 HE_Select.c
--- source/blender/hemesh/intern/HE_Select.c	24 Apr 2005 03:31:27 -0000	1.13
+++ source/blender/hemesh/intern/HE_Select.c	8 May 2005 07:19:44 -0000
@@ -981,12 +981,18 @@
 void HE_selectionCB(short selecting, Object *editobj, short *mval, float rad)
 {
 	/*we are out-of-bounds here. . .*/
+	HE_EditMesh *em = G.he_editMesh;
 	if (mval[0] >= curarea->winx || mval[1] >= curarea->winy) return;
 	he_clear_all_mover();
 	areawinset(curarea->win);
-	if (G.scene->selectmode & SCE_SELECT_VERTEX) he_circlesel_vert(selecting, mval, rad);
-	if (G.scene->selectmode & SCE_SELECT_EDGE) he_circlesel_edge(selecting, mval, rad);
 	if (G.scene->selectmode & SCE_SELECT_FACE) he_circlesel_face(selecting, mval, rad);
+	else if (G.scene->selectmode & SCE_SELECT_EDGE) he_circlesel_edge(selecting, mval, rad);
+	else if (G.scene->selectmode & SCE_SELECT_VERTEX) he_circlesel_vert(selecting, mval, rad);
+	
+	if (G.scene->selectmode & SCE_SELECT_VERTEX) {
+		HE_update_edges(em);
+		HE_update_faces(em);
+	}
 	force_draw(0);
 }
 
Index: source/blender/hemesh/tools/tool_manager.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/hemesh/tools/tool_manager.c,v
retrieving revision 1.8
diff -u -r1.8 tool_manager.c
--- source/blender/hemesh/tools/tool_manager.c	24 Apr 2005 03:31:27 -0000	1.8
+++ source/blender/hemesh/tools/tool_manager.c	8 May 2005 07:19:45 -0000
@@ -51,6 +51,8 @@
 	{"Select Swap", NULL, NULL, &HE_SelSwapTool, 0, 0, 0},
 	{"Reveal Sel", NULL, NULL, &HE_RevealSelTool, 0, 0, 0},
 	{"Hide Sel", NULL, NULL, &HE_HideSelTool, 0, 0, 0},
+	//{"Loop Cut", NULL, NULL, &HE_LoopCutTool, 0, 0, 0},
+//	{"Intrude", NULL, NULL, &HE_IntrudeTool, 0, 0, 0},
 	{0, 0, 0, 0, 0, 0},
 };
 
Index: source/blender/include/BIF_editmode_undo.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/include/BIF_editmode_undo.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 BIF_editmode_undo.h
--- source/blender/include/BIF_editmode_undo.h	23 Dec 2004 00:39:15 -0000	1.1.1.1
+++ source/blender/include/BIF_editmode_undo.h	8 May 2005 07:19:45 -0000
@@ -50,6 +50,7 @@
 extern void undo_editmode_clear(void);		// free & clear all data
 extern void undo_editmode_menu(void);		// history menu
 extern struct uiBlock *editmode_undohistorymenu(void *arg_unused);
+extern void *undo_getdata(void);
 
 #endif
 
Index: source/blender/include/BIF_meshHE.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/include/BIF_meshHE.h,v
retrieving revision 1.7
diff -u -r1.7 BIF_meshHE.h
--- source/blender/include/BIF_meshHE.h	13 Apr 2005 13:51:42 -0000	1.7
+++ source/blender/include/BIF_meshHE.h	8 May 2005 07:19:45 -0000
@@ -22,6 +22,7 @@
 struct HE_EditEdgeInfo;
 struct HE_EditFace;
 struct HE_HashEdge;
+struct MDeformWeight;
 struct Object;
 struct SubSurf;
 
@@ -45,6 +46,8 @@
   maintaining adjacency info like this is not necassary
   and very slow!!*/
 	ListBase hashedges;							  /*linked list of hash_references*/
+	struct MDeformWeight *dw;
+	int totweight;
 } HE_EditVert;
 
 typedef struct HE_Ref
@@ -113,6 +116,7 @@
 	unsigned int f, f1, f2, h;
 	unsigned int glname;
 	char switched, fast, hl;					  /*mouseover highligt*/
+	struct HE_EditFace *nef; /*new-face pointer*/
 	int mat;
 } HE_EditFace;
 
@@ -186,6 +190,9 @@
 	ListBase stack;
 } HE_EditToolStack;
 
+void deselectall_hemesh(void);
+void HE_recalc_facenormals(void);
+void HE_recalcnormals(void);
 struct HE_Mesh *HE_EmeshToHEMesh(struct HE_EditMesh *mesh);
 struct HE_EditMesh *HE_HEmeshToEMesh(struct HE_Mesh *mesh);
 
Index: source/blender/include/BIF_meshHE_tools.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/include/BIF_meshHE_tools.h,v
retrieving revision 1.3
diff -u -r1.3 BIF_meshHE_tools.h
--- source/blender/include/BIF_meshHE_tools.h	12 Apr 2005 04:23:56 -0000	1.3
+++ source/blender/include/BIF_meshHE_tools.h	8 May 2005 07:19:45 -0000
@@ -1,28 +1,30 @@
-#ifndef _BIF_MESHHE_TOOLS_H
-#define _BIF_MESHHE_TOOLS_H
-
-void HET_SelSwap(void);
-void HET_HideSel(void);
-void HET_RevealSel(void);
-void HET_DelVert(void);
-void HET_Average(void);
-void HET_Bridge(void);
-void HET_DelVert(void);
-void HET_EdgeCrease(void);
-void HET_Extrude(void);
-void HET_Joinfaces(void);
-char *HE_SelectMatTool(char *arg_string, struct HE_EditMesh *em);
-char *HE_AssignMatTool(char *arg_string, struct HE_EditMesh *em);
-void HET_Merge(void);
-void HET_FlipAllNormals(void);
-void HET_SelectLinkedVerts(void);
-void HET_HardEdge(void);
-void HET_SoftEdge(void);
-void HET_SolidShade(void);
-void HET_SmoothShade(void);
-void HET_Subdivide(void);
-void HET_Triangulate(void);
-void HET_SubdivideSmooth(void);
-void HET_select_more(void);
-void HET_select_less(void);
-#endif	 /* _BIF_MESHHE_TOOLS_H */
+#ifndef _BIF_MESHHE_TOOLS_H
+#define _BIF_MESHHE_TOOLS_H
+
+unsigned int *he_read_bacbbufcircle(short *mval, short rads);
+void HET_SelSwap(void);
+void HET_HideSel(void);
+void HET_RevealSel(void);
+void HET_DelVert(void);
+void HET_Average(void);
+void HET_Bridge(void);
+void HET_DelVert(void);
+void HET_EdgeCrease(void);
+void HET_Extrude(void);
+void HET_Joinfaces(void);
+char *HE_SelectMatTool(char *arg_string, struct HE_EditMesh *em);
+char *HE_AssignMatTool(char *arg_string, struct HE_EditMesh *em);
+void HET_Merge(void);
+void HET_FlipAllNormals(void);
+void HET_SelectLinkedVerts(void);
+void HET_HardEdge(void);
+void HET_SoftEdge(void);
+void HET_SolidShade(void);
+void HET_SmoothShade(void);
+void HET_Subdivide(void);
+void HET_Triangulate(void);
+void HET_SubdivideSmooth(void);
+void HET_select_more(void);
+void HET_select_less(void);
+void HET_SelOrDeselAll(void);
+#endif	 /* _BIF_MESHHE_TOOLS_H */
Index: source/blender/makesdna/DNA_hemesh_types.h
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/makesdna/DNA_hemesh_types.h,v
retrieving revision 1.4
diff -u -r1.4 DNA_hemesh_types.h
--- source/blender/makesdna/DNA_hemesh_types.h	5 Apr 2005 22:17:14 -0000	1.4
+++ source/blender/makesdna/DNA_hemesh_types.h	8 May 2005 07:19:45 -0000
@@ -1,104 +1,114 @@
-#ifndef _DNA_HEMESH_TYPES_H
-#define _DNA_HEMESH_TYPES_H
-
-#include "DNA_ID.h"
-#include "DNA_listBase.h"
-#include "DNA_object_types.h"
-
-struct Material;
-struct BoundBox;
-struct HyperMesh;
-struct DF_DeformList;
-
-/*we "embedd" morph targets into the mesh
-  better this way, much better*/
-/*also, we always do array indice-based linked lists 
-  for DNA mesh types.*/
-  
-/*typedef struct HE_KeyVert {
-    float co[3];
-    int keynext;
-} HE_KeyVert;
-
-typedef struct HE_MorphKey {
-    char name[128];
-    int index;
-} HE_MorphKey; NOTE: good project for later*/
-    
-typedef struct HE_Vert {
-    float co[3];
-    float no[3];
-    unsigned int f, h;
-    int vgroup;
-    int edge;
-    //int key_vert_list;
-} HE_Vert;
-
-typedef struct HE_EdgeInfo {
-    unsigned int f, h;
-	float crease;
-	int e1, e2;
-	int v1, v2;
-	char seam, cpad1;
-	short spad2;
-} HE_EdgeInfo;
-
-typedef struct HE_Edge {
-	int v1;
-	int v2;
-	int iedge;
-	int pair;
-	int face;
-	int next;
-	int prev;
-	float no[3];
-} HE_Edge;
-
-typedef struct HE_Face {
-    int edge;
-    float nor[3];
-    float dot[3];
-    unsigned int f, h;
-    char mat_index, cpad1;
-    short spad2;
-} HE_Face;   
-
-typedef struct HE_Mesh {
-    ID id;
-    HE_Face *faces;
-    int totfaces;
-    int ipad1;
-    HE_Edge *half_edges;
-    HE_EdgeInfo *iedges;
-    HE_Vert *verts;
-    
-    int totedges;
-    int totiedges;
-    int totverts;
-    int ipadf1;
-    
-    ListBase dl; /*displist*/
-    unsigned int f, f1, subdivLevels;
-    unsigned int pad;
-    struct Material **mat;
-    short totcol, spad2;
-    int texflag;
-    struct BoundBox *bb;
-    struct DMesh *dmesh;
-    struct DF_DeformList *deforml;
-} HE_Mesh;
-
-/*mesh->f*/
-#define HEM_SUBSURF	1
-#define HEM_TWOSIDE 2
-
-/*face->f*/
-#define HEM_SMOOTH	2
-
-/*edge info->f*/
-#define HEM_SEAM	2
-#define HEM_HARD	4
-#define HEM_REMAKE_DISPLIST	8
-#define HEM_NODISPLIST	16
-
-#endif /* _DNA_HEMESH_TYPES_H */
+#ifndef _DNA_HEMESH_TYPES_H
+#define _DNA_HEMESH_TYPES_H
+
+#include "DNA_ID.h"
+#include "DNA_listBase.h"
+#include "DNA_object_types.h"
+
+struct Material;
+struct BoundBox;
+struct HyperMesh;
+struct DF_DeformList;
+struct MDeformWeight;
+
+/*we "embedd" morph targets into the mesh
+  better this way, much better*/
+/*also, we always do array indice-based linked lists 
+  for DNA mesh types.*/
+/*
+typedef struct HE_KeyVert {
+    float co[3];
+    int keynext;
+} HE_KeyVert;
+
+typedef struct HE_MorphKey {
+    char name[128];
+    int index;
+} HE_MorphKey; NOTE: good project for later*/
+
+/*typedef HE_VGroup {
+	struct HE_VGroup *next, *prev;
+	char name[32];
+	int *verts;
+	int *weights;
+} HE_VGroup;*/
+
+typedef struct HE_Vert {
+	float co[3];
+	float no[3];
+	unsigned int f, h;
+	int vgroup;
+	int edge;
+	//int key_vert_list;
+} HE_Vert;
+
+typedef struct HE_EdgeInfo {
+    unsigned int f, h;
+	float crease;
+	int e1, e2;
+	int v1, v2;
+	char seam, cpad1;
+	short spad2;
+} HE_EdgeInfo;
+
+typedef struct HE_Edge {
+	int v1;
+	int v2;
+	int iedge;
+	int pair;
+	int face;
+	int next;
+	int prev;
+	float no[3];
+} HE_Edge;
+
+typedef struct HE_Face {
+	int edge;
+	float nor[3];
+	float dot[3];
+	unsigned int f, h;
+	char mat_index, cpad1;
+	short spad2;
+	unsigned int sgroup; /*shade-group bitmask*/
+} HE_Face;   
+
+typedef struct HE_Mesh {
+    ID id;
+    HE_Face *faces;
+    int totfaces;
+    int ipad1;
+    HE_Edge *half_edges;
+    HE_EdgeInfo *iedges;
+    HE_Vert *verts;
+    
+    int totedges;
+    int totiedges;
+    int totverts;
+    int ipadf1;
+    
+    ListBase dl; /*displist*/
+    unsigned int f, f1, subdivLevels;
+    unsigned int pad;
+    struct Material **mat;
+    short totcol, spad2;
+    int texflag;
+    struct BoundBox *bb;
+    struct DMesh *dmesh;
+    struct DF_DeformList *deforml;
+    struct MDeformWeight *dw;
+} HE_Mesh;
+
+/*mesh->f*/
+#define HEM_SUBSURF	1
+#define HEM_TWOSIDE 2
+
+/*face->f*/
+#define HEM_SMOOTH	2
+
+/*edge info->f*/
+#define HEM_SEAM	2
+#define HEM_HARD	4
+#define HEM_REMAKE_DISPLIST	8
+#define HEM_NODISPLIST	16
+
+#endif /* _DNA_HEMESH_TYPES_H */
Index: source/blender/src/header_info.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/header_info.c,v
retrieving revision 1.10
diff -u -r1.10 header_info.c
--- source/blender/src/header_info.c	8 May 2005 01:49:01 -0000	1.10
+++ source/blender/src/header_info.c	8 May 2005 07:19:52 -0000
@@ -112,6 +112,7 @@
 
 /* strubi shamelessly abused the status line as a progress bar...
  * feel free to kill him after release */
+extern void addPrimitiveHEMesh(int a);
 
 static int g_progress_bar = 0;
 static char *g_progress_info = 0;
@@ -1289,9 +1290,9 @@
 			add_object_draw(OB_LATTICE);
 			break;
 		case 10:
-		    /* HE Mesh */
-		    addPrimitiveHEMesh(1);
-		    break;
+			/* HE Mesh -- temp system*/
+			addPrimitiveHEMesh(1);
+			break;
 		default:
 			break;
 	}
Index: source/blender/src/space.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/space.c,v
retrieving revision 1.52
diff -u -r1.52 space.c
--- source/blender/src/space.c	8 May 2005 01:49:01 -0000	1.52
+++ source/blender/src/space.c	8 May 2005 07:19:54 -0000
@@ -76,6 +76,7 @@
 #include "BKE_main.h"
 #include "BKE_scene.h"
 #include "BKE_utildefines.h"
+#include "BKE_hemesh.h"
 
 #include "BIF_spacetypes.h"  // first, nasty dependency with typedef
 
@@ -112,6 +113,7 @@
 #include "BIF_usiblender.h"
 #include "BIF_previewrender.h"
 #include "BIF_meshHE_tools.h"
+#include "BIF_HE_Event.h"
 
 #include "BSE_edit.h"
 #include "BSE_view.h"
@@ -731,7 +733,7 @@
 	    if ((event==MOUSEX || event==MOUSEY) || (event==RIGHTMOUSE) || (event >= AKEY && event <= ZKEY)) {
 	        /*we don't want to override certain event codes. . .*/
 	        /*scale/shear/normal grah. . .*/
-	        if (!((event==DKEY & G.qual==0)||event==ZKEY||event==BKEY||event==AKEY||event==SKEY||event==RKEY||event==GKEY||event==WKEY||event==OKEY)) { // && (G.qual==0 || G.qual==(LR_ALTKEY|LR_CTRLKEY)));{
+	        if (!((event==DKEY & G.qual==0)||event==ZKEY||event==BKEY||event==AKEY||event==SKEY||(event==RKEY && G.qual==0)||event==GKEY||event==WKEY||event==OKEY)) { // && (G.qual==0 || G.qual==(LR_ALTKEY|LR_CTRLKEY)));{
 				if (!(event==EKEY && G.qual==LR_SHIFTKEY)) { /*edge crease exception. . .*/
 					HET_Event(event, val);
 					if (event != MOUSEX && event != MOUSEY)
Index: source/blender/src/usiblender.c
===================================================================
RCS file: /cvsroot/tuhopuu/tuhopuu3/source/blender/src/usiblender.c,v
retrieving revision 1.11
diff -u -r1.11 usiblender.c
--- source/blender/src/usiblender.c	8 May 2005 01:49:02 -0000	1.11
+++ source/blender/src/usiblender.c	8 May 2005 07:19:54 -0000
@@ -97,6 +97,7 @@
 #include "BIF_space.h"
 #include "BIF_toolbox.h"
 #include "BIF_cursors.h"
+#include "BIF_meshHE.h"
 
 #include "BSE_drawview.h"
 #include "BSE_headerbuttons.h"


More information about the tuhopuu-devel mailing list