riley@mipsdal.mips.com (Riley Rainey) (03/02/91)
Submitted-by: riley@mipsdal.mips.com (Riley Rainey) Posting-number: Volume 12, Issue 10 Archive-name: acm/part05 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 5 (of 9)." # Contents: acm/V/lib/Makefile acm/V/test/fullrwy acm/V/test/rwy # acm/fsim/missile.c # Wrapped by riley@mipsdal on Thu Feb 14 10:09:19 1991 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'acm/V/lib/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'acm/V/lib/Makefile'\" else echo shar: Extracting \"'acm/V/lib/Makefile'\" \(11709 characters\) sed "s/^X//" >'acm/V/lib/Makefile' <<'END_OF_FILE' X# Makefile generated by imake - do not edit! X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $ X X########################################################################### X# Makefile generated from "Imake.tmpl" and <Imakefile> X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $ X# X# Platform-specific parameters may be set in the appropriate .cf X# configuration files. Site-wide parameters may be set in the file X# site.def. Full rebuilds are recommended if any parameters are changed. X# X# If your C preprocessor doesn't define any unique symbols, you'll need X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing X# "make Makefile", "make Makefiles", or "make World"). X# X# If you absolutely can't get imake to work, you'll need to set the X# variables at the top of each Makefile as well as the dependencies at the X# bottom (makedepend will do this automatically). X# X X########################################################################### X# platform-specific configuration parameters - edit Mips.cf to change X X# platform: $XConsortium: Mips.cf,v 1.2 89/01/11 14:58:19 jim Exp $ X# operating system: RISCOS X X SYSVTYPE = -systype sysv X BSDTYPE = -systype bsd43 X SYSVDEFS = -DMips -DSYSV X BSDDEFS = -DMips -DBSD43 X SYSVINCS = -I$(DESTDIR)/usr/include/bsd X BSDINCS = X SYSVLIBS = -lbsd -lmld X BSDLIBS = -lmld X X SYSTYPE = $(BSDTYPE) X SYSDEFS = $(BSDDEFS) X SYSINCS = $(BSDINCS) X SYSLIBS = $(BSDLIBS) X X OPTIM = -O -Olimit 2000 -Wf,-XNd8400,-XNp12000 X CCOPT = -signed X DEFINES = -D_NO_PROTO XSYSVCFLAGS = $(OPTIM) $(CCOPT) $(SYSVTYPE) $(INCLUDES) $(SYSVDEFS) $(SYSVINCS) $(DEFINES) X BSDCFLAGS = $(OPTIM) $(CCOPT) $(BSDTYPE) $(INCLUDES) $(BSDDEFS) $(BSDINCS) $(DEFINES) X X ETCDIR = /etc X ULIBDIR = /usr/lib X X XINSTALLDIR = RISCwindows4.0 X INSTALLFLAGS = -m 0555 X RS1210DIR = $(DESTDIR)/usr/$(XINSTALLDIR)/RS1210 X CONTRIBBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/bin XCONTRIBAPPSDEFDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/lib/app-defaults X CONTRIBMANDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/man X CONTRIBSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/src X RS1210LIBDIR = $(LIBDIR)/ncd X X BINPATH = /usr/bin/X11 X LIBPATH = /usr/lib/X11 X ETCPATH = /usr/etc/X11 X ADMPATH = /usr/adm X NCDPATH = /usr/X11/ncd X NCDLIBPATH = $(LIBPATH)/ncd X XINITPATH = $(LIBPATH)/xinit X XDMPATH = $(ETCPATH)/xdm X UWMPATH = $(LIBPATH)/uwm X AWMPATH = $(LIBPATH)/awm X MWMPATH = $(LIBPATH)/mwm X TWMPATH = $(LIBPATH)/twm X XAPPLOADPATH = $(LIBPATH)/app-defaults X RS1210SRC = $(TOP)/rs1210 X X MOTIFSRC = $(TOP)/motif X MLIBSRC = $(MOTIFSRC)/lib X MCLIENTSRC = $(MOTIFSRC)/clients X MDEMOSRC = $(MOTIFSRC)/demos X MTOOLKITSRC = $(MOTIFSRC)/X11R4/lib/Xt X MWIDGETSRC = $(MLIBSRC)/Xm X INCLUDEXMSRC = $(MLIBSRC)/Xm X MRESOURCESRC = $(MLIBSRC)/Mrm X MWMDIR = $(LIBDIR)/Mwm X DEMOBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/bin X DEMOSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/src X MINCLUDE = $(TOP)/include X UILSRC = $(MCLIENTSRC)/uil X UIL = $(UILSRC)/uil X X XMTOOLLIB = $(MTOOLKITSRC)/libXt.a X XMLIB = $(MWIDGETSRC)/libXm.a X MRESOURCELIB = $(MRESOURCESRC)/libMrm.a X UILLIB = $(UILSRC)/libUil.a X X BUILDTOOLSDIR = $(TOP)/buildtools XCROSSENVOVERRIDE= DESTROOT=/ COMP_TARGET_ROOT=/ ETCDIR=/etc ULIBDIR=/usr/lib X X########################################################################### X# site-specific configuration parameters - edit site.def to change X X# site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $ X X SHELL = /bin/sh X X TOP = ../../. X CURRENT_DIR = ./V/lib X X AR = ar clr X BOOTSTRAPCFLAGS = $(SYSDEFS) X CC = cc X X COMPRESS = compress X CPP = /lib/cpp $(STD_CPP_DEFINES) X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES) X INSTALL = $(ETCDIR)/mipsinstall X LD = ld X LINT = lint X LINTLIBFLAG = -C X LINTOPTS = -axz X LN = ln -s X MAKE = make ETCDIR='$(ETCDIR)' ULIBDIR='$(ULIBDIR)' X MV = mv X CP = cp X RANLIB = /bin/true X RANLIBINSTFLAGS = X RM = rm -f X STD_INCLUDES = X STD_CPP_DEFINES = $(SYSDEFS) X STD_DEFINES = $(SYSDEFS) $(SYSINCS) X EXTRA_LOAD_FLAGS = X EXTRA_LIBRARIES = $(SYSLIBS) X TAGS = ctags X X SIGNAL_DEFINES = -DSIGNALRETURNSINT X X PROTO_DEFINES = X X INSTPGMFLAGS = X X INSTBINFLAGS = -m 0755 X INSTUIDFLAGS = -m 4755 X INSTLIBFLAGS = -m 0664 X INSTINCFLAGS = -m 0444 X INSTMANFLAGS = -m 0444 X INSTDATFLAGS = -m 0444 X INSTKMEMFLAGS = -g sys -m 2755 X X DESTDIR = $(DESTROOT) X X TOP_INCLUDES = -I$(INCROOT) X X CDEBUGFLAGS = $(OPTIM) $(CCOPT) $(SYSTYPE) X CCOPTIONS = X COMPATFLAGS = X X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES) X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS) $(EXT_DEFINES) X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES) X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) X LDCOMBINEFLAGS = -X -r X X MACROFILE = Mips.cf X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.u *.b X X IMAKE_DEFINES = X X IRULESRC = $(CONFIGDIR) X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) X X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \ X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \ X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES) X X########################################################################### X# X Window System Build Parameters X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $ X X########################################################################### X# X Window System make variables; this need to be coordinated with rules X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $ X X PATHSEP = / X USRLIBDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/lib X BINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/bin X INCROOT = $(DESTDIR)/usr/$(XINSTALLDIR)/include X BUILDINCROOT = $(TOP) X BUILDINCDIR = $(BUILDINCROOT)/X11 X BUILDINCTOP = .. X INCDIR = $(INCROOT)/X11 X ADMDIR = $(DESTDIR)/usr/adm X LIBDIR = $(USRLIBDIR)/X11 X CONFIGDIR = $(LIBDIR)/config X LINTLIBDIR = $(USRLIBDIR)/lint X X FONTDIR = $(LIBDIR)/fonts X XINITDIR = $(LIBDIR)/xinit X XDMDIR = $(DESTDIR)/usr/X11/etc/xdm X AWMDIR = $(LIBDIR)/awm X TWMDIR = $(LIBDIR)/twm X GWMDIR = $(LIBDIR)/gwm X MANPATH = $(DESTDIR)/usr/$(XINSTALLDIR)/man/cat X MANSOURCEPATH = $(MANPATH)/man X MANDIR = $(MANSOURCEPATH)1 X LIBMANDIR = $(MANSOURCEPATH)3 X XAPPLOADDIR = $(LIBDIR)/app-defaults X X FONTCFLAGS = -t X X INSTAPPFLAGS = $(INSTDATFLAGS) X X IMAKE = imake X DEPEND = makedepend X RGB = rgb X FONTC = bdftosnf X MKFONTDIR = mkfontdir X MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh X X CONFIGSRC = $(TOP)/config X CLIENTSRC = $(TOP)/clients X DEMOSRC = $(TOP)/demos X LIBSRC = $(TOP)/lib X FONTSRC = $(TOP)/fonts X INCLUDESRC = $(TOP)/X11 X SERVERSRC = $(TOP)/server X UTILSRC = $(TOP)/util X SCRIPTSRC = $(UTILSRC)/scripts X EXAMPLESRC = $(TOP)/examples X CONTRIBSRC = $(TOP)/../contrib X DOCSRC = $(TOP)/doc X RGBSRC = $(TOP)/rgb X DEPENDSRC = $(UTILSRC)/makedepend X IMAKESRC = $(CONFIGSRC) X XAUTHSRC = $(LIBSRC)/Xau X XLIBSRC = $(LIBSRC)/X X XMUSRC = $(LIBSRC)/Xmu X TOOLKITSRC = $(LIBSRC)/Xt X AWIDGETSRC = $(LIBSRC)/Xaw X OLDXLIBSRC = $(LIBSRC)/oldX X XDMCPLIBSRC = $(LIBSRC)/Xdmcp X BDFTOSNFSRC = $(FONTSRC)/bdftosnf X MKFONTDIRSRC = $(FONTSRC)/mkfontdir X EXTENSIONSRC = $(TOP)/extensions X X DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a X EXTENSIONLIB = -lXext X X DEPXLIB = $(DEPEXTENSIONLIB) $(USRLIBDIR)/libX11.a X XLIB = $(EXTENSIONLIB) -lX11 X X DEPXAUTHLIB = $(USRLIBDIR)/libXau.a X XAUTHLIB = -lXau X X DEPXMULIB = $(USRLIBDIR)/libXmu.a X XMULIB = -lXmu X X DEPOLDXLIB = $(USRLIBDIR)/liboldX.a X OLDXLIB = -loldX X X DEPXTOOLLIB = $(USRLIBDIR)/libXt.a X XTOOLLIB = -lXt X X DEPXAWLIB = $(USRLIBDIR)/libXaw.a X XAWLIB = -lXaw X X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln X LINTXLIB = $(USRLIBDIR)/llib-lX11.ln X LINTXMU = $(USRLIBDIR)/llib-lXmu.ln X LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln X LINTXAW = $(USRLIBDIR)/llib-lXaw.ln X X DEPLIBS = $(LOCAL_LIBRARIES) X X DEPLIBS1 = $(DEPLIBS) X DEPLIBS2 = $(DEPLIBS) X DEPLIBS3 = $(DEPLIBS) X X########################################################################### X# Imake rules for building libraries, programs, scripts, and data files X# rules: $XConsortium: Imake.rules,v 1.70 90/05/04 16:57:30 keith Exp $ X X########################################################################### X# start of Imakefile X XCDEBUGFLAGS = -systype bsd43 -O X XSRCS = \ X VOpenVp.c \ X VResizeVp.c \ X VCloseVp.c \ X VGetEyeSpace.c \ X VGetPlanes.c \ X VReadObject.c \ X VWriteObject.c \ X VAllocColor.c \ X VBindColors.c \ X VExpBuffer.c \ X VCrPoly.c \ X VCrPoints.c \ X VCopyPoly.c \ X VDrawPoly.c \ X VFillPoly.c \ X VDrawString.c \ X VClipPoly.c \ X VDotProd.c \ X VCrossProd.c \ X VRotate.c \ X VTransPoly.c \ X VWorldToScr.c \ X VEyeToScr.c \ X VTrans.c \ X VIdentMat.c \ X VMatMult.c \ X VMatDet.c \ X VMatInvert.c \ X VPrintPoly.c \ X Vmalloc.c \ X strdup.c X XOBJS = \ X VOpenVp.o \ X VResizeVp.o \ X VCloseVp.o \ X VGetEyeSpace.o \ X VGetPlanes.o \ X VReadObject.o \ X VWriteObject.o \ X VAllocColor.o \ X VBindColors.o \ X VExpBuffer.o \ X VCrPoly.o \ X VCrPoints.o \ X VCopyPoly.o \ X VDrawPoly.o \ X VFillPoly.o \ X VDrawString.o \ X VClipPoly.o \ X VDotProd.o \ X VCrossProd.o \ X VRotate.o \ X VTransPoly.o \ X VWorldToScr.o \ X VEyeToScr.o \ X VTrans.o \ X VIdentMat.o \ X VMatMult.o \ X VMatDet.o \ X VMatInvert.o \ X VPrintPoly.o \ X Vmalloc.o \ X strdup.o X Xall:: libV.a X XlibV.a: $(OBJS) X $(RM) $@ X $(AR) $(ARFLAGS) $@ $(OBJS) X $(RANLIB) $@ X Xdepend:: X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS) X X########################################################################### X# common rules for all Makefiles - do not edit X Xemptyrule:: X Xclean:: X $(RM_CMD) \#* X XMakefile:: X -@if [ -f Makefile ]; then \ X echo " $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \ X $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \ X else exit 0; fi X $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) X Xtags:: X $(TAGS) -w *.[ch] X $(TAGS) -xw *.[ch] > TAGS X X########################################################################### X# empty rules for directories that do not have SUBDIRS - do not edit X Xinstall:: X @echo "install in $(CURRENT_DIR) done" X Xinstall.man:: X @echo "install.man in $(CURRENT_DIR) done" X XMakefiles:: X Xincludes:: X X########################################################################### X# dependencies generated by makedepend X END_OF_FILE if test 11709 -ne `wc -c <'acm/V/lib/Makefile'`; then echo shar: \"'acm/V/lib/Makefile'\" unpacked with wrong size! fi # end of 'acm/V/lib/Makefile' fi if test -f 'acm/V/test/fullrwy' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'acm/V/test/fullrwy'\" else echo shar: Extracting \"'acm/V/test/fullrwy'\" \(11276 characters\) sed "s/^X//" >'acm/V/test/fullrwy' <<'END_OF_FILE' XRunway X280 69 X1 0.000000 -75.000000 0.000000 X2 12000.000000 -75.000000 0.000000 X3 12000.000000 75.000000 0.000000 X4 0.000000 75.000000 0.000000 X5 0.000000 -75.000000 0.000000 X6 12000.000000 -75.000000 0.000000 X7 12000.000000 -70.000000 0.000000 X8 0.000000 -70.000000 0.000000 X9 0.000000 75.000000 0.000000 X10 12000.000000 75.000000 0.000000 X11 12000.000000 70.000000 0.000000 X12 0.000000 70.000000 0.000000 X13 1000.000000 -66.000000 0.000000 X14 1125.000000 -66.000000 0.000000 X15 1125.000000 -36.000000 0.000000 X16 1000.000000 -36.000000 0.000000 X17 1000.000000 66.000000 0.000000 X18 1125.000000 66.000000 0.000000 X19 1125.000000 36.000000 0.000000 X20 1000.000000 36.000000 0.000000 X21 11000.000000 -66.000000 0.000000 X22 10875.000000 -66.000000 0.000000 X23 10875.000000 -36.000000 0.000000 X24 11000.000000 -36.000000 0.000000 X25 11000.000000 66.000000 0.000000 X26 10875.000000 66.000000 0.000000 X27 10875.000000 36.000000 0.000000 X28 11000.000000 36.000000 0.000000 X29 4.000000 -66.000000 0.000000 X30 129.000000 -66.000000 0.000000 X31 129.000000 -54.888889 0.000000 X32 4.000000 -54.888889 0.000000 X33 4.000000 -50.888889 0.000000 X34 129.000000 -50.888889 0.000000 X35 129.000000 -39.777779 0.000000 X36 4.000000 -39.777779 0.000000 X37 4.000000 -35.777779 0.000000 X38 129.000000 -35.777779 0.000000 X39 129.000000 -24.666666 0.000000 X40 4.000000 -24.666666 0.000000 X41 4.000000 -20.666666 0.000000 X42 129.000000 -20.666666 0.000000 X43 129.000000 -9.555555 0.000000 X44 4.000000 -9.555555 0.000000 X45 4.000000 9.555555 0.000000 X46 129.000000 9.555555 0.000000 X47 129.000000 20.666666 0.000000 X48 4.000000 20.666666 0.000000 X49 4.000000 24.666666 0.000000 X50 129.000000 24.666666 0.000000 X51 129.000000 35.777779 0.000000 X52 4.000000 35.777779 0.000000 X53 4.000000 39.777779 0.000000 X54 129.000000 39.777779 0.000000 X55 129.000000 50.888889 0.000000 X56 4.000000 50.888889 0.000000 X57 4.000000 54.888889 0.000000 X58 129.000000 54.888889 0.000000 X59 129.000000 66.000000 0.000000 X60 4.000000 66.000000 0.000000 X61 11996.000000 -66.000000 0.000000 X62 11871.000000 -66.000000 0.000000 X63 11871.000000 -54.888889 0.000000 X64 11996.000000 -54.888889 0.000000 X65 11996.000000 -50.888889 0.000000 X66 11871.000000 -50.888889 0.000000 X67 11871.000000 -39.777779 0.000000 X68 11996.000000 -39.777779 0.000000 X69 11996.000000 -35.777779 0.000000 X70 11871.000000 -35.777779 0.000000 X71 11871.000000 -24.666666 0.000000 X72 11996.000000 -24.666666 0.000000 X73 11996.000000 -20.666666 0.000000 X74 11871.000000 -20.666666 0.000000 X75 11871.000000 -9.555555 0.000000 X76 11996.000000 -9.555555 0.000000 X77 11996.000000 9.555555 0.000000 X78 11871.000000 9.555555 0.000000 X79 11871.000000 20.666666 0.000000 X80 11996.000000 20.666666 0.000000 X81 11996.000000 24.666666 0.000000 X82 11871.000000 24.666666 0.000000 X83 11871.000000 35.777779 0.000000 X84 11996.000000 35.777779 0.000000 X85 11996.000000 39.777779 0.000000 X86 11871.000000 39.777779 0.000000 X87 11871.000000 50.888889 0.000000 X88 11996.000000 50.888889 0.000000 X89 11996.000000 54.888889 0.000000 X90 11871.000000 54.888889 0.000000 X91 11871.000000 66.000000 0.000000 X92 11996.000000 66.000000 0.000000 X93 258.000000 -2.500000 0.000000 X94 383.000000 -2.500000 0.000000 X95 383.000000 2.500000 0.000000 X96 258.000000 2.500000 0.000000 X97 508.000000 -2.500000 0.000000 X98 633.000000 -2.500000 0.000000 X99 633.000000 2.500000 0.000000 X100 508.000000 2.500000 0.000000 X101 758.000000 -2.500000 0.000000 X102 883.000000 -2.500000 0.000000 X103 883.000000 2.500000 0.000000 X104 758.000000 2.500000 0.000000 X105 1008.000000 -2.500000 0.000000 X106 1133.000000 -2.500000 0.000000 X107 1133.000000 2.500000 0.000000 X108 1008.000000 2.500000 0.000000 X109 1258.000000 -2.500000 0.000000 X110 1383.000000 -2.500000 0.000000 X111 1383.000000 2.500000 0.000000 X112 1258.000000 2.500000 0.000000 X113 1508.000000 -2.500000 0.000000 X114 1633.000000 -2.500000 0.000000 X115 1633.000000 2.500000 0.000000 X116 1508.000000 2.500000 0.000000 X117 1758.000000 -2.500000 0.000000 X118 1883.000000 -2.500000 0.000000 X119 1883.000000 2.500000 0.000000 X120 1758.000000 2.500000 0.000000 X121 2008.000000 -2.500000 0.000000 X122 2133.000000 -2.500000 0.000000 X123 2133.000000 2.500000 0.000000 X124 2008.000000 2.500000 0.000000 X125 2258.000000 -2.500000 0.000000 X126 2383.000000 -2.500000 0.000000 X127 2383.000000 2.500000 0.000000 X128 2258.000000 2.500000 0.000000 X129 2508.000000 -2.500000 0.000000 X130 2633.000000 -2.500000 0.000000 X131 2633.000000 2.500000 0.000000 X132 2508.000000 2.500000 0.000000 X133 2758.000000 -2.500000 0.000000 X134 2883.000000 -2.500000 0.000000 X135 2883.000000 2.500000 0.000000 X136 2758.000000 2.500000 0.000000 X137 3008.000000 -2.500000 0.000000 X138 3133.000000 -2.500000 0.000000 X139 3133.000000 2.500000 0.000000 X140 3008.000000 2.500000 0.000000 X141 3258.000000 -2.500000 0.000000 X142 3383.000000 -2.500000 0.000000 X143 3383.000000 2.500000 0.000000 X144 3258.000000 2.500000 0.000000 X145 3508.000000 -2.500000 0.000000 X146 3633.000000 -2.500000 0.000000 X147 3633.000000 2.500000 0.000000 X148 3508.000000 2.500000 0.000000 X149 3758.000000 -2.500000 0.000000 X150 3883.000000 -2.500000 0.000000 X151 3883.000000 2.500000 0.000000 X152 3758.000000 2.500000 0.000000 X153 4008.000000 -2.500000 0.000000 X154 4133.000000 -2.500000 0.000000 X155 4133.000000 2.500000 0.000000 X156 4008.000000 2.500000 0.000000 X157 4258.000000 -2.500000 0.000000 X158 4383.000000 -2.500000 0.000000 X159 4383.000000 2.500000 0.000000 X160 4258.000000 2.500000 0.000000 X161 4508.000000 -2.500000 0.000000 X162 4633.000000 -2.500000 0.000000 X163 4633.000000 2.500000 0.000000 X164 4508.000000 2.500000 0.000000 X165 4758.000000 -2.500000 0.000000 X166 4883.000000 -2.500000 0.000000 X167 4883.000000 2.500000 0.000000 X168 4758.000000 2.500000 0.000000 X169 5008.000000 -2.500000 0.000000 X170 5133.000000 -2.500000 0.000000 X171 5133.000000 2.500000 0.000000 X172 5008.000000 2.500000 0.000000 X173 5258.000000 -2.500000 0.000000 X174 5383.000000 -2.500000 0.000000 X175 5383.000000 2.500000 0.000000 X176 5258.000000 2.500000 0.000000 X177 5508.000000 -2.500000 0.000000 X178 5633.000000 -2.500000 0.000000 X179 5633.000000 2.500000 0.000000 X180 5508.000000 2.500000 0.000000 X181 5758.000000 -2.500000 0.000000 X182 5883.000000 -2.500000 0.000000 X183 5883.000000 2.500000 0.000000 X184 5758.000000 2.500000 0.000000 X185 6008.000000 -2.500000 0.000000 X186 6133.000000 -2.500000 0.000000 X187 6133.000000 2.500000 0.000000 X188 6008.000000 2.500000 0.000000 X189 6258.000000 -2.500000 0.000000 X190 6383.000000 -2.500000 0.000000 X191 6383.000000 2.500000 0.000000 X192 6258.000000 2.500000 0.000000 X193 6508.000000 -2.500000 0.000000 X194 6633.000000 -2.500000 0.000000 X195 6633.000000 2.500000 0.000000 X196 6508.000000 2.500000 0.000000 X197 6758.000000 -2.500000 0.000000 X198 6883.000000 -2.500000 0.000000 X199 6883.000000 2.500000 0.000000 X200 6758.000000 2.500000 0.000000 X201 7008.000000 -2.500000 0.000000 X202 7133.000000 -2.500000 0.000000 X203 7133.000000 2.500000 0.000000 X204 7008.000000 2.500000 0.000000 X205 7258.000000 -2.500000 0.000000 X206 7383.000000 -2.500000 0.000000 X207 7383.000000 2.500000 0.000000 X208 7258.000000 2.500000 0.000000 X209 7508.000000 -2.500000 0.000000 X210 7633.000000 -2.500000 0.000000 X211 7633.000000 2.500000 0.000000 X212 7508.000000 2.500000 0.000000 X213 7758.000000 -2.500000 0.000000 X214 7883.000000 -2.500000 0.000000 X215 7883.000000 2.500000 0.000000 X216 7758.000000 2.500000 0.000000 X217 8008.000000 -2.500000 0.000000 X218 8133.000000 -2.500000 0.000000 X219 8133.000000 2.500000 0.000000 X220 8008.000000 2.500000 0.000000 X221 8258.000000 -2.500000 0.000000 X222 8383.000000 -2.500000 0.000000 X223 8383.000000 2.500000 0.000000 X224 8258.000000 2.500000 0.000000 X225 8508.000000 -2.500000 0.000000 X226 8633.000000 -2.500000 0.000000 X227 8633.000000 2.500000 0.000000 X228 8508.000000 2.500000 0.000000 X229 8758.000000 -2.500000 0.000000 X230 8883.000000 -2.500000 0.000000 X231 8883.000000 2.500000 0.000000 X232 8758.000000 2.500000 0.000000 X233 9008.000000 -2.500000 0.000000 X234 9133.000000 -2.500000 0.000000 X235 9133.000000 2.500000 0.000000 X236 9008.000000 2.500000 0.000000 X237 9258.000000 -2.500000 0.000000 X238 9383.000000 -2.500000 0.000000 X239 9383.000000 2.500000 0.000000 X240 9258.000000 2.500000 0.000000 X241 9508.000000 -2.500000 0.000000 X242 9633.000000 -2.500000 0.000000 X243 9633.000000 2.500000 0.000000 X244 9508.000000 2.500000 0.000000 X245 9758.000000 -2.500000 0.000000 X246 9883.000000 -2.500000 0.000000 X247 9883.000000 2.500000 0.000000 X248 9758.000000 2.500000 0.000000 X249 10008.000000 -2.500000 0.000000 X250 10133.000000 -2.500000 0.000000 X251 10133.000000 2.500000 0.000000 X252 10008.000000 2.500000 0.000000 X253 10258.000000 -2.500000 0.000000 X254 10383.000000 -2.500000 0.000000 X255 10383.000000 2.500000 0.000000 X256 10258.000000 2.500000 0.000000 X257 10508.000000 -2.500000 0.000000 X258 10633.000000 -2.500000 0.000000 X259 10633.000000 2.500000 0.000000 X260 10508.000000 2.500000 0.000000 X261 10758.000000 -2.500000 0.000000 X262 10883.000000 -2.500000 0.000000 X263 10883.000000 2.500000 0.000000 X264 10758.000000 2.500000 0.000000 X265 11008.000000 -2.500000 0.000000 X266 11133.000000 -2.500000 0.000000 X267 11133.000000 2.500000 0.000000 X268 11008.000000 2.500000 0.000000 X269 11258.000000 -2.500000 0.000000 X270 11383.000000 -2.500000 0.000000 X271 11383.000000 2.500000 0.000000 X272 11258.000000 2.500000 0.000000 X273 11508.000000 -2.500000 0.000000 X274 11633.000000 -2.500000 0.000000 X275 11633.000000 2.500000 0.000000 X276 11508.000000 2.500000 0.000000 X277 11758.000000 -2.500000 0.000000 X278 11883.000000 -2.500000 0.000000 X279 11883.000000 2.500000 0.000000 X280 11758.000000 2.500000 0.000000 Xblack 4 1 2 3 4 Xwhite 4 5 6 7 8 Xwhite 4 9 10 11 12 Xwhite 4 13 14 15 16 Xwhite 4 17 18 19 20 Xwhite 4 21 22 23 24 Xwhite 4 25 26 27 28 Xwhite 4 29 30 31 32 Xwhite 4 33 34 35 36 Xwhite 4 37 38 39 40 Xwhite 4 41 42 43 44 Xwhite 4 45 46 47 48 Xwhite 4 49 50 51 52 Xwhite 4 53 54 55 56 Xwhite 4 57 58 59 60 Xwhite 4 61 62 63 64 Xwhite 4 65 66 67 68 Xwhite 4 69 70 71 72 Xwhite 4 73 74 75 76 Xwhite 4 77 78 79 80 Xwhite 4 81 82 83 84 Xwhite 4 85 86 87 88 Xwhite 4 89 90 91 92 Xwhite 4 93 94 95 96 Xwhite 4 97 98 99 100 Xwhite 4 101 102 103 104 Xwhite 4 105 106 107 108 Xwhite 4 109 110 111 112 Xwhite 4 113 114 115 116 Xwhite 4 117 118 119 120 Xwhite 4 121 122 123 124 Xwhite 4 125 126 127 128 Xwhite 4 129 130 131 132 Xwhite 4 133 134 135 136 Xwhite 4 137 138 139 140 Xwhite 4 141 142 143 144 Xwhite 4 145 146 147 148 Xwhite 4 149 150 151 152 Xwhite 4 153 154 155 156 Xwhite 4 157 158 159 160 Xwhite 4 161 162 163 164 Xwhite 4 165 166 167 168 Xwhite 4 169 170 171 172 Xwhite 4 173 174 175 176 Xwhite 4 177 178 179 180 Xwhite 4 181 182 183 184 Xwhite 4 185 186 187 188 Xwhite 4 189 190 191 192 Xwhite 4 193 194 195 196 Xwhite 4 197 198 199 200 Xwhite 4 201 202 203 204 Xwhite 4 205 206 207 208 Xwhite 4 209 210 211 212 Xwhite 4 213 214 215 216 Xwhite 4 217 218 219 220 Xwhite 4 221 222 223 224 Xwhite 4 225 226 227 228 Xwhite 4 229 230 231 232 Xwhite 4 233 234 235 236 Xwhite 4 237 238 239 240 Xwhite 4 241 242 243 244 Xwhite 4 245 246 247 248 Xwhite 4 249 250 251 252 Xwhite 4 253 254 255 256 Xwhite 4 257 258 259 260 Xwhite 4 261 262 263 264 Xwhite 4 265 266 267 268 Xwhite 4 269 270 271 272 Xwhite 4 273 274 275 276 Xwhite 4 277 278 279 280 END_OF_FILE if test 11276 -ne `wc -c <'acm/V/test/fullrwy'`; then echo shar: \"'acm/V/test/fullrwy'\" unpacked with wrong size! fi # end of 'acm/V/test/fullrwy' fi if test -f 'acm/V/test/rwy' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'acm/V/test/rwy'\" else echo shar: Extracting \"'acm/V/test/rwy'\" \(11259 characters\) sed "s/^X//" >'acm/V/test/rwy' <<'END_OF_FILE' XRunway X280 69 X1 0.000000 -75.000000 0.000000 X2 12000.000000 -75.000000 0.000000 X3 12000.000000 75.000000 0.000000 X4 0.000000 75.000000 0.000000 X5 0.000000 -75.000000 0.000000 X6 12000.000000 -75.000000 0.000000 X7 12000.000000 -70.000000 0.000000 X8 0.000000 -70.000000 0.000000 X9 0.000000 75.000000 0.000000 X10 12000.000000 75.000000 0.000000 X11 12000.000000 70.000000 0.000000 X12 0.000000 70.000000 0.000000 X13 1000.000000 -66.000000 0.000000 X14 1125.000000 -66.000000 0.000000 X15 1125.000000 -36.000000 0.000000 X16 1000.000000 -36.000000 0.000000 X17 1000.000000 66.000000 0.000000 X18 1125.000000 66.000000 0.000000 X19 1125.000000 36.000000 0.000000 X20 1000.000000 36.000000 0.000000 X21 11000.000000 -66.000000 0.000000 X22 10875.000000 -66.000000 0.000000 X23 10875.000000 -36.000000 0.000000 X24 11000.000000 -36.000000 0.000000 X25 11000.000000 66.000000 0.000000 X26 10875.000000 66.000000 0.000000 X27 10875.000000 36.000000 0.000000 X28 11000.000000 36.000000 0.000000 X29 4.000000 -66.000000 0.000000 X30 129.000000 -66.000000 0.000000 X31 129.000000 -54.888889 0.000000 X32 4.000000 -54.888889 0.000000 X33 4.000000 -50.888889 0.000000 X34 129.000000 -50.888889 0.000000 X35 129.000000 -39.777779 0.000000 X36 4.000000 -39.777779 0.000000 X37 4.000000 -35.777779 0.000000 X38 129.000000 -35.777779 0.000000 X39 129.000000 -24.666666 0.000000 X40 4.000000 -24.666666 0.000000 X41 4.000000 -20.666666 0.000000 X42 129.000000 -20.666666 0.000000 X43 129.000000 -9.555555 0.000000 X44 4.000000 -9.555555 0.000000 X45 4.000000 9.555555 0.000000 X46 129.000000 9.555555 0.000000 X47 129.000000 20.666666 0.000000 X48 4.000000 20.666666 0.000000 X49 4.000000 24.666666 0.000000 X50 129.000000 24.666666 0.000000 X51 129.000000 35.777779 0.000000 X52 4.000000 35.777779 0.000000 X53 4.000000 39.777779 0.000000 X54 129.000000 39.777779 0.000000 X55 129.000000 50.888889 0.000000 X56 4.000000 50.888889 0.000000 X57 4.000000 54.888889 0.000000 X58 129.000000 54.888889 0.000000 X59 129.000000 66.000000 0.000000 X60 4.000000 66.000000 0.000000 X61 11996.000000 -66.000000 0.000000 X62 11871.000000 -66.000000 0.000000 X63 11871.000000 -54.888889 0.000000 X64 11996.000000 -54.888889 0.000000 X65 11996.000000 -50.888889 0.000000 X66 11871.000000 -50.888889 0.000000 X67 11871.000000 -39.777779 0.000000 X68 11996.000000 -39.777779 0.000000 X69 11996.000000 -35.777779 0.000000 X70 11871.000000 -35.777779 0.000000 X71 11871.000000 -24.666666 0.000000 X72 11996.000000 -24.666666 0.000000 X73 11996.000000 -20.666666 0.000000 X74 11871.000000 -20.666666 0.000000 X75 11871.000000 -9.555555 0.000000 X76 11996.000000 -9.555555 0.000000 X77 11996.000000 9.555555 0.000000 X78 11871.000000 9.555555 0.000000 X79 11871.000000 20.666666 0.000000 X80 11996.000000 20.666666 0.000000 X81 11996.000000 24.666666 0.000000 X82 11871.000000 24.666666 0.000000 X83 11871.000000 35.777779 0.000000 X84 11996.000000 35.777779 0.000000 X85 11996.000000 39.777779 0.000000 X86 11871.000000 39.777779 0.000000 X87 11871.000000 50.888889 0.000000 X88 11996.000000 50.888889 0.000000 X89 11996.000000 54.888889 0.000000 X90 11871.000000 54.888889 0.000000 X91 11871.000000 66.000000 0.000000 X92 11996.000000 66.000000 0.000000 X93 258.000000 -2.500000 0.000000 X94 383.000000 -2.500000 0.000000 X95 383.000000 2.500000 0.000000 X96 258.000000 2.500000 0.000000 X97 508.000000 -2.500000 0.000000 X98 633.000000 -2.500000 0.000000 X99 633.000000 2.500000 0.000000 X100 508.000000 2.500000 0.000000 X101 758.000000 -2.500000 0.000000 X102 883.000000 -2.500000 0.000000 X103 883.000000 2.500000 0.000000 X104 758.000000 2.500000 0.000000 X105 1008.000000 -2.500000 0.000000 X106 1133.000000 -2.500000 0.000000 X107 1133.000000 2.500000 0.000000 X108 1008.000000 2.500000 0.000000 X109 1258.000000 -2.500000 0.000000 X110 1383.000000 -2.500000 0.000000 X111 1383.000000 2.500000 0.000000 X112 1258.000000 2.500000 0.000000 X113 1508.000000 -2.500000 0.000000 X114 1633.000000 -2.500000 0.000000 X115 1633.000000 2.500000 0.000000 X116 1508.000000 2.500000 0.000000 X117 1758.000000 -2.500000 0.000000 X118 1883.000000 -2.500000 0.000000 X119 1883.000000 2.500000 0.000000 X120 1758.000000 2.500000 0.000000 X121 2008.000000 -2.500000 0.000000 X122 2133.000000 -2.500000 0.000000 X123 2133.000000 2.500000 0.000000 X124 2008.000000 2.500000 0.000000 X125 2258.000000 -2.500000 0.000000 X126 2383.000000 -2.500000 0.000000 X127 2383.000000 2.500000 0.000000 X128 2258.000000 2.500000 0.000000 X129 2508.000000 -2.500000 0.000000 X130 2633.000000 -2.500000 0.000000 X131 2633.000000 2.500000 0.000000 X132 2508.000000 2.500000 0.000000 X133 2758.000000 -2.500000 0.000000 X134 2883.000000 -2.500000 0.000000 X135 2883.000000 2.500000 0.000000 X136 2758.000000 2.500000 0.000000 X137 3008.000000 -2.500000 0.000000 X138 3133.000000 -2.500000 0.000000 X139 3133.000000 2.500000 0.000000 X140 3008.000000 2.500000 0.000000 X141 3258.000000 -2.500000 0.000000 X142 3383.000000 -2.500000 0.000000 X143 3383.000000 2.500000 0.000000 X144 3258.000000 2.500000 0.000000 X145 3508.000000 -2.500000 0.000000 X146 3633.000000 -2.500000 0.000000 X147 3633.000000 2.500000 0.000000 X148 3508.000000 2.500000 0.000000 X149 3758.000000 -2.500000 0.000000 X150 3883.000000 -2.500000 0.000000 X151 3883.000000 2.500000 0.000000 X152 3758.000000 2.500000 0.000000 X153 4008.000000 -2.500000 0.000000 X154 4133.000000 -2.500000 0.000000 X155 4133.000000 2.500000 0.000000 X156 4008.000000 2.500000 0.000000 X157 4258.000000 -2.500000 0.000000 X158 4383.000000 -2.500000 0.000000 X159 4383.000000 2.500000 0.000000 X160 4258.000000 2.500000 0.000000 X161 4508.000000 -2.500000 0.000000 X162 4633.000000 -2.500000 0.000000 X163 4633.000000 2.500000 0.000000 X164 4508.000000 2.500000 0.000000 X165 4758.000000 -2.500000 0.000000 X166 4883.000000 -2.500000 0.000000 X167 4883.000000 2.500000 0.000000 X168 4758.000000 2.500000 0.000000 X169 5008.000000 -2.500000 0.000000 X170 5133.000000 -2.500000 0.000000 X171 5133.000000 2.500000 0.000000 X172 5008.000000 2.500000 0.000000 X173 5258.000000 -2.500000 0.000000 X174 5383.000000 -2.500000 0.000000 X175 5383.000000 2.500000 0.000000 X176 5258.000000 2.500000 0.000000 X177 5508.000000 -2.500000 0.000000 X178 5633.000000 -2.500000 0.000000 X179 5633.000000 2.500000 0.000000 X180 5508.000000 2.500000 0.000000 X181 5758.000000 -2.500000 0.000000 X182 5883.000000 -2.500000 0.000000 X183 5883.000000 2.500000 0.000000 X184 5758.000000 2.500000 0.000000 X185 6008.000000 -2.500000 0.000000 X186 6133.000000 -2.500000 0.000000 X187 6133.000000 2.500000 0.000000 X188 6008.000000 2.500000 0.000000 X189 6258.000000 -2.500000 0.000000 X190 6383.000000 -2.500000 0.000000 X191 6383.000000 2.500000 0.000000 X192 6258.000000 2.500000 0.000000 X193 6508.000000 -2.500000 0.000000 X194 6633.000000 -2.500000 0.000000 X195 6633.000000 2.500000 0.000000 X196 6508.000000 2.500000 0.000000 X197 6758.000000 -2.500000 0.000000 X198 6883.000000 -2.500000 0.000000 X199 6883.000000 2.500000 0.000000 X200 6758.000000 2.500000 0.000000 X201 7008.000000 -2.500000 0.000000 X202 7133.000000 -2.500000 0.000000 X203 7133.000000 2.500000 0.000000 X204 7008.000000 2.500000 0.000000 X205 7258.000000 -2.500000 0.000000 X206 7383.000000 -2.500000 0.000000 X207 7383.000000 2.500000 0.000000 X208 7258.000000 2.500000 0.000000 X209 7508.000000 -2.500000 0.000000 X210 7633.000000 -2.500000 0.000000 X211 7633.000000 2.500000 0.000000 X212 7508.000000 2.500000 0.000000 X213 7758.000000 -2.500000 0.000000 X214 7883.000000 -2.500000 0.000000 X215 7883.000000 2.500000 0.000000 X216 7758.000000 2.500000 0.000000 X217 8008.000000 -2.500000 0.000000 X218 8133.000000 -2.500000 0.000000 X219 8133.000000 2.500000 0.000000 X220 8008.000000 2.500000 0.000000 X221 8258.000000 -2.500000 0.000000 X222 8383.000000 -2.500000 0.000000 X223 8383.000000 2.500000 0.000000 X224 8258.000000 2.500000 0.000000 X225 8508.000000 -2.500000 0.000000 X226 8633.000000 -2.500000 0.000000 X227 8633.000000 2.500000 0.000000 X228 8508.000000 2.500000 0.000000 X229 8758.000000 -2.500000 0.000000 X230 8883.000000 -2.500000 0.000000 X231 8883.000000 2.500000 0.000000 X232 8758.000000 2.500000 0.000000 X233 9008.000000 -2.500000 0.000000 X234 9133.000000 -2.500000 0.000000 X235 9133.000000 2.500000 0.000000 X236 9008.000000 2.500000 0.000000 X237 9258.000000 -2.500000 0.000000 X238 9383.000000 -2.500000 0.000000 X239 9383.000000 2.500000 0.000000 X240 9258.000000 2.500000 0.000000 X241 9508.000000 -2.500000 0.000000 X242 9633.000000 -2.500000 0.000000 X243 9633.000000 2.500000 0.000000 X244 9508.000000 2.500000 0.000000 X245 9758.000000 -2.500000 0.000000 X246 9883.000000 -2.500000 0.000000 X247 9883.000000 2.500000 0.000000 X248 9758.000000 2.500000 0.000000 X249 10008.000000 -2.500000 0.000000 X250 10133.000000 -2.500000 0.000000 X251 10133.000000 2.500000 0.000000 X252 10008.000000 2.500000 0.000000 X253 10258.000000 -2.500000 0.000000 X254 10383.000000 -2.500000 0.000000 X255 10383.000000 2.500000 0.000000 X256 10258.000000 2.500000 0.000000 X257 10508.000000 -2.500000 0.000000 X258 10633.000000 -2.500000 0.000000 X259 10633.000000 2.500000 0.000000 X260 10508.000000 2.500000 0.000000 X261 10758.000000 -2.500000 0.000000 X262 10883.000000 -2.500000 0.000000 X263 10883.000000 2.500000 0.000000 X264 10758.000000 2.500000 0.000000 X265 11008.000000 -2.500000 0.000000 X266 11133.000000 -2.500000 0.000000 X267 11133.000000 2.500000 0.000000 X268 11008.000000 2.500000 0.000000 X269 11258.000000 -2.500000 0.000000 X270 11383.000000 -2.500000 0.000000 X271 11383.000000 2.500000 0.000000 X272 11258.000000 2.500000 0.000000 X273 11508.000000 -2.500000 0.000000 X274 11633.000000 -2.500000 0.000000 X275 11633.000000 2.500000 0.000000 X276 11508.000000 2.500000 0.000000 X277 11758.000000 -2.500000 0.000000 X278 11883.000000 -2.500000 0.000000 X279 11883.000000 2.500000 0.000000 X280 11758.000000 2.500000 0.000000 Xwhite 4 5 6 7 8 Xwhite 4 9 10 11 12 Xwhite 4 13 14 15 16 Xwhite 4 17 18 19 20 Xwhite 4 21 22 23 24 Xwhite 4 25 26 27 28 Xwhite 4 29 30 31 32 Xwhite 4 33 34 35 36 Xwhite 4 37 38 39 40 Xwhite 4 41 42 43 44 Xwhite 4 45 46 47 48 Xwhite 4 49 50 51 52 Xwhite 4 53 54 55 56 Xwhite 4 57 58 59 60 Xwhite 4 61 62 63 64 Xwhite 4 65 66 67 68 Xwhite 4 69 70 71 72 Xwhite 4 73 74 75 76 Xwhite 4 77 78 79 80 Xwhite 4 81 82 83 84 Xwhite 4 85 86 87 88 Xwhite 4 89 90 91 92 Xwhite 4 93 94 95 96 Xwhite 4 97 98 99 100 Xwhite 4 101 102 103 104 Xwhite 4 105 106 107 108 Xwhite 4 109 110 111 112 Xwhite 4 113 114 115 116 Xwhite 4 117 118 119 120 Xwhite 4 121 122 123 124 Xwhite 4 125 126 127 128 Xwhite 4 129 130 131 132 Xwhite 4 133 134 135 136 Xwhite 4 137 138 139 140 Xwhite 4 141 142 143 144 Xwhite 4 145 146 147 148 Xwhite 4 149 150 151 152 Xwhite 4 153 154 155 156 Xwhite 4 157 158 159 160 Xwhite 4 161 162 163 164 Xwhite 4 165 166 167 168 Xwhite 4 169 170 171 172 Xwhite 4 173 174 175 176 Xwhite 4 177 178 179 180 Xwhite 4 181 182 183 184 Xwhite 4 185 186 187 188 Xwhite 4 189 190 191 192 Xwhite 4 193 194 195 196 Xwhite 4 197 198 199 200 Xwhite 4 201 202 203 204 Xwhite 4 205 206 207 208 Xwhite 4 209 210 211 212 Xwhite 4 213 214 215 216 Xwhite 4 217 218 219 220 Xwhite 4 221 222 223 224 Xwhite 4 225 226 227 228 Xwhite 4 229 230 231 232 Xwhite 4 233 234 235 236 Xwhite 4 237 238 239 240 Xwhite 4 241 242 243 244 Xwhite 4 245 246 247 248 Xwhite 4 249 250 251 252 Xwhite 4 253 254 255 256 Xwhite 4 257 258 259 260 Xwhite 4 261 262 263 264 Xwhite 4 265 266 267 268 Xwhite 4 269 270 271 272 Xwhite 4 273 274 275 276 Xwhite 4 277 278 279 280 END_OF_FILE if test 11259 -ne `wc -c <'acm/V/test/rwy'`; then echo shar: \"'acm/V/test/rwy'\" unpacked with wrong size! fi # end of 'acm/V/test/rwy' fi if test -f 'acm/fsim/missile.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'acm/fsim/missile.c'\" else echo shar: Extracting \"'acm/fsim/missile.c'\" \(10544 characters\) sed "s/^X//" >'acm/fsim/missile.c' <<'END_OF_FILE' X/* X * xflight : an aerial combat simulator for X X * X * Written by Riley Rainey, riley@mips.com X * X * Permission to use, copy, modify and distribute (without charge) this X * software, documentation, images, etc. is granted, provided that this X * comment and the author's name is retained. X * X */ X X#include "pm.h" X#include <math.h> X Xtypedef struct _entry { X double time; X double min; X craft *c; X struct _entry *next; X } entry; X X Xextern craftType *lookupCraft(); Xextern int mdebug; Xextern void lookForCannonImpacts(); Xextern void euler(); X Xint fireMissile (c) Xcraft *c; { X X register craft *m; X register int i; X VPoint s; X VPoint cY, mX, mY, mZ; X double v; X X for ((i=0, m= &mtbl[0]); i<MAXPROJECTILES; (++i, ++m)) X if (m->type == CT_FREE) { X m->type = CT_MISSILE; X break; X } X X if (i == MAXPROJECTILES) X return -1; X X m->cinfo = lookupCraft ("aim-9m"); X m->fuel = m->cinfo->maxFuel; X m->curThrust = m->cinfo->maxThrust; X X/* X * Build trihedral based on the launching aircraft's current velocity vector X * rather than simply it's current direction vector. X * X * (1) build a unit velocity vector. X * (2) calculate missiles local Z axis from X * plane's-y-axis CROSS missile's-unit-velocity-vector X * (3) calculate missile's Y axis. X */ X X if ((v = mag (c->Cg)) == 0.0) { X m->trihedral = c->trihedral; X m->Itrihedral = c->Itrihedral; X m->curRoll = c->curRoll; X m->curPitch = c->curPitch; X m->curHeading = c->curHeading; X } X else { X mX = c->Cg; X mX.x /= v; X mX.y /= v; X mX.z /= v; X cY.x = c->trihedral.m[0][1]; X cY.y = c->trihedral.m[1][1]; X cY.z = c->trihedral.m[2][1]; X X VCrossProd (&mX, &cY, &mZ); X VCrossProd (&mZ, &mX, &mY); X X m->trihedral.m[0][0] = mX.x; X m->trihedral.m[1][0] = mX.y; X m->trihedral.m[2][0] = mX.z; X m->trihedral.m[0][1] = mY.x; X m->trihedral.m[1][1] = mY.y; X m->trihedral.m[2][1] = mY.z; X m->trihedral.m[0][2] = mZ.x; X m->trihedral.m[1][2] = mZ.y; X m->trihedral.m[2][2] = mZ.z; X X transpose (&m->trihedral, &m->Itrihedral); X euler (m); X } X X m->Cg = c->Cg; X VTransform (&(c->cinfo->wStation[1]), &(c->trihedral), &s); X m->Sg.x = c->Sg.x + s.x; X m->Sg.y = c->Sg.y + s.y; X m->Sg.z = c->Sg.z + s.z; X m->armFuse = (int) (m->cinfo->armDelay / deltaT); X m->flags = FL_HAS_GYRO; X m->createTime = curTime; X X/* X * kludge X */ X X m->curRadarTarget = c->curRadarTarget; X X return 0; X} X Xint killMissile (c) Xcraft *c; { X X c->type = CT_FREE; X return 0; X} X Xint lookForImpacts () { X X craft *c, *m; X entry p[MAXPLAYERS], *list, *q, *r, *rprev; X VPoint v, s0; X double t, d; X int i, j; X X for (m=mtbl, i=0; i<MAXPROJECTILES; ++i, ++m) { X X if (m->type == CT_CANNON) { X lookForCannonImpacts (m); X continue; X } X else if (m->type != CT_MISSILE || m->armFuse > 0) X continue; X X list = (entry *) NULL; X for (c=ptbl, j=0; j<MAXPLAYERS; ++j, ++c) { X X if (c->type == CT_FREE) X continue; X X/* X * Reduce the relative motion of this object to a the parametric system X * of equations: X * x(t) = vx * t + s0x X * y(t) = vy * t + s0y X * z(t) = vz * t + s0z X * X * We can then compute the time of perigee (closest pass) along with X * the associated minimum distance. X */ X X v.x = c->Sg.x - c->prevSg.x - m->Sg.x + m->prevSg.x; X v.y = c->Sg.y - c->prevSg.y - m->Sg.y + m->prevSg.y; X v.z = c->Sg.z - c->prevSg.z - m->Sg.z + m->prevSg.z; X s0.x = c->prevSg.x - m->prevSg.x; X s0.y = c->prevSg.y - m->prevSg.y; X s0.z = c->prevSg.z - m->prevSg.z; X X/* X * Compute time of minimum distance between the two objects (note that units X * here are UPDATE_INTERVAL seconds). X */ X X t = - (v.x * s0.x + v.y * s0.y + v.z * s0.z) / X (v.x * v.x + v.y * v.y + v.z * v.z); X X if (mdebug) X printf ("perigee in %g seconds with player %d\n", X t*deltaT, j); X X/* X * If the closest pass occurs during this update interval, check for a hit. X * We'll build a linked list of all craft that this projectile may strike X * during this period, arranged in ascending order by time of "perigee" X * (closest pass). We'll then test for strikes. If a projectile misses X * the first object, then it may have struck subsequent objects in the X * list ... X */ X X/* X * One special case occurs when a target or missile's turn suddenly X * changes the perigee time from positive to negative. If the missile X * is within hitting range at t=0 and the time of perigee is negative, X * then zap 'em. X */ X X if (t < 0.0) { X d = sqrt (s0.x *s0.x + s0.y * s0.y + X s0.z * s0.z); X if (isMissileHit (d, c)) { X t = 0.0; X } X } X X if (t >= 0.0 && t <= 1.0) { X q = &p[j]; X if (list == (entry *) NULL) { X q->next = list; X list = q; X } X else if (list->time > t) { X q->next = list; X list = q; X } X else { X for (rprev=list, r=list->next; r != (entry *) NULL;) { X if (r->time > t) break; X rprev = r; X r = r->next; X } X rprev->next = q; X q->next = r; X } X q->time = t; X q->c = c; X q->min = sqrt (pow(v.x * t + s0.x, 2.0) + X pow (v.y * t + s0.y, 2.0) + X pow (v.z * t + s0.z, 2.0) ); X if (mdebug) X printf ("perigee %g feet; craft %d.\n", X q->min, j); X } X } X X/* X * Now look for missile hits in the list of perigees. X */ X X for (r=list; r != (entry *) NULL; r=r->next) X if (isMissileHit (r->min, r->c)) { X killMissile (m); X if (absorbDamage (r->c, 20) == 0) X killPlayer (r->c); X break; X } X } X X return(0); X} X X/*ARGSUSED*/ Xint isMissileHit (min, c) Xdouble min; Xcraft *c; { X X return (min < 50.0) ? 1 : 0; X} X X#define IRScanSlope 0.57735 X Xint isIRVisible (c, m, t) Xcraft *c; XVMatrix *m; XVPoint *t; { X X VPoint relPos; X X if (c->type == CT_FREE) X return 0; X X VTransform (&(c->Sg), m, t); X X if (t->z <= 0.0) X return 0; X X relPos.x = t->x / (t->z * IRScanSlope); X relPos.y = t->y / (t->z * IRScanSlope); X X return (sqrt(relPos.x*relPos.x + relPos.y*relPos.y) > 1.0) ? 0 : 1; X} X Xint getIRTarget (c, m, t) Xcraft *c; XVMatrix *m; XVPoint *t; { X X int i, n; X craft *p; X VPoint tNew, tMin; X double m1, min; X X if (c->curRadarTarget != -1 && isIRVisible(&ptbl[c->curRadarTarget], m, t)) X return c->curRadarTarget; X X/* X * Look for a target. Designate the closest one as a new target. X */ X X min = 1000000.0; X n = -1; X for (i=0, p=ptbl; i<MAXPLAYERS; ++i, ++p) { X if (p == c) X continue; X if (p->type != CT_FREE) X if (isIRVisible (p, m, &tNew)) { X m1 = mag(tNew); X if (m1 < min) { X n = i; X min = m1; X tMin = tNew; X } X } X } X X *t = tMin; X return n; X} X Xvoid createMissileEyeSpace (c, eyeSpace) Xcraft *c; XVMatrix *eyeSpace; { X X VPoint CntrInt, up, C1, C2; X VMatrix mtx, es; X double Hypotenuse, h1, SinA, CosA; X X/* X * Create an eyeSpace transformation matrix to convert from global to X * local coordinates. X */ X X CntrInt.x = c->Sg.x + c->trihedral.m[0][0]; X CntrInt.y = c->Sg.y + c->trihedral.m[1][0]; X CntrInt.z = c->Sg.z + c->trihedral.m[2][0]; X X/* X * If the missile has a gyroscope, then it can determine which way "down" is X * and, hence, compensate for gravity. Here, we'll compensate by pointing X * the nose of the missile up by a maximum of 12 degrees at all times. X */ X X if (c->flags & FL_HAS_GYRO) X if (c->curThrust > 0.0) X CntrInt.z += 0.208; X else X CntrInt.z += 0.30; X X up.x = c->Sg.x - c->trihedral.m[0][2]; X up.y = c->Sg.y - c->trihedral.m[1][2]; X up.z = c->Sg.z - c->trihedral.m[2][2]; X X VIdentMatrix (eyeSpace); X eyeSpace->m[0][3] = -c->Sg.x; X eyeSpace->m[1][3] = -c->Sg.y; X eyeSpace->m[2][3] = -c->Sg.z; X VTransform(&CntrInt, eyeSpace, &C1); X X VIdentMatrix (&mtx); X Hypotenuse = sqrt(C1.x * C1.x + C1.y * C1.y); X if (Hypotenuse > 0.0) { X CosA = C1.y / Hypotenuse; X SinA = C1.x / Hypotenuse; X mtx.m[0][0] = CosA; X mtx.m[1][0] = SinA; X mtx.m[0][1] = -SinA; X mtx.m[1][1] = CosA; X es = *eyeSpace; X VMatrixMult(&es, &mtx, eyeSpace); X } X X VTransform(&CntrInt, eyeSpace, &C2); X VIdentMatrix (&mtx); X Hypotenuse = sqrt(C2.y * C2.y + C2.z * C2.z); X if (Hypotenuse > 0.0) { X CosA = C2.y / Hypotenuse; X SinA = -C2.z / Hypotenuse; X mtx.m[1][1] = CosA; X mtx.m[2][1] = SinA; X mtx.m[1][2] = -SinA; X mtx.m[2][2] = CosA; X es = *eyeSpace; X VMatrixMult(&es, &mtx, eyeSpace); X } X X VTransform (&up, eyeSpace, &C2); X VIdentMatrix (&mtx); X h1 = sqrt (C2.y * C2.y + C2.z * C2.z); X Hypotenuse = sqrt(C2.x * C2.x + h1 * h1); X if (Hypotenuse > 0.0) { X CosA = h1 / Hypotenuse; X SinA = C2.x / Hypotenuse; X if (C2.z < 0.0) { X CosA = -CosA; X } X mtx.m[0][0] = CosA; X mtx.m[2][0] = SinA; X mtx.m[0][2] = -SinA; X mtx.m[2][2] = CosA; X es = *eyeSpace; X VMatrixMult(&es, &mtx, eyeSpace); X } X X VIdentMatrix (&mtx); X mtx.m[1][1] = 0.0; X mtx.m[2][1] = 1.0; X mtx.m[1][2] = 1.0; X mtx.m[2][2] = 0.0; X es = *eyeSpace; X VMatrixMult(&es, &mtx, eyeSpace); X X} X Xvoid trackTarget (c) Xcraft *c; { X X VMatrix eyeSpace, mtx, mtx1; X VPoint t, t1; X double v, h, m, maxTurnSlope, aMax = 30.0 * a; X double deltaRoll, deltaPitch, deltaYaw; X double cosR, sinR; X X createMissileEyeSpace (c, &eyeSpace); X X/* X * Now let's get to target tracking; the missile won't start tracking until X * 0.60 seconds has elapsed. Then, if we don't already have a target X * designated, get one. X */ X X if (curTime - c->createTime < 0.60) { X t.x = 0.0; X t.y = 0.0; X t.z = 1.0; X } X else if ((c->curRadarTarget = getIRTarget(c, &eyeSpace, &t)) == -1) { X if (mdebug) X printf ("Missile elects to self-destruct\n"); X killMissile (c); X return; X } X X t.x = t.x / t.z; X t.y = t.y / t.z; X X h = sqrt (t.x*t.x + t.y*t.y); X v = mag (c->Cg); X X/* X * We'll constrain missile turns to a 20 degree/second unless it's velocity X * would make that greater than 30g's. X */ X X if ((m=(v*v - aMax*aMax/4.0)) > 0.0) X maxTurnSlope = aMax / (2.0 * sqrt (m)) * deltaT; X X else X maxTurnSlope = 0.3639 * deltaT; X X if (mdebug) X printf ("slope = %g; maxTurnSlope = %g\n", h, maxTurnSlope); X X if (h > maxTurnSlope) { X t.x = t.x * maxTurnSlope / h; X t.y = t.y * maxTurnSlope / h; X } X X cosR = cos (c->curRoll); X sinR = sin (c->curRoll); X X deltaRoll = 0.0; X deltaPitch = atan (t.y); X deltaYaw = atan (t.x); X X/* X * Re-orient the velocity vector towards our new direction. X */ X X VIdentMatrix (&mtx); X if (deltaPitch != 0.0) X VRotate (&mtx, YRotation, - deltaPitch); X if (deltaYaw != 0.0) X VRotate (&mtx, ZRotation, deltaYaw); X VTransform (&(c->Cg), &(c->Itrihedral), &t); X VTransform (&t, &mtx, &t1); X VTransform (&t1, &(c->trihedral), &(c->Cg)); X X if (mdebug) X printf ("Missile changes: pitch: %g, yaw: %g.\n", X RADtoDEG(deltaPitch), RADtoDEG(deltaYaw)); X X buildEulerMatrix (deltaRoll, deltaPitch, deltaYaw, &mtx); X VMatrixMult (&mtx, &c->trihedral, &mtx1); X c->trihedral = mtx1; X X transpose (&c->trihedral, &c->Itrihedral); X euler (c); X X} END_OF_FILE if test 10544 -ne `wc -c <'acm/fsim/missile.c'`; then echo shar: \"'acm/fsim/missile.c'\" unpacked with wrong size! fi # end of 'acm/fsim/missile.c' fi echo shar: End of archive 5 \(of 9\). cp /dev/null ark5isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 9 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Riley Rainey Internet: riley@mips.com MIPS Computer Systems Phone: +1 214 770-7979 Dallas, Texas