aboutsummaryrefslogtreecommitdiff
path: root/graphics/ayam
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2007-12-18 00:19:10 +0000
committerMartin Wilke <miwi@FreeBSD.org>2007-12-18 00:19:10 +0000
commit229ea01b1920e29ea73cdf046a85de53985c5637 (patch)
treec6f49f582cec57ac0585da7d37806954916218db /graphics/ayam
parente4d6a9face8c188e96adce239fd447c01a3df516 (diff)
downloadports-229ea01b1920e29ea73cdf046a85de53985c5637.tar.gz
ports-229ea01b1920e29ea73cdf046a85de53985c5637.zip
Notes
Diffstat (limited to 'graphics/ayam')
-rw-r--r--graphics/ayam/Makefile18
-rw-r--r--graphics/ayam/distinfo6
-rw-r--r--graphics/ayam/files/patch-MF3D_mfbinrd.c11
-rw-r--r--graphics/ayam/files/patch-MF3D_mffile.c11
-rw-r--r--graphics/ayam/files/patch-MF3D_mfobject.c11
-rw-r--r--graphics/ayam/files/patch-MF3D_mfprimtv.c11
-rw-r--r--graphics/ayam/files/patch-MF3D_mftextrd.c56
-rw-r--r--graphics/ayam/files/patch-Makefile.shared70
-rw-r--r--graphics/ayam/files/patch-ayam.c648
-rw-r--r--graphics/ayam/files/patch-aycore_shader.c34
-rw-r--r--graphics/ayam/files/patch-aycore_tgui.c11
-rw-r--r--graphics/ayam/files/patch-aycore_wrib.c11
-rw-r--r--graphics/ayam/files/patch-contrib-meta_metaobj.c11
-rw-r--r--graphics/ayam/files/patch-contrib_ai.c18
-rw-r--r--graphics/ayam/files/patch-contrib_sm.c24
-rw-r--r--graphics/ayam/files/patch-contrib_tree.c28
-rw-r--r--graphics/ayam/files/patch-nurbs_nct.c11
-rw-r--r--graphics/ayam/files/patch-objects_ncurve.c11
-rw-r--r--graphics/ayam/files/patch-objects_npatch.c20
-rw-r--r--graphics/ayam/files/patch-objects_riinc.c11
-rw-r--r--graphics/ayam/files/patch-objects_riproc.c11
-rw-r--r--graphics/ayam/files/patch-objects_root.c11
-rw-r--r--graphics/ayam/files/patch-objects_script.c11
-rw-r--r--graphics/ayam/files/patch-objects_text.c11
-rw-r--r--graphics/ayam/files/patch-objects_view.c11
-rw-r--r--graphics/ayam/files/patch-plugins_ayslx.c22
-rw-r--r--graphics/ayam/files/patch-plugins_mfio.c19
-rw-r--r--graphics/ayam/files/patch-plugins_mopsi.c13
-rw-r--r--graphics/ayam/files/patch-togl_togl.c29
-rw-r--r--graphics/ayam/pkg-plist9
30 files changed, 1132 insertions, 47 deletions
diff --git a/graphics/ayam/Makefile b/graphics/ayam/Makefile
index 1be61842a4b6..d6ddea302770 100644
--- a/graphics/ayam/Makefile
+++ b/graphics/ayam/Makefile
@@ -6,24 +6,20 @@
#
PORTNAME= ayam
-PORTVERSION= 1.10
-PORTREVISION= 1
+PORTVERSION= 1.13
CATEGORIES= graphics
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
-MASTER_SITE_SUBDIR= ${PORTNAME}
+MASTER_SITES= SF
DISTNAME= ${PORTNAME}${PORTVERSION}.src
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= gahr@gahr.ch
COMMENT= 3D modeling environment for the RenderMan interface
-LIB_DEPENDS= aqsis.0:${PORTSDIR}/graphics/aqsis \
- tcl82.1:${PORTSDIR}/lang/tcl82 \
- tk82.1:${PORTSDIR}/x11-toolkits/tk82 \
+LIB_DEPENDS= aqsis.1:${PORTSDIR}/graphics/aqsis \
+ tk84.1:${PORTSDIR}/x11-toolkits/tk84 \
tiff.4:${PORTSDIR}/graphics/tiff
-USE_GCC= 3.4
USE_GL= yes
-USE_X_PREFIX= yes
+USE_XLIB= yes
WRKSRC= ${WRKDIR}/${PORTNAME}/src
MAKEFILE= Makefile.shared
MAKE_ENV= PTHREAD_LIBS="${PTHREAD_LIBS}"
@@ -34,7 +30,7 @@ PLUGINS_DIR= ${PREFIX}/lib/${PORTNAME}
.include <bsd.port.pre.mk>
.if ${ARCH} == "alpha"
-BROKEN= "Does not build on alpha"
+BROKEN= Does not build on alpha
.endif
post-patch:
diff --git a/graphics/ayam/distinfo b/graphics/ayam/distinfo
index 2745fd49f753..b5e783236d1d 100644
--- a/graphics/ayam/distinfo
+++ b/graphics/ayam/distinfo
@@ -1,3 +1,3 @@
-MD5 (ayam1.10.src.tar.gz) = b4d8b41aeb29efd175ffa62f10d0b464
-SHA256 (ayam1.10.src.tar.gz) = 118b24bb8bc9ac8844dfafb12f5ccfd82975805a60c7e68a7dec08a4fdc12d17
-SIZE (ayam1.10.src.tar.gz) = 3037620
+MD5 (ayam1.13.src.tar.gz) = 64dcb78ebbdc53ff2394da3372f10435
+SHA256 (ayam1.13.src.tar.gz) = 798fc893024fe0af46ce3ea9551c3e04f3f649e392e4707f6e879c10fe7b6236
+SIZE (ayam1.13.src.tar.gz) = 3309549
diff --git a/graphics/ayam/files/patch-MF3D_mfbinrd.c b/graphics/ayam/files/patch-MF3D_mfbinrd.c
new file mode 100644
index 000000000000..c2a5ac15804b
--- /dev/null
+++ b/graphics/ayam/files/patch-MF3D_mfbinrd.c
@@ -0,0 +1,11 @@
+--- MF3D/mfbinrd.c.orig 2007-12-17 19:17:47.000000000 +0100
++++ MF3D/mfbinrd.c 2007-12-17 19:23:12.000000000 +0100
+@@ -132,7 +132,7 @@
+ MFASSERT (!MF3DIsTextFormat (tocPtr->nextTOC->format));
+ AssignInt64 (nextTocLoc, tocPtr->nextTOC->location.binary);
+ numNewRefs = tocPtr->nEntries;
+- result = MF3D_Reallocate (&inMetafilePtr->tocStuff.references,
++ result = MF3D_Reallocate ((void **) &inMetafilePtr->tocStuff.references,
+ ((numReferences + numNewRefs) *
+ sizeof (*inMetafilePtr->tocStuff.references)));
+ if (result != kMF3DNoErr)
diff --git a/graphics/ayam/files/patch-MF3D_mffile.c b/graphics/ayam/files/patch-MF3D_mffile.c
new file mode 100644
index 000000000000..e23343382e4f
--- /dev/null
+++ b/graphics/ayam/files/patch-MF3D_mffile.c
@@ -0,0 +1,11 @@
+--- MF3D/mffile.c.orig 2007-12-17 19:24:47.000000000 +0100
++++ MF3D/mffile.c 2007-12-17 19:25:03.000000000 +0100
+@@ -102,7 +102,7 @@
+ /* Add this type to the table */
+ ++inMetafilePtr->typeTable.nTypes;
+ numTypes = inMetafilePtr->typeTable.nTypes;
+- result = MF3D_Reallocate (&inMetafilePtr->typeTable.types,
++ result = MF3D_Reallocate ((void **)&inMetafilePtr->typeTable.types,
+ numTypes * sizeof (*inMetafilePtr->typeTable.types));
+ if (result == kMF3DNoErr)
+ {
diff --git a/graphics/ayam/files/patch-MF3D_mfobject.c b/graphics/ayam/files/patch-MF3D_mfobject.c
new file mode 100644
index 000000000000..5ac878640058
--- /dev/null
+++ b/graphics/ayam/files/patch-MF3D_mfobject.c
@@ -0,0 +1,11 @@
+--- MF3D/mfobject.c.orig 2007-09-21 13:30:36.000000000 +0200
++++ MF3D/mfobject.c 2007-12-17 19:48:57.000000000 +0100
+@@ -930,7 +930,7 @@
+ ++inMetafilePtr->typeTable.nTypes;
+ numTypes = inMetafilePtr->typeTable.nTypes;
+
+- result = MF3D_Reallocate (&inMetafilePtr->typeTable.types,
++ result = MF3D_Reallocate ((void **)&inMetafilePtr->typeTable.types,
+ numTypes * sizeof (*inMetafilePtr->typeTable.types));
+
+ if (result == kMF3DNoErr)
diff --git a/graphics/ayam/files/patch-MF3D_mfprimtv.c b/graphics/ayam/files/patch-MF3D_mfprimtv.c
new file mode 100644
index 000000000000..1bad37d375f2
--- /dev/null
+++ b/graphics/ayam/files/patch-MF3D_mfprimtv.c
@@ -0,0 +1,11 @@
+--- MF3D/mfprimtv.c.orig 2007-12-17 19:30:09.000000000 +0100
++++ MF3D/mfprimtv.c 2007-12-17 19:30:24.000000000 +0100
+@@ -1000,7 +1000,7 @@
+ if (result == kMF3DNoErr)
+ {
+ ++metafile->tocStuff.numReferences;
+- result = MF3D_Reallocate (&metafile->tocStuff.references,
++ result = MF3D_Reallocate ((void **)&metafile->tocStuff.references,
+ (metafile->tocStuff.numReferences *
+ sizeof (*metafile->tocStuff.references)));
+ }
diff --git a/graphics/ayam/files/patch-MF3D_mftextrd.c b/graphics/ayam/files/patch-MF3D_mftextrd.c
new file mode 100644
index 000000000000..1575f4d61679
--- /dev/null
+++ b/graphics/ayam/files/patch-MF3D_mftextrd.c
@@ -0,0 +1,56 @@
+--- MF3D/mftextrd.c.orig 2007-12-17 19:30:49.000000000 +0100
++++ MF3D/mftextrd.c 2007-12-17 19:32:02.000000000 +0100
+@@ -178,7 +178,7 @@
+ MFASSERT(numNewLabels >= 0);
+
+ if (numNewLabels > 0)
+- result = MF3D_Reallocate(&tocLabelNames,
++ result = MF3D_Reallocate((void **)&tocLabelNames,
+ (numLabels + numNewLabels) * sizeof(*tocLabelNames));
+ }
+
+@@ -250,7 +250,7 @@
+ if (result != kMF3DNoErr)
+ break;
+
+- result = MF3D_Reallocate(&objLabelName, labelLen);
++ result = MF3D_Reallocate((void **)&objLabelName, labelLen);
+ if (result != kMF3DNoErr)
+ break;
+
+@@ -381,7 +381,7 @@
+ char objName[kMF3D_MaxObjNameLength + 1];
+
+ if (numObjects % kMF3D_ObjTableChunk == 0)
+- { result = MF3D_Reallocate(&objTable,
++ { result = MF3D_Reallocate((void **)&objTable,
+ (numObjects + kMF3D_ObjTableChunk) * sizeof(*objTable));
+ if (result != kMF3DNoErr)
+ goto PreprocessTextFileAbort;
+@@ -419,7 +419,7 @@
+ { /* We found a TOC object. We will want to find
+ * this later; so save the index.
+ */
+- result = MF3D_Reallocate(&tocLocations,
++ result = MF3D_Reallocate((void **)&tocLocations,
+ (numTocs + 1) * sizeof(*tocLocations));
+ if (result != kMF3DNoErr)
+ goto PreprocessTextFileAbort;
+@@ -499,7 +499,7 @@
+
+ /* Readjust the object table from its chunky size */
+ if (result == kMF3DNoErr)
+- { result = MF3D_Reallocate(&objTable, (numObjects + 1) * sizeof(*objTable));
++ { result = MF3D_Reallocate((void **)&objTable, (numObjects + 1) * sizeof(*objTable));
+ if (result == kMF3DNoErr)
+ { /* Store the file length here */
+ AssignInt64(objTable[numObjects].objLocation, location);
+@@ -1027,7 +1027,7 @@
+
+ result = kMF3DNoErr;
+ if ((ioStringPtr->pos % kMF3D_StringBufferChunk) == 0)
+- result = MF3D_Reallocate(&ioStringPtr->str,
++ result = MF3D_Reallocate((void **)&ioStringPtr->str,
+ ioStringPtr->pos + kMF3D_StringBufferChunk);
+
+ if (result == kMF3DNoErr)
diff --git a/graphics/ayam/files/patch-Makefile.shared b/graphics/ayam/files/patch-Makefile.shared
index 8b587515dced..1d1352626d44 100644
--- a/graphics/ayam/files/patch-Makefile.shared
+++ b/graphics/ayam/files/patch-Makefile.shared
@@ -1,8 +1,5 @@
-
-$FreeBSD$
-
---- Makefile.shared.orig
-+++ Makefile.shared
+--- Makefile.shared.orig 2007-09-21 13:30:36.000000000 +0200
++++ Makefile.shared 2007-12-17 18:17:51.000000000 +0100
@@ -4,7 +4,7 @@
# Makefile for Ayam (shared version)
@@ -42,7 +39,16 @@ $FreeBSD$
# simple configuration using BMRT
#CFLAGS = -O -DAYUSESLCARGS -DAYUSEBMRTRIBOUT
-@@ -134,7 +137,7 @@
+@@ -94,7 +97,7 @@
+ # MacOSX with Aqua:
+ #CFLAGS = -O -DAYWITHAQUA -DAYUSEAFFINE -DAYENABLEFEXIT -DUSE_NON_CONST
+ # MacOSX with Aqua (universal binary, support for older MacOSX):
+-CFLAGS = -O -DAYWITHAQUA -DAYUSEAFFINE -DAYENABLEFEXIT -DUSE_NON_CONST -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.2
++#CFLAGS = -O -DAYWITHAQUA -DAYUSEAFFINE -DAYENABLEFEXIT -DUSE_NON_CONST -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.2
+ # MacOSX with X11:
+ #CFLAGS = -O -DAYUSEAFFINE -DAYENABLEFEXIT
+
+@@ -138,7 +141,7 @@
# OpenGL
# OpenGL includes
@@ -51,62 +57,58 @@ $FreeBSD$
# MacOSX (Aqua):
#GLINC =
# link options for linking with OpenGL libraries
-@@ -144,24 +147,26 @@
+@@ -148,24 +151,26 @@
# TIFF
# TIFF includes
-TIFFINC = -I/usr/include/
-+TIFFINC = -I${LOCALBASE}/include/
++TIFFINC = -I${X11BASE}/include/
# link options for linking with TIFF library
TIFFLIB = -ltiff
# Tcl/Tk
# Tcl directory
-TCLDIR = ../../tcl8.2.2
-+#TCLDIR = ../../tcl8.2.2
++#TCLDIR = ../../tcl9.2.2
#TCLDIR = ../../tcl8.0
# Tcl includes
-TCLINC = -I$(TCLDIR)/generic
+#TCLINC = -I$(TCLDIR)/generic
-+TCLINC = -I${LOCALBASE}/include/tcl8.2/generic
++TCLINC = -I${LOCALBASE}/include/tcl8.4/generic
# MacOSX (Aqua):
#TCLINC =
# Tcl library
# link options for linking with Tcl library
-TCLLIB = -L$(TCLDIR)/unix -ltcl8.2
-+#TCLLIB = -L$(TCLDIR)/unix -ltcl8.2
++#TCLLIB = -L$(TCLDIR)/unix -ltcl9.2
#TCLLIB = -L$(TCLDIR)/unix -ltcl8.0
-+TCLLIB = -L${LOCALBASE}/lib -ltcl82
++TCLLIB = -L${LOCALBASE}/lib -ltcl84
# if you have an installed Tcl/Tk, you probably just want:
#TCLLIB = -ltcl
# MacOSX (Aqua):
-@@ -169,18 +174,20 @@
+@@ -173,7 +178,7 @@
# Tk sources directory
# Note: You really need the Tk _sources_ in order to compile Ayam!
-TKDIR = ../../tk8.2.2
-+#TKDIR = ../../tk8.2.2
++TKDIR = ${LOCALBASE}/include/tk8.4
#TKDIR = ../../tk8.0
# Tk includes
--TKINC = -I$(TKDIR)/generic -I$(TKDIR)/unix
-+#TKINC = -I$(TKDIR)/generic -I$(TKDIR)/unix
-+TKINC = -I${LOCALBASE}/include/tk8.2/generic -I${LOCALBASE}/include/tk8.2/unix
- # MacOSX (Aqua):
- #TKINC = -I$(TKDIR)/generic -I$(TKDIR)/macosx -I$(TKDIR)/xlib
+@@ -183,8 +188,9 @@
# Tk library
# link options for linking with Tk library
-TKLIB = -L$(TKDIR)/unix -ltk8.2
+#TKLIB = -L$(TKDIR)/unix -ltk8.2
#TKLIB = -L$(TKDIR)/unix -ltk8.0
-+TKLIB = -L${LOCALBASE}/lib -ltk82
++TKLIB = -L${LOCALBASE}/lib -ltk84
# if you have an installed Tcl/Tk, you probably just want:
#TKLIB = -ltk
# MacOSX (Aqua):
-@@ -188,11 +195,11 @@
+@@ -192,11 +198,11 @@
# X11
# X11 includes
@@ -120,7 +122,7 @@ $FreeBSD$
#X11LIBS = -L/usr/X11R6/lib -lXmu -lXext -lX11
# MacOSX (Aqua):
#X11LIBS =
-@@ -203,23 +210,23 @@
+@@ -207,23 +213,25 @@
AFFINEINC = -Iaffine/include
# if you use Affine as BMRT libribout replacement
# (also add -DAYUSEAFFINE to CFLAGS!):
@@ -140,8 +142,9 @@ $FreeBSD$
-AQSISOBJS =
+#AQSISOBJS =
# if you use Aqsis libslxargs (add -DAYUSESLXARGS to CFLAGS!):
--#AQSISOBJS = $(AQSISLIBDIR)/rcdummy.o $(AQSISLIBDIR)/libshadervm.so $(AQSISLIBDIR)/libshaderexecenv.so $(AQSISLIBDIR)/libslxargs.so $(AQSISLIBDIR)/libaqsistypes.so -L /usr/local/lib -llog4cpp
-+AQSISOBJS = $(AQSISLIBDIR)/libaqsis.a $(AQSISLIBDIR)/libshadervm.so $(AQSISLIBDIR)/libshaderexecenv.so $(AQSISLIBDIR)/libslxargs.so $(AQSISLIBDIR)/libaqsistypes.so -L${AQSISLIBDIR} $(AQSISLIBDIR)/libraytrace.so -lstdc++
+ #AQSISOBJS = $(AQSISLIBDIR)/rcdummy.o $(AQSISLIBDIR)/libshadervm.so $(AQSISLIBDIR)/libshaderexecenv.so $(AQSISLIBDIR)/libslxargs.so $(AQSISLIBDIR)/libaqsistypes.so -L /usr/local/lib -llog4cpp
++AQSISOBJS = $(AQSISLIBDIR)/libshadervm.so $(AQSISLIBDIR)/libslxargs.so $(AQSISLIBDIR)/libaqsistypes.so -L${AQSISLIBDIR} -lstdc++ -DUYUSESLXARGS
++
# if you do not use Aqsis libri2rib as BMRT libribout replacement:
-AQSISRI2RIB =
@@ -152,7 +155,7 @@ $FreeBSD$
# BMRT
-@@ -247,9 +254,9 @@
+@@ -251,9 +259,9 @@
# IRIX, Solaris, (MacOSX<10.4: get libdl from Fink!):
#DL = -ldl
# Linux:
@@ -164,23 +167,24 @@ $FreeBSD$
# linker flags to produce shared modules:
-@@ -266,8 +273,8 @@
+@@ -272,8 +280,9 @@
RRIBLIBS = -L$(AFFINEDIR)/lib -lribrdr -lribhash -lribnop -lm
# Ayslx Plugin (Aqsis)
-AYSLXINCDIR = $(AQSISDIR)/include
-AYSLXLIBS = $(AQSISDIR)/lib/rcdummy.o $(AQSISDIR)/lib/libshadervm.so $(AQSISDIR)/lib/libshaderexecenv.so $(AQSISDIR)/lib/libslxargs.so $(AQSISDIR)/lib/libaqsistypes.so -L/usr/local/lib -llog4cpp
-+AYSLXINCDIR = ${AQSISINC}
-+AYSLXLIBS = -L${AQSISLIBDIR} $(AQSISDIR)/lib/libaqsis.so $(AQSISDIR)/lib/libshadervm.so $(AQSISDIR)/lib/libshaderexecenv.so $(AQSISDIR)/lib/libslxargs.so $(AQSISDIR)/lib/libaqsistypes.so -L${LOCALBASE}/lib
++AYSLXINCDIR = ${AQSISDIR}/include/aqsis
++AYSLXLIBS = -L${AQSISLIBDIR} $(AQSISDIR)/lib/libaqsis.so $(AQSISDIR)/lib/libshadervm.so $(AQSISDIR)/lib/libslxargs.so $(AQSISDIR)/lib/libaqsistypes.so -L${LOCALBASE}/lib
++
- # Ayso Plugin (RenderDotC, RDC)
- RDCDIR = /usr/local/rdc
-@@ -464,7 +471,7 @@
+ # Ayslc Plugin (BMRT)
+ AYSLCINCDIR = $(BMRTDIR)/include
+@@ -489,7 +498,7 @@
.cpp.o:
$(CXX) -c $(CFLAGS) $*.cpp -o $@ -I. -IMF3D $(TOGLINC) $(TCLINC) $(TKINC) $(BMRTINC) $(GLINC) $(AFFINEINC) $(AQSISINC) -I$(OPENCSGINCDIR) -I$(GLEWINCDIR) -Iplugins
--all: ayamsh csphere.so mfio.so metaobj.so
-+all: ayamsh csphere.so mfio.so metaobj.so ayslx.so
+-all: ayamsh csphere.so mfio.so metaobj.so mopsi.so
++all: ayamsh csphere.so mfio.so metaobj.so mopsi.so ayslx.so
ayamsh: $(AYAMOBJS) $(TOGLOBJECT) $(AFFINEOBJS)
$(LD) $(AYAMOBJS) $(TOGLOBJECT) $(EXLDFLAGS) -o ayamsh $(TKLIB) $(TCLLIB) $(GLLIBS) $(X11LIBS) $(RIBOUTLIB) $(AQSISRI2RIB) $(SLCARGSLIB) $(AFFINEOBJS) $(AQSISOBJS) $(TIFFLIB) -lm $(DL)
diff --git a/graphics/ayam/files/patch-ayam.c b/graphics/ayam/files/patch-ayam.c
new file mode 100644
index 000000000000..d7fb5b6b0542
--- /dev/null
+++ b/graphics/ayam/files/patch-ayam.c
@@ -0,0 +1,648 @@
+--- ayam.c.orig 2007-09-21 13:30:36.000000000 +0200
++++ ayam.c 2007-12-17 19:12:10.000000000 +0100
+@@ -598,227 +598,227 @@
+
+ /* aycsg.cpp */
+ #ifdef AYCSGWRAPPED
+- Tcl_CreateCommand(interp, "aycsgInit", aycsg_inittcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "aycsgInit", (Tcl_CmdProc *)aycsg_inittcmd,
++ NULL, NULL);
+ #endif
+
+ /* clear.c */
+- Tcl_CreateCommand(interp, "newScene", ay_clear_scenetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "newScene", (Tcl_CmdProc *)ay_clear_scenetcmd,
++ NULL, NULL);
+
+ /* clevel.c */
+- Tcl_CreateCommand(interp, "goTop", ay_clevel_gotoptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "goTop", (Tcl_CmdProc *)ay_clevel_gotoptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "goUp", ay_clevel_gouptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "goUp", (Tcl_CmdProc *)ay_clevel_gouptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "goDown", ay_clevel_godowntcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "goDown", (Tcl_CmdProc *)ay_clevel_godowntcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getLevel", ay_clevel_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getLevel", (Tcl_CmdProc *)ay_clevel_gettcmd,
++ NULL, NULL);
+
+ /* clipb.c */
+- Tcl_CreateCommand(interp, "copOb", ay_clipb_copytcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "copOb", (Tcl_CmdProc *)ay_clipb_copytcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "cutOb", ay_clipb_cuttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "cutOb", (Tcl_CmdProc *)ay_clipb_cuttcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "pasOb", ay_clipb_pastetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "pasOb", (Tcl_CmdProc *)ay_clipb_pastetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "cmovOb", ay_clipb_movetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "cmovOb", (Tcl_CmdProc *)ay_clipb_movetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "repOb", ay_clipb_replacetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "repOb", (Tcl_CmdProc *)ay_clipb_replacetcmd,
++ NULL, NULL);
+
+ /* conv.c */
+- Tcl_CreateCommand(interp, "convOb", ay_convert_forcetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "convOb", (Tcl_CmdProc *)ay_convert_forcetcmd,
++ NULL, NULL);
+
+ /* draw.c */
+
+ /* error.c */
+- Tcl_CreateCommand(interp, "ayError", ay_error_tcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "ayError", (Tcl_CmdProc *)ay_error_tcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getGLErr", ay_error_getglerrortcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getGLErr", (Tcl_CmdProc *)ay_error_getglerrortcmd,
++ NULL, NULL);
+
+ /* instt.c */
+- Tcl_CreateCommand(interp, "resolveIn", ay_instt_resolvetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "resolveIn", (Tcl_CmdProc *)ay_instt_resolvetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getMaster", ay_instt_getmastertcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getMaster", (Tcl_CmdProc *)ay_instt_getmastertcmd,
++ NULL, NULL);
+
+ /* notify.c */
+- Tcl_CreateCommand(interp, "forceNot", ay_notify_forcetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "forceNot", (Tcl_CmdProc *)ay_notify_forcetcmd,
++ NULL, NULL);
+
+ /* object.c */
+- Tcl_CreateCommand(interp, "crtOb", ay_object_createtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtOb", (Tcl_CmdProc *)ay_object_createtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "delOb", ay_object_deletetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "delOb", (Tcl_CmdProc *)ay_object_deletetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "nameOb", ay_object_setnametcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "nameOb", (Tcl_CmdProc *)ay_object_setnametcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "hasChild", ay_object_haschildtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "hasChild", (Tcl_CmdProc *)ay_object_haschildtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getType", ay_object_gettypetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getType", (Tcl_CmdProc *)ay_object_gettypetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getName", ay_object_getnametcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getName", (Tcl_CmdProc *)ay_object_getnametcmd,
++ NULL, NULL);
+
+ /* pomesht.c */
+- Tcl_CreateCommand(interp, "mergePo", ay_pomesht_mergetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "optiPo", ay_pomesht_optimizetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "splitPo", ay_pomesht_splittcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "mergePo", (Tcl_CmdProc *)ay_pomesht_mergetcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "optiPo", (Tcl_CmdProc *)ay_pomesht_optimizetcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "splitPo", (Tcl_CmdProc *)ay_pomesht_splittcmd,
++ NULL, NULL);
+
+ /* prop.c */
+- Tcl_CreateCommand(interp, "setProp", ay_prop_settcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setProp", (Tcl_CmdProc *)ay_prop_settcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getProp", ay_prop_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getProp", (Tcl_CmdProc *)ay_prop_gettcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "setTrafo", ay_prop_settrafotcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setTrafo", (Tcl_CmdProc *)ay_prop_settrafotcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getTrafo", ay_prop_gettrafotcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getTrafo", (Tcl_CmdProc *)ay_prop_gettrafotcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "setAttr", ay_prop_setattrtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setAttr", (Tcl_CmdProc *)ay_prop_setattrtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getAttr", ay_prop_getattrtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getAttr", (Tcl_CmdProc *)ay_prop_getattrtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "setMat", ay_prop_setmattcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setMat", (Tcl_CmdProc *)ay_prop_setmattcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getMat", ay_prop_getmattcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getMat", (Tcl_CmdProc *)ay_prop_getmattcmd,
++ NULL, NULL);
+
+ /* prefs.c */
+- Tcl_CreateCommand(interp, "setPrefs", ay_prefs_settcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setPrefs", (Tcl_CmdProc *)ay_prefs_settcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getPrefs", ay_prefs_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getPrefs", (Tcl_CmdProc *)ay_prefs_gettcmd,
++ NULL, NULL);
+
+ /* read.c */
+- Tcl_CreateCommand(interp, "replaceScene", ay_read_replacetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "replaceScene", (Tcl_CmdProc *)ay_read_replacetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "insertScene", ay_read_inserttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "insertScene", (Tcl_CmdProc *)ay_read_inserttcmd,
++ NULL, NULL);
+
+
+ /* sel.c */
+- Tcl_CreateCommand(interp, "selOb", ay_sel_setfromlbtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "selOb", (Tcl_CmdProc *)ay_sel_setfromlbtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getSel", ay_sel_getseltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getSel", (Tcl_CmdProc *)ay_sel_getseltcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "hSL", ay_sel_hsltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "hSL", (Tcl_CmdProc *)ay_sel_hsltcmd,
++ NULL, NULL);
+
+
+ /* shader.c */
+- Tcl_CreateCommand(interp, "shaderScanSLC", ay_shader_scanslctcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shaderScanSLC", (Tcl_CmdProc *)ay_shader_scanslctcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "shaderScanSLX", ay_shader_scanslxtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shaderScanSLX", (Tcl_CmdProc *)ay_shader_scanslxtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "shaderSet", ay_shader_settcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shaderSet", (Tcl_CmdProc *)ay_shader_settcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "shaderGet", ay_shader_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shaderGet", (Tcl_CmdProc *)ay_shader_gettcmd,
++ NULL, NULL);
+
+ /* tags.c */
+- Tcl_CreateCommand(interp, "tagIsTemp", ay_tags_istemptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "setTags", ay_tags_settcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "addTag", ay_tags_addtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "getTags", ay_tags_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+- Tcl_CreateCommand(interp, "delTags", ay_tags_deletetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "tagIsTemp", (Tcl_CmdProc *)ay_tags_istemptcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "setTags", (Tcl_CmdProc *)ay_tags_settcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "addTag", (Tcl_CmdProc *)ay_tags_addtcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "getTags", (Tcl_CmdProc *)ay_tags_gettcmd,
++ NULL, NULL);
++ Tcl_CreateCommand(interp, "delTags", (Tcl_CmdProc *)ay_tags_deletetcmd,
++ NULL, NULL);
+
+ /* tcmd.c */
+- Tcl_CreateCommand(interp, "revert", ay_tcmd_reverttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "revert", (Tcl_CmdProc *)ay_tcmd_reverttcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "show", ay_tcmd_showtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "show", (Tcl_CmdProc *)ay_tcmd_showtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "hide", ay_tcmd_hidetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "hide", (Tcl_CmdProc *)ay_tcmd_hidetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getVersion", ay_tcmd_getvertcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getVersion", (Tcl_CmdProc *)ay_tcmd_getvertcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "getPnt", ay_tcmd_getpointtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getPnt", (Tcl_CmdProc *)ay_tcmd_getpointtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "setPnt", ay_tcmd_setpointtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "setPnt", (Tcl_CmdProc *)ay_tcmd_setpointtcmd,
++ NULL, NULL);
+
+ #ifdef AYENABLEWAIT
+- Tcl_CreateCommand(interp, "waitPid", ay_tcmd_waitpidtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "waitPid", (Tcl_CmdProc *)ay_tcmd_waitpidtcmd,
++ NULL, NULL);
+ #endif /* AYENABLEWAIT */
+
+ #ifdef AYENABLEFEXIT
+- Tcl_CreateCommand(interp, "fastExit", ay_tcmd_fastexittcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "fastExit", (Tcl_CmdProc *)ay_tcmd_fastexittcmd,
++ NULL, NULL);
+ #endif /* AYENABLEFEXIT */
+
+- Tcl_CreateCommand(interp, "withOb", ay_tcmd_withobtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "withOb", (Tcl_CmdProc *)ay_tcmd_withobtcmd,
++ NULL, NULL);
+
+ /* tmp.c */
+- Tcl_CreateCommand(interp, "tmpGet", ay_tmp_gettcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "tmpGet", (Tcl_CmdProc *)ay_tmp_gettcmd,
++ NULL, NULL);
+
+ /* trafo.c */
+- Tcl_CreateCommand(interp, "delegTrafo", ay_trafo_delegatetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "delegTrafo", (Tcl_CmdProc *)ay_trafo_delegatetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "movOb", ay_trafo_movobtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "movOb", (Tcl_CmdProc *)ay_trafo_movobtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "movSel", ay_trafo_movseltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "movSel", (Tcl_CmdProc *)ay_trafo_movseltcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "scalOb", ay_trafo_scalobtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "scalOb", (Tcl_CmdProc *)ay_trafo_scalobtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "scalSel", ay_trafo_scalseltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "scalSel", (Tcl_CmdProc *)ay_trafo_scalseltcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "rotOb", ay_trafo_rotobtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "rotOb", (Tcl_CmdProc *)ay_trafo_rotobtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "rotSel", ay_trafo_rotseltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "rotSel", (Tcl_CmdProc *)ay_trafo_rotseltcmd,
++ NULL, NULL);
+
+ /* oact.c */
+ Togl_CreateCommand("moveoac", ay_oact_movetcb);
+@@ -842,8 +842,8 @@
+ /* objsel.c */
+ Togl_CreateCommand("processObjSel", ay_objsel_processcb);
+
+- Tcl_CreateCommand(interp, "getNameFromNode", ay_objsel_getnmfrmndtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "getNameFromNode", (Tcl_CmdProc *)ay_objsel_getnmfrmndtcmd,
++ NULL, NULL);
+
+ /* pact.c */
+ Togl_CreateCommand("selpac", ay_pact_seltcb);
+@@ -864,25 +864,25 @@
+
+ Togl_CreateCommand("wrpac", ay_pact_wrtcb);
+
+- Tcl_CreateCommand(interp, "centerPnts", ay_pact_centertcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "centerPnts", (Tcl_CmdProc *)ay_pact_centertcmd,
++ NULL, NULL);
+
+ Togl_CreateCommand("snapac", ay_pact_snaptogridcb);
+
+
+ /* selp.c */
+- Tcl_CreateCommand(interp, "selPoints", ay_selp_selalltcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "selPoints", (Tcl_CmdProc *)ay_selp_selalltcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "applyTrafo", ay_selp_applytrafotcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "applyTrafo", (Tcl_CmdProc *)ay_selp_applytrafotcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "invSelPoints", ay_selp_inverttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "invSelPoints", (Tcl_CmdProc *)ay_selp_inverttcmd,
++ NULL, NULL);
+
+ /* undo.c */
+- Tcl_CreateCommand(interp, "undo", ay_undo_undotcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "undo", (Tcl_CmdProc *)ay_undo_undotcmd,
++ NULL, NULL);
+
+ /* vact.c */
+ Togl_CreateCommand("movevac", ay_vact_movetcb);
+@@ -913,150 +913,150 @@
+ /* w32t.c */
+ #ifdef WIN32
+ Tcl_CreateCommand(interp, "w32kill", ay_w32t_w32killtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ NULL, NULL);
+ #endif
+
+ /* wrib.c */
+ Togl_CreateCommand("wrib", ay_wrib_cb);
+
+- Tcl_CreateCommand(interp, "wrib", ay_wrib_tcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "wrib", (Tcl_CmdProc *)ay_wrib_tcmd,
++ NULL, NULL);
+
+ /* write.c */
+- Tcl_CreateCommand(interp, "saveScene", ay_write_scenetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "saveScene", (Tcl_CmdProc *)ay_write_scenetcmd,
++ NULL, NULL);
+
+
+ /* contrib/tree.c */
+ /*
+ Tcl_CreateCommand(interp, "treeInit", ay_tree_inittcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ NULL, NULL);
+ */
+ /* NURBS */
+
+ /* nurbs/nct.c */
+- Tcl_CreateCommand(interp, "refineNC", ay_nct_refinetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "refineNC", (Tcl_CmdProc *)ay_nct_refinetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "coarsenNC", ay_nct_coarsentcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "coarsenNC", (Tcl_CmdProc *)ay_nct_coarsentcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "clampNC", ay_nct_clamptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "clampNC", (Tcl_CmdProc *)ay_nct_clamptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "elevateNC", ay_nct_elevatetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "elevateNC", (Tcl_CmdProc *)ay_nct_elevatetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "insknNC", ay_nct_insertkntcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "insknNC", (Tcl_CmdProc *)ay_nct_insertkntcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "remknNC", ay_nct_removekntcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "remknNC", (Tcl_CmdProc *)ay_nct_removekntcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "collMP", ay_nct_collapsetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "collMP", (Tcl_CmdProc *)ay_nct_collapsetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "explMP", ay_nct_explodetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "explMP", (Tcl_CmdProc *)ay_nct_explodetcmd,
++ NULL, NULL);
+
+ Togl_CreateCommand("finduac", ay_nct_finducb);
+
+- Tcl_CreateCommand(interp, "splitNC", ay_nct_splittcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "splitNC", (Tcl_CmdProc *)ay_nct_splittcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "concatNC", ay_nct_concattcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "concatNC", (Tcl_CmdProc *)ay_nct_concattcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "crtNCircle", ay_nct_crtncircletcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtNCircle", (Tcl_CmdProc *)ay_nct_crtncircletcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "crtNRect", ay_nct_crtrecttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtNRect", (Tcl_CmdProc *)ay_nct_crtrecttcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "crtClosedBS", ay_nct_crtclosedbsptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtClosedBS", (Tcl_CmdProc *)ay_nct_crtclosedbsptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "rescaleKnNC", ay_nct_rescaleknvnctcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "rescaleKnNC", (Tcl_CmdProc *)ay_nct_rescaleknvnctcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "curvPlot", ay_nct_curvplottcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "curvPlot", (Tcl_CmdProc *)ay_nct_curvplottcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "shiftClosedBS", ay_nct_shiftcbstcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shiftClosedBS", (Tcl_CmdProc *)ay_nct_shiftcbstcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "toXYNC", ay_nct_toxytcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "toXYNC", (Tcl_CmdProc *)ay_nct_toxytcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "makeCompNC", ay_nct_makecomptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "makeCompNC", (Tcl_CmdProc *)ay_nct_makecomptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "centerNC", ay_nct_centertcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "centerNC", (Tcl_CmdProc *)ay_nct_centertcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "trimNC", ay_nct_trimtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "trimNC", (Tcl_CmdProc *)ay_nct_trimtcmd,
++ NULL, NULL);
+
+ /* nurbs/npt.c */
+- Tcl_CreateCommand(interp, "crtNSphere", ay_npt_crtnspheretcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtNSphere", (Tcl_CmdProc *)ay_npt_crtnspheretcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "crtNSphere2", ay_npt_crtnsphere2tcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "crtNSphere2", (Tcl_CmdProc *)ay_npt_crtnsphere2tcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "splitNP", ay_npt_splittocurvestcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "splitNP", (Tcl_CmdProc *)ay_npt_splittocurvestcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "buildNP", ay_npt_buildfromcurvestcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "buildNP", (Tcl_CmdProc *)ay_npt_buildfromcurvestcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "topoly", ay_tess_npatchtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "topoly", (Tcl_CmdProc *)ay_tess_npatchtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "elevateNPU", ay_npt_elevateutcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "elevateNPU", (Tcl_CmdProc *)ay_npt_elevateutcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "elevateNPV", ay_npt_elevatevtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "elevateNPV", (Tcl_CmdProc *)ay_npt_elevatevtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "swapUV", ay_npt_swapuvtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "swapUV", (Tcl_CmdProc *)ay_npt_swapuvtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "revertU", ay_npt_revertutcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "revertU", (Tcl_CmdProc *)ay_npt_revertutcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "revertV", ay_npt_revertvtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "revertV", (Tcl_CmdProc *)ay_npt_revertvtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "closeNPU", ay_npt_closeutcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "closeNPU", (Tcl_CmdProc *)ay_npt_closeutcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "closeNPV", ay_npt_closevtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "closeNPV", (Tcl_CmdProc *)ay_npt_closevtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "clampNPU", ay_npt_clamputcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "clampNPU", (Tcl_CmdProc *)ay_npt_clamputcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "clampNPV", ay_npt_clampvtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "clampNPV", (Tcl_CmdProc *)ay_npt_clampvtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "rescaleKnNP", ay_npt_rescaleknvnptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "rescaleKnNP", (Tcl_CmdProc *)ay_npt_rescaleknvnptcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "insknNPU", ay_npt_insertknutcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "insknNPU", (Tcl_CmdProc *)ay_npt_insertknutcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "insknNPV", ay_npt_insertknvtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "insknNPV", (Tcl_CmdProc *)ay_npt_insertknvtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "splitNPU", ay_npt_splitutcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "splitNPU", (Tcl_CmdProc *)ay_npt_splitutcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "splitNPV", ay_npt_splitvtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "splitNPV", (Tcl_CmdProc *)ay_npt_splitvtcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "extrNP", ay_npt_extractnptcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "extrNP", (Tcl_CmdProc *)ay_npt_extractnptcmd,
++ NULL, NULL);
+
+ /* inform Tcl-context about compile time configuration: */
+
diff --git a/graphics/ayam/files/patch-aycore_shader.c b/graphics/ayam/files/patch-aycore_shader.c
new file mode 100644
index 000000000000..477bf7e5e11d
--- /dev/null
+++ b/graphics/ayam/files/patch-aycore_shader.c
@@ -0,0 +1,34 @@
+--- aycore/shader.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ aycore/shader.c 2007-12-17 18:29:44.000000000 +0100
+@@ -340,7 +340,7 @@
+ }
+
+ #ifndef WIN32
+- SLX_SetPath(Tcl_GetVar(ay_interp, vname, TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG));
++ SLX_SetPath((char *)Tcl_GetVar(ay_interp, vname, TCL_GLOBAL_ONLY|TCL_LEAVE_ERR_MSG));
+ #else
+ /* change all ; to : in shader search path */
+ Tcl_DStringInit(&ds);
+@@ -1094,7 +1094,8 @@
+ ay_mat_object *material = NULL;
+ ay_shader *newshader = NULL, **shader = NULL;
+ ay_shader_arg *newarg = NULL, **argnext = NULL;
+- char *result, *n1=NULL;
++ const char *result;
++ char *n1=NULL;
+ int sargnc = 0, sargtc = 0, i, j, shadertype = 0, argtype = 0;
+ double dtemp = 0.0;
+ char **sargnv, **sargtv;
+@@ -1287,10 +1288,10 @@
+ /* decompose argument-list */
+ Tcl_SplitList(interp,Tcl_GetVar2(interp, n1, "ArgNames",
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY),
+- &sargnc, &sargnv);
++ &sargnc, (const char ***)&sargnv);
+ Tcl_SplitList(interp,Tcl_GetVar2(interp, n1, "ArgTypes",
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY),
+- &sargtc, &sargtv);
++ &sargtc, (const char ***)&sargtv);
+
+
+ argnext = &(newshader->arg);
diff --git a/graphics/ayam/files/patch-aycore_tgui.c b/graphics/ayam/files/patch-aycore_tgui.c
new file mode 100644
index 000000000000..9c32de40ab0c
--- /dev/null
+++ b/graphics/ayam/files/patch-aycore_tgui.c
@@ -0,0 +1,11 @@
+--- aycore/tgui.c.orig 2007-12-17 18:30:39.000000000 +0100
++++ aycore/tgui.c 2007-12-17 18:33:44.000000000 +0100
+@@ -439,7 +439,7 @@
+
+ /* register some C-functions as Tcl-Commands */
+ Tcl_CreateCommand (interp, "tguiCmd",
+- ay_tgui_tcmd,
++ (Tcl_CmdProc *)ay_tgui_tcmd,
+ (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+
+ /* register TP tag type */
diff --git a/graphics/ayam/files/patch-aycore_wrib.c b/graphics/ayam/files/patch-aycore_wrib.c
new file mode 100644
index 000000000000..3197a1aa2e77
--- /dev/null
+++ b/graphics/ayam/files/patch-aycore_wrib.c
@@ -0,0 +1,11 @@
+--- aycore/wrib.c.orig 2007-12-17 18:35:09.000000000 +0100
++++ aycore/wrib.c 2007-12-17 18:36:12.000000000 +0100
+@@ -1158,7 +1158,7 @@
+ size_t filenlen = 0;
+ RtLightHandle light_handle;
+ char arrname[] = "ayprefs", ccvarname[] = "SMChangeShaders";
+- char *vstr = NULL;
++ const char *vstr;
+ int changeshaders = AY_TRUE;
+
+ if(!o || !file)
diff --git a/graphics/ayam/files/patch-contrib-meta_metaobj.c b/graphics/ayam/files/patch-contrib-meta_metaobj.c
new file mode 100644
index 000000000000..4f3fee5fc8be
--- /dev/null
+++ b/graphics/ayam/files/patch-contrib-meta_metaobj.c
@@ -0,0 +1,11 @@
+--- contrib/meta/metaobj.c.orig 2007-12-17 19:32:36.000000000 +0100
++++ contrib/meta/metaobj.c 2007-12-17 19:33:01.000000000 +0100
+@@ -851,7 +851,7 @@
+ meta_world *w;
+ meta_blob *b;
+ ay_object *down;
+- char *adapt;
++ const char *adapt;
+ char vname[] = "ay";
+ char vname1[] = "action";
+ double euler[3] = {0};
diff --git a/graphics/ayam/files/patch-contrib_ai.c b/graphics/ayam/files/patch-contrib_ai.c
new file mode 100644
index 000000000000..b55e72cd08b6
--- /dev/null
+++ b/graphics/ayam/files/patch-contrib_ai.c
@@ -0,0 +1,18 @@
+--- contrib/ai.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ contrib/ai.c 2007-12-17 19:00:20.000000000 +0100
+@@ -530,11 +530,11 @@
+ /* char fname[] = "Ai_Init";*/
+
+ /* Create Tcl commands */
+- Tcl_CreateCommand(interp, "ai_makeInstances", ay_ai_makeinstancestcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "ai_makeInstances", (Tcl_CmdProc *) ay_ai_makeinstancestcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "ai_resolveInstances", ay_ai_resolveinstancestcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "ai_resolveInstances", (Tcl_CmdProc *) ay_ai_resolveinstancestcmd,
++ NULL, NULL);
+ /*
+ Tcl_CreateCommand(interp, "ai_getInstancesList", ay_ai_getinstanceslisttcmd,
+ (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
diff --git a/graphics/ayam/files/patch-contrib_sm.c b/graphics/ayam/files/patch-contrib_sm.c
new file mode 100644
index 000000000000..d9472771a530
--- /dev/null
+++ b/graphics/ayam/files/patch-contrib_sm.c
@@ -0,0 +1,24 @@
+--- contrib/sm.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ contrib/sm.c 2007-12-17 19:01:46.000000000 +0100
+@@ -473,7 +473,7 @@
+ static int countsm = 0;
+ char arrname[] = "ayprefs";
+ char ffvarname[] = "SMFileFormat", ftvarname[] = "SMFileType";
+- char *smfileformat = NULL, *smfiletype = NULL;
++ char *smfileformat, *smfiletype;
+
+ if(!o)
+ return;
+@@ -498,10 +498,10 @@
+ return;
+ }
+
+- smfiletype = Tcl_GetVar2(ay_interp, arrname, ftvarname,
++ smfiletype = (char *)Tcl_GetVar2(ay_interp, arrname, ftvarname,
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY);
+
+- smfileformat = Tcl_GetVar2(ay_interp, arrname, ffvarname,
++ smfileformat = (char *)Tcl_GetVar2(ay_interp, arrname, ffvarname,
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY);
+
+ newtrafo->next = trafo;
diff --git a/graphics/ayam/files/patch-contrib_tree.c b/graphics/ayam/files/patch-contrib_tree.c
new file mode 100644
index 000000000000..d2e012fe5c3a
--- /dev/null
+++ b/graphics/ayam/files/patch-contrib_tree.c
@@ -0,0 +1,28 @@
+--- contrib/tree.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ contrib/tree.c 2007-12-17 19:03:54.000000000 +0100
+@@ -898,19 +898,19 @@
+ */
+
+ /* create new Tcl commands */
+- Tcl_CreateCommand(interp, "treeGetString", ay_tree_gettreetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "treeGetString", (Tcl_CmdProc *)ay_tree_gettreetcmd,
++ NULL, NULL);
+
+- Tcl_CreateCommand(interp, "treeSelect", ay_tree_selecttcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "treeSelect", (Tcl_CmdProc *)ay_tree_selecttcmd,
++ NULL, NULL);
+
+ /*
+ Tcl_CreateCommand(interp, "CreateDndObject", aytree_CreateDndObject_tcmd,
+ (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
+ */
+
+- Tcl_CreateCommand(interp, "treeDnd", ay_tree_dndtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "treeDnd", (Tcl_CmdProc *)ay_tree_dndtcmd,
++ NULL, NULL);
+
+
+
diff --git a/graphics/ayam/files/patch-nurbs_nct.c b/graphics/ayam/files/patch-nurbs_nct.c
new file mode 100644
index 000000000000..2e33e0ad5b3e
--- /dev/null
+++ b/graphics/ayam/files/patch-nurbs_nct.c
@@ -0,0 +1,11 @@
+--- nurbs/nct.c.orig 2007-12-17 18:37:00.000000000 +0100
++++ nurbs/nct.c 2007-12-17 18:38:29.000000000 +0100
+@@ -817,7 +817,7 @@
+
+ if(argc > 1)
+ {
+- Tcl_SplitList(interp, argv[1], &aknotc, &aknotv);
++ Tcl_SplitList(interp, argv[1], &aknotc, (const char ***)&aknotv);
+
+ if(!(X = calloc(aknotc, sizeof(double))))
+ {
diff --git a/graphics/ayam/files/patch-objects_ncurve.c b/graphics/ayam/files/patch-objects_ncurve.c
new file mode 100644
index 000000000000..614d762a5959
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_ncurve.c
@@ -0,0 +1,11 @@
+--- objects/ncurve.c.orig 2007-12-17 18:38:58.000000000 +0100
++++ objects/ncurve.c 2007-12-17 18:39:11.000000000 +0100
+@@ -731,7 +731,7 @@
+ ay_error(AY_EOUTPUT, fname, "Checking new knots...");
+ Tcl_SplitList(interp,Tcl_GetVar2(interp, n1, "Knots",
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY),
+- &knotc, &knotv);
++ &knotc, (const char ***)&knotv);
+
+ if(!(nknotv = calloc(knotc, sizeof(double))))
+ {
diff --git a/graphics/ayam/files/patch-objects_npatch.c b/graphics/ayam/files/patch-objects_npatch.c
new file mode 100644
index 000000000000..7738904aaa5f
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_npatch.c
@@ -0,0 +1,20 @@
+--- objects/npatch.c.orig 2007-12-17 18:39:37.000000000 +0100
++++ objects/npatch.c 2007-12-17 18:40:02.000000000 +0100
+@@ -1260,7 +1260,7 @@
+ ay_error(AY_EOUTPUT, fname, "Checking new knots for U...");
+ Tcl_SplitList(interp, Tcl_GetVar2(interp, n1, "Knots_U",
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY),
+- &knotc, &knotv);
++ &knotc, (const char ***)&knotv);
+
+ if(!(nknotv = calloc(knotc, sizeof(double))))
+ {
+@@ -1324,7 +1324,7 @@
+ ay_error(AY_EOUTPUT, fname, "Checking new knots for V...");
+ Tcl_SplitList(interp,Tcl_GetVar2(interp, n1, "Knots_V",
+ TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY),
+- &knotc, &knotv);
++ &knotc, (const char ***)&knotv);
+
+ if(!(nknotv = calloc(knotc, sizeof(double))))
+ {
diff --git a/graphics/ayam/files/patch-objects_riinc.c b/graphics/ayam/files/patch-objects_riinc.c
new file mode 100644
index 000000000000..74b65275165f
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_riinc.c
@@ -0,0 +1,11 @@
+--- objects/riinc.c.orig 2007-12-17 18:40:30.000000000 +0100
++++ objects/riinc.c 2007-12-17 18:40:55.000000000 +0100
+@@ -165,7 +165,7 @@
+ char *n1 = "RiIncAttrData";
+ Tcl_Obj *to = NULL, *toa = NULL, *ton = NULL;
+ ay_riinc_object *riinc = NULL;
+- char *result = NULL;
++ const char *result;
+
+ if(!o)
+ return AY_ENULL;
diff --git a/graphics/ayam/files/patch-objects_riproc.c b/graphics/ayam/files/patch-objects_riproc.c
new file mode 100644
index 000000000000..007d15fc3e6b
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_riproc.c
@@ -0,0 +1,11 @@
+--- objects/riproc.c.orig 2007-12-17 18:41:21.000000000 +0100
++++ objects/riproc.c 2007-12-17 18:41:58.000000000 +0100
+@@ -197,7 +197,7 @@
+ char *n1 = "RiProcAttrData";
+ Tcl_Obj *to = NULL, *toa = NULL, *ton = NULL;
+ ay_riproc_object *riproc = NULL;
+- char *result = NULL;
++ const char *result;
+
+ if(!o)
+ return AY_ENULL;
diff --git a/graphics/ayam/files/patch-objects_root.c b/graphics/ayam/files/patch-objects_root.c
new file mode 100644
index 000000000000..0a7868912c3e
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_root.c
@@ -0,0 +1,11 @@
+--- objects/root.c.orig 2007-12-17 18:43:32.000000000 +0100
++++ objects/root.c 2007-12-17 18:44:08.000000000 +0100
+@@ -186,7 +186,7 @@
+ ay_riopt *riopt = NULL;
+ double dtemp = 0.0;
+ int itemp = 0;
+- char *result;
++ const char *result;
+
+ if(!o)
+ return AY_ENULL;
diff --git a/graphics/ayam/files/patch-objects_script.c b/graphics/ayam/files/patch-objects_script.c
new file mode 100644
index 000000000000..25c951033042
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_script.c
@@ -0,0 +1,11 @@
+--- objects/script.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ objects/script.c 2007-12-17 19:00:06.000000000 +0100
+@@ -442,7 +442,7 @@
+ ay_script_writecb(FILE *fileptr, ay_object *o)
+ {
+ ay_script_object *sc = NULL;
+- char *arrname = NULL, *membername = NULL, *memberval = NULL;
++ const char *arrname = NULL, *membername = NULL, *memberval = NULL;
+ char *arrnameend = NULL;
+ Tcl_Obj *arrmemberlist = NULL, *arrmember;
+ int arrmembers = 0, i, slen;
diff --git a/graphics/ayam/files/patch-objects_text.c b/graphics/ayam/files/patch-objects_text.c
new file mode 100644
index 000000000000..e0a96ef6097b
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_text.c
@@ -0,0 +1,11 @@
+--- objects/text.c.orig 2007-12-17 18:46:17.000000000 +0100
++++ objects/text.c 2007-12-17 18:46:39.000000000 +0100
+@@ -164,7 +164,7 @@
+ int ay_status = AY_OK;
+ char fname[] = "setProp";
+ char *n1 = "TextAttrData";
+- char *result;
++ const char *result;
+ Tcl_Obj *to = NULL, *toa = NULL, *ton = NULL;
+ ay_text_object *text = NULL;
+ Tcl_UniChar *unistr = NULL;
diff --git a/graphics/ayam/files/patch-objects_view.c b/graphics/ayam/files/patch-objects_view.c
new file mode 100644
index 000000000000..a7b59bb32ec5
--- /dev/null
+++ b/graphics/ayam/files/patch-objects_view.c
@@ -0,0 +1,11 @@
+--- objects/view.c.orig 2007-12-17 18:47:07.000000000 +0100
++++ objects/view.c 2007-12-17 18:47:21.000000000 +0100
+@@ -167,7 +167,7 @@
+ char *n1 = "CameraData", *n2 = "ViewAttribData";
+ Tcl_Obj *to = NULL, *toa = NULL, *ton = NULL;
+ int itemp = 0;
+- char *result;
++ const char *result;
+ char fname[] = "view_setpropcb";
+
+ if(!o)
diff --git a/graphics/ayam/files/patch-plugins_ayslx.c b/graphics/ayam/files/patch-plugins_ayslx.c
new file mode 100644
index 000000000000..b4bc55795e37
--- /dev/null
+++ b/graphics/ayam/files/patch-plugins_ayslx.c
@@ -0,0 +1,22 @@
+--- plugins/ayslx.c.orig 2007-09-21 13:30:37.000000000 +0200
++++ plugins/ayslx.c 2007-12-17 19:50:54.000000000 +0100
+@@ -17,7 +17,7 @@
+ #include <string.h>
+ #include "tcl.h"
+ #include "errcode.h"
+-#include "slx.h"
++#include <slx.h>
+
+
+ /* prototypes: */
+@@ -311,8 +311,8 @@
+
+ Tcl_SetVar(interp, vname, vval, TCL_LEAVE_ERR_MSG | TCL_GLOBAL_ONLY);
+
+- Tcl_CreateCommand(interp, "shaderScan", ayslx_scanslxtcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "shaderScan", (Tcl_CmdProc *)ayslx_scanslxtcmd,
++ NULL, NULL);
+
+ ay_error(AY_EOUTPUT, fname,
+ "Plug-In 'ayslx' loaded.");
diff --git a/graphics/ayam/files/patch-plugins_mfio.c b/graphics/ayam/files/patch-plugins_mfio.c
new file mode 100644
index 000000000000..1eef52000ab5
--- /dev/null
+++ b/graphics/ayam/files/patch-plugins_mfio.c
@@ -0,0 +1,19 @@
+--- plugins/mfio.c.orig 2007-12-17 19:15:06.000000000 +0100
++++ plugins/mfio.c 2007-12-17 19:17:03.000000000 +0100
+@@ -3530,12 +3530,12 @@
+
+ /* register some C-functions as Tcl-Commands */
+ Tcl_CreateCommand (interp, "ay_mfio_import",
+- ay_mfio_importscenetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ (Tcl_CmdProc *)ay_mfio_importscenetcmd,
++ NULL, NULL);
+
+ Tcl_CreateCommand (interp, "ay_mfio_export",
+- ay_mfio_exportscenetcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ (Tcl_CmdProc *)ay_mfio_exportscenetcmd,
++ NULL, NULL);
+
+ /* source mfio.tcl, it contains Tcl-code for menu entries */
+ if((Tcl_EvalFile(interp, "mfio.tcl")) != TCL_OK)
diff --git a/graphics/ayam/files/patch-plugins_mopsi.c b/graphics/ayam/files/patch-plugins_mopsi.c
new file mode 100644
index 000000000000..034458d774a4
--- /dev/null
+++ b/graphics/ayam/files/patch-plugins_mopsi.c
@@ -0,0 +1,13 @@
+--- plugins/mopsi.c.orig 2007-09-21 13:30:38.000000000 +0200
++++ plugins/mopsi.c 2007-12-17 19:50:09.000000000 +0100
+@@ -2130,8 +2130,8 @@
+ entry = Tcl_CreateHashEntry(&mopsiht, "ICurve", &new_item);
+ Tcl_SetHashValue(entry, &(mopsi_icurve));
+
+- Tcl_CreateCommand(interp, "importMops", mopsi_tcmd,
+- (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
++ Tcl_CreateCommand(interp, "importMops", (Tcl_CmdProc *)mopsi_tcmd,
++ NULL, NULL);
+
+ /* source mopsi.tcl, it contains vital Tcl-code */
+ if((Tcl_EvalFile(interp, "mopsi.tcl")) != TCL_OK)
diff --git a/graphics/ayam/files/patch-togl_togl.c b/graphics/ayam/files/patch-togl_togl.c
new file mode 100644
index 000000000000..816b1dad4abc
--- /dev/null
+++ b/graphics/ayam/files/patch-togl_togl.c
@@ -0,0 +1,29 @@
+--- togl/togl.c.orig 2007-12-17 19:12:44.000000000 +0100
++++ togl/togl.c 2007-12-17 19:14:18.000000000 +0100
+@@ -709,7 +709,7 @@
+ }
+ #endif
+
+- Tcl_CreateCommand(interp, "togl", Togl_Cmd,
++ Tcl_CreateCommand(interp, "togl", (Tcl_CmdProc *)Togl_Cmd,
+ (ClientData) Tk_MainWindow(interp), NULL);
+ Tcl_InitHashTable(&CommandTable, TCL_STRING_KEYS);
+
+@@ -941,7 +941,7 @@
+ int oldAuxNumber = togl->AuxNumber;
+
+ if (Tk_ConfigureWidget(interp, togl->TkWin, configSpecs,
+- argc, argv, (char *)togl, flags) == TCL_ERROR) {
++ argc, (const char **)argv, (char *)togl, flags) == TCL_ERROR) {
+ return(TCL_ERROR);
+ }
+ /*fprintf(stderr,"hier %d %d %d\n", togl->TkWin, togl->Width, togl->Height);*/
+@@ -1154,7 +1154,7 @@
+
+ /* Create command event handler */
+ togl->widgetCmd = Tcl_CreateCommand(interp, Tk_PathName(tkwin),
+- Togl_Widget, (ClientData)togl,
++ (Tcl_CmdProc *)Togl_Widget, (ClientData)togl,
+ (Tcl_CmdDeleteProc*) ToglCmdDeletedProc);
+ Tk_CreateEventHandler(tkwin,
+ ExposureMask | StructureNotifyMask,
diff --git a/graphics/ayam/pkg-plist b/graphics/ayam/pkg-plist
index 626f940808e6..f589d7416cda 100644
--- a/graphics/ayam/pkg-plist
+++ b/graphics/ayam/pkg-plist
@@ -43,6 +43,7 @@ lib/ayam/tcl/light.tcl
lib/ayam/tcl/material.tcl
lib/ayam/tcl/mmenu.tcl
lib/ayam/tcl/ms.tcl
+lib/ayam/tcl/ncircle.tcl
lib/ayam/tcl/ncurve.tcl
lib/ayam/tcl/npatch.tcl
lib/ayam/tcl/objbar.tcl
@@ -184,16 +185,21 @@ lib/ayam/tcl/BWidget-1.2.1/lang/fr.rc
%%PORTDOCS%%%%DOCSDIR%%/html/pics/birail2vc.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/cap.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/clampnc.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/clampnp.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/clone.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/concatnc.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/coarsen.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/csgex.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/elevate.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/extrude.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/gordoncap.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/gordon-hood.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/icurves.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/inskn.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/insknnp.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/listbox.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/main.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/makecomp.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/meta.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/multip.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/ncircle.gif
@@ -202,6 +208,7 @@ lib/ayam/tcl/BWidget-1.2.1/lang/fr.rc
%%PORTDOCS%%%%DOCSDIR%%/html/pics/primitives.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/propgui.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/refine.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/remkn.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/revolve.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/shiftclsbsp.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/sgordon.gif
@@ -213,7 +220,9 @@ lib/ayam/tcl/BWidget-1.2.1/lang/fr.rc
%%PORTDOCS%%%%DOCSDIR%%/html/pics/text-ayam.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/tgui.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/tools.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/toxy.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/treeview.gif
+%%PORTDOCS%%%%DOCSDIR%%/html/pics/trimnc.gif
%%PORTDOCS%%%%DOCSDIR%%/html/pics/view.gif
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html/pics
%%PORTDOCS%%@dirrm %%DOCSDIR%%/html