diff -urdN ../../Tekkotsu_2.3/project/CVS/Entries ./CVS/Entries
--- ../../Tekkotsu_2.3/project/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./CVS/Entries	Wed Aug 10 11:03:30 2005
@@ -0,0 +1,17 @@
+/Environment.conf/1.11/Tue Jul 26 03:09:20 2005//Ttekkotsu-2_4
+/Makefile/1.105/Wed Jul  6 22:53:29 2005//Ttekkotsu-2_4
+/StartupBehavior.cc/1.69/Fri Jun 10 17:26:04 2005//Ttekkotsu-2_4
+/StartupBehavior.h/1.13/Wed Jun  1 05:48:07 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupBackgroundBehaviors.cc/1.18/Wed Jun  1 05:48:07 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupFileAccess.cc/1.7/Mon Jun  6 23:05:59 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupModeSwitch.cc/1.45/Tue Aug  9 23:15:47 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupStatusReports.cc/1.4/Wed Jan 12 22:37:26 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupTekkotsuMon.cc/1.21/Fri Aug  5 19:44:23 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupVision.cc/1.23/Sun Jul 10 20:03:11 2005//Ttekkotsu-2_4
+/StartupBehavior_SetupWalkEdit.cc/1.8/Fri May 14 07:18:19 2004//Ttekkotsu-2_4
+/entry.h/1.1/Sat Mar  1 20:53:46 2003//Ttekkotsu-2_4
+D/Make.xcodeproj////
+D/aperios////
+D/local////
+D/ms////
+D/templates////
diff -urdN ../../Tekkotsu_2.3/project/CVS/Repository ./CVS/Repository
--- ../../Tekkotsu_2.3/project/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./CVS/Repository	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Tekkotsu/project
diff -urdN ../../Tekkotsu_2.3/project/CVS/Root ./CVS/Root
--- ../../Tekkotsu_2.3/project/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./CVS/Root	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/CVS/Tag ./CVS/Tag
--- ../../Tekkotsu_2.3/project/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./CVS/Tag	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/Environment.conf ./Environment.conf
--- ../../Tekkotsu_2.3/project/Environment.conf	Tue Nov 30 16:13:16 2004
+++ ./Environment.conf	Mon Jul 25 23:09:20 2005
@@ -1,17 +1,23 @@
 ############  ENVIRONMENT VARIABLES  ##############
-############# $Name: tekkotsu-2_3 $ ###############
-############### $Revision: 1.7 $ #################
-########## $Date: 2004/11/30 21:13:16 $ ###########
-# If you need to modify these, you should set them as environment
-# variables instead of changing them here - that way other tools (such
-# as mntmem and crashDebug) can use these as well.
+############# $Name: tekkotsu-2_4 $ ###############
+############### $Revision: 1.11 $ #################
+########## $Date: 2005/07/26 03:09:20 $ ###########
+# These variables will control portions of the build process.
+# For further configuration, see ms/config/tekkotsu.cfg, which
+# specifies run-time configuration.
 
 # Directory the Tekkotsu framework is stored
 TEKKOTSU_ROOT ?= /usr/local/Tekkotsu
 
 # Location where the memstick will be mounted
 # If you're using cygwin, you probably want something like
-# '/cygdrive/e' instead. 
+# '/cygdrive/e' instead.
+# Mac OS users would want to use something like '/Volumes/xxx',
+# where 'xxx' is the name of the memory stick, often initially
+# 'Unlabeled' or 'Untitled'
+# You may wish to override this as an environment variable
+# instead of changing it here, as the former will allow you to run
+# tools/mntmem and tools/umntmem manually.
 MEMSTICK_ROOT ?= /mnt/memstick
 
 # Directory where the OPEN-R SDK was installed
@@ -19,16 +25,6 @@
 # or the OPEN-R website: http://openr.aibo.com/
 OPENRSDK_ROOT ?= /usr/local/OPEN_R_SDK
 
-# in case your memory stick drivers use uppercase, you'll need to
-# set 'FILENAME_CASE' to 'upper'
-FILENAME_CASE ?= lower
-
-# this will delete files from the memory stick that aren't also in
-# your build image - except files at the root level of the memstick,
-# like memstick.ind
-# default: OFF (empty string) - any non-empty string is ON
-STRICT_MEMSTICK_IMAGE ?=
-
 # What model are you targeting?  This will look at the
 # $TEKKOTSU_ROOT/TARGET_MODEL file to find out.  If the file is not
 # found, it is created with the default setting TGT_ERS2xx.  change
@@ -46,11 +42,32 @@
 # environment.  Note that non-Aperios implies no OPEN-R headers.
 TEKKOTSU_TARGET_PLATFORM ?= PLATFORM_APERIOS
 
+# This will trigger the project's Makefile to always attempt to make
+# the framework as well.  This is useful if you are hacking the
+# framework itself, and thus want any changes made there to be 
+# compiled automatically.
+# default: ON (non-empty string) - any non-empty string is ON
+TEKKOTSU_ALWAYS_BUILD ?= true
+
+# in case your memory stick drivers use uppercase, you'll need to
+# set 'FILENAME_CASE' to 'upper'
+FILENAME_CASE ?= lower
+
+# this will delete files from the memory stick that aren't also in
+# your build image - except files at the root level of the memstick,
+# like memstick.ind
+# default: OFF (empty string) - any non-empty string is ON
+STRICT_MEMSTICK_IMAGE ?=
+
+# This will control the debug flags such as -g and -DDEBUG
+TEKKOTSU_DEBUG ?= ON
+
 # This can be nice if you want to use 'more' to page through errors
-# if they occur.  Otherwise, try using 'cat' instead.
-# The default value below uses 'more', except on Mac OS X which uses 'cat'
-# since 'more' on OS X doesn't handle the console colors.
-TEKKOTSU_LOGVIEW ?= $(if $(findstring Darwin,$(shell uname)),cat,more)
+# if they occur.  Otherwise, try using 'cat' instead.  Cygwin users
+# may need to explicitly install the 'more' package
+# This default value will test for the availability of 'more', and
+# fall back to using 'cat'.
+TEKKOTSU_LOGVIEW ?= ( if which more > /dev/null ; then more $(if $(findstring Darwin,$(shell uname)),-R); else cat ; fi )
 
 # These control the location that the temporary object files will
 # be stored.
@@ -65,17 +82,18 @@
 
 ##########  TOOL SELECTION VARIABLES  #############
 # You probably don't really want to edit these unless you've
-# got something better in mind.
+# got an "interesting" system configuration
 ifeq ($(TEKKOTSU_TARGET_PLATFORM),PLATFORM_APERIOS)
   CC=$(OPENRSDK_ROOT)/bin/mipsel-linux-gcc
   CXX=$(OPENRSDK_ROOT)/bin/mipsel-linux-g++
   LD=$(OPENRSDK_ROOT)/bin/mipsel-linux-ld
   STRIP=$(OPENRSDK_ROOT)/bin/mipsel-linux-strip
   MKBIN=$(OPENRSDK_ROOT)/OPEN_R/bin/mkbin
-  MKBINFLAGS=-p $(OPENRSDK_ROOT)
+  MKBINFLAGS=-p $(OPENRSDK_ROOT) -L$(TEKKOTSU_ROOT)/aperios/lib
   AR=$(OPENRSDK_ROOT)/bin/mipsel-linux-ar rcs
   AR2=touch
   FILTERSYSWARN=$(TEKKOTSU_ROOT)/tools/filtersyswarn/filtersyswarn $(OPEN_R_SDK)
+  STUBGEN=$(OPENRSDK_ROOT)/OPEN_R/bin/stubgen2
 else
   CC=gcc
   CXX=g++
@@ -85,15 +103,26 @@
   AR2=touch
   FILTERSYSWARN=$(TEKKOTSU_ROOT)/tools/filtersyswarn/filtersyswarn /usr/include
 endif
-STUBGEN=$(OPENRSDK_ROOT)/OPEN_R/bin/stubgen2
 COLORFILT=$(TEKKOTSU_ROOT)/tools/colorfilt
 
+# This can speed up the compilation process, but is currently only
+# supported by the 3.4 branch of gcc, or 3.3 of the gcc from Apple
+TEST_CXX_MAJOR:=$(shell $(CXX) --version | sed -n 's/^.* (GCC) \([0-9]*\)\.\([0-9]*\).*/\1/p')
+TEST_CXX_MINOR:=$(shell $(CXX) --version | sed -n 's/^.* (GCC) \([0-9]*\)\.\([0-9]*\).*/\2/p')
+TEST_CXX_APPLE:=$(findstring Apple,$(shell $(CXX) --version))
+TEKKOTSU_PCH ?= $(shell if [ $(TEST_CXX_MAJOR) -ge 4 -o $(TEST_CXX_MAJOR) -ge 3 -a \( $(TEST_CXX_MINOR) -ge 4 -o -n "$(TEST_CXX_APPLE)" \) ] ; then echo "common.h"; fi)
+
 #These will be the actual build directories used for the current target
-TGT_BD:=$(TEKKOTSU_TARGET_PLATFORM)_$(TEKKOTSU_TARGET_MODEL)
-TK_BD:=$(TEKKOTSU_BUILDDIR)/$(TGT_BD)
-PROJ_BD:=$(PROJECT_BUILDDIR)/$(TGT_BD)
+TK_LIB_BD:=$(TEKKOTSU_BUILDDIR)/$(TEKKOTSU_TARGET_PLATFORM)
+TK_BD:=$(TEKKOTSU_BUILDDIR)/$(TEKKOTSU_TARGET_PLATFORM)/$(TEKKOTSU_TARGET_MODEL)
+PROJ_BD:=$(PROJECT_BUILDDIR)/$(TEKKOTSU_TARGET_PLATFORM)/$(TEKKOTSU_TARGET_MODEL)
 $(shell mkdir -p $(TK_BD))
 
+#For debugging:
 #test:=$(shell echo "TEKKOTSU_BUILDDIR: $(TEKKOTSU_BUILDDIR)" > /dev/tty)
 #test:=$(shell echo "PROJECT_BUILDDIR: $(PROJECT_BUILDDIR)" > /dev/tty)
+#test:=$(shell echo "TEST_CXX_MAJOR: $(TEST_CXX_MAJOR)" > /dev/tty)
+#test:=$(shell echo "TEST_CXX_MINOR: $(TEST_CXX_MINOR)" > /dev/tty)
+#test:=$(shell echo "TEST_CXX_APPLE: $(TEST_CXX_APPLE)" > /dev/tty)
+#test:=$(shell echo "TEKKOTSU_PCH: $(TEKKOTSU_PCH)" > /dev/tty)
 #$(error that's all folks)
diff -urdN ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Entries ./Make.xcodeproj/CVS/Entries
--- ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./Make.xcodeproj/CVS/Entries	Wed Aug 10 11:03:26 2005
@@ -0,0 +1,2 @@
+/project.pbxproj/1.3/Fri Jul 29 18:36:47 2005//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Repository ./Make.xcodeproj/CVS/Repository
--- ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./Make.xcodeproj/CVS/Repository	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Tekkotsu/project/Make.xcodeproj
diff -urdN ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Root ./Make.xcodeproj/CVS/Root
--- ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./Make.xcodeproj/CVS/Root	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Tag ./Make.xcodeproj/CVS/Tag
--- ../../Tekkotsu_2.3/project/Make.xcodeproj/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./Make.xcodeproj/CVS/Tag	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/Make.xcodeproj/project.pbxproj ./Make.xcodeproj/project.pbxproj
--- ../../Tekkotsu_2.3/project/Make.xcodeproj/project.pbxproj	Wed Dec 31 19:00:00 1969
+++ ./Make.xcodeproj/project.pbxproj	Fri Jul 29 14:36:47 2005
@@ -0,0 +1,2517 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 42;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		691C805608255F6300E8E256 /* Base64.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691C805508255F6300E8E256 /* Base64.cc */; };
+		691C805708255F6300E8E256 /* Base64.cc in Sources */ = {isa = PBXBuildFile; fileRef = 691C805508255F6300E8E256 /* Base64.cc */; };
+		692CD63507F8C46B00604100 /* sim.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD63407F8C46B00604100 /* sim.cc */; };
+		692CD63607F8C46B00604100 /* sim.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD63407F8C46B00604100 /* sim.cc */; };
+		692CD63707F8C46B00604100 /* sim.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD63407F8C46B00604100 /* sim.cc */; };
+		692CD99607F9F05500604100 /* LoadFileThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD99407F9F05500604100 /* LoadFileThread.cc */; };
+		692CD99707F9F05500604100 /* LoadFileThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD99407F9F05500604100 /* LoadFileThread.cc */; };
+		692CD99807F9F05500604100 /* LoadFileThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 692CD99407F9F05500604100 /* LoadFileThread.cc */; };
+		6942757807E0DCDD003DE3D9 /* MutexLock.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6942757707E0DCDD003DE3D9 /* MutexLock.cc */; };
+		6942757907E0DCDD003DE3D9 /* MutexLock.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6942757707E0DCDD003DE3D9 /* MutexLock.cc */; };
+		6942779107E164EA003DE3D9 /* Thread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6942779007E164EA003DE3D9 /* Thread.cc */; };
+		6942779207E164EA003DE3D9 /* Thread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6942779007E164EA003DE3D9 /* Thread.cc */; };
+		694AB43707F48A860071A2AE /* libjpeg.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43507F48A860071A2AE /* libjpeg.dylib */; };
+		694AB43807F48A860071A2AE /* libpng12.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43607F48A860071A2AE /* libpng12.dylib */; };
+		694AB43907F48A860071A2AE /* libjpeg.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43507F48A860071A2AE /* libjpeg.dylib */; };
+		694AB43A07F48A860071A2AE /* libpng12.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43607F48A860071A2AE /* libpng12.dylib */; };
+		694AB43B07F48A860071A2AE /* libjpeg.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43507F48A860071A2AE /* libjpeg.dylib */; };
+		694AB43C07F48A860071A2AE /* libpng12.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 694AB43607F48A860071A2AE /* libpng12.dylib */; };
+		695967E207FF3DCF004FABFF /* LoadImageThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 695967E007FF3DCF004FABFF /* LoadImageThread.cc */; };
+		695967E307FF3DCF004FABFF /* LoadImageThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 695967E007FF3DCF004FABFF /* LoadImageThread.cc */; };
+		695967E407FF3DCF004FABFF /* LoadImageThread.cc in Sources */ = {isa = PBXBuildFile; fileRef = 695967E007FF3DCF004FABFF /* LoadImageThread.cc */; };
+		695F1ACA0804A81800ACB3D7 /* BufferedImageGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 695F1AC80804A81800ACB3D7 /* BufferedImageGenerator.cc */; };
+		695F1ACB0804A81800ACB3D7 /* BufferedImageGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 695F1AC80804A81800ACB3D7 /* BufferedImageGenerator.cc */; };
+		6994F3D907D4D35F003A7628 /* SemaphoreManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3CF07D4D35F003A7628 /* SemaphoreManager.cc */; };
+		6994F3DA07D4D35F003A7628 /* ProcessID.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D107D4D35F003A7628 /* ProcessID.cc */; };
+		6994F3DB07D4D35F003A7628 /* RCRegion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D307D4D35F003A7628 /* RCRegion.cc */; };
+		6994F3DC07D4D35F003A7628 /* SharedObject.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D607D4D35F003A7628 /* SharedObject.cc */; };
+		6994F3DD07D4D35F003A7628 /* SemaphoreManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3CF07D4D35F003A7628 /* SemaphoreManager.cc */; };
+		6994F3DE07D4D35F003A7628 /* ProcessID.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D107D4D35F003A7628 /* ProcessID.cc */; };
+		6994F3DF07D4D35F003A7628 /* RCRegion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D307D4D35F003A7628 /* RCRegion.cc */; };
+		6994F3E007D4D35F003A7628 /* SharedObject.cc in Sources */ = {isa = PBXBuildFile; fileRef = 6994F3D607D4D35F003A7628 /* SharedObject.cc */; };
+		69970AC1083DB2760069D95C /* StewartPlatformBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69970AC0083DB2760069D95C /* StewartPlatformBehavior.cc */; };
+		69970AC2083DB2760069D95C /* StewartPlatformBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69970AC0083DB2760069D95C /* StewartPlatformBehavior.cc */; };
+		69A1995F080ED8A200540970 /* EchoBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A1995E080ED8A200540970 /* EchoBehavior.cc */; };
+		69A19960080ED8A200540970 /* EchoBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A1995E080ED8A200540970 /* EchoBehavior.cc */; };
+		69A323C207E3564F009D94E1 /* write_jpeg.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A323C007E35646009D94E1 /* write_jpeg.cc */; };
+		69A323C507E35665009D94E1 /* write_jpeg.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69A323C007E35646009D94E1 /* write_jpeg.cc */; };
+		69A6D6DB07CD7C9500CB4720 /* libstdc++.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0249A663FF388D9811CA2CEA /* libstdc++.a */; };
+		69AA7D6B0860898300185BA2 /* MessageReceiver.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69AA7D690860898300185BA2 /* MessageReceiver.cc */; };
+		69AA7D6C0860898300185BA2 /* MessageReceiver.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69AA7D690860898300185BA2 /* MessageReceiver.cc */; };
+		69B4E446089409D900832D58 /* StareAtPawBehavior2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69B4E445089409D800832D58 /* StareAtPawBehavior2.cc */; };
+		69B4E447089409D900832D58 /* StareAtPawBehavior2.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69B4E445089409D800832D58 /* StareAtPawBehavior2.cc */; };
+		69B4E6D50895E34F00832D58 /* robot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88407CBD6C0008493CA /* robot.cpp */; };
+		69E0A76407CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75907CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc */; };
+		69E0A76507CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75A07CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc */; };
+		69E0A76607CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75B07CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc */; };
+		69E0A76707CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75C07CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc */; };
+		69E0A76807CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75D07CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc */; };
+		69E0A76907CBD4F9008493CA /* StartupBehavior_SetupVision.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75E07CBD4F9008493CA /* StartupBehavior_SetupVision.cc */; };
+		69E0A76A07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75F07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc */; };
+		69E0A76B07CBD4F9008493CA /* StartupBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76007CBD4F9008493CA /* StartupBehavior.cc */; };
+		69E0A77D07CBD52D008493CA /* Main.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76F07CBD52D008493CA /* Main.cc */; };
+		69E0A77F07CBD52D008493CA /* Motion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77107CBD52D008493CA /* Motion.cc */; };
+		69E0A78107CBD52D008493CA /* Process.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77307CBD52D008493CA /* Process.cc */; };
+		69E0A78407CBD52D008493CA /* SharedGlobals.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77607CBD52D008493CA /* SharedGlobals.cc */; };
+		69E0A78607CBD52D008493CA /* Simulator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77807CBD52D008493CA /* Simulator.cc */; };
+		69E0A78807CBD52D008493CA /* SoundPlay.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77A07CBD52D008493CA /* SoundPlay.cc */; };
+		69E0A99507CBD6C1008493CA /* BehaviorBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A78C07CBD6BF008493CA /* BehaviorBase.cc */; };
+		69E0A99807CBD6C1008493CA /* Controller.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A78F07CBD6BF008493CA /* Controller.cc */; };
+		69E0A99F07CBD6C1008493CA /* ControlBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79707CBD6BF008493CA /* ControlBase.cc */; };
+		69E0A9A207CBD6C1008493CA /* EventLogger.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79A07CBD6C0008493CA /* EventLogger.cc */; };
+		69E0A9A407CBD6C1008493CA /* FileBrowserControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79C07CBD6C0008493CA /* FileBrowserControl.cc */; };
+		69E0A9A707CBD6C1008493CA /* FreeMemReportControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79F07CBD6C0008493CA /* FreeMemReportControl.cc */; };
+		69E0A9A907CBD6C1008493CA /* HelpControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7A107CBD6C0008493CA /* HelpControl.cc */; };
+		69E0A9B207CBD6C1008493CA /* PostureEditor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7AA07CBD6C0008493CA /* PostureEditor.cc */; };
+		69E0A9B507CBD6C1008493CA /* RebootControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7AD07CBD6C0008493CA /* RebootControl.cc */; };
+		69E0A9BA07CBD6C1008493CA /* SensorObserverControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B207CBD6C0008493CA /* SensorObserverControl.cc */; };
+		69E0A9BC07CBD6C1008493CA /* ShutdownControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B407CBD6C0008493CA /* ShutdownControl.cc */; };
+		69E0A9BE07CBD6C1008493CA /* StringInputControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B607CBD6C0008493CA /* StringInputControl.cc */; };
+		69E0A9C307CBD6C1008493CA /* WalkCalibration.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7BB07CBD6C0008493CA /* WalkCalibration.cc */; };
+		69E0A9C507CBD6C1008493CA /* WaypointWalkControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7BD07CBD6C0008493CA /* WaypointWalkControl.cc */; };
+		69E0A9C807CBD6C1008493CA /* ASCIIVisionBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C107CBD6C0008493CA /* ASCIIVisionBehavior.cc */; };
+		69E0A9CD07CBD6C1008493CA /* CameraBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C607CBD6C0008493CA /* CameraBehavior.cc */; };
+		69E0A9CF07CBD6C1008493CA /* ChaseBallBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C807CBD6C0008493CA /* ChaseBallBehavior.cc */; };
+		69E0A9D207CBD6C1008493CA /* DriveMeBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CB07CBD6C0008493CA /* DriveMeBehavior.cc */; };
+		69E0A9D407CBD6C1008493CA /* ExploreMachine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CD07CBD6C0008493CA /* ExploreMachine.cc */; };
+		69E0A9D607CBD6C1008493CA /* FlashIPAddrBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CF07CBD6C0008493CA /* FlashIPAddrBehavior.cc */; };
+		69E0A9D807CBD6C1008493CA /* FollowHeadBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7D107CBD6C0008493CA /* FollowHeadBehavior.cc */; };
+		69E0A9E407CBD6C1008493CA /* PaceTargetsMachine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7DD07CBD6C0008493CA /* PaceTargetsMachine.cc */; };
+		69E0A9E907CBD6C1008493CA /* StareAtBallBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7E207CBD6C0008493CA /* StareAtBallBehavior.cc */; };
+		69E0A9EE07CBD6C1008493CA /* WallTestBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7E707CBD6C0008493CA /* WallTestBehavior.cc */; };
+		69E0A9F207CBD6C1008493CA /* EStopControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7EC07CBD6C0008493CA /* EStopControllerBehavior.cc */; };
+		69E0A9F407CBD6C1008493CA /* HeadPointControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7EE07CBD6C0008493CA /* HeadPointControllerBehavior.cc */; };
+		69E0A9F607CBD6C1008493CA /* MicrophoneServer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F007CBD6C0008493CA /* MicrophoneServer.cc */; };
+		69E0A9F807CBD6C1008493CA /* RawCamBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F207CBD6C0008493CA /* RawCamBehavior.cc */; };
+		69E0A9FA07CBD6C1008493CA /* SegCamBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F407CBD6C0008493CA /* SegCamBehavior.cc */; };
+		69E0A9FC07CBD6C1008493CA /* SpeakerServer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F607CBD6C0008493CA /* SpeakerServer.cc */; };
+		69E0A9FE07CBD6C1008493CA /* SpiderMachineBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F807CBD6C0008493CA /* SpiderMachineBehavior.cc */; };
+		69E0AA0107CBD6C2008493CA /* WalkControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FB07CBD6C0008493CA /* WalkControllerBehavior.cc */; };
+		69E0AA0307CBD6C2008493CA /* WMMonitorBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FD07CBD6C0008493CA /* WMMonitorBehavior.cc */; };
+		69E0AA0507CBD6C2008493CA /* WorldStateSerializerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FF07CBD6C0008493CA /* WorldStateSerializerBehavior.cc */; };
+		69E0AA1007CBD6C2008493CA /* WalkToTargetNode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A80B07CBD6C0008493CA /* WalkToTargetNode.cc */; };
+		69E0AA1307CBD6C2008493CA /* StateNode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A80E07CBD6C0008493CA /* StateNode.cc */; };
+		69E0AA1507CBD6C2008493CA /* Transition.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A81007CBD6C0008493CA /* Transition.cc */; };
+		69E0AA1C07CBD6C2008493CA /* RandomTrans.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A81807CBD6C0008493CA /* RandomTrans.cc */; };
+		69E0AA2307CBD6C2008493CA /* EventBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82007CBD6C0008493CA /* EventBase.cc */; };
+		69E0AA2507CBD6C2008493CA /* EventGeneratorBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82207CBD6C0008493CA /* EventGeneratorBase.cc */; };
+		69E0AA2807CBD6C2008493CA /* EventRouter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82507CBD6C0008493CA /* EventRouter.cc */; };
+		69E0AA2A07CBD6C2008493CA /* EventTranslator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82707CBD6C0008493CA /* EventTranslator.cc */; };
+		69E0AA2E07CBD6C2008493CA /* LocomotionEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82B07CBD6C0008493CA /* LocomotionEvent.cc */; };
+		69E0AA3107CBD6C2008493CA /* TextMsgEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82E07CBD6C0008493CA /* TextMsgEvent.cc */; };
+		69E0AA3307CBD6C2008493CA /* VisionObjectEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83007CBD6C0008493CA /* VisionObjectEvent.cc */; };
+		69E0AA3607CBD6C2008493CA /* EmergencyStopMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83407CBD6C0008493CA /* EmergencyStopMC.cc */; };
+		69E0AA3A07CBD6C2008493CA /* HeadPointerMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83807CBD6C0008493CA /* HeadPointerMC.cc */; };
+		69E0AA3C07CBD6C2008493CA /* Kinematics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83A07CBD6C0008493CA /* Kinematics.cc */; };
+		69E0AA3E07CBD6C2008493CA /* LedEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83C07CBD6C0008493CA /* LedEngine.cc */; };
+		69E0AA4207CBD6C2008493CA /* MotionCommand.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84007CBD6C0008493CA /* MotionCommand.cc */; };
+		69E0AA4407CBD6C2008493CA /* MotionManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84207CBD6C0008493CA /* MotionManager.cc */; };
+		69E0AA4707CBD6C2008493CA /* MotionSequenceEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84507CBD6C0008493CA /* MotionSequenceEngine.cc */; };
+		69E0AA4A07CBD6C2008493CA /* OldHeadPointerMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84807CBD6C0008493CA /* OldHeadPointerMC.cc */; };
+		69E0AA4C07CBD6C2008493CA /* OldKinematics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84A07CBD6C0008493CA /* OldKinematics.cc */; };
+		69E0AA4E07CBD6C2008493CA /* OutputCmd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84C07CBD6C0008493CA /* OutputCmd.cc */; };
+		69E0AA5307CBD6C2008493CA /* PostureEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85107CBD6C0008493CA /* PostureEngine.cc */; };
+		69E0AA5507CBD6C2008493CA /* PostureMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85307CBD6C0008493CA /* PostureMC.cc */; };
+		69E0AA5807CBD6C2008493CA /* clik.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85707CBD6C0008493CA /* clik.cpp */; };
+		69E0AA5A07CBD6C2008493CA /* comp_dq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85907CBD6C0008493CA /* comp_dq.cpp */; };
+		69E0AA5B07CBD6C2008493CA /* comp_dqp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85A07CBD6C0008493CA /* comp_dqp.cpp */; };
+		69E0AA5C07CBD6C2008493CA /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85B07CBD6C0008493CA /* config.cpp */; };
+		69E0AA5E07CBD6C2008493CA /* control_select.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85D07CBD6C0008493CA /* control_select.cpp */; };
+		69E0AA6007CBD6C2008493CA /* controller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85F07CBD6C0008493CA /* controller.cpp */; };
+		69E0AA6207CBD6C2008493CA /* delta_t.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86107CBD6C0008493CA /* delta_t.cpp */; };
+		69E0AA6307CBD6C2008493CA /* dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86207CBD6C0008493CA /* dynamics.cpp */; };
+		69E0AA6407CBD6C2008493CA /* dynamics_sim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86307CBD6C0008493CA /* dynamics_sim.cpp */; };
+		69E0AA7807CBD6C2008493CA /* gnugraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87907CBD6C0008493CA /* gnugraph.cpp */; };
+		69E0AA7A07CBD6C2008493CA /* homogen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87B07CBD6C0008493CA /* homogen.cpp */; };
+		69E0AA7B07CBD6C2008493CA /* invkine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87C07CBD6C0008493CA /* invkine.cpp */; };
+		69E0AA7C07CBD6C2008493CA /* kinemat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87D07CBD6C0008493CA /* kinemat.cpp */; };
+		69E0AA7E07CBD6C2008493CA /* quaternion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87F07CBD6C0008493CA /* quaternion.cpp */; };
+		69E0AA8507CBD6C2008493CA /* sensitiv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88607CBD6C0008493CA /* sensitiv.cpp */; };
+		69E0AA8607CBD6C2008493CA /* trajectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88707CBD6C0008493CA /* trajectory.cpp */; };
+		69E0AA8807CBD6C2008493CA /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88907CBD6C0008493CA /* utils.cpp */; };
+		69E0AA8C07CBD6C2008493CA /* WalkMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88D07CBD6C0008493CA /* WalkMC.cc */; };
+		69E0AA9007CBD6C2008493CA /* Buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89207CBD6C0008493CA /* Buffer.cc */; };
+		69E0AA9307CBD6C2008493CA /* Config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89507CBD6C0008493CA /* Config.cc */; };
+		69E0AA9B07CBD6C2008493CA /* get_time.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89D07CBD6C0008493CA /* get_time.cc */; };
+		69E0AADB07CBD6C2008493CA /* jpeg_mem_dest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8DE07CBD6C1008493CA /* jpeg_mem_dest.cc */; };
+		69E0AAF507CBD6C2008493CA /* LoadSave.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8F807CBD6C1008493CA /* LoadSave.cc */; };
+		69E0AAFA07CBD6C2008493CA /* bandmat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8FE07CBD6C1008493CA /* bandmat.cpp */; };
+		69E0AAFC07CBD6C2008493CA /* cholesky.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A90007CBD6C1008493CA /* cholesky.cpp */; };
+		69E0AB0107CBD6C2008493CA /* evalue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A90707CBD6C1008493CA /* evalue.cpp */; };
+		69E0AB3107CBD6C2008493CA /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93807CBD6C1008493CA /* fft.cpp */; };
+		69E0AB3207CBD6C2008493CA /* hholder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93907CBD6C1008493CA /* hholder.cpp */; };
+		69E0AB3407CBD6C2008493CA /* jacobi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93B07CBD6C1008493CA /* jacobi.cpp */; };
+		69E0AB3607CBD6C2008493CA /* myexcept.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93D07CBD6C1008493CA /* myexcept.cpp */; };
+		69E0AB3807CBD6C2008493CA /* newfft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93F07CBD6C1008493CA /* newfft.cpp */; };
+		69E0AB3A07CBD6C2008493CA /* newmat1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94107CBD6C1008493CA /* newmat1.cpp */; };
+		69E0AB3B07CBD6C2008493CA /* newmat2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94207CBD6C1008493CA /* newmat2.cpp */; };
+		69E0AB3C07CBD6C2008493CA /* newmat3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94307CBD6C1008493CA /* newmat3.cpp */; };
+		69E0AB3D07CBD6C2008493CA /* newmat4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94407CBD6C1008493CA /* newmat4.cpp */; };
+		69E0AB3E07CBD6C2008493CA /* newmat5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94507CBD6C1008493CA /* newmat5.cpp */; };
+		69E0AB3F07CBD6C2008493CA /* newmat6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94607CBD6C1008493CA /* newmat6.cpp */; };
+		69E0AB4007CBD6C2008493CA /* newmat7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94707CBD6C1008493CA /* newmat7.cpp */; };
+		69E0AB4107CBD6C2008493CA /* newmat8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94807CBD6C1008493CA /* newmat8.cpp */; };
+		69E0AB4207CBD6C2008493CA /* newmat9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94907CBD6C1008493CA /* newmat9.cpp */; };
+		69E0AB4407CBD6C2008493CA /* newmatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94B07CBD6C1008493CA /* newmatex.cpp */; };
+		69E0AB4607CBD6C2008493CA /* newmatnl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94D07CBD6C1008493CA /* newmatnl.cpp */; };
+		69E0AB4907CBD6C2008493CA /* newmatrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95007CBD6C1008493CA /* newmatrm.cpp */; };
+		69E0AB4D07CBD6C2008493CA /* sort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95407CBD6C1008493CA /* sort.cpp */; };
+		69E0AB4E07CBD6C2008493CA /* submat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95507CBD6C1008493CA /* submat.cpp */; };
+		69E0AB4F07CBD6C2008493CA /* svd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95607CBD6C1008493CA /* svd.cpp */; };
+		69E0AB5307CBD6C2008493CA /* Profiler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95A07CBD6C1008493CA /* Profiler.cc */; };
+		69E0AB5507CBD6C2008493CA /* ProjectInterface.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95C07CBD6C1008493CA /* ProjectInterface.cc */; };
+		69E0AB5E07CBD6C2008493CA /* string_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96507CBD6C1008493CA /* string_util.cc */; };
+		69E0AB6107CBD6C2008493CA /* TimeET.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96807CBD6C1008493CA /* TimeET.cc */; };
+		69E0AB6407CBD6C2008493CA /* WMclass.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96B07CBD6C1008493CA /* WMclass.cc */; };
+		69E0AB6607CBD6C2008493CA /* WorldState.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96D07CBD6C1008493CA /* WorldState.cc */; };
+		69E0AB6807CBD6C2008493CA /* SoundManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97007CBD6C1008493CA /* SoundManager.cc */; };
+		69E0AB6B07CBD6C2008493CA /* WAV.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97307CBD6C1008493CA /* WAV.cc */; };
+		69E0AB6D07CBD6C2008493CA /* BallDetectionGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97607CBD6C1008493CA /* BallDetectionGenerator.cc */; };
+		69E0AB6F07CBD6C2008493CA /* CDTGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97807CBD6C1008493CA /* CDTGenerator.cc */; };
+		69E0AB7607CBD6C2008493CA /* FilterBankGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97F07CBD6C1008493CA /* FilterBankGenerator.cc */; };
+		69E0AB7807CBD6C2008493CA /* InterleavedYUVGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98107CBD6C1008493CA /* InterleavedYUVGenerator.cc */; };
+		69E0AB7A07CBD6C2008493CA /* JPEGGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98307CBD6C1008493CA /* JPEGGenerator.cc */; };
+		69E0AB7D07CBD6C2008493CA /* RawCameraGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98607CBD6C1008493CA /* RawCameraGenerator.cc */; };
+		69E0AB7F07CBD6C2008493CA /* RegionGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98807CBD6C1008493CA /* RegionGenerator.cc */; };
+		69E0AB8107CBD6C2008493CA /* RLEGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98A07CBD6C1008493CA /* RLEGenerator.cc */; };
+		69E0AB8307CBD6C2008493CA /* SegmentedColorGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98C07CBD6C1008493CA /* SegmentedColorGenerator.cc */; };
+		69E0AB8707CBD6C2008493CA /* Socket.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A99107CBD6C1008493CA /* Socket.cc */; };
+		69E0AB8907CBD6C2008493CA /* Wireless.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A99307CBD6C1008493CA /* Wireless.cc */; };
+		69E0AB9C07CBDE11008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75907CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc */; };
+		69E0AB9D07CBDE11008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75A07CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc */; };
+		69E0AB9E07CBDE11008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75B07CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc */; };
+		69E0AB9F07CBDE11008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75C07CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc */; };
+		69E0ABA007CBDE11008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75D07CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc */; };
+		69E0ABA107CBDE11008493CA /* StartupBehavior_SetupVision.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75E07CBD4F9008493CA /* StartupBehavior_SetupVision.cc */; };
+		69E0ABA207CBDE11008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75F07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc */; };
+		69E0ABA307CBDE11008493CA /* StartupBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76007CBD4F9008493CA /* StartupBehavior.cc */; };
+		69E0ABA507CBDE11008493CA /* Main.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76F07CBD52D008493CA /* Main.cc */; };
+		69E0ABA607CBDE11008493CA /* Motion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77107CBD52D008493CA /* Motion.cc */; };
+		69E0ABA707CBDE11008493CA /* Process.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77307CBD52D008493CA /* Process.cc */; };
+		69E0ABA807CBDE11008493CA /* SharedGlobals.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77607CBD52D008493CA /* SharedGlobals.cc */; };
+		69E0ABA907CBDE11008493CA /* Simulator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77807CBD52D008493CA /* Simulator.cc */; };
+		69E0ABAA07CBDE11008493CA /* SoundPlay.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77A07CBD52D008493CA /* SoundPlay.cc */; };
+		69E0ABAB07CBDE11008493CA /* BehaviorBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A78C07CBD6BF008493CA /* BehaviorBase.cc */; };
+		69E0ABAC07CBDE11008493CA /* Controller.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A78F07CBD6BF008493CA /* Controller.cc */; };
+		69E0ABAD07CBDE11008493CA /* ControlBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79707CBD6BF008493CA /* ControlBase.cc */; };
+		69E0ABAE07CBDE11008493CA /* EventLogger.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79A07CBD6C0008493CA /* EventLogger.cc */; };
+		69E0ABAF07CBDE11008493CA /* FileBrowserControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79C07CBD6C0008493CA /* FileBrowserControl.cc */; };
+		69E0ABB007CBDE11008493CA /* FreeMemReportControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A79F07CBD6C0008493CA /* FreeMemReportControl.cc */; };
+		69E0ABB107CBDE11008493CA /* HelpControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7A107CBD6C0008493CA /* HelpControl.cc */; };
+		69E0ABB207CBDE11008493CA /* PostureEditor.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7AA07CBD6C0008493CA /* PostureEditor.cc */; };
+		69E0ABB307CBDE11008493CA /* RebootControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7AD07CBD6C0008493CA /* RebootControl.cc */; };
+		69E0ABB407CBDE11008493CA /* SensorObserverControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B207CBD6C0008493CA /* SensorObserverControl.cc */; };
+		69E0ABB507CBDE11008493CA /* ShutdownControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B407CBD6C0008493CA /* ShutdownControl.cc */; };
+		69E0ABB607CBDE11008493CA /* StringInputControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7B607CBD6C0008493CA /* StringInputControl.cc */; };
+		69E0ABB707CBDE11008493CA /* WalkCalibration.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7BB07CBD6C0008493CA /* WalkCalibration.cc */; };
+		69E0ABB807CBDE11008493CA /* WaypointWalkControl.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7BD07CBD6C0008493CA /* WaypointWalkControl.cc */; };
+		69E0ABB907CBDE11008493CA /* ASCIIVisionBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C107CBD6C0008493CA /* ASCIIVisionBehavior.cc */; };
+		69E0ABBA07CBDE11008493CA /* CameraBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C607CBD6C0008493CA /* CameraBehavior.cc */; };
+		69E0ABBB07CBDE11008493CA /* ChaseBallBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7C807CBD6C0008493CA /* ChaseBallBehavior.cc */; };
+		69E0ABBC07CBDE11008493CA /* DriveMeBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CB07CBD6C0008493CA /* DriveMeBehavior.cc */; };
+		69E0ABBD07CBDE11008493CA /* ExploreMachine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CD07CBD6C0008493CA /* ExploreMachine.cc */; };
+		69E0ABBE07CBDE11008493CA /* FlashIPAddrBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7CF07CBD6C0008493CA /* FlashIPAddrBehavior.cc */; };
+		69E0ABBF07CBDE11008493CA /* FollowHeadBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7D107CBD6C0008493CA /* FollowHeadBehavior.cc */; };
+		69E0ABC007CBDE11008493CA /* PaceTargetsMachine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7DD07CBD6C0008493CA /* PaceTargetsMachine.cc */; };
+		69E0ABC107CBDE11008493CA /* StareAtBallBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7E207CBD6C0008493CA /* StareAtBallBehavior.cc */; };
+		69E0ABC207CBDE11008493CA /* WallTestBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7E707CBD6C0008493CA /* WallTestBehavior.cc */; };
+		69E0ABC307CBDE11008493CA /* EStopControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7EC07CBD6C0008493CA /* EStopControllerBehavior.cc */; };
+		69E0ABC407CBDE11008493CA /* HeadPointControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7EE07CBD6C0008493CA /* HeadPointControllerBehavior.cc */; };
+		69E0ABC507CBDE11008493CA /* MicrophoneServer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F007CBD6C0008493CA /* MicrophoneServer.cc */; };
+		69E0ABC607CBDE11008493CA /* RawCamBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F207CBD6C0008493CA /* RawCamBehavior.cc */; };
+		69E0ABC707CBDE11008493CA /* SegCamBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F407CBD6C0008493CA /* SegCamBehavior.cc */; };
+		69E0ABC807CBDE11008493CA /* SpeakerServer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F607CBD6C0008493CA /* SpeakerServer.cc */; };
+		69E0ABC907CBDE11008493CA /* SpiderMachineBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7F807CBD6C0008493CA /* SpiderMachineBehavior.cc */; };
+		69E0ABCA07CBDE11008493CA /* WalkControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FB07CBD6C0008493CA /* WalkControllerBehavior.cc */; };
+		69E0ABCB07CBDE11008493CA /* WMMonitorBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FD07CBD6C0008493CA /* WMMonitorBehavior.cc */; };
+		69E0ABCC07CBDE11008493CA /* WorldStateSerializerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A7FF07CBD6C0008493CA /* WorldStateSerializerBehavior.cc */; };
+		69E0ABCD07CBDE11008493CA /* WalkToTargetNode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A80B07CBD6C0008493CA /* WalkToTargetNode.cc */; };
+		69E0ABCE07CBDE11008493CA /* StateNode.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A80E07CBD6C0008493CA /* StateNode.cc */; };
+		69E0ABCF07CBDE11008493CA /* Transition.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A81007CBD6C0008493CA /* Transition.cc */; };
+		69E0ABD007CBDE11008493CA /* RandomTrans.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A81807CBD6C0008493CA /* RandomTrans.cc */; };
+		69E0ABD107CBDE11008493CA /* EventBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82007CBD6C0008493CA /* EventBase.cc */; };
+		69E0ABD207CBDE11008493CA /* EventGeneratorBase.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82207CBD6C0008493CA /* EventGeneratorBase.cc */; };
+		69E0ABD307CBDE11008493CA /* EventRouter.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82507CBD6C0008493CA /* EventRouter.cc */; };
+		69E0ABD407CBDE11008493CA /* EventTranslator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82707CBD6C0008493CA /* EventTranslator.cc */; };
+		69E0ABD507CBDE11008493CA /* LocomotionEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82B07CBD6C0008493CA /* LocomotionEvent.cc */; };
+		69E0ABD607CBDE11008493CA /* TextMsgEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A82E07CBD6C0008493CA /* TextMsgEvent.cc */; };
+		69E0ABD707CBDE11008493CA /* VisionObjectEvent.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83007CBD6C0008493CA /* VisionObjectEvent.cc */; };
+		69E0ABD807CBDE11008493CA /* EmergencyStopMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83407CBD6C0008493CA /* EmergencyStopMC.cc */; };
+		69E0ABD907CBDE11008493CA /* HeadPointerMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83807CBD6C0008493CA /* HeadPointerMC.cc */; };
+		69E0ABDA07CBDE11008493CA /* Kinematics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83A07CBD6C0008493CA /* Kinematics.cc */; };
+		69E0ABDB07CBDE11008493CA /* LedEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A83C07CBD6C0008493CA /* LedEngine.cc */; };
+		69E0ABDC07CBDE11008493CA /* MotionCommand.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84007CBD6C0008493CA /* MotionCommand.cc */; };
+		69E0ABDD07CBDE11008493CA /* MotionManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84207CBD6C0008493CA /* MotionManager.cc */; };
+		69E0ABDE07CBDE11008493CA /* MotionSequenceEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84507CBD6C0008493CA /* MotionSequenceEngine.cc */; };
+		69E0ABDF07CBDE11008493CA /* OldHeadPointerMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84807CBD6C0008493CA /* OldHeadPointerMC.cc */; };
+		69E0ABE007CBDE11008493CA /* OldKinematics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84A07CBD6C0008493CA /* OldKinematics.cc */; };
+		69E0ABE107CBDE11008493CA /* OutputCmd.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A84C07CBD6C0008493CA /* OutputCmd.cc */; };
+		69E0ABE207CBDE11008493CA /* PostureEngine.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85107CBD6C0008493CA /* PostureEngine.cc */; };
+		69E0ABE307CBDE11008493CA /* PostureMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85307CBD6C0008493CA /* PostureMC.cc */; };
+		69E0ABE407CBDE11008493CA /* clik.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85707CBD6C0008493CA /* clik.cpp */; };
+		69E0ABE507CBDE11008493CA /* comp_dq.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85907CBD6C0008493CA /* comp_dq.cpp */; };
+		69E0ABE607CBDE11008493CA /* comp_dqp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85A07CBD6C0008493CA /* comp_dqp.cpp */; };
+		69E0ABE707CBDE11008493CA /* config.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85B07CBD6C0008493CA /* config.cpp */; };
+		69E0ABE807CBDE11008493CA /* control_select.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85D07CBD6C0008493CA /* control_select.cpp */; };
+		69E0ABE907CBDE11008493CA /* controller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A85F07CBD6C0008493CA /* controller.cpp */; };
+		69E0ABEA07CBDE11008493CA /* delta_t.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86107CBD6C0008493CA /* delta_t.cpp */; };
+		69E0ABEB07CBDE11008493CA /* dynamics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86207CBD6C0008493CA /* dynamics.cpp */; };
+		69E0ABEC07CBDE11008493CA /* dynamics_sim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A86307CBD6C0008493CA /* dynamics_sim.cpp */; };
+		69E0ABED07CBDE11008493CA /* gnugraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87907CBD6C0008493CA /* gnugraph.cpp */; };
+		69E0ABEE07CBDE11008493CA /* homogen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87B07CBD6C0008493CA /* homogen.cpp */; };
+		69E0ABEF07CBDE11008493CA /* invkine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87C07CBD6C0008493CA /* invkine.cpp */; };
+		69E0ABF007CBDE11008493CA /* kinemat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87D07CBD6C0008493CA /* kinemat.cpp */; };
+		69E0ABF207CBDE11008493CA /* quaternion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A87F07CBD6C0008493CA /* quaternion.cpp */; };
+		69E0ABF307CBDE11008493CA /* robot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88407CBD6C0008493CA /* robot.cpp */; };
+		69E0ABF407CBDE11008493CA /* sensitiv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88607CBD6C0008493CA /* sensitiv.cpp */; };
+		69E0ABF507CBDE11008493CA /* trajectory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88707CBD6C0008493CA /* trajectory.cpp */; };
+		69E0ABF607CBDE11008493CA /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88907CBD6C0008493CA /* utils.cpp */; };
+		69E0ABF707CBDE11008493CA /* WalkMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A88D07CBD6C0008493CA /* WalkMC.cc */; };
+		69E0ABF807CBDE11008493CA /* Buffer.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89207CBD6C0008493CA /* Buffer.cc */; };
+		69E0ABF907CBDE11008493CA /* Config.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89507CBD6C0008493CA /* Config.cc */; };
+		69E0ABFA07CBDE11008493CA /* get_time.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A89D07CBD6C0008493CA /* get_time.cc */; };
+		69E0AC2607CBDE11008493CA /* jpeg_mem_dest.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8DE07CBD6C1008493CA /* jpeg_mem_dest.cc */; };
+		69E0AC2B07CBDE11008493CA /* LoadSave.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8F807CBD6C1008493CA /* LoadSave.cc */; };
+		69E0AC2C07CBDE11008493CA /* bandmat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A8FE07CBD6C1008493CA /* bandmat.cpp */; };
+		69E0AC2D07CBDE11008493CA /* cholesky.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A90007CBD6C1008493CA /* cholesky.cpp */; };
+		69E0AC2E07CBDE11008493CA /* evalue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A90707CBD6C1008493CA /* evalue.cpp */; };
+		69E0AC2F07CBDE11008493CA /* fft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93807CBD6C1008493CA /* fft.cpp */; };
+		69E0AC3007CBDE11008493CA /* hholder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93907CBD6C1008493CA /* hholder.cpp */; };
+		69E0AC3107CBDE11008493CA /* jacobi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93B07CBD6C1008493CA /* jacobi.cpp */; };
+		69E0AC3307CBDE11008493CA /* myexcept.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93D07CBD6C1008493CA /* myexcept.cpp */; };
+		69E0AC3407CBDE11008493CA /* newfft.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A93F07CBD6C1008493CA /* newfft.cpp */; };
+		69E0AC3507CBDE11008493CA /* newmat1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94107CBD6C1008493CA /* newmat1.cpp */; };
+		69E0AC3607CBDE11008493CA /* newmat2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94207CBD6C1008493CA /* newmat2.cpp */; };
+		69E0AC3707CBDE11008493CA /* newmat3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94307CBD6C1008493CA /* newmat3.cpp */; };
+		69E0AC3807CBDE11008493CA /* newmat4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94407CBD6C1008493CA /* newmat4.cpp */; };
+		69E0AC3907CBDE11008493CA /* newmat5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94507CBD6C1008493CA /* newmat5.cpp */; };
+		69E0AC3A07CBDE11008493CA /* newmat6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94607CBD6C1008493CA /* newmat6.cpp */; };
+		69E0AC3B07CBDE11008493CA /* newmat7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94707CBD6C1008493CA /* newmat7.cpp */; };
+		69E0AC3C07CBDE11008493CA /* newmat8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94807CBD6C1008493CA /* newmat8.cpp */; };
+		69E0AC3D07CBDE11008493CA /* newmat9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94907CBD6C1008493CA /* newmat9.cpp */; };
+		69E0AC3E07CBDE11008493CA /* newmatex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94B07CBD6C1008493CA /* newmatex.cpp */; };
+		69E0AC3F07CBDE11008493CA /* newmatnl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A94D07CBD6C1008493CA /* newmatnl.cpp */; };
+		69E0AC4007CBDE11008493CA /* newmatrm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95007CBD6C1008493CA /* newmatrm.cpp */; };
+		69E0AC4107CBDE11008493CA /* sort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95407CBD6C1008493CA /* sort.cpp */; };
+		69E0AC4207CBDE11008493CA /* submat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95507CBD6C1008493CA /* submat.cpp */; };
+		69E0AC4307CBDE11008493CA /* svd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95607CBD6C1008493CA /* svd.cpp */; };
+		69E0AC4507CBDE11008493CA /* Profiler.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95A07CBD6C1008493CA /* Profiler.cc */; };
+		69E0AC4607CBDE11008493CA /* ProjectInterface.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A95C07CBD6C1008493CA /* ProjectInterface.cc */; };
+		69E0AC4907CBDE11008493CA /* string_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96507CBD6C1008493CA /* string_util.cc */; };
+		69E0AC4A07CBDE11008493CA /* TimeET.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96807CBD6C1008493CA /* TimeET.cc */; };
+		69E0AC4B07CBDE11008493CA /* WMclass.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96B07CBD6C1008493CA /* WMclass.cc */; };
+		69E0AC4C07CBDE11008493CA /* WorldState.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A96D07CBD6C1008493CA /* WorldState.cc */; };
+		69E0AC4D07CBDE11008493CA /* SoundManager.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97007CBD6C1008493CA /* SoundManager.cc */; };
+		69E0AC4E07CBDE11008493CA /* WAV.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97307CBD6C1008493CA /* WAV.cc */; };
+		69E0AC4F07CBDE11008493CA /* BallDetectionGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97607CBD6C1008493CA /* BallDetectionGenerator.cc */; };
+		69E0AC5007CBDE11008493CA /* CDTGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97807CBD6C1008493CA /* CDTGenerator.cc */; };
+		69E0AC5107CBDE11008493CA /* FilterBankGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A97F07CBD6C1008493CA /* FilterBankGenerator.cc */; };
+		69E0AC5207CBDE11008493CA /* InterleavedYUVGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98107CBD6C1008493CA /* InterleavedYUVGenerator.cc */; };
+		69E0AC5307CBDE11008493CA /* JPEGGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98307CBD6C1008493CA /* JPEGGenerator.cc */; };
+		69E0AC5407CBDE11008493CA /* RawCameraGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98607CBD6C1008493CA /* RawCameraGenerator.cc */; };
+		69E0AC5507CBDE11008493CA /* RegionGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98807CBD6C1008493CA /* RegionGenerator.cc */; };
+		69E0AC5607CBDE11008493CA /* RLEGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98A07CBD6C1008493CA /* RLEGenerator.cc */; };
+		69E0AC5707CBDE11008493CA /* SegmentedColorGenerator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A98C07CBD6C1008493CA /* SegmentedColorGenerator.cc */; };
+		69E0AC5807CBDE11008493CA /* Socket.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A99107CBD6C1008493CA /* Socket.cc */; };
+		69E0AC5907CBDE11008493CA /* Wireless.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A99307CBD6C1008493CA /* Wireless.cc */; };
+		69E0AC5B07CBDE11008493CA /* libstdc++.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0249A663FF388D9811CA2CEA /* libstdc++.a */; };
+		69E0AFAA07CBF84A008493CA /* StartupBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76007CBD4F9008493CA /* StartupBehavior.cc */; };
+		69E0AFAB07CBF84B008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75907CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc */; };
+		69E0AFAC07CBF84C008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75A07CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc */; };
+		69E0AFAD07CBF84D008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75B07CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc */; };
+		69E0AFAE07CBF84E008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75C07CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc */; };
+		69E0AFAF07CBF84E008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75D07CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc */; };
+		69E0AFB007CBF84F008493CA /* StartupBehavior_SetupVision.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75E07CBD4F9008493CA /* StartupBehavior_SetupVision.cc */; };
+		69E0AFB107CBF850008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A75F07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc */; };
+		69E0AFB307CBF85E008493CA /* Main.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A76F07CBD52D008493CA /* Main.cc */; };
+		69E0AFB407CBF85F008493CA /* Motion.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77107CBD52D008493CA /* Motion.cc */; };
+		69E0AFB507CBF860008493CA /* Process.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77307CBD52D008493CA /* Process.cc */; };
+		69E0AFB607CBF862008493CA /* SharedGlobals.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77607CBD52D008493CA /* SharedGlobals.cc */; };
+		69E0AFB707CBF862008493CA /* Simulator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77807CBD52D008493CA /* Simulator.cc */; };
+		69E0AFB807CBF863008493CA /* SoundPlay.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E0A77A07CBD52D008493CA /* SoundPlay.cc */; };
+		69E0AFB907CBF881008493CA /* libtekkotsu.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 69E0ADC407CBF382008493CA /* libtekkotsu.a */; };
+		69E0AFBA07CBF881008493CA /* libroboop.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 69E0ADB607CBF0AB008493CA /* libroboop.a */; };
+		69E0AFBB07CBF881008493CA /* libnewmat.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 69E0ADBD07CBF0F8008493CA /* libnewmat.a */; };
+		69E666BC07F0CE51005F4FA9 /* plist.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E666BB07F0CE51005F4FA9 /* plist.cc */; };
+		69E666BD07F0CE51005F4FA9 /* plist.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E666BB07F0CE51005F4FA9 /* plist.cc */; };
+		69E6674907F1E23A005F4FA9 /* XMLLoadSave.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E6674707F1E23A005F4FA9 /* XMLLoadSave.cc */; };
+		69E6674A07F1E23A005F4FA9 /* XMLLoadSave.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E6674707F1E23A005F4FA9 /* XMLLoadSave.cc */; };
+		69E6696507F3398F005F4FA9 /* SimConfig.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E6696307F3398F005F4FA9 /* SimConfig.cc */; };
+		69E6696607F3398F005F4FA9 /* SimConfig.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69E6696307F3398F005F4FA9 /* SimConfig.cc */; };
+		69EA8B9507EB57480047DA8D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9207EB57480047DA8D /* libiconv.dylib */; };
+		69EA8B9607EB57480047DA8D /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9307EB57480047DA8D /* libxml2.dylib */; };
+		69EA8B9707EB57480047DA8D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9407EB57480047DA8D /* libz.dylib */; };
+		69EA8B9807EB57480047DA8D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9207EB57480047DA8D /* libiconv.dylib */; };
+		69EA8B9907EB57480047DA8D /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9307EB57480047DA8D /* libxml2.dylib */; };
+		69EA8B9A07EB57480047DA8D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9407EB57480047DA8D /* libz.dylib */; };
+		69EA8B9B07EB57480047DA8D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9207EB57480047DA8D /* libiconv.dylib */; };
+		69EA8B9C07EB57480047DA8D /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9307EB57480047DA8D /* libxml2.dylib */; };
+		69EA8B9D07EB57480047DA8D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 69EA8B9407EB57480047DA8D /* libz.dylib */; };
+		69FA48F7084C389E0003A261 /* UPennWalkMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48F5084C389D0003A261 /* UPennWalkMC.cc */; };
+		69FA48F8084C389E0003A261 /* UPennWalkMC.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48F5084C389D0003A261 /* UPennWalkMC.cc */; };
+		69FA48FD084C38E80003A261 /* Graphics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48F9084C38E80003A261 /* Graphics.cc */; };
+		69FA48FE084C38E80003A261 /* RLEGraphics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48FB084C38E80003A261 /* RLEGraphics.cc */; };
+		69FA48FF084C38E80003A261 /* Graphics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48F9084C38E80003A261 /* Graphics.cc */; };
+		69FA4900084C38E80003A261 /* RLEGraphics.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA48FB084C38E80003A261 /* RLEGraphics.cc */; };
+		69FA4903084C39230003A261 /* UPennWalkControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA4901084C39230003A261 /* UPennWalkControllerBehavior.cc */; };
+		69FA4904084C39230003A261 /* UPennWalkControllerBehavior.cc in Sources */ = {isa = PBXBuildFile; fileRef = 69FA4901084C39230003A261 /* UPennWalkControllerBehavior.cc */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXBuildStyle section */
+		014CEA460018CE2711CA2923 /* Development */ = {
+			isa = PBXBuildStyle;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					PLATFORM_LOCAL,
+					DEBUG,
+					HAVE_READDIR_R,
+				);
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PROFILING_CODE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(TEKKOTSU_ROOT)",
+					/usr/include/libxml2,
+				);
+				OBJROOT = build;
+				PREBINDING = NO;
+				SYMROOT = "";
+				WARNING_CFLAGS = (
+					"-Wall",
+					"-W",
+					"-Wpointer-arith",
+					"-Wcast-qual",
+					"-Woverloaded-virtual",
+					"-Wdeprecated",
+				);
+			};
+			name = Development;
+		};
+		014CEA470018CE2711CA2923 /* Deployment */ = {
+			isa = PBXBuildStyle;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = PLATFORM_LOCAL;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				HEADER_SEARCH_PATHS = "$(TEKKOTSU_ROOT)";
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+/* End PBXBuildStyle section */
+
+/* Begin PBXFileReference section */
+		0249A663FF388D9811CA2CEA /* libstdc++.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libstdc++.a"; path = "/usr/lib/libstdc++.a"; sourceTree = "<absolute>"; };
+		690564F20819531A00613A0E /* minisim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = minisim.h; path = /Users/ejt/todo/Tekkotsu/local/minisim.h; sourceTree = "<absolute>"; };
+		691C805508255F6300E8E256 /* Base64.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Base64.cc; sourceTree = "<group>"; };
+		691C805C08255F6D00E8E256 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = "<group>"; };
+		692CD63407F8C46B00604100 /* sim.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = sim.cc; sourceTree = "<group>"; };
+		692CD99407F9F05500604100 /* LoadFileThread.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadFileThread.cc; sourceTree = "<group>"; };
+		692CD99507F9F05500604100 /* LoadFileThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadFileThread.h; sourceTree = "<group>"; };
+		6934224207D408E600BB3331 /* sim.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = sim.h; sourceTree = "<group>"; };
+		6942757707E0DCDD003DE3D9 /* MutexLock.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MutexLock.cc; sourceTree = "<group>"; };
+		6942779007E164EA003DE3D9 /* Thread.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Thread.cc; sourceTree = "<group>"; };
+		694AB43507F48A860071A2AE /* libjpeg.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libjpeg.dylib; path = /usr/local/lib/libjpeg.dylib; sourceTree = "<absolute>"; };
+		694AB43607F48A860071A2AE /* libpng12.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libpng12.dylib; path = /usr/local/lib/libpng12.dylib; sourceTree = "<absolute>"; };
+		6952B61A07DBFDCC00E2565F /* SemaphoreManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SemaphoreManager.h; sourceTree = "<group>"; };
+		695967E007FF3DCF004FABFF /* LoadImageThread.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadImageThread.cc; sourceTree = "<group>"; };
+		695967E107FF3DCF004FABFF /* LoadImageThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadImageThread.h; sourceTree = "<group>"; };
+		695F1AC80804A81800ACB3D7 /* BufferedImageGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BufferedImageGenerator.cc; sourceTree = "<group>"; };
+		695F1AC90804A81800ACB3D7 /* BufferedImageGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BufferedImageGenerator.h; sourceTree = "<group>"; };
+		696B01FB07D6906E000C1839 /* ms */ = {isa = PBXFileReference; lastKnownFileType = folder; path = ms; sourceTree = "<group>"; };
+		69761DBB0856207A007DB073 /* AiboComm.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = AiboComm.java; sourceTree = "<group>"; };
+		69761DBC0856207A007DB073 /* Base64.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = Base64.java; sourceTree = "<group>"; };
+		69761DBD0856207A007DB073 /* ClassPathModifier.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ClassPathModifier.java; sourceTree = "<group>"; };
+		69761DBE0856207A007DB073 /* ControllerErr.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ControllerErr.java; sourceTree = "<group>"; };
+		69761DBF0856207A007DB073 /* ControllerGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ControllerGUI.java; sourceTree = "<group>"; };
+		69761DC00856207A007DB073 /* ControllerListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ControllerListener.java; sourceTree = "<group>"; };
+		69761DC10856207A007DB073 /* ControllerMsg.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ControllerMsg.java; sourceTree = "<group>"; };
+		69761DC20856207A007DB073 /* DogConfig.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = DogConfig.java; sourceTree = "<group>"; };
+		69761DC30856207A007DB073 /* DogConfigFTP.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = DogConfigFTP.java; sourceTree = "<group>"; };
+		69761DC40856207A007DB073 /* EditScriptGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = EditScriptGUI.java; sourceTree = "<group>"; };
+		69761DC50856207A007DB073 /* EStopButton.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = EStopButton.java; sourceTree = "<group>"; };
+		69761DC60856207A007DB073 /* EStopGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = EStopGUI.java; sourceTree = "<group>"; };
+		69761DC70856207A007DB073 /* EStopListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = EStopListener.java; sourceTree = "<group>"; };
+		69761DC80856207A007DB073 /* EStopPanel.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = EStopPanel.java; sourceTree = "<group>"; };
+		69761DC90856207A007DB073 /* GraphCanvas.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = GraphCanvas.java; sourceTree = "<group>"; };
+		69761DCA0856207A007DB073 /* HeadPointGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = HeadPointGUI.java; sourceTree = "<group>"; };
+		69761DCB0856207A007DB073 /* HeadPointListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = HeadPointListener.java; sourceTree = "<group>"; };
+		69761DCC0856207A007DB073 /* ImageSequenceWriterThread.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ImageSequenceWriterThread.java; sourceTree = "<group>"; };
+		69761DCD0856207A007DB073 /* JointLogger.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = JointLogger.java; sourceTree = "<group>"; };
+		69761DCE0856207A007DB073 /* JointRelay.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = JointRelay.java; sourceTree = "<group>"; };
+		69761DCF0856207A007DB073 /* JointRequestor.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = JointRequestor.java; sourceTree = "<group>"; };
+		69761DD00856207A007DB073 /* Joints.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = Joints.java; sourceTree = "<group>"; };
+		69761DD10856207A007DB073 /* JointWriter.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = JointWriter.java; sourceTree = "<group>"; };
+		69761DD20856207A007DB073 /* Listener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = Listener.java; sourceTree = "<group>"; };
+		69761DD30856207A007DB073 /* MechaController.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = MechaController.java; sourceTree = "<group>"; };
+		69761DD40856207A007DB073 /* MicrophoneClient.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = MicrophoneClient.java; sourceTree = "<group>"; };
+		69761DD50856207A007DB073 /* NetDebug.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = NetDebug.java; sourceTree = "<group>"; };
+		69761DD60856207A007DB073 /* ParamListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ParamListener.java; sourceTree = "<group>"; };
+		69761DD70856207A007DB073 /* PIDs.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = PIDs.java; sourceTree = "<group>"; };
+		69761DD80856207A007DB073 /* PointPick.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = PointPick.java; sourceTree = "<group>"; };
+		69761DD90856207A007DB073 /* PrintDuties.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = PrintDuties.java; sourceTree = "<group>"; };
+		69761DDA0856207A007DB073 /* ScriptEntry.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = ScriptEntry.java; sourceTree = "<group>"; };
+		69761DDB0856207A007DB073 /* SpeakerClient.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = SpeakerClient.java; sourceTree = "<group>"; };
+		69761DDC0856207A007DB073 /* SquareRightLayout.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = SquareRightLayout.java; sourceTree = "<group>"; };
+		69761DDD0856207A007DB073 /* TableMap.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TableMap.java; sourceTree = "<group>"; };
+		69761DDE0856207A007DB073 /* TableSorter.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TableSorter.java; sourceTree = "<group>"; };
+		69761DDF0856207A007DB073 /* TCPListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TCPListener.java; sourceTree = "<group>"; };
+		69761DE00856207A007DB073 /* TCPVisionListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TCPVisionListener.java; sourceTree = "<group>"; };
+		69761DE10856207A007DB073 /* Terminal.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = Terminal.java; sourceTree = "<group>"; };
+		69761DE20856207A007DB073 /* TestGraph.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TestGraph.java; sourceTree = "<group>"; };
+		69761DE30856207A007DB073 /* TextListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TextListener.java; sourceTree = "<group>"; };
+		69761DE40856207A007DB073 /* TextWatchableMemory.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TextWatchableMemory.java; sourceTree = "<group>"; };
+		69761DE50856207A007DB073 /* TwoParamPanel.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = TwoParamPanel.java; sourceTree = "<group>"; };
+		69761DE60856207A007DB073 /* UDPListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = UDPListener.java; sourceTree = "<group>"; };
+		69761DE70856207A007DB073 /* UDPVisionListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = UDPVisionListener.java; sourceTree = "<group>"; };
+		69761DE80856207A007DB073 /* VisionGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = VisionGUI.java; sourceTree = "<group>"; };
+		69761DE90856207A007DB073 /* VisionListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = VisionListener.java; sourceTree = "<group>"; };
+		69761DEA0856207A007DB073 /* VisionPanel.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = VisionPanel.java; sourceTree = "<group>"; };
+		69761DEB0856207A007DB073 /* VisionUpdatedListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = VisionUpdatedListener.java; sourceTree = "<group>"; };
+		69761DEC0856207A007DB073 /* WalkGUI.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WalkGUI.java; sourceTree = "<group>"; };
+		69761DED0856207A007DB073 /* WatchableMemory.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WatchableMemory.java; sourceTree = "<group>"; };
+		69761DEE0856207A007DB073 /* WatchableMemoryListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WatchableMemoryListener.java; sourceTree = "<group>"; };
+		69761DEF0856207A007DB073 /* WM2DMData.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2DMData.java; sourceTree = "<group>"; };
+		69761DF00856207A007DB073 /* WM2DMListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2DMListener.java; sourceTree = "<group>"; };
+		69761DF10856207A007DB073 /* WM2FSData.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2FSData.java; sourceTree = "<group>"; };
+		69761DF20856207A007DB073 /* WM2FSListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2FSListener.java; sourceTree = "<group>"; };
+		69761DF30856207A007DB073 /* WM2HMData.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2HMData.java; sourceTree = "<group>"; };
+		69761DF40856207A007DB073 /* WM2HMListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WM2HMListener.java; sourceTree = "<group>"; };
+		69761DF50856207A007DB073 /* WMvar.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WMvar.java; sourceTree = "<group>"; };
+		69761DF60856207A007DB073 /* WorldModel2Conf.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WorldModel2Conf.java; sourceTree = "<group>"; };
+		69761DF70856207A007DB073 /* WorldStateJointsListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WorldStateJointsListener.java; sourceTree = "<group>"; };
+		69761DF80856207A007DB073 /* WorldStatePIDsListener.java */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.java; path = WorldStatePIDsListener.java; sourceTree = "<group>"; };
+		6985DA3408527479009FD05A /* tools */ = {isa = PBXFileReference; lastKnownFileType = folder; name = tools; path = ../tools; sourceTree = SOURCE_ROOT; };
+		6994F3CA07D4D35F003A7628 /* ListMemBuf.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ListMemBuf.h; sourceTree = "<group>"; };
+		6994F3CB07D4D35F003A7628 /* LockScope.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LockScope.h; sourceTree = "<group>"; };
+		6994F3CC07D4D35F003A7628 /* MessageQueue.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MessageQueue.h; sourceTree = "<group>"; };
+		6994F3CD07D4D35F003A7628 /* MessageReceiver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MessageReceiver.h; sourceTree = "<group>"; };
+		6994F3CE07D4D35F003A7628 /* MutexLock.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MutexLock.h; sourceTree = "<group>"; };
+		6994F3CF07D4D35F003A7628 /* SemaphoreManager.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SemaphoreManager.cc; sourceTree = "<group>"; };
+		6994F3D107D4D35F003A7628 /* ProcessID.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessID.cc; sourceTree = "<group>"; };
+		6994F3D207D4D35F003A7628 /* ProcessID.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ProcessID.h; sourceTree = "<group>"; };
+		6994F3D307D4D35F003A7628 /* RCRegion.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RCRegion.cc; sourceTree = "<group>"; };
+		6994F3D407D4D35F003A7628 /* RCRegion.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RCRegion.h; sourceTree = "<group>"; };
+		6994F3D507D4D35F003A7628 /* RegionRegistry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RegionRegistry.h; sourceTree = "<group>"; };
+		6994F3D607D4D35F003A7628 /* SharedObject.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SharedObject.cc; sourceTree = "<group>"; };
+		6994F3D707D4D35F003A7628 /* SharedObject.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SharedObject.h; sourceTree = "<group>"; };
+		6994F56F07D68C8D003A7628 /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+		6994F57D07D68D23003A7628 /* INSTALL */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = INSTALL; sourceTree = "<group>"; };
+		6994F59607D68DF6003A7628 /* Makefile.aperios */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 30; path = Makefile.aperios; sourceTree = "<group>"; };
+		6994F59807D68DF6003A7628 /* MMCombo.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MMCombo.cc; sourceTree = "<group>"; };
+		6994F59907D68DF6003A7628 /* MMCombo.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMCombo.h; sourceTree = "<group>"; };
+		6994F59A07D68DF6003A7628 /* MMCombo.ocf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = MMCombo.ocf; sourceTree = "<group>"; };
+		6994F59B07D68DF6003A7628 /* stub.cfg */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = stub.cfg; sourceTree = "<group>"; };
+		6994F59D07D68DF6003A7628 /* SndPlay.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SndPlay.cc; sourceTree = "<group>"; };
+		6994F59E07D68DF6003A7628 /* SndPlay.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SndPlay.h; sourceTree = "<group>"; };
+		6994F59F07D68DF7003A7628 /* SoundPlay.ocf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SoundPlay.ocf; sourceTree = "<group>"; };
+		6994F5A007D68DF7003A7628 /* stub.cfg */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = stub.cfg; sourceTree = "<group>"; };
+		6994F5A207D68DF7003A7628 /* FtpConfig.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FtpConfig.h; sourceTree = "<group>"; };
+		6994F5A307D68DF7003A7628 /* FtpDTP.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FtpDTP.cc; sourceTree = "<group>"; };
+		6994F5A407D68DF7003A7628 /* FtpDTP.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FtpDTP.h; sourceTree = "<group>"; };
+		6994F5A507D68DF7003A7628 /* FtpMethod.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FtpMethod.cc; sourceTree = "<group>"; };
+		6994F5A607D68DF7003A7628 /* FtpPI.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FtpPI.cc; sourceTree = "<group>"; };
+		6994F5A707D68DF7003A7628 /* FtpPI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FtpPI.h; sourceTree = "<group>"; };
+		6994F5A807D68DF7003A7628 /* FtpRequest.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FtpRequest.cc; sourceTree = "<group>"; };
+		6994F5A907D68DF7003A7628 /* stub.cfg */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = stub.cfg; sourceTree = "<group>"; };
+		6994F5AA07D68DF7003A7628 /* TCPConnection.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TCPConnection.h; sourceTree = "<group>"; };
+		6994F5AB07D68DF7003A7628 /* TinyFTPD.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TinyFTPD.cc; sourceTree = "<group>"; };
+		6994F5AC07D68DF7003A7628 /* TinyFTPD.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TinyFTPD.h; sourceTree = "<group>"; };
+		6994F5AD07D68DF7003A7628 /* TinyFTPD.ocf */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = TinyFTPD.ocf; sourceTree = "<group>"; };
+		6994F5B807D68E41003A7628 /* Makefile.local */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 30; name = Makefile.local; path = /Users/ejt/todo/Tekkotsu/local/Makefile.local; sourceTree = "<absolute>"; };
+		6994F5C307D68EE4003A7628 /* Makefile.local */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 30; name = Makefile.local; path = local/Makefile.local; sourceTree = "<group>"; };
+		6994F5CC07D68F2A003A7628 /* Makefile.aperios */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 30; languageSpecificationIdentifier = make; path = Makefile.aperios; sourceTree = "<group>"; };
+		69970AC0083DB2760069D95C /* StewartPlatformBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StewartPlatformBehavior.cc; sourceTree = "<group>"; };
+		69970AC3083DB2830069D95C /* StewartPlatformBehavior.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = StewartPlatformBehavior.h; sourceTree = "<group>"; };
+		69970AC4083DB2C60069D95C /* LogTestMachine.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = LogTestMachine.h; sourceTree = "<group>"; };
+		69970ACC083DB35B0069D95C /* TextMsgTrans.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TextMsgTrans.h; sourceTree = "<group>"; };
+		69A1995E080ED8A200540970 /* EchoBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EchoBehavior.cc; sourceTree = "<group>"; };
+		69A19963080ED8AE00540970 /* EchoBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EchoBehavior.h; sourceTree = "<group>"; };
+		69A323C007E35646009D94E1 /* write_jpeg.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = write_jpeg.cc; sourceTree = "<group>"; };
+		69A323C107E35646009D94E1 /* write_jpeg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = write_jpeg.h; sourceTree = "<group>"; };
+		69A6D61007CD2C7700CB4720 /* sim-ERS7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "sim-ERS7"; sourceTree = BUILT_PRODUCTS_DIR; };
+		69AA7D690860898300185BA2 /* MessageReceiver.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MessageReceiver.cc; sourceTree = "<group>"; };
+		69B4E445089409D800832D58 /* StareAtPawBehavior2.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StareAtPawBehavior2.cc; sourceTree = "<group>"; };
+		69E0A75707CBD4F9008493CA /* SampleBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SampleBehavior.h; sourceTree = "<group>"; };
+		69E0A75807CBD4F9008493CA /* SampleMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SampleMC.h; sourceTree = "<group>"; };
+		69E0A75907CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupBackgroundBehaviors.cc; sourceTree = "<group>"; };
+		69E0A75A07CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupFileAccess.cc; sourceTree = "<group>"; };
+		69E0A75B07CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupModeSwitch.cc; sourceTree = "<group>"; };
+		69E0A75C07CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupStatusReports.cc; sourceTree = "<group>"; };
+		69E0A75D07CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupTekkotsuMon.cc; sourceTree = "<group>"; };
+		69E0A75E07CBD4F9008493CA /* StartupBehavior_SetupVision.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupVision.cc; sourceTree = "<group>"; };
+		69E0A75F07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior_SetupWalkEdit.cc; sourceTree = "<group>"; };
+		69E0A76007CBD4F9008493CA /* StartupBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StartupBehavior.cc; sourceTree = "<group>"; };
+		69E0A76107CBD4F9008493CA /* StartupBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StartupBehavior.h; sourceTree = "<group>"; };
+		69E0A76F07CBD52D008493CA /* Main.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Main.cc; sourceTree = "<group>"; };
+		69E0A77007CBD52D008493CA /* Main.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Main.h; sourceTree = "<group>"; };
+		69E0A77107CBD52D008493CA /* Motion.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Motion.cc; sourceTree = "<group>"; };
+		69E0A77207CBD52D008493CA /* Motion.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Motion.h; sourceTree = "<group>"; };
+		69E0A77307CBD52D008493CA /* Process.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Process.cc; sourceTree = "<group>"; };
+		69E0A77407CBD52D008493CA /* Process.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Process.h; sourceTree = "<group>"; };
+		69E0A77607CBD52D008493CA /* SharedGlobals.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SharedGlobals.cc; sourceTree = "<group>"; };
+		69E0A77707CBD52D008493CA /* SharedGlobals.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SharedGlobals.h; sourceTree = "<group>"; };
+		69E0A77807CBD52D008493CA /* Simulator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Simulator.cc; sourceTree = "<group>"; };
+		69E0A77907CBD52D008493CA /* Simulator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Simulator.h; sourceTree = "<group>"; };
+		69E0A77A07CBD52D008493CA /* SoundPlay.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundPlay.cc; sourceTree = "<group>"; };
+		69E0A77B07CBD52D008493CA /* SoundPlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SoundPlay.h; sourceTree = "<group>"; };
+		69E0A78C07CBD6BF008493CA /* BehaviorBase.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BehaviorBase.cc; sourceTree = "<group>"; };
+		69E0A78D07CBD6BF008493CA /* BehaviorBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BehaviorBase.h; sourceTree = "<group>"; };
+		69E0A78F07CBD6BF008493CA /* Controller.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Controller.cc; sourceTree = "<group>"; };
+		69E0A79007CBD6BF008493CA /* Controller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Controller.h; sourceTree = "<group>"; };
+		69E0A79207CBD6BF008493CA /* BatteryCheckControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BatteryCheckControl.h; sourceTree = "<group>"; };
+		69E0A79307CBD6BF008493CA /* BehaviorActivatorControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BehaviorActivatorControl.h; sourceTree = "<group>"; };
+		69E0A79407CBD6BF008493CA /* BehaviorReportControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BehaviorReportControl.h; sourceTree = "<group>"; };
+		69E0A79507CBD6BF008493CA /* BehaviorSwitchActivatorControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BehaviorSwitchActivatorControl.h; sourceTree = "<group>"; };
+		69E0A79607CBD6BF008493CA /* BehaviorSwitchControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BehaviorSwitchControl.h; sourceTree = "<group>"; };
+		69E0A79707CBD6BF008493CA /* ControlBase.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ControlBase.cc; sourceTree = "<group>"; };
+		69E0A79807CBD6BF008493CA /* ControlBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ControlBase.h; sourceTree = "<group>"; };
+		69E0A79907CBD6C0008493CA /* DumpFileControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = DumpFileControl.h; sourceTree = "<group>"; };
+		69E0A79A07CBD6C0008493CA /* EventLogger.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventLogger.cc; sourceTree = "<group>"; };
+		69E0A79B07CBD6C0008493CA /* EventLogger.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventLogger.h; sourceTree = "<group>"; };
+		69E0A79C07CBD6C0008493CA /* FileBrowserControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FileBrowserControl.cc; sourceTree = "<group>"; };
+		69E0A79D07CBD6C0008493CA /* FileBrowserControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FileBrowserControl.h; sourceTree = "<group>"; };
+		69E0A79E07CBD6C0008493CA /* FileInputControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FileInputControl.h; sourceTree = "<group>"; };
+		69E0A79F07CBD6C0008493CA /* FreeMemReportControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FreeMemReportControl.cc; sourceTree = "<group>"; };
+		69E0A7A007CBD6C0008493CA /* FreeMemReportControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FreeMemReportControl.h; sourceTree = "<group>"; };
+		69E0A7A107CBD6C0008493CA /* HelpControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HelpControl.cc; sourceTree = "<group>"; };
+		69E0A7A207CBD6C0008493CA /* HelpControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HelpControl.h; sourceTree = "<group>"; };
+		69E0A7A307CBD6C0008493CA /* LoadCalibration.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LoadCalibration.h; sourceTree = "<group>"; };
+		69E0A7A407CBD6C0008493CA /* LoadPostureControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LoadPostureControl.h; sourceTree = "<group>"; };
+		69E0A7A507CBD6C0008493CA /* LoadWalkControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LoadWalkControl.h; sourceTree = "<group>"; };
+		69E0A7A607CBD6C0008493CA /* MCValueEditControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MCValueEditControl.h; sourceTree = "<group>"; };
+		69E0A7A707CBD6C0008493CA /* NetworkStatusControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = NetworkStatusControl.h; sourceTree = "<group>"; };
+		69E0A7A807CBD6C0008493CA /* NullControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = NullControl.h; sourceTree = "<group>"; };
+		69E0A7A907CBD6C0008493CA /* PlaySoundControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PlaySoundControl.h; sourceTree = "<group>"; };
+		69E0A7AA07CBD6C0008493CA /* PostureEditor.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PostureEditor.cc; sourceTree = "<group>"; };
+		69E0A7AB07CBD6C0008493CA /* PostureEditor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PostureEditor.h; sourceTree = "<group>"; };
+		69E0A7AC07CBD6C0008493CA /* ProfilerCheckControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ProfilerCheckControl.h; sourceTree = "<group>"; };
+		69E0A7AD07CBD6C0008493CA /* RebootControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RebootControl.cc; sourceTree = "<group>"; };
+		69E0A7AE07CBD6C0008493CA /* RebootControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RebootControl.h; sourceTree = "<group>"; };
+		69E0A7AF07CBD6C0008493CA /* RunSequenceControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RunSequenceControl.h; sourceTree = "<group>"; };
+		69E0A7B007CBD6C0008493CA /* SavePostureControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SavePostureControl.h; sourceTree = "<group>"; };
+		69E0A7B107CBD6C0008493CA /* SaveWalkControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SaveWalkControl.h; sourceTree = "<group>"; };
+		69E0A7B207CBD6C0008493CA /* SensorObserverControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SensorObserverControl.cc; sourceTree = "<group>"; };
+		69E0A7B307CBD6C0008493CA /* SensorObserverControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SensorObserverControl.h; sourceTree = "<group>"; };
+		69E0A7B407CBD6C0008493CA /* ShutdownControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ShutdownControl.cc; sourceTree = "<group>"; };
+		69E0A7B507CBD6C0008493CA /* ShutdownControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ShutdownControl.h; sourceTree = "<group>"; };
+		69E0A7B607CBD6C0008493CA /* StringInputControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StringInputControl.cc; sourceTree = "<group>"; };
+		69E0A7B707CBD6C0008493CA /* StringInputControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StringInputControl.h; sourceTree = "<group>"; };
+		69E0A7B807CBD6C0008493CA /* ToggleControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ToggleControl.h; sourceTree = "<group>"; };
+		69E0A7B907CBD6C0008493CA /* ValueEditControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ValueEditControl.h; sourceTree = "<group>"; };
+		69E0A7BA07CBD6C0008493CA /* ValueSetControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ValueSetControl.h; sourceTree = "<group>"; };
+		69E0A7BB07CBD6C0008493CA /* WalkCalibration.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WalkCalibration.cc; sourceTree = "<group>"; };
+		69E0A7BC07CBD6C0008493CA /* WalkCalibration.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WalkCalibration.h; sourceTree = "<group>"; };
+		69E0A7BD07CBD6C0008493CA /* WaypointWalkControl.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WaypointWalkControl.cc; sourceTree = "<group>"; };
+		69E0A7BE07CBD6C0008493CA /* WaypointWalkControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WaypointWalkControl.h; sourceTree = "<group>"; };
+		69E0A7C007CBD6C0008493CA /* AlanBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = AlanBehavior.h; sourceTree = "<group>"; };
+		69E0A7C107CBD6C0008493CA /* ASCIIVisionBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ASCIIVisionBehavior.cc; sourceTree = "<group>"; };
+		69E0A7C207CBD6C0008493CA /* ASCIIVisionBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ASCIIVisionBehavior.h; sourceTree = "<group>"; };
+		69E0A7C307CBD6C0008493CA /* AutoGetupBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = AutoGetupBehavior.h; sourceTree = "<group>"; };
+		69E0A7C407CBD6C0008493CA /* BanditMachine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BanditMachine.h; sourceTree = "<group>"; };
+		69E0A7C507CBD6C0008493CA /* BatteryMonitorBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BatteryMonitorBehavior.h; sourceTree = "<group>"; };
+		69E0A7C607CBD6C0008493CA /* CameraBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CameraBehavior.cc; sourceTree = "<group>"; };
+		69E0A7C707CBD6C0008493CA /* CameraBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CameraBehavior.h; sourceTree = "<group>"; };
+		69E0A7C807CBD6C0008493CA /* ChaseBallBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChaseBallBehavior.cc; sourceTree = "<group>"; };
+		69E0A7C907CBD6C0008493CA /* ChaseBallBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ChaseBallBehavior.h; sourceTree = "<group>"; };
+		69E0A7CA07CBD6C0008493CA /* CrashTestBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CrashTestBehavior.h; sourceTree = "<group>"; };
+		69E0A7CB07CBD6C0008493CA /* DriveMeBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DriveMeBehavior.cc; sourceTree = "<group>"; };
+		69E0A7CC07CBD6C0008493CA /* DriveMeBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = DriveMeBehavior.h; sourceTree = "<group>"; };
+		69E0A7CD07CBD6C0008493CA /* ExploreMachine.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ExploreMachine.cc; sourceTree = "<group>"; };
+		69E0A7CE07CBD6C0008493CA /* ExploreMachine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ExploreMachine.h; sourceTree = "<group>"; };
+		69E0A7CF07CBD6C0008493CA /* FlashIPAddrBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FlashIPAddrBehavior.cc; sourceTree = "<group>"; };
+		69E0A7D007CBD6C0008493CA /* FlashIPAddrBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FlashIPAddrBehavior.h; sourceTree = "<group>"; };
+		69E0A7D107CBD6C0008493CA /* FollowHeadBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FollowHeadBehavior.cc; sourceTree = "<group>"; };
+		69E0A7D207CBD6C0008493CA /* FollowHeadBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FollowHeadBehavior.h; sourceTree = "<group>"; };
+		69E0A7D307CBD6C0008493CA /* FreezeTestBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FreezeTestBehavior.h; sourceTree = "<group>"; };
+		69E0A7D407CBD6C0008493CA /* GroundPlaneBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = GroundPlaneBehavior.h; sourceTree = "<group>"; };
+		69E0A7D507CBD6C0008493CA /* HeadLevelBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HeadLevelBehavior.h; sourceTree = "<group>"; };
+		69E0A7D607CBD6C0008493CA /* HelloWorldBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HelloWorldBehavior.h; sourceTree = "<group>"; };
+		69E0A7D707CBD6C0008493CA /* karmedbandit.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = karmedbandit.h; sourceTree = "<group>"; };
+		69E0A7D807CBD6C0008493CA /* KinematicSampleBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = KinematicSampleBehavior.h; sourceTree = "<group>"; };
+		69E0A7D907CBD6C0008493CA /* KinematicSampleBehavior2.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = KinematicSampleBehavior2.h; sourceTree = "<group>"; };
+		69E0A7DA07CBD6C0008493CA /* LookForSoundBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LookForSoundBehavior.h; sourceTree = "<group>"; };
+		69E0A7DB07CBD6C0008493CA /* MCRepeater.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MCRepeater.h; sourceTree = "<group>"; };
+		69E0A7DC07CBD6C0008493CA /* MotionStressTestBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionStressTestBehavior.h; sourceTree = "<group>"; };
+		69E0A7DD07CBD6C0008493CA /* PaceTargetsMachine.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PaceTargetsMachine.cc; sourceTree = "<group>"; };
+		69E0A7DE07CBD6C0008493CA /* PaceTargetsMachine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PaceTargetsMachine.h; sourceTree = "<group>"; };
+		69E0A7DF07CBD6C0008493CA /* RelaxBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RelaxBehavior.h; sourceTree = "<group>"; };
+		69E0A7E007CBD6C0008493CA /* SimpleChaseBallBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SimpleChaseBallBehavior.h; sourceTree = "<group>"; };
+		69E0A7E107CBD6C0008493CA /* SoundTestBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SoundTestBehavior.h; sourceTree = "<group>"; };
+		69E0A7E207CBD6C0008493CA /* StareAtBallBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StareAtBallBehavior.cc; sourceTree = "<group>"; };
+		69E0A7E307CBD6C0008493CA /* StareAtBallBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StareAtBallBehavior.h; sourceTree = "<group>"; };
+		69E0A7E407CBD6C0008493CA /* StareAtPawBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StareAtPawBehavior.h; sourceTree = "<group>"; };
+		69E0A7E507CBD6C0008493CA /* StareAtPawBehavior2.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StareAtPawBehavior2.h; sourceTree = "<group>"; };
+		69E0A7E607CBD6C0008493CA /* ToggleHeadLightBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ToggleHeadLightBehavior.h; sourceTree = "<group>"; };
+		69E0A7E707CBD6C0008493CA /* WallTestBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WallTestBehavior.cc; sourceTree = "<group>"; };
+		69E0A7E807CBD6C0008493CA /* WallTestBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WallTestBehavior.h; sourceTree = "<group>"; };
+		69E0A7E907CBD6C0008493CA /* WorldStateVelDaemon.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WorldStateVelDaemon.h; sourceTree = "<group>"; };
+		69E0A7EB07CBD6C0008493CA /* Aibo3DControllerBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Aibo3DControllerBehavior.h; sourceTree = "<group>"; };
+		69E0A7EC07CBD6C0008493CA /* EStopControllerBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EStopControllerBehavior.cc; sourceTree = "<group>"; };
+		69E0A7ED07CBD6C0008493CA /* EStopControllerBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EStopControllerBehavior.h; sourceTree = "<group>"; };
+		69E0A7EE07CBD6C0008493CA /* HeadPointControllerBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HeadPointControllerBehavior.cc; sourceTree = "<group>"; };
+		69E0A7EF07CBD6C0008493CA /* HeadPointControllerBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HeadPointControllerBehavior.h; sourceTree = "<group>"; };
+		69E0A7F007CBD6C0008493CA /* MicrophoneServer.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MicrophoneServer.cc; sourceTree = "<group>"; };
+		69E0A7F107CBD6C0008493CA /* MicrophoneServer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MicrophoneServer.h; sourceTree = "<group>"; };
+		69E0A7F207CBD6C0008493CA /* RawCamBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RawCamBehavior.cc; sourceTree = "<group>"; };
+		69E0A7F307CBD6C0008493CA /* RawCamBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RawCamBehavior.h; sourceTree = "<group>"; };
+		69E0A7F407CBD6C0008493CA /* SegCamBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SegCamBehavior.cc; sourceTree = "<group>"; };
+		69E0A7F507CBD6C0008493CA /* SegCamBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SegCamBehavior.h; sourceTree = "<group>"; };
+		69E0A7F607CBD6C0008493CA /* SpeakerServer.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SpeakerServer.cc; sourceTree = "<group>"; };
+		69E0A7F707CBD6C0008493CA /* SpeakerServer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SpeakerServer.h; sourceTree = "<group>"; };
+		69E0A7F807CBD6C0008493CA /* SpiderMachineBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SpiderMachineBehavior.cc; sourceTree = "<group>"; };
+		69E0A7F907CBD6C0008493CA /* SpiderMachineBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SpiderMachineBehavior.h; sourceTree = "<group>"; };
+		69E0A7FA07CBD6C0008493CA /* ViewWMVarsBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ViewWMVarsBehavior.h; sourceTree = "<group>"; };
+		69E0A7FB07CBD6C0008493CA /* WalkControllerBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WalkControllerBehavior.cc; sourceTree = "<group>"; };
+		69E0A7FC07CBD6C0008493CA /* WalkControllerBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WalkControllerBehavior.h; sourceTree = "<group>"; };
+		69E0A7FD07CBD6C0008493CA /* WMMonitorBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WMMonitorBehavior.cc; sourceTree = "<group>"; };
+		69E0A7FE07CBD6C0008493CA /* WMMonitorBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WMMonitorBehavior.h; sourceTree = "<group>"; };
+		69E0A7FF07CBD6C0008493CA /* WorldStateSerializerBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WorldStateSerializerBehavior.cc; sourceTree = "<group>"; };
+		69E0A80007CBD6C0008493CA /* WorldStateSerializerBehavior.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WorldStateSerializerBehavior.h; sourceTree = "<group>"; };
+		69E0A80207CBD6C0008493CA /* GroupNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = GroupNode.h; sourceTree = "<group>"; };
+		69E0A80307CBD6C0008493CA /* HeadPointerNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HeadPointerNode.h; sourceTree = "<group>"; };
+		69E0A80407CBD6C0008493CA /* LedNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LedNode.h; sourceTree = "<group>"; };
+		69E0A80507CBD6C0008493CA /* MotionSequenceNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionSequenceNode.h; sourceTree = "<group>"; };
+		69E0A80607CBD6C0008493CA /* OutputNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OutputNode.h; sourceTree = "<group>"; };
+		69E0A80707CBD6C0008493CA /* PlayMotionSequenceNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PlayMotionSequenceNode.h; sourceTree = "<group>"; };
+		69E0A80807CBD6C0008493CA /* SoundNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SoundNode.h; sourceTree = "<group>"; };
+		69E0A80907CBD6C0008493CA /* TailWagNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = TailWagNode.h; sourceTree = "<group>"; };
+		69E0A80A07CBD6C0008493CA /* WalkNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WalkNode.h; sourceTree = "<group>"; };
+		69E0A80B07CBD6C0008493CA /* WalkToTargetNode.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WalkToTargetNode.cc; sourceTree = "<group>"; };
+		69E0A80C07CBD6C0008493CA /* WalkToTargetNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WalkToTargetNode.h; sourceTree = "<group>"; };
+		69E0A80D07CBD6C0008493CA /* README */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
+		69E0A80E07CBD6C0008493CA /* StateNode.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = StateNode.cc; sourceTree = "<group>"; };
+		69E0A80F07CBD6C0008493CA /* StateNode.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = StateNode.h; sourceTree = "<group>"; };
+		69E0A81007CBD6C0008493CA /* Transition.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Transition.cc; sourceTree = "<group>"; };
+		69E0A81107CBD6C0008493CA /* Transition.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Transition.h; sourceTree = "<group>"; };
+		69E0A81307CBD6C0008493CA /* CompareTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CompareTrans.h; sourceTree = "<group>"; };
+		69E0A81407CBD6C0008493CA /* CompletionTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CompletionTrans.h; sourceTree = "<group>"; };
+		69E0A81507CBD6C0008493CA /* EventTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventTrans.h; sourceTree = "<group>"; };
+		69E0A81607CBD6C0008493CA /* LostTargetTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LostTargetTrans.h; sourceTree = "<group>"; };
+		69E0A81707CBD6C0008493CA /* NullTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = NullTrans.h; sourceTree = "<group>"; };
+		69E0A81807CBD6C0008493CA /* RandomTrans.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RandomTrans.cc; sourceTree = "<group>"; };
+		69E0A81907CBD6C0008493CA /* RandomTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RandomTrans.h; sourceTree = "<group>"; };
+		69E0A81A07CBD6C0008493CA /* SmoothCompareTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SmoothCompareTrans.h; sourceTree = "<group>"; };
+		69E0A81B07CBD6C0008493CA /* TimeOutTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = TimeOutTrans.h; sourceTree = "<group>"; };
+		69E0A81C07CBD6C0008493CA /* VisualTargetCloseTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = VisualTargetCloseTrans.h; sourceTree = "<group>"; };
+		69E0A81D07CBD6C0008493CA /* VisualTargetTrans.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = VisualTargetTrans.h; sourceTree = "<group>"; };
+		69E0A81F07CBD6C0008493CA /* DataEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = DataEvent.h; sourceTree = "<group>"; };
+		69E0A82007CBD6C0008493CA /* EventBase.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventBase.cc; sourceTree = "<group>"; };
+		69E0A82107CBD6C0008493CA /* EventBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventBase.h; sourceTree = "<group>"; };
+		69E0A82207CBD6C0008493CA /* EventGeneratorBase.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventGeneratorBase.cc; sourceTree = "<group>"; };
+		69E0A82307CBD6C0008493CA /* EventGeneratorBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventGeneratorBase.h; sourceTree = "<group>"; };
+		69E0A82407CBD6C0008493CA /* EventListener.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventListener.h; sourceTree = "<group>"; };
+		69E0A82507CBD6C0008493CA /* EventRouter.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventRouter.cc; sourceTree = "<group>"; };
+		69E0A82607CBD6C0008493CA /* EventRouter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventRouter.h; sourceTree = "<group>"; };
+		69E0A82707CBD6C0008493CA /* EventTranslator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EventTranslator.cc; sourceTree = "<group>"; };
+		69E0A82807CBD6C0008493CA /* EventTranslator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventTranslator.h; sourceTree = "<group>"; };
+		69E0A82907CBD6C0008493CA /* EventTrapper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EventTrapper.h; sourceTree = "<group>"; };
+		69E0A82A07CBD6C0008493CA /* FilterBankEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FilterBankEvent.h; sourceTree = "<group>"; };
+		69E0A82B07CBD6C0008493CA /* LocomotionEvent.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LocomotionEvent.cc; sourceTree = "<group>"; };
+		69E0A82C07CBD6C0008493CA /* LocomotionEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LocomotionEvent.h; sourceTree = "<group>"; };
+		69E0A82D07CBD6C0008493CA /* SegmentedColorFilterBankEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SegmentedColorFilterBankEvent.h; sourceTree = "<group>"; };
+		69E0A82E07CBD6C0008493CA /* TextMsgEvent.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TextMsgEvent.cc; sourceTree = "<group>"; };
+		69E0A82F07CBD6C0008493CA /* TextMsgEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = TextMsgEvent.h; sourceTree = "<group>"; };
+		69E0A83007CBD6C0008493CA /* VisionObjectEvent.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = VisionObjectEvent.cc; sourceTree = "<group>"; };
+		69E0A83107CBD6C0008493CA /* VisionObjectEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = VisionObjectEvent.h; sourceTree = "<group>"; };
+		69E0A83307CBD6C0008493CA /* DynamicMotionSequence.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = DynamicMotionSequence.h; sourceTree = "<group>"; };
+		69E0A83407CBD6C0008493CA /* EmergencyStopMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = EmergencyStopMC.cc; sourceTree = "<group>"; };
+		69E0A83507CBD6C0008493CA /* EmergencyStopMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = EmergencyStopMC.h; sourceTree = "<group>"; };
+		69E0A83607CBD6C0008493CA /* Geometry.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Geometry.h; sourceTree = "<group>"; };
+		69E0A83707CBD6C0008493CA /* gvector.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = gvector.h; sourceTree = "<group>"; };
+		69E0A83807CBD6C0008493CA /* HeadPointerMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HeadPointerMC.cc; sourceTree = "<group>"; };
+		69E0A83907CBD6C0008493CA /* HeadPointerMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = HeadPointerMC.h; sourceTree = "<group>"; };
+		69E0A83A07CBD6C0008493CA /* Kinematics.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Kinematics.cc; sourceTree = "<group>"; };
+		69E0A83B07CBD6C0008493CA /* Kinematics.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Kinematics.h; sourceTree = "<group>"; };
+		69E0A83C07CBD6C0008493CA /* LedEngine.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LedEngine.cc; sourceTree = "<group>"; };
+		69E0A83D07CBD6C0008493CA /* LedEngine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LedEngine.h; sourceTree = "<group>"; };
+		69E0A83E07CBD6C0008493CA /* LedMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LedMC.h; sourceTree = "<group>"; };
+		69E0A83F07CBD6C0008493CA /* MMAccessor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MMAccessor.h; sourceTree = "<group>"; };
+		69E0A84007CBD6C0008493CA /* MotionCommand.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MotionCommand.cc; sourceTree = "<group>"; };
+		69E0A84107CBD6C0008493CA /* MotionCommand.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionCommand.h; sourceTree = "<group>"; };
+		69E0A84207CBD6C0008493CA /* MotionManager.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MotionManager.cc; sourceTree = "<group>"; };
+		69E0A84307CBD6C0008493CA /* MotionManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionManager.h; sourceTree = "<group>"; };
+		69E0A84407CBD6C0008493CA /* MotionManagerMsg.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionManagerMsg.h; sourceTree = "<group>"; };
+		69E0A84507CBD6C0008493CA /* MotionSequenceEngine.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = MotionSequenceEngine.cc; sourceTree = "<group>"; };
+		69E0A84607CBD6C0008493CA /* MotionSequenceEngine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionSequenceEngine.h; sourceTree = "<group>"; };
+		69E0A84707CBD6C0008493CA /* MotionSequenceMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = MotionSequenceMC.h; sourceTree = "<group>"; };
+		69E0A84807CBD6C0008493CA /* OldHeadPointerMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OldHeadPointerMC.cc; sourceTree = "<group>"; };
+		69E0A84907CBD6C0008493CA /* OldHeadPointerMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OldHeadPointerMC.h; sourceTree = "<group>"; };
+		69E0A84A07CBD6C0008493CA /* OldKinematics.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OldKinematics.cc; sourceTree = "<group>"; };
+		69E0A84B07CBD6C0008493CA /* OldKinematics.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OldKinematics.h; sourceTree = "<group>"; };
+		69E0A84C07CBD6C0008493CA /* OutputCmd.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OutputCmd.cc; sourceTree = "<group>"; };
+		69E0A84D07CBD6C0008493CA /* OutputCmd.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OutputCmd.h; sourceTree = "<group>"; };
+		69E0A84E07CBD6C0008493CA /* OutputPID.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OutputPID.h; sourceTree = "<group>"; };
+		69E0A84F07CBD6C0008493CA /* Path.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Path.h; sourceTree = "<group>"; };
+		69E0A85007CBD6C0008493CA /* PIDMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PIDMC.h; sourceTree = "<group>"; };
+		69E0A85107CBD6C0008493CA /* PostureEngine.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PostureEngine.cc; sourceTree = "<group>"; };
+		69E0A85207CBD6C0008493CA /* PostureEngine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PostureEngine.h; sourceTree = "<group>"; };
+		69E0A85307CBD6C0008493CA /* PostureMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = PostureMC.cc; sourceTree = "<group>"; };
+		69E0A85407CBD6C0008493CA /* PostureMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = PostureMC.h; sourceTree = "<group>"; };
+		69E0A85507CBD6C0008493CA /* RemoteControllerMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RemoteControllerMC.h; sourceTree = "<group>"; };
+		69E0A85707CBD6C0008493CA /* clik.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = clik.cpp; sourceTree = "<group>"; };
+		69E0A85807CBD6C0008493CA /* clik.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = clik.h; sourceTree = "<group>"; };
+		69E0A85907CBD6C0008493CA /* comp_dq.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = comp_dq.cpp; sourceTree = "<group>"; };
+		69E0A85A07CBD6C0008493CA /* comp_dqp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = comp_dqp.cpp; sourceTree = "<group>"; };
+		69E0A85B07CBD6C0008493CA /* config.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 3; lastKnownFileType = sourcecode.cpp.cpp; path = config.cpp; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
+		69E0A85C07CBD6C0008493CA /* config.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = config.h; sourceTree = "<group>"; };
+		69E0A85D07CBD6C0008493CA /* control_select.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = control_select.cpp; sourceTree = "<group>"; };
+		69E0A85E07CBD6C0008493CA /* control_select.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = control_select.h; sourceTree = "<group>"; };
+		69E0A85F07CBD6C0008493CA /* controller.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = controller.cpp; sourceTree = "<group>"; };
+		69E0A86007CBD6C0008493CA /* controller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = controller.h; sourceTree = "<group>"; };
+		69E0A86107CBD6C0008493CA /* delta_t.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = delta_t.cpp; sourceTree = "<group>"; };
+		69E0A86207CBD6C0008493CA /* dynamics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = dynamics.cpp; sourceTree = "<group>"; };
+		69E0A86307CBD6C0008493CA /* dynamics_sim.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = dynamics_sim.cpp; sourceTree = "<group>"; };
+		69E0A86407CBD6C0008493CA /* dynamics_sim.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = dynamics_sim.h; sourceTree = "<group>"; };
+		69E0A87907CBD6C0008493CA /* gnugraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = gnugraph.cpp; sourceTree = "<group>"; };
+		69E0A87A07CBD6C0008493CA /* gnugraph.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = gnugraph.h; sourceTree = "<group>"; };
+		69E0A87B07CBD6C0008493CA /* homogen.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = homogen.cpp; sourceTree = "<group>"; };
+		69E0A87C07CBD6C0008493CA /* invkine.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = invkine.cpp; sourceTree = "<group>"; };
+		69E0A87D07CBD6C0008493CA /* kinemat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kinemat.cpp; sourceTree = "<group>"; };
+		69E0A87E07CBD6C0008493CA /* Makefile */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		69E0A87F07CBD6C0008493CA /* quaternion.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = quaternion.cpp; sourceTree = "<group>"; };
+		69E0A88007CBD6C0008493CA /* quaternion.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = quaternion.h; sourceTree = "<group>"; };
+		69E0A88107CBD6C0008493CA /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = readme.txt; sourceTree = "<group>"; };
+		69E0A88207CBD6C0008493CA /* revisions.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = revisions.txt; sourceTree = "<group>"; };
+		69E0A88307CBD6C0008493CA /* robdocs.tar.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = robdocs.tar.gz; sourceTree = "<group>"; };
+		69E0A88407CBD6C0008493CA /* robot.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = robot.cpp; sourceTree = "<group>"; };
+		69E0A88507CBD6C0008493CA /* robot.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = robot.h; sourceTree = "<group>"; };
+		69E0A88607CBD6C0008493CA /* sensitiv.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = sensitiv.cpp; sourceTree = "<group>"; };
+		69E0A88707CBD6C0008493CA /* trajectory.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = trajectory.cpp; sourceTree = "<group>"; };
+		69E0A88807CBD6C0008493CA /* trajectory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = trajectory.h; sourceTree = "<group>"; };
+		69E0A88907CBD6C0008493CA /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
+		69E0A88A07CBD6C0008493CA /* utils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = utils.h; sourceTree = "<group>"; };
+		69E0A88B07CBD6C0008493CA /* Spline.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Spline.h; sourceTree = "<group>"; };
+		69E0A88C07CBD6C0008493CA /* TailWagMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = TailWagMC.h; sourceTree = "<group>"; };
+		69E0A88D07CBD6C0008493CA /* WalkMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WalkMC.cc; sourceTree = "<group>"; };
+		69E0A88E07CBD6C0008493CA /* WalkMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WalkMC.h; sourceTree = "<group>"; };
+		69E0A88F07CBD6C0008493CA /* WaypointEngine.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WaypointEngine.h; sourceTree = "<group>"; };
+		69E0A89007CBD6C0008493CA /* WaypointWalkMC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WaypointWalkMC.h; sourceTree = "<group>"; };
+		69E0A89207CBD6C0008493CA /* Buffer.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Buffer.cc; sourceTree = "<group>"; };
+		69E0A89307CBD6C0008493CA /* Buffer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Buffer.h; sourceTree = "<group>"; };
+		69E0A89407CBD6C0008493CA /* CommonInfo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CommonInfo.h; sourceTree = "<group>"; };
+		69E0A89507CBD6C0008493CA /* Config.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Config.cc; sourceTree = "<group>"; };
+		69E0A89607CBD6C0008493CA /* Config.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Config.h; sourceTree = "<group>"; };
+		69E0A89707CBD6C0008493CA /* debuget.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = debuget.h; sourceTree = "<group>"; };
+		69E0A89807CBD6C0008493CA /* ERS210Info.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ERS210Info.h; sourceTree = "<group>"; };
+		69E0A89907CBD6C0008493CA /* ERS220Info.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ERS220Info.h; sourceTree = "<group>"; };
+		69E0A89A07CBD6C0008493CA /* ERS2xxInfo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ERS2xxInfo.h; sourceTree = "<group>"; };
+		69E0A89B07CBD6C0008493CA /* ERS7Info.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ERS7Info.h; sourceTree = "<group>"; };
+		69E0A89C07CBD6C0008493CA /* Factory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Factory.h; sourceTree = "<group>"; };
+		69E0A89D07CBD6C0008493CA /* get_time.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = get_time.cc; sourceTree = "<group>"; };
+		69E0A89E07CBD6C0008493CA /* get_time.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = get_time.h; sourceTree = "<group>"; };
+		69E0A8DE07CBD6C1008493CA /* jpeg_mem_dest.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = jpeg_mem_dest.cc; sourceTree = "<group>"; };
+		69E0A8DF07CBD6C1008493CA /* jpeg_mem_dest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = jpeg_mem_dest.h; sourceTree = "<group>"; };
+		69E0A8F807CBD6C1008493CA /* LoadSave.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LoadSave.cc; sourceTree = "<group>"; };
+		69E0A8F907CBD6C1008493CA /* LoadSave.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = LoadSave.h; sourceTree = "<group>"; };
+		69E0A8FB07CBD6C1008493CA /* mathutils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = mathutils.h; sourceTree = "<group>"; };
+		69E0A8FE07CBD6C1008493CA /* bandmat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = bandmat.cpp; sourceTree = "<group>"; };
+		69E0A8FF07CBD6C1008493CA /* boolean.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = boolean.h; sourceTree = "<group>"; };
+		69E0A90007CBD6C1008493CA /* cholesky.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = cholesky.cpp; sourceTree = "<group>"; };
+		69E0A90107CBD6C1008493CA /* controlw.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = controlw.h; sourceTree = "<group>"; };
+		69E0A90407CBD6C1008493CA /* add_time.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = add_time.png; sourceTree = "<group>"; };
+		69E0A90507CBD6C1008493CA /* nm11.htm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html; path = nm11.htm; sourceTree = "<group>"; };
+		69E0A90607CBD6C1008493CA /* rbd.css */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = rbd.css; sourceTree = "<group>"; };
+		69E0A90707CBD6C1008493CA /* evalue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = evalue.cpp; sourceTree = "<group>"; };
+		69E0A93807CBD6C1008493CA /* fft.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = fft.cpp; sourceTree = "<group>"; };
+		69E0A93907CBD6C1008493CA /* hholder.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = hholder.cpp; sourceTree = "<group>"; };
+		69E0A93A07CBD6C1008493CA /* include.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = include.h; sourceTree = "<group>"; };
+		69E0A93B07CBD6C1008493CA /* jacobi.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = jacobi.cpp; sourceTree = "<group>"; };
+		69E0A93C07CBD6C1008493CA /* Makefile */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		69E0A93D07CBD6C1008493CA /* myexcept.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = myexcept.cpp; sourceTree = "<group>"; };
+		69E0A93E07CBD6C1008493CA /* myexcept.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = myexcept.h; sourceTree = "<group>"; };
+		69E0A93F07CBD6C1008493CA /* newfft.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newfft.cpp; sourceTree = "<group>"; };
+		69E0A94007CBD6C1008493CA /* newmat.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmat.h; sourceTree = "<group>"; };
+		69E0A94107CBD6C1008493CA /* newmat1.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat1.cpp; sourceTree = "<group>"; };
+		69E0A94207CBD6C1008493CA /* newmat2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat2.cpp; sourceTree = "<group>"; };
+		69E0A94307CBD6C1008493CA /* newmat3.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat3.cpp; sourceTree = "<group>"; };
+		69E0A94407CBD6C1008493CA /* newmat4.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat4.cpp; sourceTree = "<group>"; };
+		69E0A94507CBD6C1008493CA /* newmat5.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat5.cpp; sourceTree = "<group>"; };
+		69E0A94607CBD6C1008493CA /* newmat6.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat6.cpp; sourceTree = "<group>"; };
+		69E0A94707CBD6C1008493CA /* newmat7.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat7.cpp; sourceTree = "<group>"; };
+		69E0A94807CBD6C1008493CA /* newmat8.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat8.cpp; sourceTree = "<group>"; };
+		69E0A94907CBD6C1008493CA /* newmat9.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmat9.cpp; sourceTree = "<group>"; };
+		69E0A94A07CBD6C1008493CA /* newmatap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmatap.h; sourceTree = "<group>"; };
+		69E0A94B07CBD6C1008493CA /* newmatex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmatex.cpp; sourceTree = "<group>"; };
+		69E0A94C07CBD6C1008493CA /* newmatio.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmatio.h; sourceTree = "<group>"; };
+		69E0A94D07CBD6C1008493CA /* newmatnl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmatnl.cpp; sourceTree = "<group>"; };
+		69E0A94E07CBD6C1008493CA /* newmatnl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmatnl.h; sourceTree = "<group>"; };
+		69E0A94F07CBD6C1008493CA /* newmatrc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmatrc.h; sourceTree = "<group>"; };
+		69E0A95007CBD6C1008493CA /* newmatrm.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = newmatrm.cpp; sourceTree = "<group>"; };
+		69E0A95107CBD6C1008493CA /* newmatrm.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = newmatrm.h; sourceTree = "<group>"; };
+		69E0A95207CBD6C1008493CA /* precisio.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = precisio.h; sourceTree = "<group>"; };
+		69E0A95307CBD6C1008493CA /* readme.txt */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = readme.txt; sourceTree = "<group>"; };
+		69E0A95407CBD6C1008493CA /* sort.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = sort.cpp; sourceTree = "<group>"; };
+		69E0A95507CBD6C1008493CA /* submat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = submat.cpp; sourceTree = "<group>"; };
+		69E0A95607CBD6C1008493CA /* svd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = svd.cpp; sourceTree = "<group>"; };
+		69E0A95707CBD6C1008493CA /* ODataFormats.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ODataFormats.h; sourceTree = "<group>"; };
+		69E0A95A07CBD6C1008493CA /* Profiler.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Profiler.cc; sourceTree = "<group>"; };
+		69E0A95B07CBD6C1008493CA /* Profiler.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Profiler.h; sourceTree = "<group>"; };
+		69E0A95C07CBD6C1008493CA /* ProjectInterface.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ProjectInterface.cc; sourceTree = "<group>"; };
+		69E0A95D07CBD6C1008493CA /* ProjectInterface.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ProjectInterface.h; sourceTree = "<group>"; };
+		69E0A96007CBD6C1008493CA /* ReferenceCounter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = ReferenceCounter.h; sourceTree = "<group>"; };
+		69E0A96107CBD6C1008493CA /* RobotInfo.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RobotInfo.h; sourceTree = "<group>"; };
+		69E0A96507CBD6C1008493CA /* string_util.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = string_util.cc; sourceTree = "<group>"; };
+		69E0A96607CBD6C1008493CA /* string_util.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = string_util.h; sourceTree = "<group>"; };
+		69E0A96707CBD6C1008493CA /* SystemUtility.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SystemUtility.h; sourceTree = "<group>"; };
+		69E0A96807CBD6C1008493CA /* TimeET.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TimeET.cc; sourceTree = "<group>"; };
+		69E0A96907CBD6C1008493CA /* TimeET.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = TimeET.h; sourceTree = "<group>"; };
+		69E0A96A07CBD6C1008493CA /* Util.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Util.h; sourceTree = "<group>"; };
+		69E0A96B07CBD6C1008493CA /* WMclass.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WMclass.cc; sourceTree = "<group>"; };
+		69E0A96C07CBD6C1008493CA /* WMclass.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WMclass.h; sourceTree = "<group>"; };
+		69E0A96D07CBD6C1008493CA /* WorldState.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WorldState.cc; sourceTree = "<group>"; };
+		69E0A96E07CBD6C1008493CA /* WorldState.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WorldState.h; sourceTree = "<group>"; };
+		69E0A97007CBD6C1008493CA /* SoundManager.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SoundManager.cc; sourceTree = "<group>"; };
+		69E0A97107CBD6C1008493CA /* SoundManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SoundManager.h; sourceTree = "<group>"; };
+		69E0A97207CBD6C1008493CA /* SoundManagerMsg.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SoundManagerMsg.h; sourceTree = "<group>"; };
+		69E0A97307CBD6C1008493CA /* WAV.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = WAV.cc; sourceTree = "<group>"; };
+		69E0A97407CBD6C1008493CA /* WAV.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = WAV.h; sourceTree = "<group>"; };
+		69E0A97607CBD6C1008493CA /* BallDetectionGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = BallDetectionGenerator.cc; sourceTree = "<group>"; };
+		69E0A97707CBD6C1008493CA /* BallDetectionGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = BallDetectionGenerator.h; sourceTree = "<group>"; };
+		69E0A97807CBD6C1008493CA /* CDTGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CDTGenerator.cc; sourceTree = "<group>"; };
+		69E0A97907CBD6C1008493CA /* CDTGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = CDTGenerator.h; sourceTree = "<group>"; };
+		69E0A97A07CBD6C1008493CA /* cmv_region.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = cmv_region.h; sourceTree = "<group>"; };
+		69E0A97B07CBD6C1008493CA /* cmv_threshold.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = cmv_threshold.h; sourceTree = "<group>"; usesTabs = 0; };
+		69E0A97C07CBD6C1008493CA /* cmv_types.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = cmv_types.h; sourceTree = "<group>"; };
+		69E0A97D07CBD6C1008493CA /* cmvision.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = cmvision.h; sourceTree = "<group>"; };
+		69E0A97E07CBD6C1008493CA /* colors.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = colors.h; sourceTree = "<group>"; };
+		69E0A97F07CBD6C1008493CA /* FilterBankGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FilterBankGenerator.cc; sourceTree = "<group>"; };
+		69E0A98007CBD6C1008493CA /* FilterBankGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = FilterBankGenerator.h; sourceTree = "<group>"; };
+		69E0A98107CBD6C1008493CA /* InterleavedYUVGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = InterleavedYUVGenerator.cc; sourceTree = "<group>"; };
+		69E0A98207CBD6C1008493CA /* InterleavedYUVGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = InterleavedYUVGenerator.h; sourceTree = "<group>"; };
+		69E0A98307CBD6C1008493CA /* JPEGGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JPEGGenerator.cc; sourceTree = "<group>"; };
+		69E0A98407CBD6C1008493CA /* JPEGGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = JPEGGenerator.h; sourceTree = "<group>"; };
+		69E0A98507CBD6C1008493CA /* OFbkImage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = OFbkImage.h; sourceTree = "<group>"; };
+		69E0A98607CBD6C1008493CA /* RawCameraGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RawCameraGenerator.cc; sourceTree = "<group>"; };
+		69E0A98707CBD6C1008493CA /* RawCameraGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RawCameraGenerator.h; sourceTree = "<group>"; };
+		69E0A98807CBD6C1008493CA /* RegionGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RegionGenerator.cc; sourceTree = "<group>"; };
+		69E0A98907CBD6C1008493CA /* RegionGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RegionGenerator.h; sourceTree = "<group>"; };
+		69E0A98A07CBD6C1008493CA /* RLEGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RLEGenerator.cc; sourceTree = "<group>"; };
+		69E0A98B07CBD6C1008493CA /* RLEGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = RLEGenerator.h; sourceTree = "<group>"; };
+		69E0A98C07CBD6C1008493CA /* SegmentedColorGenerator.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentedColorGenerator.cc; sourceTree = "<group>"; };
+		69E0A98D07CBD6C1008493CA /* SegmentedColorGenerator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = SegmentedColorGenerator.h; sourceTree = "<group>"; };
+		69E0A98F07CBD6C1008493CA /* DummySocket.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = DummySocket.h; sourceTree = "<group>"; };
+		69E0A99107CBD6C1008493CA /* Socket.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Socket.cc; sourceTree = "<group>"; };
+		69E0A99207CBD6C1008493CA /* Socket.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Socket.h; sourceTree = "<group>"; };
+		69E0A99307CBD6C1008493CA /* Wireless.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Wireless.cc; sourceTree = "<group>"; };
+		69E0A99407CBD6C1008493CA /* Wireless.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 30; path = Wireless.h; sourceTree = "<group>"; };
+		69E0AD5C07CBDE11008493CA /* sim-ERS210 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "sim-ERS210"; sourceTree = BUILT_PRODUCTS_DIR; };
+		69E0AD8407CBED91008493CA /* Makefile */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		69E0AD8907CBEDAA008493CA /* Makefile */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		69E0AD9107CBEDC6008493CA /* Environment.conf */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 30; path = Environment.conf; sourceTree = "<group>"; };
+		69E0ADB607CBF0AB008493CA /* libroboop.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libroboop.a; path = PLATFORM_LOCAL/Motion/roboop/libroboop.a; sourceTree = TEKKOTSU_BUILDDIR; };
+		69E0ADBD07CBF0F8008493CA /* libnewmat.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libnewmat.a; path = PLATFORM_LOCAL/Shared/newmat/libnewmat.a; sourceTree = TEKKOTSU_BUILDDIR; };
+		69E0ADC407CBF382008493CA /* libtekkotsu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtekkotsu.a; path = PLATFORM_LOCAL/TGT_ERS7/libtekkotsu.a; sourceTree = TEKKOTSU_BUILDDIR; };
+		69E0AFA807CBF79B008493CA /* sim-ERS7 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "sim-ERS7"; sourceTree = BUILT_PRODUCTS_DIR; };
+		69E0AFDC07CC0113008493CA /* libtekkotsu.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtekkotsu.a; path = PLATFORM_LOCAL/TGT_ERS210/libtekkotsu.a; sourceTree = TEKKOTSU_BUILDDIR; };
+		69E666B607F0CE3A005F4FA9 /* plist.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = plist.h; sourceTree = "<group>"; };
+		69E666BB07F0CE51005F4FA9 /* plist.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = plist.cc; sourceTree = "<group>"; };
+		69E6674707F1E23A005F4FA9 /* XMLLoadSave.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLLoadSave.cc; sourceTree = "<group>"; };
+		69E6674807F1E23A005F4FA9 /* XMLLoadSave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLLoadSave.h; sourceTree = "<group>"; };
+		69E6696307F3398F005F4FA9 /* SimConfig.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SimConfig.cc; sourceTree = "<group>"; };
+		69E6696407F3398F005F4FA9 /* SimConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimConfig.h; sourceTree = "<group>"; };
+		69EA8B9207EB57480047DA8D /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = /usr/lib/libiconv.dylib; sourceTree = "<absolute>"; };
+		69EA8B9307EB57480047DA8D /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = /usr/lib/libxml2.dylib; sourceTree = "<absolute>"; };
+		69EA8B9407EB57480047DA8D /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = /usr/lib/libz.dylib; sourceTree = "<absolute>"; };
+		69ED0BB807DEABF700114CD2 /* Thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Thread.h; sourceTree = "<group>"; };
+		69FA48F5084C389D0003A261 /* UPennWalkMC.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UPennWalkMC.cc; sourceTree = "<group>"; };
+		69FA48F6084C389D0003A261 /* UPennWalkMC.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UPennWalkMC.h; sourceTree = "<group>"; };
+		69FA48F9084C38E80003A261 /* Graphics.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Graphics.cc; sourceTree = "<group>"; };
+		69FA48FA084C38E80003A261 /* Graphics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Graphics.h; sourceTree = "<group>"; };
+		69FA48FB084C38E80003A261 /* RLEGraphics.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RLEGraphics.cc; sourceTree = "<group>"; };
+		69FA48FC084C38E80003A261 /* RLEGraphics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RLEGraphics.h; sourceTree = "<group>"; };
+		69FA4901084C39230003A261 /* UPennWalkControllerBehavior.cc */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UPennWalkControllerBehavior.cc; sourceTree = "<group>"; };
+		69FA4902084C39230003A261 /* UPennWalkControllerBehavior.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UPennWalkControllerBehavior.h; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		69E0AC5A07CBDE11008493CA /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69E0AC5B07CBDE11008493CA /* libstdc++.a in Frameworks */,
+				69EA8B9B07EB57480047DA8D /* libiconv.dylib in Frameworks */,
+				69EA8B9C07EB57480047DA8D /* libxml2.dylib in Frameworks */,
+				69EA8B9D07EB57480047DA8D /* libz.dylib in Frameworks */,
+				694AB43707F48A860071A2AE /* libjpeg.dylib in Frameworks */,
+				694AB43807F48A860071A2AE /* libpng12.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		69E0AFA607CBF79B008493CA /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69E0AFB907CBF881008493CA /* libtekkotsu.a in Frameworks */,
+				69E0AFBA07CBF881008493CA /* libroboop.a in Frameworks */,
+				69E0AFBB07CBF881008493CA /* libnewmat.a in Frameworks */,
+				69EA8B9807EB57480047DA8D /* libiconv.dylib in Frameworks */,
+				69EA8B9907EB57480047DA8D /* libxml2.dylib in Frameworks */,
+				69EA8B9A07EB57480047DA8D /* libz.dylib in Frameworks */,
+				694AB43B07F48A860071A2AE /* libjpeg.dylib in Frameworks */,
+				694AB43C07F48A860071A2AE /* libpng12.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		8DD76F660486A84900D96B5E /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69A6D6DB07CD7C9500CB4720 /* libstdc++.a in Frameworks */,
+				69EA8B9507EB57480047DA8D /* libiconv.dylib in Frameworks */,
+				69EA8B9607EB57480047DA8D /* libxml2.dylib in Frameworks */,
+				69EA8B9707EB57480047DA8D /* libz.dylib in Frameworks */,
+				694AB43907F48A860071A2AE /* libjpeg.dylib in Frameworks */,
+				694AB43A07F48A860071A2AE /* libpng12.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		0249A662FF388D9811CA2CEA /* External Frameworks and Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				69E0ADC407CBF382008493CA /* libtekkotsu.a */,
+				69E0AFDC07CC0113008493CA /* libtekkotsu.a */,
+				69E0ADB607CBF0AB008493CA /* libroboop.a */,
+				69E0ADBD07CBF0F8008493CA /* libnewmat.a */,
+				0249A663FF388D9811CA2CEA /* libstdc++.a */,
+				694AB43507F48A860071A2AE /* libjpeg.dylib */,
+				694AB43607F48A860071A2AE /* libpng12.dylib */,
+				69EA8B9307EB57480047DA8D /* libxml2.dylib */,
+				69EA8B9207EB57480047DA8D /* libiconv.dylib */,
+				69EA8B9407EB57480047DA8D /* libz.dylib */,
+			);
+			name = "External Frameworks and Libraries";
+			sourceTree = "<group>";
+		};
+		08FB7794FE84155DC02AAC07 /* sim */ = {
+			isa = PBXGroup;
+			children = (
+				08FB7795FE84155DC02AAC07 /* Project Files */,
+				69E0A74A07CBBECE008493CA /* Tekkotsu Source */,
+				69E0A75107CBBF2D008493CA /* Sim Source */,
+				0249A662FF388D9811CA2CEA /* External Frameworks and Libraries */,
+				6985DA3408527479009FD05A /* tools */,
+				69761DB608562012007DB073 /* mon */,
+				69E0AD5D07CBDE11008493CA /* Products */,
+			);
+			name = sim;
+			sourceTree = "<group>";
+		};
+		08FB7795FE84155DC02AAC07 /* Project Files */ = {
+			isa = PBXGroup;
+			children = (
+				696B01FB07D6906E000C1839 /* ms */,
+				69E0A75707CBD4F9008493CA /* SampleBehavior.h */,
+				69E0A75807CBD4F9008493CA /* SampleMC.h */,
+				69E0A75907CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc */,
+				69E0A75A07CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc */,
+				69E0A75B07CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc */,
+				69E0A75C07CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc */,
+				69E0A75D07CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc */,
+				69E0A75E07CBD4F9008493CA /* StartupBehavior_SetupVision.cc */,
+				69E0A75F07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc */,
+				69E0A76007CBD4F9008493CA /* StartupBehavior.cc */,
+				69E0A76107CBD4F9008493CA /* StartupBehavior.h */,
+				69E0AD8907CBEDAA008493CA /* Makefile */,
+				69E0AD9107CBEDC6008493CA /* Environment.conf */,
+				6994F5CB07D68F2A003A7628 /* aperios */,
+				6994F5BF07D68ED9003A7628 /* local */,
+			);
+			includeInIndex = 1;
+			name = "Project Files";
+			sourceTree = "<group>";
+		};
+		69761DB608562012007DB073 /* mon */ = {
+			isa = PBXGroup;
+			children = (
+				69761DBB0856207A007DB073 /* AiboComm.java */,
+				69761DBC0856207A007DB073 /* Base64.java */,
+				69761DBD0856207A007DB073 /* ClassPathModifier.java */,
+				69761DBE0856207A007DB073 /* ControllerErr.java */,
+				69761DBF0856207A007DB073 /* ControllerGUI.java */,
+				69761DC00856207A007DB073 /* ControllerListener.java */,
+				69761DC10856207A007DB073 /* ControllerMsg.java */,
+				69761DC20856207A007DB073 /* DogConfig.java */,
+				69761DC30856207A007DB073 /* DogConfigFTP.java */,
+				69761DC40856207A007DB073 /* EditScriptGUI.java */,
+				69761DC50856207A007DB073 /* EStopButton.java */,
+				69761DC60856207A007DB073 /* EStopGUI.java */,
+				69761DC70856207A007DB073 /* EStopListener.java */,
+				69761DC80856207A007DB073 /* EStopPanel.java */,
+				69761DC90856207A007DB073 /* GraphCanvas.java */,
+				69761DCA0856207A007DB073 /* HeadPointGUI.java */,
+				69761DCB0856207A007DB073 /* HeadPointListener.java */,
+				69761DCC0856207A007DB073 /* ImageSequenceWriterThread.java */,
+				69761DCD0856207A007DB073 /* JointLogger.java */,
+				69761DCE0856207A007DB073 /* JointRelay.java */,
+				69761DCF0856207A007DB073 /* JointRequestor.java */,
+				69761DD00856207A007DB073 /* Joints.java */,
+				69761DD10856207A007DB073 /* JointWriter.java */,
+				69761DD20856207A007DB073 /* Listener.java */,
+				69761DD30856207A007DB073 /* MechaController.java */,
+				69761DD40856207A007DB073 /* MicrophoneClient.java */,
+				69761DD50856207A007DB073 /* NetDebug.java */,
+				69761DD60856207A007DB073 /* ParamListener.java */,
+				69761DD70856207A007DB073 /* PIDs.java */,
+				69761DD80856207A007DB073 /* PointPick.java */,
+				69761DD90856207A007DB073 /* PrintDuties.java */,
+				69761DDA0856207A007DB073 /* ScriptEntry.java */,
+				69761DDB0856207A007DB073 /* SpeakerClient.java */,
+				69761DDC0856207A007DB073 /* SquareRightLayout.java */,
+				69761DDD0856207A007DB073 /* TableMap.java */,
+				69761DDE0856207A007DB073 /* TableSorter.java */,
+				69761DDF0856207A007DB073 /* TCPListener.java */,
+				69761DE00856207A007DB073 /* TCPVisionListener.java */,
+				69761DE10856207A007DB073 /* Terminal.java */,
+				69761DE20856207A007DB073 /* TestGraph.java */,
+				69761DE30856207A007DB073 /* TextListener.java */,
+				69761DE40856207A007DB073 /* TextWatchableMemory.java */,
+				69761DE50856207A007DB073 /* TwoParamPanel.java */,
+				69761DE60856207A007DB073 /* UDPListener.java */,
+				69761DE70856207A007DB073 /* UDPVisionListener.java */,
+				69761DE80856207A007DB073 /* VisionGUI.java */,
+				69761DE90856207A007DB073 /* VisionListener.java */,
+				69761DEA0856207A007DB073 /* VisionPanel.java */,
+				69761DEB0856207A007DB073 /* VisionUpdatedListener.java */,
+				69761DEC0856207A007DB073 /* WalkGUI.java */,
+				69761DED0856207A007DB073 /* WatchableMemory.java */,
+				69761DEE0856207A007DB073 /* WatchableMemoryListener.java */,
+				69761DEF0856207A007DB073 /* WM2DMData.java */,
+				69761DF00856207A007DB073 /* WM2DMListener.java */,
+				69761DF10856207A007DB073 /* WM2FSData.java */,
+				69761DF20856207A007DB073 /* WM2FSListener.java */,
+				69761DF30856207A007DB073 /* WM2HMData.java */,
+				69761DF40856207A007DB073 /* WM2HMListener.java */,
+				69761DF50856207A007DB073 /* WMvar.java */,
+				69761DF60856207A007DB073 /* WorldModel2Conf.java */,
+				69761DF70856207A007DB073 /* WorldStateJointsListener.java */,
+				69761DF80856207A007DB073 /* WorldStatePIDsListener.java */,
+			);
+			name = mon;
+			path = tools/mon/org/tekkotsu/mon;
+			sourceTree = TEKKOTSU_ROOT;
+		};
+		6994F3C907D4D35F003A7628 /* IPC */ = {
+			isa = PBXGroup;
+			children = (
+				6994F3CA07D4D35F003A7628 /* ListMemBuf.h */,
+				6994F3CB07D4D35F003A7628 /* LockScope.h */,
+				6994F3CC07D4D35F003A7628 /* MessageQueue.h */,
+				69AA7D690860898300185BA2 /* MessageReceiver.cc */,
+				6994F3CD07D4D35F003A7628 /* MessageReceiver.h */,
+				6994F3CE07D4D35F003A7628 /* MutexLock.h */,
+				6942757707E0DCDD003DE3D9 /* MutexLock.cc */,
+				6994F3CF07D4D35F003A7628 /* SemaphoreManager.cc */,
+				6952B61A07DBFDCC00E2565F /* SemaphoreManager.h */,
+				6994F3D107D4D35F003A7628 /* ProcessID.cc */,
+				6994F3D207D4D35F003A7628 /* ProcessID.h */,
+				6994F3D307D4D35F003A7628 /* RCRegion.cc */,
+				6994F3D407D4D35F003A7628 /* RCRegion.h */,
+				6994F3D507D4D35F003A7628 /* RegionRegistry.h */,
+				6994F3D607D4D35F003A7628 /* SharedObject.cc */,
+				6994F3D707D4D35F003A7628 /* SharedObject.h */,
+				6942779007E164EA003DE3D9 /* Thread.cc */,
+				69ED0BB807DEABF700114CD2 /* Thread.h */,
+			);
+			path = IPC;
+			sourceTree = "<group>";
+		};
+		6994F59507D68DF6003A7628 /* aperios */ = {
+			isa = PBXGroup;
+			children = (
+				6994F59607D68DF6003A7628 /* Makefile.aperios */,
+				6994F59707D68DF6003A7628 /* MMCombo */,
+				6994F59C07D68DF6003A7628 /* SndPlay */,
+				6994F5A107D68DF7003A7628 /* TinyFTPD */,
+			);
+			path = aperios;
+			sourceTree = "<group>";
+		};
+		6994F59707D68DF6003A7628 /* MMCombo */ = {
+			isa = PBXGroup;
+			children = (
+				6994F59807D68DF6003A7628 /* MMCombo.cc */,
+				6994F59907D68DF6003A7628 /* MMCombo.h */,
+				6994F59A07D68DF6003A7628 /* MMCombo.ocf */,
+				6994F59B07D68DF6003A7628 /* stub.cfg */,
+			);
+			path = MMCombo;
+			sourceTree = "<group>";
+		};
+		6994F59C07D68DF6003A7628 /* SndPlay */ = {
+			isa = PBXGroup;
+			children = (
+				6994F59D07D68DF6003A7628 /* SndPlay.cc */,
+				6994F59E07D68DF6003A7628 /* SndPlay.h */,
+				6994F59F07D68DF7003A7628 /* SoundPlay.ocf */,
+				6994F5A007D68DF7003A7628 /* stub.cfg */,
+			);
+			path = SndPlay;
+			sourceTree = "<group>";
+		};
+		6994F5A107D68DF7003A7628 /* TinyFTPD */ = {
+			isa = PBXGroup;
+			children = (
+				6994F5A207D68DF7003A7628 /* FtpConfig.h */,
+				6994F5A307D68DF7003A7628 /* FtpDTP.cc */,
+				6994F5A407D68DF7003A7628 /* FtpDTP.h */,
+				6994F5A507D68DF7003A7628 /* FtpMethod.cc */,
+				6994F5A607D68DF7003A7628 /* FtpPI.cc */,
+				6994F5A707D68DF7003A7628 /* FtpPI.h */,
+				6994F5A807D68DF7003A7628 /* FtpRequest.cc */,
+				6994F5A907D68DF7003A7628 /* stub.cfg */,
+				6994F5AA07D68DF7003A7628 /* TCPConnection.h */,
+				6994F5AB07D68DF7003A7628 /* TinyFTPD.cc */,
+				6994F5AC07D68DF7003A7628 /* TinyFTPD.h */,
+				6994F5AD07D68DF7003A7628 /* TinyFTPD.ocf */,
+			);
+			path = TinyFTPD;
+			sourceTree = "<group>";
+		};
+		6994F5B407D68E31003A7628 /* local */ = {
+			isa = PBXGroup;
+			children = (
+				690564F20819531A00613A0E /* minisim.h */,
+				6994F5B807D68E41003A7628 /* Makefile.local */,
+			);
+			name = local;
+			path = aperios;
+			sourceTree = "<group>";
+		};
+		6994F5BF07D68ED9003A7628 /* local */ = {
+			isa = PBXGroup;
+			children = (
+				6994F5C307D68EE4003A7628 /* Makefile.local */,
+			);
+			name = local;
+			sourceTree = "<group>";
+		};
+		6994F5CB07D68F2A003A7628 /* aperios */ = {
+			isa = PBXGroup;
+			children = (
+				6994F5CC07D68F2A003A7628 /* Makefile.aperios */,
+			);
+			path = aperios;
+			sourceTree = "<group>";
+		};
+		69E0A74A07CBBECE008493CA /* Tekkotsu Source */ = {
+			isa = PBXGroup;
+			children = (
+				6994F56F07D68C8D003A7628 /* README */,
+				6994F57D07D68D23003A7628 /* INSTALL */,
+				69E0AD8407CBED91008493CA /* Makefile */,
+				69E0A78B07CBD6BF008493CA /* Behaviors */,
+				69E0A81E07CBD6C0008493CA /* Events */,
+				6994F3C907D4D35F003A7628 /* IPC */,
+				69E0A83207CBD6C0008493CA /* Motion */,
+				69E0A89107CBD6C0008493CA /* Shared */,
+				69E0A96F07CBD6C1008493CA /* Sound */,
+				69E0A97507CBD6C1008493CA /* Vision */,
+				69E0A98E07CBD6C1008493CA /* Wireless */,
+				6994F59507D68DF6003A7628 /* aperios */,
+				6994F5B407D68E31003A7628 /* local */,
+			);
+			name = "Tekkotsu Source";
+			sourceTree = TEKKOTSU_ROOT;
+		};
+		69E0A75107CBBF2D008493CA /* Sim Source */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A75607CBD4A2008493CA /* Framework */,
+			);
+			name = "Sim Source";
+			sourceTree = "<group>";
+		};
+		69E0A75607CBD4A2008493CA /* Framework */ = {
+			isa = PBXGroup;
+			children = (
+				695967E007FF3DCF004FABFF /* LoadImageThread.cc */,
+				695967E107FF3DCF004FABFF /* LoadImageThread.h */,
+				692CD99407F9F05500604100 /* LoadFileThread.cc */,
+				692CD99507F9F05500604100 /* LoadFileThread.h */,
+				692CD63407F8C46B00604100 /* sim.cc */,
+				6934224207D408E600BB3331 /* sim.h */,
+				69E0A76F07CBD52D008493CA /* Main.cc */,
+				69E0A77007CBD52D008493CA /* Main.h */,
+				69E0A77107CBD52D008493CA /* Motion.cc */,
+				69E0A77207CBD52D008493CA /* Motion.h */,
+				69E0A77307CBD52D008493CA /* Process.cc */,
+				69E0A77407CBD52D008493CA /* Process.h */,
+				69E0A77607CBD52D008493CA /* SharedGlobals.cc */,
+				69E0A77707CBD52D008493CA /* SharedGlobals.h */,
+				69E6696307F3398F005F4FA9 /* SimConfig.cc */,
+				69E6696407F3398F005F4FA9 /* SimConfig.h */,
+				69E0A77807CBD52D008493CA /* Simulator.cc */,
+				69E0A77907CBD52D008493CA /* Simulator.h */,
+				69E0A77A07CBD52D008493CA /* SoundPlay.cc */,
+				69E0A77B07CBD52D008493CA /* SoundPlay.h */,
+			);
+			name = Framework;
+			path = local/sim;
+			sourceTree = TEKKOTSU_ROOT;
+		};
+		69E0A78B07CBD6BF008493CA /* Behaviors */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A80D07CBD6C0008493CA /* README */,
+				69E0A78C07CBD6BF008493CA /* BehaviorBase.cc */,
+				69E0A78D07CBD6BF008493CA /* BehaviorBase.h */,
+				69E0A78F07CBD6BF008493CA /* Controller.cc */,
+				69E0A79007CBD6BF008493CA /* Controller.h */,
+				69E0A79107CBD6BF008493CA /* Controls */,
+				69E0A7BF07CBD6C0008493CA /* Demos */,
+				69E0A7EA07CBD6C0008493CA /* Mon */,
+				69E0A80107CBD6C0008493CA /* Nodes */,
+				69E0A80E07CBD6C0008493CA /* StateNode.cc */,
+				69E0A80F07CBD6C0008493CA /* StateNode.h */,
+				69E0A81007CBD6C0008493CA /* Transition.cc */,
+				69E0A81107CBD6C0008493CA /* Transition.h */,
+				69E0A81207CBD6C0008493CA /* Transitions */,
+			);
+			path = Behaviors;
+			sourceTree = "<group>";
+		};
+		69E0A79107CBD6BF008493CA /* Controls */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A79207CBD6BF008493CA /* BatteryCheckControl.h */,
+				69E0A79307CBD6BF008493CA /* BehaviorActivatorControl.h */,
+				69E0A79407CBD6BF008493CA /* BehaviorReportControl.h */,
+				69E0A79507CBD6BF008493CA /* BehaviorSwitchActivatorControl.h */,
+				69E0A79607CBD6BF008493CA /* BehaviorSwitchControl.h */,
+				69E0A79707CBD6BF008493CA /* ControlBase.cc */,
+				69E0A79807CBD6BF008493CA /* ControlBase.h */,
+				69E0A79907CBD6C0008493CA /* DumpFileControl.h */,
+				69E0A79A07CBD6C0008493CA /* EventLogger.cc */,
+				69E0A79B07CBD6C0008493CA /* EventLogger.h */,
+				69E0A79C07CBD6C0008493CA /* FileBrowserControl.cc */,
+				69E0A79D07CBD6C0008493CA /* FileBrowserControl.h */,
+				69E0A79E07CBD6C0008493CA /* FileInputControl.h */,
+				69E0A79F07CBD6C0008493CA /* FreeMemReportControl.cc */,
+				69E0A7A007CBD6C0008493CA /* FreeMemReportControl.h */,
+				69E0A7A107CBD6C0008493CA /* HelpControl.cc */,
+				69E0A7A207CBD6C0008493CA /* HelpControl.h */,
+				69E0A7A307CBD6C0008493CA /* LoadCalibration.h */,
+				69E0A7A407CBD6C0008493CA /* LoadPostureControl.h */,
+				69E0A7A507CBD6C0008493CA /* LoadWalkControl.h */,
+				69E0A7A607CBD6C0008493CA /* MCValueEditControl.h */,
+				69E0A7A707CBD6C0008493CA /* NetworkStatusControl.h */,
+				69E0A7A807CBD6C0008493CA /* NullControl.h */,
+				69E0A7A907CBD6C0008493CA /* PlaySoundControl.h */,
+				69E0A7AA07CBD6C0008493CA /* PostureEditor.cc */,
+				69E0A7AB07CBD6C0008493CA /* PostureEditor.h */,
+				69E0A7AC07CBD6C0008493CA /* ProfilerCheckControl.h */,
+				69E0A7AD07CBD6C0008493CA /* RebootControl.cc */,
+				69E0A7AE07CBD6C0008493CA /* RebootControl.h */,
+				69E0A7AF07CBD6C0008493CA /* RunSequenceControl.h */,
+				69E0A7B007CBD6C0008493CA /* SavePostureControl.h */,
+				69E0A7B107CBD6C0008493CA /* SaveWalkControl.h */,
+				69E0A7B207CBD6C0008493CA /* SensorObserverControl.cc */,
+				69E0A7B307CBD6C0008493CA /* SensorObserverControl.h */,
+				69E0A7B407CBD6C0008493CA /* ShutdownControl.cc */,
+				69E0A7B507CBD6C0008493CA /* ShutdownControl.h */,
+				69E0A7B607CBD6C0008493CA /* StringInputControl.cc */,
+				69E0A7B707CBD6C0008493CA /* StringInputControl.h */,
+				69E0A7B807CBD6C0008493CA /* ToggleControl.h */,
+				69E0A7B907CBD6C0008493CA /* ValueEditControl.h */,
+				69E0A7BA07CBD6C0008493CA /* ValueSetControl.h */,
+				69E0A7BB07CBD6C0008493CA /* WalkCalibration.cc */,
+				69E0A7BC07CBD6C0008493CA /* WalkCalibration.h */,
+				69E0A7BD07CBD6C0008493CA /* WaypointWalkControl.cc */,
+				69E0A7BE07CBD6C0008493CA /* WaypointWalkControl.h */,
+			);
+			path = Controls;
+			sourceTree = "<group>";
+		};
+		69E0A7BF07CBD6C0008493CA /* Demos */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A7C007CBD6C0008493CA /* AlanBehavior.h */,
+				69E0A7C107CBD6C0008493CA /* ASCIIVisionBehavior.cc */,
+				69E0A7C207CBD6C0008493CA /* ASCIIVisionBehavior.h */,
+				69E0A7C307CBD6C0008493CA /* AutoGetupBehavior.h */,
+				69E0A7C407CBD6C0008493CA /* BanditMachine.h */,
+				69E0A7C507CBD6C0008493CA /* BatteryMonitorBehavior.h */,
+				69E0A7C607CBD6C0008493CA /* CameraBehavior.cc */,
+				69E0A7C707CBD6C0008493CA /* CameraBehavior.h */,
+				69E0A7C807CBD6C0008493CA /* ChaseBallBehavior.cc */,
+				69E0A7C907CBD6C0008493CA /* ChaseBallBehavior.h */,
+				69E0A7CA07CBD6C0008493CA /* CrashTestBehavior.h */,
+				69E0A7CB07CBD6C0008493CA /* DriveMeBehavior.cc */,
+				69E0A7CC07CBD6C0008493CA /* DriveMeBehavior.h */,
+				69E0A7CD07CBD6C0008493CA /* ExploreMachine.cc */,
+				69E0A7CE07CBD6C0008493CA /* ExploreMachine.h */,
+				69E0A7CF07CBD6C0008493CA /* FlashIPAddrBehavior.cc */,
+				69E0A7D007CBD6C0008493CA /* FlashIPAddrBehavior.h */,
+				69E0A7D107CBD6C0008493CA /* FollowHeadBehavior.cc */,
+				69E0A7D207CBD6C0008493CA /* FollowHeadBehavior.h */,
+				69E0A7D307CBD6C0008493CA /* FreezeTestBehavior.h */,
+				69E0A7D407CBD6C0008493CA /* GroundPlaneBehavior.h */,
+				69E0A7D507CBD6C0008493CA /* HeadLevelBehavior.h */,
+				69E0A7D607CBD6C0008493CA /* HelloWorldBehavior.h */,
+				69E0A7D707CBD6C0008493CA /* karmedbandit.h */,
+				69E0A7D807CBD6C0008493CA /* KinematicSampleBehavior.h */,
+				69E0A7D907CBD6C0008493CA /* KinematicSampleBehavior2.h */,
+				69970AC4083DB2C60069D95C /* LogTestMachine.h */,
+				69E0A7DA07CBD6C0008493CA /* LookForSoundBehavior.h */,
+				69E0A7DB07CBD6C0008493CA /* MCRepeater.h */,
+				69E0A7DC07CBD6C0008493CA /* MotionStressTestBehavior.h */,
+				69E0A7DD07CBD6C0008493CA /* PaceTargetsMachine.cc */,
+				69E0A7DE07CBD6C0008493CA /* PaceTargetsMachine.h */,
+				69E0A7DF07CBD6C0008493CA /* RelaxBehavior.h */,
+				69E0A7E007CBD6C0008493CA /* SimpleChaseBallBehavior.h */,
+				69E0A7E107CBD6C0008493CA /* SoundTestBehavior.h */,
+				69E0A7E207CBD6C0008493CA /* StareAtBallBehavior.cc */,
+				69E0A7E307CBD6C0008493CA /* StareAtBallBehavior.h */,
+				69E0A7E407CBD6C0008493CA /* StareAtPawBehavior.h */,
+				69B4E445089409D800832D58 /* StareAtPawBehavior2.cc */,
+				69E0A7E507CBD6C0008493CA /* StareAtPawBehavior2.h */,
+				69E0A7E607CBD6C0008493CA /* ToggleHeadLightBehavior.h */,
+				69E0A7E707CBD6C0008493CA /* WallTestBehavior.cc */,
+				69E0A7E807CBD6C0008493CA /* WallTestBehavior.h */,
+				69E0A7E907CBD6C0008493CA /* WorldStateVelDaemon.h */,
+			);
+			path = Demos;
+			sourceTree = "<group>";
+		};
+		69E0A7EA07CBD6C0008493CA /* Mon */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A7EB07CBD6C0008493CA /* Aibo3DControllerBehavior.h */,
+				69A1995E080ED8A200540970 /* EchoBehavior.cc */,
+				69A19963080ED8AE00540970 /* EchoBehavior.h */,
+				69E0A7EC07CBD6C0008493CA /* EStopControllerBehavior.cc */,
+				69E0A7ED07CBD6C0008493CA /* EStopControllerBehavior.h */,
+				69E0A7EE07CBD6C0008493CA /* HeadPointControllerBehavior.cc */,
+				69E0A7EF07CBD6C0008493CA /* HeadPointControllerBehavior.h */,
+				69E0A7F007CBD6C0008493CA /* MicrophoneServer.cc */,
+				69E0A7F107CBD6C0008493CA /* MicrophoneServer.h */,
+				69E0A7F207CBD6C0008493CA /* RawCamBehavior.cc */,
+				69E0A7F307CBD6C0008493CA /* RawCamBehavior.h */,
+				69E0A7F407CBD6C0008493CA /* SegCamBehavior.cc */,
+				69E0A7F507CBD6C0008493CA /* SegCamBehavior.h */,
+				69E0A7F607CBD6C0008493CA /* SpeakerServer.cc */,
+				69E0A7F707CBD6C0008493CA /* SpeakerServer.h */,
+				69E0A7F807CBD6C0008493CA /* SpiderMachineBehavior.cc */,
+				69E0A7F907CBD6C0008493CA /* SpiderMachineBehavior.h */,
+				69970AC0083DB2760069D95C /* StewartPlatformBehavior.cc */,
+				69970AC3083DB2830069D95C /* StewartPlatformBehavior.h */,
+				69FA4901084C39230003A261 /* UPennWalkControllerBehavior.cc */,
+				69FA4902084C39230003A261 /* UPennWalkControllerBehavior.h */,
+				69E0A7FA07CBD6C0008493CA /* ViewWMVarsBehavior.h */,
+				69E0A7FB07CBD6C0008493CA /* WalkControllerBehavior.cc */,
+				69E0A7FC07CBD6C0008493CA /* WalkControllerBehavior.h */,
+				69E0A7FD07CBD6C0008493CA /* WMMonitorBehavior.cc */,
+				69E0A7FE07CBD6C0008493CA /* WMMonitorBehavior.h */,
+				69E0A7FF07CBD6C0008493CA /* WorldStateSerializerBehavior.cc */,
+				69E0A80007CBD6C0008493CA /* WorldStateSerializerBehavior.h */,
+			);
+			path = Mon;
+			sourceTree = "<group>";
+		};
+		69E0A80107CBD6C0008493CA /* Nodes */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A80207CBD6C0008493CA /* GroupNode.h */,
+				69E0A80307CBD6C0008493CA /* HeadPointerNode.h */,
+				69E0A80407CBD6C0008493CA /* LedNode.h */,
+				69E0A80507CBD6C0008493CA /* MotionSequenceNode.h */,
+				69E0A80607CBD6C0008493CA /* OutputNode.h */,
+				69E0A80707CBD6C0008493CA /* PlayMotionSequenceNode.h */,
+				69E0A80807CBD6C0008493CA /* SoundNode.h */,
+				69E0A80907CBD6C0008493CA /* TailWagNode.h */,
+				69E0A80A07CBD6C0008493CA /* WalkNode.h */,
+				69E0A80B07CBD6C0008493CA /* WalkToTargetNode.cc */,
+				69E0A80C07CBD6C0008493CA /* WalkToTargetNode.h */,
+			);
+			path = Nodes;
+			sourceTree = "<group>";
+		};
+		69E0A81207CBD6C0008493CA /* Transitions */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A81307CBD6C0008493CA /* CompareTrans.h */,
+				69E0A81407CBD6C0008493CA /* CompletionTrans.h */,
+				69E0A81507CBD6C0008493CA /* EventTrans.h */,
+				69E0A81607CBD6C0008493CA /* LostTargetTrans.h */,
+				69E0A81707CBD6C0008493CA /* NullTrans.h */,
+				69E0A81807CBD6C0008493CA /* RandomTrans.cc */,
+				69E0A81907CBD6C0008493CA /* RandomTrans.h */,
+				69E0A81A07CBD6C0008493CA /* SmoothCompareTrans.h */,
+				69970ACC083DB35B0069D95C /* TextMsgTrans.h */,
+				69E0A81B07CBD6C0008493CA /* TimeOutTrans.h */,
+				69E0A81C07CBD6C0008493CA /* VisualTargetCloseTrans.h */,
+				69E0A81D07CBD6C0008493CA /* VisualTargetTrans.h */,
+			);
+			path = Transitions;
+			sourceTree = "<group>";
+		};
+		69E0A81E07CBD6C0008493CA /* Events */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A81F07CBD6C0008493CA /* DataEvent.h */,
+				69E0A82007CBD6C0008493CA /* EventBase.cc */,
+				69E0A82107CBD6C0008493CA /* EventBase.h */,
+				69E0A82207CBD6C0008493CA /* EventGeneratorBase.cc */,
+				69E0A82307CBD6C0008493CA /* EventGeneratorBase.h */,
+				69E0A82407CBD6C0008493CA /* EventListener.h */,
+				69E0A82507CBD6C0008493CA /* EventRouter.cc */,
+				69E0A82607CBD6C0008493CA /* EventRouter.h */,
+				69E0A82707CBD6C0008493CA /* EventTranslator.cc */,
+				69E0A82807CBD6C0008493CA /* EventTranslator.h */,
+				69E0A82907CBD6C0008493CA /* EventTrapper.h */,
+				69E0A82A07CBD6C0008493CA /* FilterBankEvent.h */,
+				69E0A82B07CBD6C0008493CA /* LocomotionEvent.cc */,
+				69E0A82C07CBD6C0008493CA /* LocomotionEvent.h */,
+				69E0A82D07CBD6C0008493CA /* SegmentedColorFilterBankEvent.h */,
+				69E0A82E07CBD6C0008493CA /* TextMsgEvent.cc */,
+				69E0A82F07CBD6C0008493CA /* TextMsgEvent.h */,
+				69E0A83007CBD6C0008493CA /* VisionObjectEvent.cc */,
+				69E0A83107CBD6C0008493CA /* VisionObjectEvent.h */,
+			);
+			path = Events;
+			sourceTree = "<group>";
+		};
+		69E0A83207CBD6C0008493CA /* Motion */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A83307CBD6C0008493CA /* DynamicMotionSequence.h */,
+				69E0A83407CBD6C0008493CA /* EmergencyStopMC.cc */,
+				69E0A83507CBD6C0008493CA /* EmergencyStopMC.h */,
+				69E0A83607CBD6C0008493CA /* Geometry.h */,
+				69E0A83707CBD6C0008493CA /* gvector.h */,
+				69E0A83807CBD6C0008493CA /* HeadPointerMC.cc */,
+				69E0A83907CBD6C0008493CA /* HeadPointerMC.h */,
+				69E0A83A07CBD6C0008493CA /* Kinematics.cc */,
+				69E0A83B07CBD6C0008493CA /* Kinematics.h */,
+				69E0A83C07CBD6C0008493CA /* LedEngine.cc */,
+				69E0A83D07CBD6C0008493CA /* LedEngine.h */,
+				69E0A83E07CBD6C0008493CA /* LedMC.h */,
+				69E0A83F07CBD6C0008493CA /* MMAccessor.h */,
+				69E0A84007CBD6C0008493CA /* MotionCommand.cc */,
+				69E0A84107CBD6C0008493CA /* MotionCommand.h */,
+				69E0A84207CBD6C0008493CA /* MotionManager.cc */,
+				69E0A84307CBD6C0008493CA /* MotionManager.h */,
+				69E0A84407CBD6C0008493CA /* MotionManagerMsg.h */,
+				69E0A84507CBD6C0008493CA /* MotionSequenceEngine.cc */,
+				69E0A84607CBD6C0008493CA /* MotionSequenceEngine.h */,
+				69E0A84707CBD6C0008493CA /* MotionSequenceMC.h */,
+				69E0A84807CBD6C0008493CA /* OldHeadPointerMC.cc */,
+				69E0A84907CBD6C0008493CA /* OldHeadPointerMC.h */,
+				69E0A84A07CBD6C0008493CA /* OldKinematics.cc */,
+				69E0A84B07CBD6C0008493CA /* OldKinematics.h */,
+				69E0A84C07CBD6C0008493CA /* OutputCmd.cc */,
+				69E0A84D07CBD6C0008493CA /* OutputCmd.h */,
+				69E0A84E07CBD6C0008493CA /* OutputPID.h */,
+				69E0A84F07CBD6C0008493CA /* Path.h */,
+				69E0A85007CBD6C0008493CA /* PIDMC.h */,
+				69E0A85107CBD6C0008493CA /* PostureEngine.cc */,
+				69E0A85207CBD6C0008493CA /* PostureEngine.h */,
+				69E0A85307CBD6C0008493CA /* PostureMC.cc */,
+				69E0A85407CBD6C0008493CA /* PostureMC.h */,
+				69E0A85507CBD6C0008493CA /* RemoteControllerMC.h */,
+				69E0A85607CBD6C0008493CA /* roboop */,
+				69E0A88B07CBD6C0008493CA /* Spline.h */,
+				69E0A88C07CBD6C0008493CA /* TailWagMC.h */,
+				69FA48F5084C389D0003A261 /* UPennWalkMC.cc */,
+				69FA48F6084C389D0003A261 /* UPennWalkMC.h */,
+				69E0A88D07CBD6C0008493CA /* WalkMC.cc */,
+				69E0A88E07CBD6C0008493CA /* WalkMC.h */,
+				69E0A88F07CBD6C0008493CA /* WaypointEngine.h */,
+				69E0A89007CBD6C0008493CA /* WaypointWalkMC.h */,
+			);
+			path = Motion;
+			sourceTree = "<group>";
+		};
+		69E0A85607CBD6C0008493CA /* roboop */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A85707CBD6C0008493CA /* clik.cpp */,
+				69E0A85807CBD6C0008493CA /* clik.h */,
+				69E0A85907CBD6C0008493CA /* comp_dq.cpp */,
+				69E0A85A07CBD6C0008493CA /* comp_dqp.cpp */,
+				69E0A85B07CBD6C0008493CA /* config.cpp */,
+				69E0A85C07CBD6C0008493CA /* config.h */,
+				69E0A85D07CBD6C0008493CA /* control_select.cpp */,
+				69E0A85E07CBD6C0008493CA /* control_select.h */,
+				69E0A85F07CBD6C0008493CA /* controller.cpp */,
+				69E0A86007CBD6C0008493CA /* controller.h */,
+				69E0A86107CBD6C0008493CA /* delta_t.cpp */,
+				69E0A86207CBD6C0008493CA /* dynamics.cpp */,
+				69E0A86307CBD6C0008493CA /* dynamics_sim.cpp */,
+				69E0A86407CBD6C0008493CA /* dynamics_sim.h */,
+				69E0A87907CBD6C0008493CA /* gnugraph.cpp */,
+				69E0A87A07CBD6C0008493CA /* gnugraph.h */,
+				69E0A87B07CBD6C0008493CA /* homogen.cpp */,
+				69E0A87C07CBD6C0008493CA /* invkine.cpp */,
+				69E0A87D07CBD6C0008493CA /* kinemat.cpp */,
+				69E0A87E07CBD6C0008493CA /* Makefile */,
+				69E0A87F07CBD6C0008493CA /* quaternion.cpp */,
+				69E0A88007CBD6C0008493CA /* quaternion.h */,
+				69E0A88107CBD6C0008493CA /* readme.txt */,
+				69E0A88207CBD6C0008493CA /* revisions.txt */,
+				69E0A88307CBD6C0008493CA /* robdocs.tar.gz */,
+				69E0A88407CBD6C0008493CA /* robot.cpp */,
+				69E0A88507CBD6C0008493CA /* robot.h */,
+				69E0A88607CBD6C0008493CA /* sensitiv.cpp */,
+				69E0A88707CBD6C0008493CA /* trajectory.cpp */,
+				69E0A88807CBD6C0008493CA /* trajectory.h */,
+				69E0A88907CBD6C0008493CA /* utils.cpp */,
+				69E0A88A07CBD6C0008493CA /* utils.h */,
+			);
+			path = roboop;
+			sourceTree = "<group>";
+		};
+		69E0A89107CBD6C0008493CA /* Shared */ = {
+			isa = PBXGroup;
+			children = (
+				691C805508255F6300E8E256 /* Base64.cc */,
+				691C805C08255F6D00E8E256 /* Base64.h */,
+				69E0A89207CBD6C0008493CA /* Buffer.cc */,
+				69E0A89307CBD6C0008493CA /* Buffer.h */,
+				69E0A89407CBD6C0008493CA /* CommonInfo.h */,
+				69E0A89507CBD6C0008493CA /* Config.cc */,
+				69E0A89607CBD6C0008493CA /* Config.h */,
+				69E0A89707CBD6C0008493CA /* debuget.h */,
+				69E0A89807CBD6C0008493CA /* ERS210Info.h */,
+				69E0A89907CBD6C0008493CA /* ERS220Info.h */,
+				69E0A89A07CBD6C0008493CA /* ERS2xxInfo.h */,
+				69E0A89B07CBD6C0008493CA /* ERS7Info.h */,
+				69E0A89C07CBD6C0008493CA /* Factory.h */,
+				69E0A89D07CBD6C0008493CA /* get_time.cc */,
+				69E0A89E07CBD6C0008493CA /* get_time.h */,
+				69E0A89F07CBD6C0008493CA /* jpeg-6b */,
+				69E0A8F807CBD6C1008493CA /* LoadSave.cc */,
+				69E0A8F907CBD6C1008493CA /* LoadSave.h */,
+				69E0A8FB07CBD6C1008493CA /* mathutils.h */,
+				69E0A8FD07CBD6C1008493CA /* newmat */,
+				69E0A95707CBD6C1008493CA /* ODataFormats.h */,
+				69E666BB07F0CE51005F4FA9 /* plist.cc */,
+				69E666B607F0CE3A005F4FA9 /* plist.h */,
+				69E0A95A07CBD6C1008493CA /* Profiler.cc */,
+				69E0A95B07CBD6C1008493CA /* Profiler.h */,
+				69E0A95C07CBD6C1008493CA /* ProjectInterface.cc */,
+				69E0A95D07CBD6C1008493CA /* ProjectInterface.h */,
+				69E0A96007CBD6C1008493CA /* ReferenceCounter.h */,
+				69E0A96107CBD6C1008493CA /* RobotInfo.h */,
+				69E0A96507CBD6C1008493CA /* string_util.cc */,
+				69E0A96607CBD6C1008493CA /* string_util.h */,
+				69E0A96707CBD6C1008493CA /* SystemUtility.h */,
+				69E0A96807CBD6C1008493CA /* TimeET.cc */,
+				69E0A96907CBD6C1008493CA /* TimeET.h */,
+				69E0A96A07CBD6C1008493CA /* Util.h */,
+				69E0A96B07CBD6C1008493CA /* WMclass.cc */,
+				69E0A96C07CBD6C1008493CA /* WMclass.h */,
+				69E0A96D07CBD6C1008493CA /* WorldState.cc */,
+				69E0A96E07CBD6C1008493CA /* WorldState.h */,
+				69E6674707F1E23A005F4FA9 /* XMLLoadSave.cc */,
+				69E6674807F1E23A005F4FA9 /* XMLLoadSave.h */,
+			);
+			path = Shared;
+			sourceTree = "<group>";
+		};
+		69E0A89F07CBD6C0008493CA /* jpeg-6b */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A8DE07CBD6C1008493CA /* jpeg_mem_dest.cc */,
+				69E0A8DF07CBD6C1008493CA /* jpeg_mem_dest.h */,
+				69A323C007E35646009D94E1 /* write_jpeg.cc */,
+				69A323C107E35646009D94E1 /* write_jpeg.h */,
+			);
+			path = "jpeg-6b";
+			sourceTree = "<group>";
+		};
+		69E0A8FD07CBD6C1008493CA /* newmat */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A8FE07CBD6C1008493CA /* bandmat.cpp */,
+				69E0A8FF07CBD6C1008493CA /* boolean.h */,
+				69E0A90007CBD6C1008493CA /* cholesky.cpp */,
+				69E0A90107CBD6C1008493CA /* controlw.h */,
+				69E0A90207CBD6C1008493CA /* docs */,
+				69E0A90707CBD6C1008493CA /* evalue.cpp */,
+				69E0A93807CBD6C1008493CA /* fft.cpp */,
+				69E0A93907CBD6C1008493CA /* hholder.cpp */,
+				69E0A93A07CBD6C1008493CA /* include.h */,
+				69E0A93B07CBD6C1008493CA /* jacobi.cpp */,
+				69E0A93C07CBD6C1008493CA /* Makefile */,
+				69E0A93D07CBD6C1008493CA /* myexcept.cpp */,
+				69E0A93E07CBD6C1008493CA /* myexcept.h */,
+				69E0A93F07CBD6C1008493CA /* newfft.cpp */,
+				69E0A94007CBD6C1008493CA /* newmat.h */,
+				69E0A94107CBD6C1008493CA /* newmat1.cpp */,
+				69E0A94207CBD6C1008493CA /* newmat2.cpp */,
+				69E0A94307CBD6C1008493CA /* newmat3.cpp */,
+				69E0A94407CBD6C1008493CA /* newmat4.cpp */,
+				69E0A94507CBD6C1008493CA /* newmat5.cpp */,
+				69E0A94607CBD6C1008493CA /* newmat6.cpp */,
+				69E0A94707CBD6C1008493CA /* newmat7.cpp */,
+				69E0A94807CBD6C1008493CA /* newmat8.cpp */,
+				69E0A94907CBD6C1008493CA /* newmat9.cpp */,
+				69E0A94A07CBD6C1008493CA /* newmatap.h */,
+				69E0A94B07CBD6C1008493CA /* newmatex.cpp */,
+				69E0A94C07CBD6C1008493CA /* newmatio.h */,
+				69E0A94D07CBD6C1008493CA /* newmatnl.cpp */,
+				69E0A94E07CBD6C1008493CA /* newmatnl.h */,
+				69E0A94F07CBD6C1008493CA /* newmatrc.h */,
+				69E0A95007CBD6C1008493CA /* newmatrm.cpp */,
+				69E0A95107CBD6C1008493CA /* newmatrm.h */,
+				69E0A95207CBD6C1008493CA /* precisio.h */,
+				69E0A95307CBD6C1008493CA /* readme.txt */,
+				69E0A95407CBD6C1008493CA /* sort.cpp */,
+				69E0A95507CBD6C1008493CA /* submat.cpp */,
+				69E0A95607CBD6C1008493CA /* svd.cpp */,
+			);
+			path = newmat;
+			sourceTree = "<group>";
+		};
+		69E0A90207CBD6C1008493CA /* docs */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A90307CBD6C1008493CA /* images */,
+				69E0A90507CBD6C1008493CA /* nm11.htm */,
+				69E0A90607CBD6C1008493CA /* rbd.css */,
+			);
+			path = docs;
+			sourceTree = "<group>";
+		};
+		69E0A90307CBD6C1008493CA /* images */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A90407CBD6C1008493CA /* add_time.png */,
+			);
+			path = images;
+			sourceTree = "<group>";
+		};
+		69E0A96F07CBD6C1008493CA /* Sound */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A97007CBD6C1008493CA /* SoundManager.cc */,
+				69E0A97107CBD6C1008493CA /* SoundManager.h */,
+				69E0A97207CBD6C1008493CA /* SoundManagerMsg.h */,
+				69E0A97307CBD6C1008493CA /* WAV.cc */,
+				69E0A97407CBD6C1008493CA /* WAV.h */,
+			);
+			path = Sound;
+			sourceTree = "<group>";
+		};
+		69E0A97507CBD6C1008493CA /* Vision */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A97607CBD6C1008493CA /* BallDetectionGenerator.cc */,
+				69E0A97707CBD6C1008493CA /* BallDetectionGenerator.h */,
+				695F1AC80804A81800ACB3D7 /* BufferedImageGenerator.cc */,
+				695F1AC90804A81800ACB3D7 /* BufferedImageGenerator.h */,
+				69E0A97807CBD6C1008493CA /* CDTGenerator.cc */,
+				69E0A97907CBD6C1008493CA /* CDTGenerator.h */,
+				69E0A97A07CBD6C1008493CA /* cmv_region.h */,
+				69E0A97B07CBD6C1008493CA /* cmv_threshold.h */,
+				69E0A97C07CBD6C1008493CA /* cmv_types.h */,
+				69E0A97D07CBD6C1008493CA /* cmvision.h */,
+				69E0A97E07CBD6C1008493CA /* colors.h */,
+				69E0A97F07CBD6C1008493CA /* FilterBankGenerator.cc */,
+				69E0A98007CBD6C1008493CA /* FilterBankGenerator.h */,
+				69FA48F9084C38E80003A261 /* Graphics.cc */,
+				69FA48FA084C38E80003A261 /* Graphics.h */,
+				69E0A98107CBD6C1008493CA /* InterleavedYUVGenerator.cc */,
+				69E0A98207CBD6C1008493CA /* InterleavedYUVGenerator.h */,
+				69E0A98307CBD6C1008493CA /* JPEGGenerator.cc */,
+				69E0A98407CBD6C1008493CA /* JPEGGenerator.h */,
+				69E0A98507CBD6C1008493CA /* OFbkImage.h */,
+				69E0A98607CBD6C1008493CA /* RawCameraGenerator.cc */,
+				69E0A98707CBD6C1008493CA /* RawCameraGenerator.h */,
+				69E0A98807CBD6C1008493CA /* RegionGenerator.cc */,
+				69E0A98907CBD6C1008493CA /* RegionGenerator.h */,
+				69E0A98A07CBD6C1008493CA /* RLEGenerator.cc */,
+				69E0A98B07CBD6C1008493CA /* RLEGenerator.h */,
+				69FA48FB084C38E80003A261 /* RLEGraphics.cc */,
+				69FA48FC084C38E80003A261 /* RLEGraphics.h */,
+				69E0A98C07CBD6C1008493CA /* SegmentedColorGenerator.cc */,
+				69E0A98D07CBD6C1008493CA /* SegmentedColorGenerator.h */,
+			);
+			path = Vision;
+			sourceTree = "<group>";
+		};
+		69E0A98E07CBD6C1008493CA /* Wireless */ = {
+			isa = PBXGroup;
+			children = (
+				69E0A98F07CBD6C1008493CA /* DummySocket.h */,
+				69E0A99107CBD6C1008493CA /* Socket.cc */,
+				69E0A99207CBD6C1008493CA /* Socket.h */,
+				69E0A99307CBD6C1008493CA /* Wireless.cc */,
+				69E0A99407CBD6C1008493CA /* Wireless.h */,
+			);
+			path = Wireless;
+			sourceTree = "<group>";
+		};
+		69E0AD5D07CBDE11008493CA /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				69E0AD5C07CBDE11008493CA /* sim-ERS210 */,
+				69E0AFA807CBF79B008493CA /* sim-ERS7 */,
+				69A6D61007CD2C7700CB4720 /* sim-ERS7 */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		69E0AB9A07CBDE11008493CA /* sim (ERS-210) */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 69FD50320881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-210)" */;
+			buildPhases = (
+				69E0AB9B07CBDE11008493CA /* Sources */,
+				69E0AC5A07CBDE11008493CA /* Frameworks */,
+			);
+			buildRules = (
+			);
+			buildSettings = {
+				INSTALL_PATH = "$(HOME)/bin";
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS210";
+				PRODUCT_NAME = "sim-ERS210";
+			};
+			dependencies = (
+			);
+			name = "sim (ERS-210)";
+			productInstallPath = "$(HOME)/bin";
+			productName = sim;
+			productReference = 69E0AD5C07CBDE11008493CA /* sim-ERS210 */;
+			productType = "com.apple.product-type.tool";
+		};
+		69E0AFA707CBF79B008493CA /* sim (ERS-7) Light */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 69FD502E0881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-7) Light" */;
+			buildPhases = (
+				69E0AFA507CBF79B008493CA /* Sources */,
+				69E0AFA607CBF79B008493CA /* Frameworks */,
+			);
+			buildRules = (
+			);
+			buildSettings = {
+				INSTALL_PATH = /usr/local/bin;
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PRODUCT_NAME = "sim-ERS7";
+			};
+			dependencies = (
+			);
+			name = "sim (ERS-7) Light";
+			productName = "sim (ERS-7) Light";
+			productReference = 69E0AFA807CBF79B008493CA /* sim-ERS7 */;
+			productType = "com.apple.product-type.tool";
+		};
+		8DD76F620486A84900D96B5E /* sim (ERS-7) */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 69FD502A0881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-7)" */;
+			buildPhases = (
+				8DD76F640486A84900D96B5E /* Sources */,
+				8DD76F660486A84900D96B5E /* Frameworks */,
+			);
+			buildRules = (
+			);
+			buildSettings = {
+				INSTALL_PATH = "$(HOME)/bin";
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PRODUCT_NAME = "sim-ERS7";
+			};
+			dependencies = (
+			);
+			name = "sim (ERS-7)";
+			productInstallPath = "$(HOME)/bin";
+			productName = sim;
+			productReference = 69A6D61007CD2C7700CB4720 /* sim-ERS7 */;
+			productType = "com.apple.product-type.tool";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		08FB7793FE84155DC02AAC07 /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = 69FD50360881E74900E825BA /* Build configuration list for PBXProject "Make" */;
+			buildSettings = {
+			};
+			buildStyles = (
+				014CEA460018CE2711CA2923 /* Development */,
+				014CEA470018CE2711CA2923 /* Deployment */,
+			);
+			hasScannedForEncodings = 1;
+			mainGroup = 08FB7794FE84155DC02AAC07 /* sim */;
+			productRefGroup = 69E0AD5D07CBDE11008493CA /* Products */;
+			projectDirPath = "";
+			targets = (
+				8DD76F620486A84900D96B5E /* sim (ERS-7) */,
+				69E0AFA707CBF79B008493CA /* sim (ERS-7) Light */,
+				69E0AB9A07CBDE11008493CA /* sim (ERS-210) */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+		69E0AB9B07CBDE11008493CA /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69E0AB9C07CBDE11008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */,
+				69E0AB9D07CBDE11008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */,
+				69E0AB9E07CBDE11008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */,
+				69E0AB9F07CBDE11008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */,
+				69E0ABA007CBDE11008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */,
+				69E0ABA107CBDE11008493CA /* StartupBehavior_SetupVision.cc in Sources */,
+				69E0ABA207CBDE11008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */,
+				69E0ABA307CBDE11008493CA /* StartupBehavior.cc in Sources */,
+				69E0ABA507CBDE11008493CA /* Main.cc in Sources */,
+				69E0ABA607CBDE11008493CA /* Motion.cc in Sources */,
+				69E0ABA707CBDE11008493CA /* Process.cc in Sources */,
+				69E0ABA807CBDE11008493CA /* SharedGlobals.cc in Sources */,
+				69E0ABA907CBDE11008493CA /* Simulator.cc in Sources */,
+				69E0ABAA07CBDE11008493CA /* SoundPlay.cc in Sources */,
+				69E0ABAB07CBDE11008493CA /* BehaviorBase.cc in Sources */,
+				69E0ABAC07CBDE11008493CA /* Controller.cc in Sources */,
+				69E0ABAD07CBDE11008493CA /* ControlBase.cc in Sources */,
+				69E0ABAE07CBDE11008493CA /* EventLogger.cc in Sources */,
+				69E0ABAF07CBDE11008493CA /* FileBrowserControl.cc in Sources */,
+				69E0ABB007CBDE11008493CA /* FreeMemReportControl.cc in Sources */,
+				69E0ABB107CBDE11008493CA /* HelpControl.cc in Sources */,
+				69E0ABB207CBDE11008493CA /* PostureEditor.cc in Sources */,
+				69E0ABB307CBDE11008493CA /* RebootControl.cc in Sources */,
+				69E0ABB407CBDE11008493CA /* SensorObserverControl.cc in Sources */,
+				69E0ABB507CBDE11008493CA /* ShutdownControl.cc in Sources */,
+				69E0ABB607CBDE11008493CA /* StringInputControl.cc in Sources */,
+				69E0ABB707CBDE11008493CA /* WalkCalibration.cc in Sources */,
+				69E0ABB807CBDE11008493CA /* WaypointWalkControl.cc in Sources */,
+				69E0ABB907CBDE11008493CA /* ASCIIVisionBehavior.cc in Sources */,
+				69E0ABBA07CBDE11008493CA /* CameraBehavior.cc in Sources */,
+				69E0ABBB07CBDE11008493CA /* ChaseBallBehavior.cc in Sources */,
+				69E0ABBC07CBDE11008493CA /* DriveMeBehavior.cc in Sources */,
+				69E0ABBD07CBDE11008493CA /* ExploreMachine.cc in Sources */,
+				69E0ABBE07CBDE11008493CA /* FlashIPAddrBehavior.cc in Sources */,
+				69E0ABBF07CBDE11008493CA /* FollowHeadBehavior.cc in Sources */,
+				69E0ABC007CBDE11008493CA /* PaceTargetsMachine.cc in Sources */,
+				69E0ABC107CBDE11008493CA /* StareAtBallBehavior.cc in Sources */,
+				69E0ABC207CBDE11008493CA /* WallTestBehavior.cc in Sources */,
+				69E0ABC307CBDE11008493CA /* EStopControllerBehavior.cc in Sources */,
+				69E0ABC407CBDE11008493CA /* HeadPointControllerBehavior.cc in Sources */,
+				69E0ABC507CBDE11008493CA /* MicrophoneServer.cc in Sources */,
+				69E0ABC607CBDE11008493CA /* RawCamBehavior.cc in Sources */,
+				69E0ABC707CBDE11008493CA /* SegCamBehavior.cc in Sources */,
+				69E0ABC807CBDE11008493CA /* SpeakerServer.cc in Sources */,
+				69E0ABC907CBDE11008493CA /* SpiderMachineBehavior.cc in Sources */,
+				69E0ABCA07CBDE11008493CA /* WalkControllerBehavior.cc in Sources */,
+				69E0ABCB07CBDE11008493CA /* WMMonitorBehavior.cc in Sources */,
+				69E0ABCC07CBDE11008493CA /* WorldStateSerializerBehavior.cc in Sources */,
+				69E0ABCD07CBDE11008493CA /* WalkToTargetNode.cc in Sources */,
+				69E0ABCE07CBDE11008493CA /* StateNode.cc in Sources */,
+				69E0ABCF07CBDE11008493CA /* Transition.cc in Sources */,
+				69E0ABD007CBDE11008493CA /* RandomTrans.cc in Sources */,
+				69E0ABD107CBDE11008493CA /* EventBase.cc in Sources */,
+				69E0ABD207CBDE11008493CA /* EventGeneratorBase.cc in Sources */,
+				69E0ABD307CBDE11008493CA /* EventRouter.cc in Sources */,
+				69E0ABD407CBDE11008493CA /* EventTranslator.cc in Sources */,
+				69E0ABD507CBDE11008493CA /* LocomotionEvent.cc in Sources */,
+				69E0ABD607CBDE11008493CA /* TextMsgEvent.cc in Sources */,
+				69E0ABD707CBDE11008493CA /* VisionObjectEvent.cc in Sources */,
+				69E0ABD807CBDE11008493CA /* EmergencyStopMC.cc in Sources */,
+				69E0ABD907CBDE11008493CA /* HeadPointerMC.cc in Sources */,
+				69E0ABDA07CBDE11008493CA /* Kinematics.cc in Sources */,
+				69E0ABDB07CBDE11008493CA /* LedEngine.cc in Sources */,
+				69E0ABDC07CBDE11008493CA /* MotionCommand.cc in Sources */,
+				69E0ABDD07CBDE11008493CA /* MotionManager.cc in Sources */,
+				69E0ABDE07CBDE11008493CA /* MotionSequenceEngine.cc in Sources */,
+				69E0ABDF07CBDE11008493CA /* OldHeadPointerMC.cc in Sources */,
+				69E0ABE007CBDE11008493CA /* OldKinematics.cc in Sources */,
+				69E0ABE107CBDE11008493CA /* OutputCmd.cc in Sources */,
+				69E0ABE207CBDE11008493CA /* PostureEngine.cc in Sources */,
+				69E0ABE307CBDE11008493CA /* PostureMC.cc in Sources */,
+				69E0ABE407CBDE11008493CA /* clik.cpp in Sources */,
+				69E0ABE507CBDE11008493CA /* comp_dq.cpp in Sources */,
+				69E0ABE607CBDE11008493CA /* comp_dqp.cpp in Sources */,
+				69E0ABE707CBDE11008493CA /* config.cpp in Sources */,
+				69E0ABE807CBDE11008493CA /* control_select.cpp in Sources */,
+				69E0ABE907CBDE11008493CA /* controller.cpp in Sources */,
+				69E0ABEA07CBDE11008493CA /* delta_t.cpp in Sources */,
+				69E0ABEB07CBDE11008493CA /* dynamics.cpp in Sources */,
+				69E0ABEC07CBDE11008493CA /* dynamics_sim.cpp in Sources */,
+				69E0ABED07CBDE11008493CA /* gnugraph.cpp in Sources */,
+				69E0ABEE07CBDE11008493CA /* homogen.cpp in Sources */,
+				69E0ABEF07CBDE11008493CA /* invkine.cpp in Sources */,
+				69E0ABF007CBDE11008493CA /* kinemat.cpp in Sources */,
+				69E0ABF207CBDE11008493CA /* quaternion.cpp in Sources */,
+				69E0ABF307CBDE11008493CA /* robot.cpp in Sources */,
+				69E0ABF407CBDE11008493CA /* sensitiv.cpp in Sources */,
+				69E0ABF507CBDE11008493CA /* trajectory.cpp in Sources */,
+				69E0ABF607CBDE11008493CA /* utils.cpp in Sources */,
+				69E0ABF707CBDE11008493CA /* WalkMC.cc in Sources */,
+				69E0ABF807CBDE11008493CA /* Buffer.cc in Sources */,
+				69E0ABF907CBDE11008493CA /* Config.cc in Sources */,
+				69E0ABFA07CBDE11008493CA /* get_time.cc in Sources */,
+				69E0AC2607CBDE11008493CA /* jpeg_mem_dest.cc in Sources */,
+				69E0AC2B07CBDE11008493CA /* LoadSave.cc in Sources */,
+				69E0AC2C07CBDE11008493CA /* bandmat.cpp in Sources */,
+				69E0AC2D07CBDE11008493CA /* cholesky.cpp in Sources */,
+				69E0AC2E07CBDE11008493CA /* evalue.cpp in Sources */,
+				69E0AC2F07CBDE11008493CA /* fft.cpp in Sources */,
+				69E0AC3007CBDE11008493CA /* hholder.cpp in Sources */,
+				69E0AC3107CBDE11008493CA /* jacobi.cpp in Sources */,
+				69E0AC3307CBDE11008493CA /* myexcept.cpp in Sources */,
+				69E0AC3407CBDE11008493CA /* newfft.cpp in Sources */,
+				69E0AC3507CBDE11008493CA /* newmat1.cpp in Sources */,
+				69E0AC3607CBDE11008493CA /* newmat2.cpp in Sources */,
+				69E0AC3707CBDE11008493CA /* newmat3.cpp in Sources */,
+				69E0AC3807CBDE11008493CA /* newmat4.cpp in Sources */,
+				69E0AC3907CBDE11008493CA /* newmat5.cpp in Sources */,
+				69E0AC3A07CBDE11008493CA /* newmat6.cpp in Sources */,
+				69E0AC3B07CBDE11008493CA /* newmat7.cpp in Sources */,
+				69E0AC3C07CBDE11008493CA /* newmat8.cpp in Sources */,
+				69E0AC3D07CBDE11008493CA /* newmat9.cpp in Sources */,
+				69E0AC3E07CBDE11008493CA /* newmatex.cpp in Sources */,
+				69E0AC3F07CBDE11008493CA /* newmatnl.cpp in Sources */,
+				69E0AC4007CBDE11008493CA /* newmatrm.cpp in Sources */,
+				69E0AC4107CBDE11008493CA /* sort.cpp in Sources */,
+				69E0AC4207CBDE11008493CA /* submat.cpp in Sources */,
+				69E0AC4307CBDE11008493CA /* svd.cpp in Sources */,
+				69E0AC4507CBDE11008493CA /* Profiler.cc in Sources */,
+				69E0AC4607CBDE11008493CA /* ProjectInterface.cc in Sources */,
+				69E0AC4907CBDE11008493CA /* string_util.cc in Sources */,
+				69E0AC4A07CBDE11008493CA /* TimeET.cc in Sources */,
+				69E0AC4B07CBDE11008493CA /* WMclass.cc in Sources */,
+				69E0AC4C07CBDE11008493CA /* WorldState.cc in Sources */,
+				69E0AC4D07CBDE11008493CA /* SoundManager.cc in Sources */,
+				69E0AC4E07CBDE11008493CA /* WAV.cc in Sources */,
+				69E0AC4F07CBDE11008493CA /* BallDetectionGenerator.cc in Sources */,
+				69E0AC5007CBDE11008493CA /* CDTGenerator.cc in Sources */,
+				69E0AC5107CBDE11008493CA /* FilterBankGenerator.cc in Sources */,
+				69E0AC5207CBDE11008493CA /* InterleavedYUVGenerator.cc in Sources */,
+				69E0AC5307CBDE11008493CA /* JPEGGenerator.cc in Sources */,
+				69E0AC5407CBDE11008493CA /* RawCameraGenerator.cc in Sources */,
+				69E0AC5507CBDE11008493CA /* RegionGenerator.cc in Sources */,
+				69E0AC5607CBDE11008493CA /* RLEGenerator.cc in Sources */,
+				69E0AC5707CBDE11008493CA /* SegmentedColorGenerator.cc in Sources */,
+				69E0AC5807CBDE11008493CA /* Socket.cc in Sources */,
+				69E0AC5907CBDE11008493CA /* Wireless.cc in Sources */,
+				6994F3DD07D4D35F003A7628 /* SemaphoreManager.cc in Sources */,
+				6994F3DE07D4D35F003A7628 /* ProcessID.cc in Sources */,
+				6994F3DF07D4D35F003A7628 /* RCRegion.cc in Sources */,
+				6994F3E007D4D35F003A7628 /* SharedObject.cc in Sources */,
+				6942757907E0DCDD003DE3D9 /* MutexLock.cc in Sources */,
+				6942779207E164EA003DE3D9 /* Thread.cc in Sources */,
+				69A323C507E35665009D94E1 /* write_jpeg.cc in Sources */,
+				69E666BD07F0CE51005F4FA9 /* plist.cc in Sources */,
+				69E6674907F1E23A005F4FA9 /* XMLLoadSave.cc in Sources */,
+				69E6696507F3398F005F4FA9 /* SimConfig.cc in Sources */,
+				692CD63507F8C46B00604100 /* sim.cc in Sources */,
+				692CD99607F9F05500604100 /* LoadFileThread.cc in Sources */,
+				695967E407FF3DCF004FABFF /* LoadImageThread.cc in Sources */,
+				695F1ACB0804A81800ACB3D7 /* BufferedImageGenerator.cc in Sources */,
+				69A19960080ED8A200540970 /* EchoBehavior.cc in Sources */,
+				691C805708255F6300E8E256 /* Base64.cc in Sources */,
+				69970AC2083DB2760069D95C /* StewartPlatformBehavior.cc in Sources */,
+				69FA48F8084C389E0003A261 /* UPennWalkMC.cc in Sources */,
+				69FA48FF084C38E80003A261 /* Graphics.cc in Sources */,
+				69FA4900084C38E80003A261 /* RLEGraphics.cc in Sources */,
+				69FA4904084C39230003A261 /* UPennWalkControllerBehavior.cc in Sources */,
+				69AA7D6C0860898300185BA2 /* MessageReceiver.cc in Sources */,
+				69B4E447089409D900832D58 /* StareAtPawBehavior2.cc in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		69E0AFA507CBF79B008493CA /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69E0AFAA07CBF84A008493CA /* StartupBehavior.cc in Sources */,
+				69E0AFAB07CBF84B008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */,
+				69E0AFAC07CBF84C008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */,
+				69E0AFAD07CBF84D008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */,
+				69E0AFAE07CBF84E008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */,
+				69E0AFAF07CBF84E008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */,
+				69E0AFB007CBF84F008493CA /* StartupBehavior_SetupVision.cc in Sources */,
+				69E0AFB107CBF850008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */,
+				69E0AFB307CBF85E008493CA /* Main.cc in Sources */,
+				69E0AFB407CBF85F008493CA /* Motion.cc in Sources */,
+				69E0AFB507CBF860008493CA /* Process.cc in Sources */,
+				69E0AFB607CBF862008493CA /* SharedGlobals.cc in Sources */,
+				69E0AFB707CBF862008493CA /* Simulator.cc in Sources */,
+				69E0AFB807CBF863008493CA /* SoundPlay.cc in Sources */,
+				692CD63707F8C46B00604100 /* sim.cc in Sources */,
+				692CD99707F9F05500604100 /* LoadFileThread.cc in Sources */,
+				695967E207FF3DCF004FABFF /* LoadImageThread.cc in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		8DD76F640486A84900D96B5E /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				69E0A76407CBD4F9008493CA /* StartupBehavior_SetupBackgroundBehaviors.cc in Sources */,
+				69E0A76507CBD4F9008493CA /* StartupBehavior_SetupFileAccess.cc in Sources */,
+				69E0A76607CBD4F9008493CA /* StartupBehavior_SetupModeSwitch.cc in Sources */,
+				69E0A76707CBD4F9008493CA /* StartupBehavior_SetupStatusReports.cc in Sources */,
+				69E0A76807CBD4F9008493CA /* StartupBehavior_SetupTekkotsuMon.cc in Sources */,
+				69E0A76907CBD4F9008493CA /* StartupBehavior_SetupVision.cc in Sources */,
+				69E0A76A07CBD4F9008493CA /* StartupBehavior_SetupWalkEdit.cc in Sources */,
+				69E0A76B07CBD4F9008493CA /* StartupBehavior.cc in Sources */,
+				69E0A77D07CBD52D008493CA /* Main.cc in Sources */,
+				69E0A77F07CBD52D008493CA /* Motion.cc in Sources */,
+				69E0A78107CBD52D008493CA /* Process.cc in Sources */,
+				69E0A78407CBD52D008493CA /* SharedGlobals.cc in Sources */,
+				69E0A78607CBD52D008493CA /* Simulator.cc in Sources */,
+				69E0A78807CBD52D008493CA /* SoundPlay.cc in Sources */,
+				69E0A99507CBD6C1008493CA /* BehaviorBase.cc in Sources */,
+				69E0A99807CBD6C1008493CA /* Controller.cc in Sources */,
+				69E0A99F07CBD6C1008493CA /* ControlBase.cc in Sources */,
+				69E0A9A207CBD6C1008493CA /* EventLogger.cc in Sources */,
+				69E0A9A407CBD6C1008493CA /* FileBrowserControl.cc in Sources */,
+				69E0A9A707CBD6C1008493CA /* FreeMemReportControl.cc in Sources */,
+				69E0A9A907CBD6C1008493CA /* HelpControl.cc in Sources */,
+				69E0A9B207CBD6C1008493CA /* PostureEditor.cc in Sources */,
+				69E0A9B507CBD6C1008493CA /* RebootControl.cc in Sources */,
+				69E0A9BA07CBD6C1008493CA /* SensorObserverControl.cc in Sources */,
+				69E0A9BC07CBD6C1008493CA /* ShutdownControl.cc in Sources */,
+				69E0A9BE07CBD6C1008493CA /* StringInputControl.cc in Sources */,
+				69E0A9C307CBD6C1008493CA /* WalkCalibration.cc in Sources */,
+				69E0A9C507CBD6C1008493CA /* WaypointWalkControl.cc in Sources */,
+				69E0A9C807CBD6C1008493CA /* ASCIIVisionBehavior.cc in Sources */,
+				69E0A9CD07CBD6C1008493CA /* CameraBehavior.cc in Sources */,
+				69E0A9CF07CBD6C1008493CA /* ChaseBallBehavior.cc in Sources */,
+				69E0A9D207CBD6C1008493CA /* DriveMeBehavior.cc in Sources */,
+				69E0A9D407CBD6C1008493CA /* ExploreMachine.cc in Sources */,
+				69E0A9D607CBD6C1008493CA /* FlashIPAddrBehavior.cc in Sources */,
+				69E0A9D807CBD6C1008493CA /* FollowHeadBehavior.cc in Sources */,
+				69E0A9E407CBD6C1008493CA /* PaceTargetsMachine.cc in Sources */,
+				69E0A9E907CBD6C1008493CA /* StareAtBallBehavior.cc in Sources */,
+				69E0A9EE07CBD6C1008493CA /* WallTestBehavior.cc in Sources */,
+				69E0A9F207CBD6C1008493CA /* EStopControllerBehavior.cc in Sources */,
+				69E0A9F407CBD6C1008493CA /* HeadPointControllerBehavior.cc in Sources */,
+				69E0A9F607CBD6C1008493CA /* MicrophoneServer.cc in Sources */,
+				69E0A9F807CBD6C1008493CA /* RawCamBehavior.cc in Sources */,
+				69E0A9FA07CBD6C1008493CA /* SegCamBehavior.cc in Sources */,
+				69E0A9FC07CBD6C1008493CA /* SpeakerServer.cc in Sources */,
+				69E0A9FE07CBD6C1008493CA /* SpiderMachineBehavior.cc in Sources */,
+				69E0AA0107CBD6C2008493CA /* WalkControllerBehavior.cc in Sources */,
+				69E0AA0307CBD6C2008493CA /* WMMonitorBehavior.cc in Sources */,
+				69E0AA0507CBD6C2008493CA /* WorldStateSerializerBehavior.cc in Sources */,
+				69E0AA1007CBD6C2008493CA /* WalkToTargetNode.cc in Sources */,
+				69E0AA1307CBD6C2008493CA /* StateNode.cc in Sources */,
+				69E0AA1507CBD6C2008493CA /* Transition.cc in Sources */,
+				69E0AA1C07CBD6C2008493CA /* RandomTrans.cc in Sources */,
+				69E0AA2307CBD6C2008493CA /* EventBase.cc in Sources */,
+				69E0AA2507CBD6C2008493CA /* EventGeneratorBase.cc in Sources */,
+				69E0AA2807CBD6C2008493CA /* EventRouter.cc in Sources */,
+				69E0AA2A07CBD6C2008493CA /* EventTranslator.cc in Sources */,
+				69E0AA2E07CBD6C2008493CA /* LocomotionEvent.cc in Sources */,
+				69E0AA3107CBD6C2008493CA /* TextMsgEvent.cc in Sources */,
+				69E0AA3307CBD6C2008493CA /* VisionObjectEvent.cc in Sources */,
+				69E0AA3607CBD6C2008493CA /* EmergencyStopMC.cc in Sources */,
+				69E0AA3A07CBD6C2008493CA /* HeadPointerMC.cc in Sources */,
+				69E0AA3C07CBD6C2008493CA /* Kinematics.cc in Sources */,
+				69E0AA3E07CBD6C2008493CA /* LedEngine.cc in Sources */,
+				69E0AA4207CBD6C2008493CA /* MotionCommand.cc in Sources */,
+				69E0AA4407CBD6C2008493CA /* MotionManager.cc in Sources */,
+				69E0AA4707CBD6C2008493CA /* MotionSequenceEngine.cc in Sources */,
+				69E0AA4A07CBD6C2008493CA /* OldHeadPointerMC.cc in Sources */,
+				69E0AA4C07CBD6C2008493CA /* OldKinematics.cc in Sources */,
+				69E0AA4E07CBD6C2008493CA /* OutputCmd.cc in Sources */,
+				69E0AA5307CBD6C2008493CA /* PostureEngine.cc in Sources */,
+				69E0AA5507CBD6C2008493CA /* PostureMC.cc in Sources */,
+				69E0AA5807CBD6C2008493CA /* clik.cpp in Sources */,
+				69E0AA5A07CBD6C2008493CA /* comp_dq.cpp in Sources */,
+				69E0AA5B07CBD6C2008493CA /* comp_dqp.cpp in Sources */,
+				69E0AA5C07CBD6C2008493CA /* config.cpp in Sources */,
+				69E0AA5E07CBD6C2008493CA /* control_select.cpp in Sources */,
+				69E0AA6007CBD6C2008493CA /* controller.cpp in Sources */,
+				69E0AA6207CBD6C2008493CA /* delta_t.cpp in Sources */,
+				69E0AA6307CBD6C2008493CA /* dynamics.cpp in Sources */,
+				69E0AA6407CBD6C2008493CA /* dynamics_sim.cpp in Sources */,
+				69E0AA7807CBD6C2008493CA /* gnugraph.cpp in Sources */,
+				69E0AA7A07CBD6C2008493CA /* homogen.cpp in Sources */,
+				69E0AA7B07CBD6C2008493CA /* invkine.cpp in Sources */,
+				69E0AA7C07CBD6C2008493CA /* kinemat.cpp in Sources */,
+				69E0AA7E07CBD6C2008493CA /* quaternion.cpp in Sources */,
+				69E0AA8507CBD6C2008493CA /* sensitiv.cpp in Sources */,
+				69E0AA8607CBD6C2008493CA /* trajectory.cpp in Sources */,
+				69E0AA8807CBD6C2008493CA /* utils.cpp in Sources */,
+				69E0AA8C07CBD6C2008493CA /* WalkMC.cc in Sources */,
+				69E0AA9007CBD6C2008493CA /* Buffer.cc in Sources */,
+				69E0AA9307CBD6C2008493CA /* Config.cc in Sources */,
+				69E0AA9B07CBD6C2008493CA /* get_time.cc in Sources */,
+				69E0AADB07CBD6C2008493CA /* jpeg_mem_dest.cc in Sources */,
+				69E0AAF507CBD6C2008493CA /* LoadSave.cc in Sources */,
+				69E0AAFA07CBD6C2008493CA /* bandmat.cpp in Sources */,
+				69E0AAFC07CBD6C2008493CA /* cholesky.cpp in Sources */,
+				69E0AB0107CBD6C2008493CA /* evalue.cpp in Sources */,
+				69E0AB3107CBD6C2008493CA /* fft.cpp in Sources */,
+				69E0AB3207CBD6C2008493CA /* hholder.cpp in Sources */,
+				69E0AB3407CBD6C2008493CA /* jacobi.cpp in Sources */,
+				69E0AB3607CBD6C2008493CA /* myexcept.cpp in Sources */,
+				69E0AB3807CBD6C2008493CA /* newfft.cpp in Sources */,
+				69E0AB3A07CBD6C2008493CA /* newmat1.cpp in Sources */,
+				69E0AB3B07CBD6C2008493CA /* newmat2.cpp in Sources */,
+				69E0AB3C07CBD6C2008493CA /* newmat3.cpp in Sources */,
+				69E0AB3D07CBD6C2008493CA /* newmat4.cpp in Sources */,
+				69E0AB3E07CBD6C2008493CA /* newmat5.cpp in Sources */,
+				69E0AB3F07CBD6C2008493CA /* newmat6.cpp in Sources */,
+				69E0AB4007CBD6C2008493CA /* newmat7.cpp in Sources */,
+				69E0AB4107CBD6C2008493CA /* newmat8.cpp in Sources */,
+				69E0AB4207CBD6C2008493CA /* newmat9.cpp in Sources */,
+				69E0AB4407CBD6C2008493CA /* newmatex.cpp in Sources */,
+				69E0AB4607CBD6C2008493CA /* newmatnl.cpp in Sources */,
+				69E0AB4907CBD6C2008493CA /* newmatrm.cpp in Sources */,
+				69E0AB4D07CBD6C2008493CA /* sort.cpp in Sources */,
+				69E0AB4E07CBD6C2008493CA /* submat.cpp in Sources */,
+				69E0AB4F07CBD6C2008493CA /* svd.cpp in Sources */,
+				69E0AB5307CBD6C2008493CA /* Profiler.cc in Sources */,
+				69E0AB5507CBD6C2008493CA /* ProjectInterface.cc in Sources */,
+				69E0AB5E07CBD6C2008493CA /* string_util.cc in Sources */,
+				69E0AB6107CBD6C2008493CA /* TimeET.cc in Sources */,
+				69E0AB6407CBD6C2008493CA /* WMclass.cc in Sources */,
+				69E0AB6607CBD6C2008493CA /* WorldState.cc in Sources */,
+				69E0AB6807CBD6C2008493CA /* SoundManager.cc in Sources */,
+				69E0AB6B07CBD6C2008493CA /* WAV.cc in Sources */,
+				69E0AB6D07CBD6C2008493CA /* BallDetectionGenerator.cc in Sources */,
+				69E0AB6F07CBD6C2008493CA /* CDTGenerator.cc in Sources */,
+				69E0AB7607CBD6C2008493CA /* FilterBankGenerator.cc in Sources */,
+				69E0AB7807CBD6C2008493CA /* InterleavedYUVGenerator.cc in Sources */,
+				69E0AB7A07CBD6C2008493CA /* JPEGGenerator.cc in Sources */,
+				69E0AB7D07CBD6C2008493CA /* RawCameraGenerator.cc in Sources */,
+				69E0AB7F07CBD6C2008493CA /* RegionGenerator.cc in Sources */,
+				69E0AB8107CBD6C2008493CA /* RLEGenerator.cc in Sources */,
+				69E0AB8307CBD6C2008493CA /* SegmentedColorGenerator.cc in Sources */,
+				69E0AB8707CBD6C2008493CA /* Socket.cc in Sources */,
+				69E0AB8907CBD6C2008493CA /* Wireless.cc in Sources */,
+				6994F3D907D4D35F003A7628 /* SemaphoreManager.cc in Sources */,
+				6994F3DA07D4D35F003A7628 /* ProcessID.cc in Sources */,
+				6994F3DB07D4D35F003A7628 /* RCRegion.cc in Sources */,
+				6994F3DC07D4D35F003A7628 /* SharedObject.cc in Sources */,
+				6942757807E0DCDD003DE3D9 /* MutexLock.cc in Sources */,
+				6942779107E164EA003DE3D9 /* Thread.cc in Sources */,
+				69A323C207E3564F009D94E1 /* write_jpeg.cc in Sources */,
+				69E666BC07F0CE51005F4FA9 /* plist.cc in Sources */,
+				69E6674A07F1E23A005F4FA9 /* XMLLoadSave.cc in Sources */,
+				69E6696607F3398F005F4FA9 /* SimConfig.cc in Sources */,
+				692CD63607F8C46B00604100 /* sim.cc in Sources */,
+				692CD99807F9F05500604100 /* LoadFileThread.cc in Sources */,
+				695967E307FF3DCF004FABFF /* LoadImageThread.cc in Sources */,
+				695F1ACA0804A81800ACB3D7 /* BufferedImageGenerator.cc in Sources */,
+				69A1995F080ED8A200540970 /* EchoBehavior.cc in Sources */,
+				691C805608255F6300E8E256 /* Base64.cc in Sources */,
+				69970AC1083DB2760069D95C /* StewartPlatformBehavior.cc in Sources */,
+				69FA48F7084C389E0003A261 /* UPennWalkMC.cc in Sources */,
+				69FA48FD084C38E80003A261 /* Graphics.cc in Sources */,
+				69FA48FE084C38E80003A261 /* RLEGraphics.cc in Sources */,
+				69FA4903084C39230003A261 /* UPennWalkControllerBehavior.cc in Sources */,
+				69AA7D6B0860898300185BA2 /* MessageReceiver.cc in Sources */,
+				69B4E446089409D900832D58 /* StareAtPawBehavior2.cc in Sources */,
+				69B4E6D50895E34F00832D58 /* robot.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		69FD502B0881E74900E825BA /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				DEPLOYMENT_LOCATION = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					PLATFORM_LOCAL,
+					DEBUG,
+					HAVE_READDIR_R,
+				);
+				GCC_USE_GCC3_PFE_SUPPORT = YES;
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = NO;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PROFILING_CODE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(TEKKOTSU_ROOT)",
+					/usr/include/libxml2,
+				);
+				INSTALL_PATH = "$(HOME)/bin";
+				OBJROOT = build;
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PREBINDING = NO;
+				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
+				PRODUCT_NAME = "sim-ERS7";
+				SYMROOT = .;
+				UNSTRIPPED_PRODUCT = YES;
+				WARNING_CFLAGS = (
+					"-Wall",
+					"-W",
+					"-Wpointer-arith",
+					"-Wcast-qual",
+					"-Woverloaded-virtual",
+					"-Wdeprecated",
+				);
+			};
+			name = Development;
+		};
+		69FD502C0881E74900E825BA /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = PLATFORM_LOCAL;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				HEADER_SEARCH_PATHS = "$(TEKKOTSU_ROOT)";
+				INSTALL_PATH = "$(HOME)/bin";
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PRODUCT_NAME = "sim-ERS7";
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		69FD502F0881E74900E825BA /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					PLATFORM_LOCAL,
+					DEBUG,
+					HAVE_READDIR_R,
+				);
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PROFILING_CODE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(TEKKOTSU_ROOT)",
+					/usr/include/libxml2,
+				);
+				INSTALL_PATH = /usr/local/bin;
+				OBJROOT = build;
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PREBINDING = NO;
+				PRODUCT_NAME = "sim-ERS7";
+				SYMROOT = "";
+				WARNING_CFLAGS = (
+					"-Wall",
+					"-W",
+					"-Wpointer-arith",
+					"-Wcast-qual",
+					"-Woverloaded-virtual",
+					"-Wdeprecated",
+				);
+			};
+			name = Development;
+		};
+		69FD50300881E74900E825BA /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = PLATFORM_LOCAL;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				HEADER_SEARCH_PATHS = "$(TEKKOTSU_ROOT)";
+				INSTALL_PATH = /usr/local/bin;
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS7";
+				PRODUCT_NAME = "sim-ERS7";
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		69FD50330881E74900E825BA /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					PLATFORM_LOCAL,
+					DEBUG,
+					HAVE_READDIR_R,
+				);
+				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
+				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
+				GCC_WARN_MISSING_PARENTHESES = YES;
+				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+				GCC_WARN_SHADOW = NO;
+				GCC_WARN_SIGN_COMPARE = YES;
+				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_LABEL = YES;
+				GCC_WARN_UNUSED_PARAMETER = YES;
+				GCC_WARN_UNUSED_VALUE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				GENERATE_PROFILING_CODE = YES;
+				HEADER_SEARCH_PATHS = (
+					"$(TEKKOTSU_ROOT)",
+					/usr/include/libxml2,
+				);
+				INSTALL_PATH = "$(HOME)/bin";
+				OBJROOT = build;
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS210";
+				PREBINDING = NO;
+				PRODUCT_NAME = "sim-ERS210";
+				SYMROOT = "";
+				WARNING_CFLAGS = (
+					"-Wall",
+					"-W",
+					"-Wpointer-arith",
+					"-Wcast-qual",
+					"-Woverloaded-virtual",
+					"-Wdeprecated",
+				);
+			};
+			name = Development;
+		};
+		69FD50340881E74900E825BA /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_ENABLE_PASCAL_STRINGS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = "$(TEKKOTSU_ROOT)/common.h";
+				GCC_PREPROCESSOR_DEFINITIONS = PLATFORM_LOCAL;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES;
+				HEADER_SEARCH_PATHS = "$(TEKKOTSU_ROOT)";
+				INSTALL_PATH = "$(HOME)/bin";
+				OTHER_CPLUSPLUSFLAGS = "-DTGT_ERS210";
+				PRODUCT_NAME = "sim-ERS210";
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		69FD50370881E74900E825BA /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				DEPLOYMENT_LOCATION = YES;
+				DSTROOT = build;
+			};
+			name = Development;
+		};
+		69FD50380881E74900E825BA /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Deployment;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		69FD502A0881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-7)" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				69FD502B0881E74900E825BA /* Development */,
+				69FD502C0881E74900E825BA /* Deployment */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Development;
+		};
+		69FD502E0881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-7) Light" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				69FD502F0881E74900E825BA /* Development */,
+				69FD50300881E74900E825BA /* Deployment */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Development;
+		};
+		69FD50320881E74900E825BA /* Build configuration list for PBXNativeTarget "sim (ERS-210)" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				69FD50330881E74900E825BA /* Development */,
+				69FD50340881E74900E825BA /* Deployment */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Development;
+		};
+		69FD50360881E74900E825BA /* Build configuration list for PBXProject "Make" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				69FD50370881E74900E825BA /* Development */,
+				69FD50380881E74900E825BA /* Deployment */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Development;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+}
diff -urdN ../../Tekkotsu_2.3/project/Makefile ./Makefile
--- ../../Tekkotsu_2.3/project/Makefile	Tue Jan 18 18:25:14 2005
+++ ./Makefile	Wed Jul  6 18:53:29 2005
@@ -1,7 +1,9 @@
 ################ PROJECT MAKEFILE #################
-############# $Name: tekkotsu-2_3 $ ###############
-############### $Revision: 1.98 $ #################
-########## $Date: 2005/01/18 23:25:14 $ ###########
+############# $Name: tekkotsu-2_4 $ ###############
+############### $Revision: 1.105 $ #################
+########## $Date: 2005/07/06 22:53:29 $ ###########
+############### $Revision: 1.105 $ #################
+########## $Date: 2005/07/06 22:53:29 $ ###########
 
 # Make sure the default target is 'all' by listing it first
 all:
@@ -10,6 +12,12 @@
 ##             ENVIRONMENT SETUP                 ##
 ###################################################
 TEKKOTSU_ENVIRONMENT_CONFIGURATION?=$(shell pwd | sed 's/ /\\ /g')/Environment.conf
+ifneq ($(filter sim%,$(MAKECMDGOALS)),)
+	TEKKOTSU_TARGET_PLATFORM:=PLATFORM_LOCAL
+	ifneq ($(filter sim-%,$(MAKECMDGOALS)),)
+		TEKKOTSU_TARGET_MODEL:=$(patsubst sim-%,TGT_%,$(filter sim-%,$(MAKECMDGOALS)))
+	endif
+endif
 include $(TEKKOTSU_ENVIRONMENT_CONFIGURATION)
 $(shell mkdir -p $(PROJ_BD))
 
@@ -28,262 +36,152 @@
 	  -isystem $(OPENRSDK_ROOT)/OPEN_R/include/MCOOP \
 	  -isystem $(OPENRSDK_ROOT)/OPEN_R/include/R4000 \
 	  -isystem $(OPENRSDK_ROOT)/OPEN_R/include \
-	  -DOPENR_DEBUG
+	  -isystem $(TEKKOTSU_ROOT)/aperios/include \
+	  $(if $(TEKKOTSU_DEBUG),-DOPENR_DEBUG,) \
+	  `$(TEKKOTSU_ROOT)/aperios/bin/xml2-config --cflags`
+  LDFLAGS=-lObjectComm -lOPENR  -lInternet -lantMCOOP -lERA201D1 \
+	  `$(TEKKOTSU_ROOT)/aperios/bin/xml2-config --libs` -ljpeg
 else
-  PLATFORM_FLAGS=
+  PLATFORM_FLAGS=`xml2-config --cflags`
+  LDFLAGS=`xml2-config --libs` $(if $(shell locate librt.a),-lrt) -ljpeg
 endif
 
 CXXFLAGS= \
-	-g -pipe -fno-inline \
-	-O2 -frename-registers -fomit-frame-pointer -ffast-math -fno-common \
+	$(if $(TEKKOTSU_DEBUG),-g -fno-inline -DDEBUG,) \
+	$(if $(TEKKOTSU_DEBUG),,-O2 -frename-registers -fomit-frame-pointer) \
+	-pipe -ffast-math -fno-common \
 	-Wall -W -Wshadow -Wlarger-than-8192 -Wpointer-arith -Wcast-qual \
 	-Woverloaded-virtual -Weffc++ -Wdeprecated -Wnon-virtual-dtor \
-	-I$(TEKKOTSU_ROOT) -I$(TEKKOTSU_ROOT)/Motion/roboop \
+	-I. -I$(TEKKOTSU_ROOT) -I$(TEKKOTSU_ROOT)/Motion/roboop \
 	-I$(TEKKOTSU_ROOT)/Shared/newmat \
 	-isystem $(TEKKOTSU_ROOT)/Shared/jpeg-6b \
 	-D$(TEKKOTSU_TARGET_PLATFORM)  -D$(TEKKOTSU_TARGET_MODEL) \
-	-DDEBUG $(PLATFORM_FLAGS)
+	$(PLATFORM_FLAGS)
+
+INCLUDE_PCH=$(if $(TEKKOTSU_PCH),-include $(TK_BD)/$(TEKKOTSU_PCH))
 
 
 ###################################################
 ##              SOURCE CODE LIST                 ##
 ###################################################
 
-# Find all of the source files: (except temp files in build directory)
+# Find all of the source files: (except temp files in build directory,
+# or platform-specific files in either aperios or sim)
 # You shouldn't need to change anything here unless you want to add
 # external libraries
 SRCSUFFIX=.cc
-PROJ_SRCS:=$(patsubst ./%,%,$(shell find . -name "*$(SRCSUFFIX)" -or -name "$(PROJECT_BUILDDIR)" \! -prune -or -name "templates" \! -prune))
-
-# We're assuming all of the source files we found are to be linked
-# into MMCombo.
-MAIN_SRCS:=$(PROJ_SRCS)
-
-# We can also link in third-party libraries (path relative to Tekkotsu root)
-# You'll need to specify which processes need which libraries in the next section
-USERLIBS:= $(TK_BD)/Shared/jpeg-6b \
-           $(TK_BD)/Motion/roboop \
-           $(TK_BD)/Shared/newmat \
+SRCS:=$(patsubst ./%,%,$(shell find . -name "*$(SRCSUFFIX)" -or -name "$(PROJECT_BUILDDIR)" \! -prune -or -name "templates" \! -prune -or -name "aperios" \! -prune -or -name "local" \! -prune))
 
-# These system libs are expected to already be compiled, will be linked
-# into all processes... if you only want to link into a single process,
-# see the *_LIBS variables of the next section
-LIBS=-lObjectComm -lOPENR
+# We can also link in third-party libraries
+USERLIBS:= $(TK_BD)/libtekkotsu.a \
+           $(TK_LIB_BD)/Motion/roboop/libroboop.a \
+           $(TK_LIB_BD)/Shared/newmat/libnewmat.a \
 
 
 ###################################################
-##               PROCESS SETUP                   ##
+##             MAKEFILE MACHINERY                ##
 ###################################################
-# This part will set up the four processes:
-# MMCombo is forked into Main and Motion
-# TinyFTPD is the FTP server
-# SoundPlay handles sound output
-
-# It should be pretty easy to add a new process here if
-# you're inclined to do so.
-
-# These all are relative to TEKKOTSU_ROOT
-PROCESS_OBJS=MMCombo TinyFTPD SoundPlay
-
-# These specify the components of each process - list either individual
-# object files or entire directories
-MMCombo_COMP=MMCombo MMCombo/MMComboStub.o Behaviors Events Motion Shared SoundPlay/SoundManager.o SoundPlay/WAV.o Vision Wireless
-TinyFTPD_COMP=TinyFTPD TinyFTPD/TinyFTPDStub.o
-SoundPlay_COMP=SoundPlay SoundPlay/SoundPlayStub.o Shared/Config.o Shared/ProcessID.o Events/EventRouter.o Events/EventTranslator.o Events/EventBase.o Events/LocomotionEvent.o Events/TextMsgEvent.o Events/VisionObjectEvent.o Shared/LoadSave.o Shared/get_time.o
-
-# These just set up the automatically generated stub files
-STUB_FILES:=$(addprefix $(TEKKOTSU_ROOT)/,$(addsuffix /stub.cfg,$(PROCESS_OBJS)))
-STUB_CHECK_FILES:=$(addprefix $(TK_BD)/,$(subst /,-,$(STUB_FILES)))
+# Hopefully, you shouldn't have to change anything down here,
+# except one or two little things ;)
 
-# It's important that the process names and variables are the same
-# case as your memory stick reader - memsticks don't store case, and
-# some drivers may convert all file names to uppercase, others to
-# lower case.  Ours is lower case.  I think this only really matters
-# if you want to update a stick instead of recopying it (make update
-# vs. make install)
+.PHONY: all compile clean cleanDeps cleanProj reportTarget checkLibs testLibs buildLibs sim
 
-ifeq ($(FILENAME_CASE),lower)
-  PROCESSES=mmcombo tinyftpd sndplay
-  mmcombo_OBJS:=$(addprefix $(PROJ_BD)/,$(MAIN_SRCS:$(SRCSUFFIX)=.o)) $(TK_BD)/MMCombo/MMComboStub.o
-  mmcombo_LIBS:=$(addprefix $(TK_BD)/,MMCombo.a Motion/roboop/libroboop.a Shared/newmat/libnewmat.a Shared/jpeg-6b/libjpeg.a) -lInternet -lantMCOOP -lERA201D1 
-  mmcombo_OCF:=$(TEKKOTSU_ROOT)/MMCombo/MMCombo.ocf
-  tinyftpd_OBJS:=$(TK_BD)/TinyFTPD/TinyFTPDStub.o
-  tinyftpd_LIBS:=$(addprefix $(TK_BD)/, TinyFTPD.a ) -lInternet -lantMCOOP
-  tinyftpd_OCF:=$(TEKKOTSU_ROOT)/TinyFTPD/TinyFTPD.ocf
-  sndplay_OBJS:=$(TK_BD)/SoundPlay/SoundPlayStub.o
-  sndplay_LIBS:=$(addprefix $(TK_BD)/, SoundPlay.a )
-  sndplay_OCF:=$(TEKKOTSU_ROOT)/SoundPlay/SoundPlay.ocf
-  CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makelowercase
-  BINSUFFIX=.bin
-  MSIMGDIR=ms
-  INSTALLDIR=$(MSIMGDIR)/open-r/mw/objs
-  MMCOMBOBIN=mmcombo.bin
-  MAINFORK=mainobj.bin
-  MOTOFORK=motoobj.bin
-else
-  PROCESSES=MMCOMBO TINYFTPD SNDPLAY
-  MMCOMBO_OBJS:=$(addprefix $(PROJ_BD)/,$(MAIN_SRCS:$(SRCSUFFIX)=.o)) $(TK_BD)/MMCombo/MMComboStub.o
-  MMCOMBO_LIBS:=$(addprefix $(TK_BD)/,MMCombo.a Motion/roboop/libroboop.a Shared/newmat/libnewmat.a Shared/jpeg-6b/libjpeg.a) -lInternet -lantMCOOP -lERA201D1 
-  MMCOMBO_OCF:=$(TEKKOTSU_ROOT)/MMCombo/MMCombo.ocf
-  TINYFTPD_OBJS:=$(TK_BD)/TinyFTPD/TinyFTPDStub.o
-  TINYFTPD_LIBS:=$(addprefix $(TK_BD)/, TinyFTPD.a ) -lInternet -lantMCOOP 
-  TINYFTPD_OCF:=$(TEKKOTSU_ROOT)/TinyFTPD/TinyFTPD.ocf
-  SNDPLAY_OBJS:=$(TK_BD)/SoundPlay/SoundPlayStub.o
-  SNDPLAY_LIBS:=$(addprefix $(TK_BD)/, SoundPlay.a )
-  SNDPLAY_OCF:=$(TEKKOTSU_ROOT)/SoundPlay/SoundPlay.ocf
-  CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makeuppercase
-  BINSUFFIX=.BIN
-  MSIMGDIR=MS
-  INSTALLDIR=$(MSIMGDIR)/OPEN-R/MW/OBJS
-  MMCOMBOBIN=MMCOMBO.BIN
-  MAINFORK=MAINOBJ.BIN
-  MOTOFORK=MOTOOBJ.BIN
+sim all: reportTarget checkLibs compile
+ifeq ($(TEKKOTSU_TARGET_PLATFORM),PLATFORM_APERIOS)
+	@echo "Type: '$(MAKE) install' to copy all files to the memory stick";
+	@echo "  or: '$(MAKE) update' to copy only changed files";
+	@echo "  or: '$(TEKKOTSU_ROOT)/tools/{ftpinstall,ftpupdate} <ipaddr> ms' might also be useful";
 endif
+	@echo "Build successful."
 
-# creates process build target names: MMCombo -> build/MMCombo.a
-BUILDS:=$(foreach proc,$(PROCESS_OBJS),$(TK_BD)/$(proc).a)
-
-# Each process build target depends on the component object files that
-# should be linked together.  These live in the $TK_BD directory and
-# should be fairly static unless you're editing the framework itself.
-# The automatic way of creating these dependancies automatically is
-# too messy, just add a rule for each process by hand: (skip lines!)
-$(word 1,$(BUILDS)): $(foreach comp,$($(word 1,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find "$(TEKKOTSU_ROOT)/$(comp)" -name "*.cc") )))
-
-$(word 2,$(BUILDS)): $(foreach comp,$($(word 2,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find "$(TEKKOTSU_ROOT)/$(comp)" -name "*.cc") )))
-
-$(word 3,$(BUILDS)): $(foreach comp,$($(word 3,$(PROCESS_OBJS))_COMP), $(if $(suffix $(comp)),$(TK_BD)/$(comp),$(patsubst $(TEKKOTSU_ROOT)%.cc,$(TK_BD)%.o,$(shell find "$(TEKKOTSU_ROOT)/$(comp)" -name "*.cc") )))
-
-# Each of the executable binaries depends on the corresponding
-# framework build target(s) plus any project files which were
-# specified above. (by default, all project files are linked into
-# MMCombo) These live in the project directory's build dir and will
-# need to be recompiled any time you change source that's part of that
-# process (but not otherwise ;)
-# Again, the automatic way of creating these dependancies
-# automatically is too messy, just add a rule for each process by
-# hand: (skip lines!)
-PROC_BINS:=$(addprefix $(PROJ_BD)/,$(addsuffix $(BINSUFFIX),$(PROCESSES)))
+# Don't want to try to remake this - give an error if not found
+$(TEKKOTSU_ROOT)/project/Environment.conf:
+	@echo "Could not find Environment file - check the default project directory still exists"
+	@exit 1
 
-$(word 1,$(PROC_BINS)): $($(word 1,$(PROCESSES))_OBJS) $(filter-out -l%,$($(word 1,$(PROCESSES))_LIBS)) $($(word 1,$(PROCESSES))_OCF)
+checkLibs: $(if $(TEKKOTSU_ALWAYS_BUILD),buildLibs,testLibs)
 
-$(word 2,$(PROC_BINS)): $($(word 2,$(PROCESSES))_OBJS) $(filter-out -l%,$($(word 2,$(PROCESSES))_LIBS)) $($(word 2,$(PROCESSES))_OCF)
+ifeq ($(TEKKOTSU_ALWAYS_BUILD),)
+%/libtekkotsu.a:
+	echo "It appears that the framework itself has not been compiled."; \
+	echo "TEKKOTSU_ROOT = $(TEKKOTSU_ROOT)"; \
+	echo "TK_BD = $(TK_BD)"; \
+	echo "Press enter to compile it now, ctl-C to cancel."; \
+	read; \
+	export TEKKOTSU_ENVIRONMENT_CONFIGURATION=$(TEKKOTSU_ENVIRONMENT_CONFIGURATION); \
+	$(MAKE) TEKKOTSU_TARGET_MODEL=$(TEKKOTSU_TARGET_MODEL) TEKKOTSU_TARGET_PLATFORM=$(TEKKOTSU_TARGET_PLATFORM) -C "$(TEKKOTSU_ROOT)" compile ;
 
-$(word 3,$(PROC_BINS)): $($(word 3,$(PROCESSES))_OBJS) $(filter-out -l%,$($(word 3,$(PROCESSES))_LIBS)) $($(word 3,$(PROCESSES))_OCF)
+else
+%/libtekkotsu.a:
+	@echo "Updating framework build...";
+	@export TEKKOTSU_ENVIRONMENT_CONFIGURATION=$(TEKKOTSU_ENVIRONMENT_CONFIGURATION); \
+	$(MAKE) TEKKOTSU_TARGET_MODEL=$(TEKKOTSU_TARGET_MODEL) TEKKOTSU_TARGET_PLATFORM=$(TEKKOTSU_TARGET_PLATFORM) -C "$(TEKKOTSU_ROOT)" compile ; 
 
+endif
 
-###################################################
-##             MAKEFILE MACHINERY                ##
-###################################################
-# Hopefully, you shouldn't have to change anything down here,
-# except one or two little things ;)
+testLibs:
+	@broken=false; \
+	for x in $(USERLIBS) ; do \
+		if [ \! -r "$$x" ] ; then \
+			echo "Could not read framework library '$$x'"; \
+			broken=true; \
+		fi; \
+	done; \
+	if $$broken ; then \
+		echo "It appears that the framework itself has not been compiled."; \
+		echo "TEKKOTSU_ROOT = $(TEKKOTSU_ROOT)"; \
+		echo "TK_BD = $(TK_BD)"; \
+		echo "Press enter to compile it now, ctl-C to cancel."; \
+		read; \
+		export TEKKOTSU_ENVIRONMENT_CONFIGURATION=$(TEKKOTSU_ENVIRONMENT_CONFIGURATION); \
+		$(MAKE) TEKKOTSU_TARGET_MODEL=$(TEKKOTSU_TARGET_MODEL) TEKKOTSU_TARGET_PLATFORM=$(TEKKOTSU_TARGET_PLATFORM) -C "$(TEKKOTSU_ROOT)" compile ; \
+	fi;
 
-# Location of Aperios (the Aibo's OS) binary executables
-SYSTEM_BINARIES:=$(OPENRSDK_ROOT)/OPEN_R/MS_$(if $(findstring $(TEKKOTSU_TARGET_MODEL),TGT_ERS7),ERS7,ERS200)/WCONSOLE/nomemprot
+buildLibs:
+	@echo "Updating framework build...";
+	@export TEKKOTSU_ENVIRONMENT_CONFIGURATION=$(TEKKOTSU_ENVIRONMENT_CONFIGURATION); \
+	$(MAKE) TEKKOTSU_TARGET_MODEL=$(TEKKOTSU_TARGET_MODEL) TEKKOTSU_TARGET_PLATFORM=$(TEKKOTSU_TARGET_PLATFORM) -C "$(TEKKOTSU_ROOT)" compile ; 
 
-# List of all components for all processes, sorted to
-# remove duplicates.
-COMPONENTS:=$(sort $(foreach proc,$(PROCESS_OBJS),$($(proc)_COMP)))
+# The object file for each of the source files
+OBJS:=$(addprefix $(PROJ_BD)/,$(SRCS:$(SRCSUFFIX)=.o))
 
 # list of all source files of all components, sorted to remove
 # duplicates.  This gives us all the source files which we care about,
 # all in one place.
-TK_SRCS:=$(sort $(foreach comp,$(COMPONENTS), $(if $(suffix $(filter-out %.a,$(comp))),$(TEKKOTSU_ROOT)/$(basename $(comp)).cc,$(shell find $(TEKKOTSU_ROOT)/$(comp) -name "*.cc") )))
-TK_DEPENDS:=$(subst $(TEKKOTSU_ROOT),$(TK_BD),$(TK_SRCS:$(SRCSUFFIX)=.d))
-PROJ_DEPENDS:=$(addprefix $(PROJ_BD)/,$(PROJ_SRCS:$(SRCSUFFIX)=.d))
-DEPENDS:=$(sort $(PROJ_DEPENDS) $(TK_DEPENDS))
-
-# These are the file names of the final executable binaries, in the
-# memstick image directory
-INSTALL_BINS:=$(addprefix $(INSTALLDIR)/,$(MAINFORK) $(MOTOFORK) $(addsuffix $(BINSUFFIX),$(filter-out mmcombo MMCOMBO,$(PROCESSES))))
-
-.PHONY: all compile install clean cleanDeps cleanProj cleanTemps Tekkotsu reportTarget newstick update docs dox doc cleandoc updateTools updateLibs $(USERLIBS) checkInstallBinTimestamp test
-
-all: compile
-	@echo "Build successful."
-	@echo "Type: '$(MAKE) install' to copy all files to the memory stick"
-	@echo "  or: '$(MAKE) update' to copy only changed files"
-	@echo "  or: '$(TEKKOTSU_ROOT)/tools/{ftpinstall,ftpupdate} <ipaddr> ms' might also be useful"
-
-reportTarget:
-	@echo " ** Targeting $(TEKKOTSU_TARGET_MODEL) for build on $(TEKKOTSU_TARGET_PLATFORM) ** ";
-
-updateTools:
-	cd $(TEKKOTSU_ROOT)/tools && $(MAKE);
+DEPENDS:=$(addprefix $(PROJ_BD)/,$(SRCS:$(SRCSUFFIX)=.d))
 
-updateLibs: $(USERLIBS)
+ifeq ($(TEKKOTSU_TARGET_PLATFORM),PLATFORM_APERIOS)
 
-$(USERLIBS):
-	@printf "$(notdir $@): "; \
-	export TEKKOTSU_ENVIRONMENT_CONFIGURATION="$(TEKKOTSU_ENVIRONMENT_CONFIGURATION)"; \
-	$(MAKE) -C $(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@)
+include aperios/Makefile.aperios
 
-$(TK_BD)/%.a:
-	@export TEKKOTSU_ENVIRONMENT_CONFIGURATION="$(TEKKOTSU_ENVIRONMENT_CONFIGURATION)"; \
-	$(MAKE) -C $(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$(dir $@))
+else
 
-#the touch at the end is because memsticks seem to round time to even seconds, which screws up updates.  Grr.
-compile: cleanTemps updateTools updateLibs checkInstallBinTimestamp $(PROJ_BD)/installbin.timestamp
-	@image="$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))" ; \
-	if [ \! -d "$$image" ] ; then \
-		if [ \! -d "$(SYSTEM_BINARIES)" ] ; then \
-			echo "Could not find OPEN-R system binaries" ; \
-			exit 1 ; \
-		fi ; \
-		echo "Copying system files..." ; \
-		cp -r "$(SYSTEM_BINARIES)" "$$image" ; \
-		chmod -R u+w "$$image" ; \
-		$(CONVERTCASE) -r $$image/*; \
-		rm -f "$$image/open-r/mw/conf/connect.cfg" "$$image/open-r/mw/conf/object.cfg" "$$image/open-r/system/conf/wlandflt.txt" ; \
-		curt=`date +%Y%m%d%H%M`; \
-		find "$$image" -exec touch -ft $$curt \{\} \; ; \
-	fi;
+include local/Makefile.local
 
-checkInstallBinTimestamp:
-	@for x in $(INSTALL_BINS) ; do \
-		if [ "$$x" -nt "$(PROJ_BD)/installbin.timestamp" ] ; then \
-			printf "Target switch detected, cleaning binaries..." ; \
-			rm -f $(INSTALL_BINS) ; \
-			printf "done.\n" ; \
-			exit 0; \
-		fi; \
-	done;
+endif
 
-ifeq ($(findstring clean,$(MAKECMDGOALS)),)
-ifeq ($(findstring docs,$(MAKECMDGOALS)),)
+ifeq ($(filter clean% docs,$(MAKECMDGOALS)),)
 -include $(DEPENDS)
+ifeq ($(TEKKOTSU_TARGET_PLATFORM),PLATFORM_APERIOS)
+-include $(PROJ_BD)/aperios/aperios.d
+else
+-include $(PROJ_BD)/local/local.d
 endif
 endif
 
-$(STUB_CHECK_FILES):
-	@thedir=`echo $@ | sed 's/.*-\(.*\)-.*/\1/g'`; \
-	cd $(TEKKOTSU_ROOT)/$$thedir ; \
-	$(STUBGEN) stub.cfg ; \
-	mkdir -p $(dir $@) ; \
-	touch $@ ;
-
-%.d : $(STUB_CHECK_FILES)
+%.d :
 	@mkdir -p $(dir $@)
-	@src=$(patsubst %.d,%.cc,$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
-	echo "$@..." | sed 's@.*$(TGT_BD)/@Generating @'; \
+	@src=$(patsubst %.d,%.cc,$(patsubst $(PROJ_BD)/%,%,$@)); \
+	if [ ! -f "$$src" ] ; then \
+		echo "Generating source file '$$src'"; \
+		$(MAKE) "$$src" ; \
+	fi; \
+	echo "$@..." | sed 's@$(PROJ_BD)/@Generating @'; \
 	$(CXX) $(CXXFLAGS) -MP -MG -MT "$@" -MT "$(@:.d=.o)" -MM "$$src" > $@
 
-%/def.h %/entry.h: %/stub.cfg
-	@echo "Doing $@"
-	cd $* && $(STUBGEN) stub.cfg
-	@echo "Done with $@"
-
-#%/entry.h: %/stub.cfg
-#	cd $(TEKKOTSU_ROOT)/$* && $(STUBGEN) stub.cfg
-
-%Stub.h %Stub.cc: 
-	@echo "Doing $@"
-	cd $(dir $@) && $(STUBGEN) stub.cfg
-	@echo "Done with $@"
-
-#%Stub.cc:
-#	cd $(dir $@) && $(STUBGEN) stub.cfg
-#	@echo "Done with $@"
+reportTarget:
+	@echo " ** Targeting $(TEKKOTSU_TARGET_MODEL) for build on $(TEKKOTSU_TARGET_PLATFORM) ** ";
+	@echo " ** TEKKOTSU_DEBUG is $(if $(TEKKOTSU_DEBUG),ON ,OFF) ** ";
 
 %.h :
 	@if [ "$(notdir $@)" = "def.h" -o "$(notdir $@)" = "entry.h" ] ; then \
@@ -301,56 +199,12 @@
 	@echo "You might need to rebuild the dependancy files ('make cleanDeps') to get rid of this error.";
 	@exit 1
 
-#The "fork" we do of MMCombo into MainObj and MotoObj crashes with optimization... not a big loss, just turn it off for these files
-$(TK_BD)/MMCombo/MMCombo.o $(TK_BD)/MMCombo/MMComboStub.o: %.o:
-	@mkdir -p $(dir $@)
-	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
-	if [ -r dist_hosts.txt ] ; then \
-		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
-		touch $@; \
-		echo "$@" >> $(PROJ_BD)/touched.txt ; \
-	else \
-		echo "Compiling $$src... (no -O2)"; \
-		$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; \
-		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
-		test $$retval -eq 0; \
-	fi;
-
-$(TK_BD)/TinyFTPD/TinyFTPD.o $(TK_BD)/TinyFTPD/FtpMethod.o $(TK_BD)/TinyFTPD/FtpRequest.o $(TK_BD)/TinyFTPD/FtpDTP.o $(TK_BD)/TinyFTPD/FtpPI.o: %.o:
-	@mkdir -p $(dir $@)
-	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
-	if [ -r dist_hosts.txt ] ; then \
-		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
-		touch $@; \
-		echo "$@" >> $(PROJ_BD)/touched.txt ; \
-	else \
-		echo "Compiling $$src... (reduced warnings, no OPENR_DEBUG)"; \
-		$(CXX) $(filter-out -DOPENR_DEBUG,$(filter-out -Weffc++,$(CXXFLAGS))) -o $@ -c $$src > $*.log 2>&1; \
-		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
-		test $$retval -eq 0; \
-	fi;
-
-$(TK_BD)/SoundPlay/WAV.o: %.o: $(FILTERSYSWARN)
-	@mkdir -p $(dir $@)
-	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
-	if [ -r dist_hosts.txt ] ; then \
-		echo "Adding $@ to job list"; \
-		echo "$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
-		touch $@; \
-		echo "$@" >> $(PROJ_BD)/touched.txt ; \
-	else \
-		echo "Compiling $$src... (reduced warnings)"; \
-		$(CXX) $(filter-out -Weffc++,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; \
-		retval=$$?; \
-		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
-		test $$retval -eq 0; \
-	fi;
+#don't try to make random files via this implicit chain
+%:: %.o
+	echo "I don't know anything about `$*'";
+	exit 1;
 
-%.o:
+%.o: $(if $(TEKKOTSU_PCH),$(TK_BD)/$(TEKKOTSU_PCH).gch)
 	@mkdir -p $(dir $@)
 	@src=$(patsubst %.o,%$(SRCSUFFIX),$(if $(findstring $(TK_BD),$@),$(patsubst $(TK_BD)%,$(TEKKOTSU_ROOT)%,$@),$(patsubst $(PROJ_BD)/%,%,$@))); \
 	if [ -r dist_hosts.txt ] ; then \
@@ -360,147 +214,21 @@
 		echo "$@" >> $(PROJ_BD)/touched.txt ; \
 	else \
 		echo "Compiling $$src..."; \
-		$(CXX) $(CXXFLAGS) -o $@ -c $$src > $*.log 2>&1; \
+		$(CXX) $(CXXFLAGS) $(INCLUDE_PCH) -o $@ -c $$src > $*.log 2>&1; \
 		retval=$$?; \
 		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
 		test $$retval -eq 0; \
 	fi;
 
-#BUILDS:   (framework object files, one per process - resides in framework)
-$(BUILDS):
-	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
-		echo "Distributing compiles..."; \
-		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
-	fi
-	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
-	@echo "Linking component object files..."
-	@if [ $(words $(foreach comp,$(addprefix $(TK_BD)/,$($(basename $(notdir $@))_COMP)),$(if $(suffix $(comp)),$(comp),$(patsubst %.cc,%.o,$(shell find $(comp) -name "*.o"))))) -gt 20 ] ; then \
-		echo "$@ <- [...]"; \
-	else \
-		echo "$@ <- $(sort $(foreach comp,$(addprefix $(TK_BD)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(shell find $(comp) -name "*.o") )))" | sed 's@$(TK_BD)/@@g'; \
-	fi;
+$(PROJ_BD)/project.a: $(OBJS)
+	@echo "Linking project files..."
+	@printf "$@ <- "; echo "$(OBJS)" | sed 's@$(PROJ_BD)/@@g';
 	@rm -f $@;
-	@$(AR) $@ $(sort $(foreach comp,$(addprefix $(TK_BD)/,$(filter-out %.a,$($(basename $(notdir $@))_COMP))), $(if $(suffix $(comp)),$(comp),$(shell find $(comp) -name "*.o") )));
+	@$(AR) $@ $(OBJS);
 	@$(AR2) $@
 
-#PROC_BINS:    (executable binaries, uncompressed)
-# we have to do a couple extra steps to cd into the builddir because
-# mkbin doesn't support -o target in a different directory... drops an
-# intermediate file in . and then complains (as of 1.1.3 anyway)
-$(PROJ_BD)/%$(BINSUFFIX):
-	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
-		echo "Distributing compiles..."; \
-		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
-	fi
-	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
-	@echo "Creating executable binary..."
-	@echo "$@ <- $($(basename $(notdir $@))_OBJS), $($(basename $(notdir $@))_OCF), $($(basename $(notdir $@))_LIBS) $(LIBS)" | sed 's@ $(PROJ_BD)/@ @g';
-	@$(MKBIN) $(MKBINFLAGS) -o $@ $($(basename $(notdir $@))_OBJS) -m $($(basename $(notdir $@))_OCF) $($(basename $(notdir $@))_LIBS) $(LIBS) ; \
-	if [ $$? -gt 0 ] ; then \
-		echo "Build failed."; \
-		exit 1; \
-	fi; \
-	$(STRIP) $@ ;
-
-#INSTALL_BINS:     (compressed executables, in proper location in image directory)
-$(INSTALLDIR)/%$(BINSUFFIX): $(PROJ_BD)/%$(BINSUFFIX)
-	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  Hmmm."; \
-		exit 1; \
-	fi;
-	@echo "Compressing $< -> $@"
-	@gzip -c $< > $@;
-
-$(INSTALLDIR)/$(MAINFORK): $(PROJ_BD)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
-	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  Hmmm."; \
-		exit 1; \
-	fi;
-	@echo "Compressing $< ~> $@"
-	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MainObj | gzip -c > $@
-#	@sed 's/MMCombo/MainObj/g;s/mmcombo/mainobj/g' $< | gzip -c > $@
-
-$(INSTALLDIR)/$(MOTOFORK): $(PROJ_BD)/$(MMCOMBOBIN) $(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap
-	@if [ \! -d "$(INSTALLDIR)" ] ; then \
-		echo "I can't find $(INSTALLDIR).  Hmmm."; \
-		exit 1; \
-	fi;
-	@echo "Compressing $< ~> $@"
-	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MotoObj | gzip -c > $@
-#	@sed 's/MMCombo/MotoObj/g;s/mmcombo/motoobj/g' $< | gzip -c > $@
-
-$(PROJ_BD)/installbin.timestamp: $(INSTALL_BINS)
-	@touch $@
-
-install: compile
-	@echo "Installing files to memory stick at $(MEMSTICK_ROOT)"
-	$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)"
-	@if [ \! -r "$(MEMSTICK_ROOT)/open-r/version.txt" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/ipstack.bin" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/vr.bin" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/wlanenbl.bin" ] ; then \
-		echo "** ERROR: It looks like your memory stick is missing critical system files."; \
-		echo "**        You may want to 'make newstick' first to clear the memory stick"; \
-		echo "**        and copy the OPEN-R system files onto it."; \
-		echo $(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
-		$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
-		exit 1; \
-	fi;
-	@if [ -z "`grep \"$(if $(findstring TGT_ERS7,$(TEKKOTSU_TARGET_MODEL)),ERS-7,ERS-210/220)\" \"$(MEMSTICK_ROOT)/open-r/version.txt\"`" ] ; then \
-		echo "** ERROR: It looks like your memory stick has the system files for the wrong"; \
-		echo "**        model of AIBO.  You may want to 'make newstick' first to clear the"; \
-		echo "**        memory stick and reinstall the OPEN-R system files onto it."; \
-		echo $(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
-		$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
-		exit 1; \
-	fi;
-	@$(TEKKOTSU_ROOT)/tools/cpymem --all --img $(MSIMGDIR) --tgt "$(MEMSTICK_ROOT)" --tools $(TEKKOTSU_ROOT)/tools
-	@touch .copiedtomemstick.timestamp
-
-update: compile $(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime
-	@echo "Syncing $(MSIMGDIR) and $(MEMSTICK_ROOT)"
-	@$(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime `find $(MSIMGDIR)` $(PROJ_BD)/installbin.timestamp
-	@$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)"
-	@if [ $(STRICT_MEMSTICK_IMAGE) ] ; then \
-		echo "Strict image copy is on." ; \
-		rsync -rLtWCv --delete $(MSIMGDIR)/* "$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/"* "$(MEMSTICK_ROOT)" ; \
-	else \
-		rsync -rLtWCv $(MSIMGDIR)/* "$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/"* "$(MEMSTICK_ROOT)" ; \
-	fi;
-	@$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"
-	@touch .copiedtomemstick.timestamp
-
-newstick:
-	@echo "  We are about to delete all the files contained within '$(MEMSTICK_ROOT)':"
-	@echo "    rm -rf \"$(MEMSTICK_ROOT)/\"*"
-	@echo
-	@echo "  These files will be replaced with a fresh copy of the system binaries"
-	@echo "  from '$(SYSTEM_BINARIES)'"
-	@printf "  Are you sure you want to continue? (Type 'yes' to continue) > "
-	@read resp ; if [ "$$resp" != "yes" ] ; then \
-		echo "newstick canceled"; \
-		exit 1; \
-	fi;
-	$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)";
-	rm -rf "$(MEMSTICK_ROOT)/"*;
-	cp -r "$(SYSTEM_BINARIES)/"* "$(MEMSTICK_ROOT)";
-	$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)";
-
-$(FILTERSYSWARN):
-	(cd $(TEKKOTSU_ROOT)/tools && $(MAKE));
-
-cleanTemps:
-	rm -f $(PROJ_BD)/joblist.txt $(PROJ_BD)/touched.txt
-
 clean: cleanProj
-	@printf "Cleaning all ~ files corresponding to .cc files..."
-	@rm -f $(addsuffix ~,$(TK_SRCS)) $(TK_SRCS:$(SRCSUFFIX)=.h~)
-	@printf "done.\n"
-	rm -f $(foreach proc,$(PROCESS_OBJS),$(TEKKOTSU_ROOT)/$(proc)/$(proc)Stub.cc $(TEKKOTSU_ROOT)/$(proc)/$(proc)Stub.h $(TEKKOTSU_ROOT)/$(proc)/def.h $(TEKKOTSU_ROOT)/$(proc)/entry.h)
-	rm -rf $(TEKKOTSU_BUILDDIR)
-	cd $(TEKKOTSU_ROOT)/tools ; $(MAKE) clean
-
-cleanDeps:
-	@printf "Cleaning all .d files corresponding to .cc files..."
-	@rm -f $(DEPENDS)
-	@printf "done.\n"
+	$(if $(TEKKOTSU_ALWAYS_BUILD),$(MAKE) -C $(TEKKOTSU_ROOT) $@)
 
 cleanProj:
 	@printf "Cleaning all ~ files corresponding to project .cc files..."
@@ -508,12 +236,14 @@
 	@printf "done.\n"
 	rm -rf $(PROJECT_BUILDDIR)
 	rm -f $(INSTALL_BINS)
+	for dir in `ls aperios` ; do \
+		if [ "$$dir" = "CVS" ] ; then continue; fi; \
+		if [ -f "aperios/$$dir" ] ; then continue; fi; \
+		rm -f "aperios/$$dir/$${dir}Stub."{h,cc} "aperios/$$dir/def.h" "aperios/$$dir/entry.h" ; \
+	done
 
-dox doc docs:
-	cd $(TEKKOTSU_ROOT) && $(MAKE) $@
-
-cleandoc:
-	docs/builddocs --clean
-
-
-
+cleanDeps:
+	@echo "Cleaning all .d files from build directory..."
+	find $(PROJ_BD) -name "*.d" -exec rm \{\} \;
+	@echo "done."
+	$(if $(TEKKOTSU_ALWAYS_BUILD),$(MAKE) -C $(TEKKOTSU_ROOT) $@)
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior.cc ./StartupBehavior.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior.cc	Tue Dec 21 16:49:50 2004
+++ ./StartupBehavior.cc	Fri Jun 10 13:26:04 2005
@@ -13,25 +13,34 @@
 #include "Motion/MotionSequenceMC.h"
 #include "Motion/MMAccessor.h"
 
-#include "SoundPlay/SoundManager.h"
+#include "Sound/SoundManager.h"
 
 #include "Shared/ERS210Info.h"
 #include "Shared/ERS7Info.h"
 
 #include "Shared/ProjectInterface.h"
 
-StartupBehavior theStartup; //!< used to initialize the global ::startupBehavior, used by MMCombo
-BehaviorBase& ProjectInterface::startupBehavior=theStartup; //!< used by MMCombo as the init behavior
+using namespace std;
+
+BehaviorBase& ProjectInterface::startupBehavior() {
+	// used by Main process, called after environmental setup is complete
+	static StartupBehavior * theStartup=NULL;
+	if(!theStartup)
+		theStartup=new StartupBehavior;
+	return *theStartup;
+}
 
 StartupBehavior::StartupBehavior()
-	: BehaviorBase("StartupBehavior"), spawned(),setup(),
+	: BehaviorBase("StartupBehavior"), spawned(),spawnedMC(),setup(),
 		stop_id(MotionManager::invalid_MC_ID),
 		pid_id(MotionManager::invalid_MC_ID)
-{
-	AddReference(); // this is a global, so there's a global reference
+{	
+			cout << "StartupBehavior()" << endl;
+			SetAutoDelete(false); // this is a global, so there's a global reference, don't delete yourself
+	//could instead AddReference(), but then the teardown code has to know that it should dereference on exit
 }
 
-StartupBehavior::~StartupBehavior() {cout << "Goodbye" << endl;}
+StartupBehavior::~StartupBehavior() {}
 
 void StartupBehavior::DoStart() {
 	BehaviorBase::DoStart();
@@ -45,15 +54,17 @@
 	//also, pause before we start fading in, PIDs take effect right
 	//away, before the emergencystop is picked up
 	erouter->addTimer(this,0,4*FrameTime*NumFrames,true);
+	spawnedMC.push_back(pid_id);
 
 	//This sets up the default emergency stop
-	const SharedObject<EmergencyStopMC> stop;
+	SharedObject<EmergencyStopMC> stop;
 	//if you want to start off unpaused, either change 'true' to
-	//'false', or just comment out the next line (estop's efault is off)
+	//'false', or just comment out the next line (estop's default is off)
 	//Note that if you don't want to start in estop, you should then
 	//also uncomment the line at the end of this function
 	stop->setStopped(true,false); 
 	stop_id=motman->addPersistentMotion(stop,MotionManager::kEmergencyPriority);
+	spawnedMC.push_back(stop_id);
 	
 	//This displays the current battery conditions on the console
 	BatteryCheckControl batchk;
@@ -85,10 +96,15 @@
 		closeMouth->setOutputCmd(mouthOffset,outputRanges[mouthOffset][MaxRange]);
 		closeMouth->advanceTime(500); //and hold it for another .5 seconds
 		closeMouth->setOutputCmd(mouthOffset,outputRanges[mouthOffset][MaxRange]);
-		motman->addPrunableMotion(closeMouth,MotionManager::kEmergencyPriority+1);
+		MotionManager::MC_ID id=motman->addPrunableMotion(closeMouth,MotionManager::kEmergencyPriority+1);
 		erouter->addTimer(this,1,3250,false);
+		spawnedMC.push_back(id);
 	}
-
+	
+	//! we want to know if one of our MCs autoprunes (or is otherwise removed)
+	for(unsigned int i=0; i<spawnedMC.size(); i++)
+		erouter->addListener(this,EventBase::motmanEGID,spawnedMC[i],EventBase::deactivateETID);
+	
 	//if you didn't want to start off paused, you should throw an
 	//un-estop event.  This will make it clear to any background
 	//behaviors (namely WorldStateVelDaemon) that we're not in estop
@@ -96,56 +112,75 @@
 }
 
 void StartupBehavior::DoStop() {
-	for(std::vector<BehaviorBase*>::iterator it=spawned.begin(); it!=spawned.end(); it++) {
+	erouter->removeListener(this);
+	for(vector<BehaviorBase*>::iterator it=spawned.begin(); it!=spawned.end(); it++) {
 		cout << "StartupBehavior stopping spawned: " << (*it)->getName() << endl;
 		(*it)->DoStop();
 	}
-	motman->removeMotion(stop_id);
+	spawned.clear();
+	for(vector<MotionManager::MC_ID>::iterator it=spawnedMC.begin(); it!=spawnedMC.end(); it++) {
+		cout << "StartupBehavior stopping spawned MC: " << (*it) << endl;
+		motman->removeMotion(*it);
+	}
+	spawnedMC.clear();
 	BehaviorBase::DoStop();
 }
 
 /*!Uses a few timer events at the beginning to fade in the PID values, and closes the mouth too*/
 void StartupBehavior::processEvent(const EventBase& event) {
-	if(event.getGeneratorID()==EventBase::timerEGID && event.getSourceID()==0) {
-		//this will do the work of fading in the PID values.  It helps the joints
-		//to power up without twitching
-		static unsigned int start_time=-1U;
-		const unsigned int tot_time=2000; 
-		if(start_time==-1U) { //first time
-			start_time=get_time();
-		} else {
-			float power=(get_time()-start_time)/(float)tot_time;
-			if(power>1)
-				power=1;
-			MMAccessor<PIDMC>(pid_id)->setAllPowerLevel(power*power);
-		}
-		if((get_time()-start_time)>=tot_time) {
-			erouter->removeTimer(this,0);
-			motman->removeMotion(pid_id);
-			pid_id=MotionManager::invalid_MC_ID;
+	if(event.getGeneratorID()==EventBase::timerEGID) {
+		if(event.getSourceID()==0) {
+			//this will do the work of fading in the PID values.  It helps the joints
+			//to power up without twitching
+			static unsigned int start_time=-1U;
+			const unsigned int tot_time=2000; 
+			if(start_time==-1U) { //first time
+				start_time=get_time();
+			} else {
+				float power=(get_time()-start_time)/(float)tot_time;
+				if(power>1)
+					power=1;
+				MMAccessor<PIDMC>(pid_id)->setAllPowerLevel(power*power);
+			}
+			if((get_time()-start_time)>=tot_time) {
+				erouter->removeTimer(this,0);
+				//when this goes through, it will trigger the event handler below to follow through cleanup of the id
+				motman->removeMotion(pid_id);
+			}
+		} else if(event.getSourceID()==1) {
+			//we're done closing the mouth... set the mouth to closed in the estop too
+			//otherwise it might twitch a little when the MotionSequence expires and the estop takes over
+			// (little == +/-.1 radians, aka estop's threshold for resetting an "out of place" joint) (details, details)
+			unsigned int mouthOffset=-1U;
+			if(state->robotDesign & WorldState::ERS210Mask)
+				mouthOffset=ERS210Info::MouthOffset;
+			if(state->robotDesign & WorldState::ERS7Mask)
+				mouthOffset=ERS7Info::MouthOffset;
+			if(mouthOffset!=-1U) {
+				MMAccessor<EmergencyStopMC> estop(stop_id);
+				float weight=estop->getOutputCmd(mouthOffset).weight;
+				estop->setOutputCmd(mouthOffset,OutputCmd(outputRanges[mouthOffset][MaxRange],weight));
+			}
 		}
-	}
-
-	if(event.getGeneratorID()==EventBase::timerEGID && event.getSourceID()==1) {
-		//we're done closing the mouth... set the mouth to closed in the estop too
-		//otherwise it might twitch a little when the MotionSequence expires and the estop takes over
-		// (little == +/-.1 radians, aka estop's threshold for resetting an "out of place" joint) (details, details)
-		unsigned int mouthOffset=-1U;
-		if(state->robotDesign & WorldState::ERS210Mask)
-			mouthOffset=ERS210Info::MouthOffset;
-		if(state->robotDesign & WorldState::ERS7Mask)
-			mouthOffset=ERS7Info::MouthOffset;
-		if(mouthOffset!=-1U) {
-			MMAccessor<EmergencyStopMC> estop(stop_id);
-			float weight=estop->getOutputCmd(mouthOffset).weight;
-			estop->setOutputCmd(mouthOffset,OutputCmd(outputRanges[mouthOffset][MaxRange],weight));
+		
+	} else if(event.getGeneratorID()==EventBase::motmanEGID) {
+		vector<MotionManager::MC_ID>::iterator it=find(spawnedMC.begin(),spawnedMC.end(),event.getSourceID());
+		ASSERTRET(it!=spawnedMC.end(),"Warning: StartupBehavior received deactive motion event for MC it didn't spawn");
+		erouter->removeListener(this,EventBase::motmanEGID,event.getSourceID(),EventBase::deactivateETID);
+		if(event.getSourceID()==stop_id) {
+			//probably a bad idea to remove this -- spit out a warning to let user know it happened
+			cerr << "Warning: Emergency stop MC has been removed" << endl;
+			stop_id=MotionManager::invalid_MC_ID;
 		}
+		if(event.getSourceID()==pid_id) //is supposed to be removed when done, not something to get excited about
+			pid_id=MotionManager::invalid_MC_ID;
+		spawnedMC.erase(it);
 	}
 }
 
 ControlBase*
 StartupBehavior::SetupMenus() {
-	std::cout << "CONTROLLER-INIT..." << std::flush;
+	cout << "CONTROLLER-INIT..." << flush;
 	ControlBase* root=new ControlBase("Root Control");
 	setup.push(root);
 
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior.h ./StartupBehavior.h
--- ../../Tekkotsu_2.3/project/StartupBehavior.h	Wed Nov 10 20:45:37 2004
+++ ./StartupBehavior.h	Wed Jun  1 01:48:07 2005
@@ -72,11 +72,10 @@
 	virtual ControlBase* endSubMenu();  //!< closes out a submenu so that future calls to addItem() will be added to the enclosing menu, returns the menu being closed out
 
 	std::vector<BehaviorBase*> spawned; //!< Holds pointers to all the behaviors spawned from DoStart, so they can automatically be stopped on DoStop (should only happen on shutdown, but ensures cleanliness)
-	std::stack<ControlBase*> setup;     //!< only used during setup - easier than passing it around all the functions
+	std::vector<MotionManager::MC_ID> spawnedMC; //!< Holds ids for all the motion commands spawned from DoStart, so they can automatically be removed on DoStop, if they weren't already autopruned (should only happen on shutdown, but ensures cleanliness)
+	std::stack<ControlBase*> setup;     //!< only used during setup - easier than passing it around all the Setup*() functions
 	MotionManager::MC_ID stop_id; //!< the main EmergencyStopMC
 	MotionManager::MC_ID pid_id; //!< used to fade in the PIDs up to full strength (from initial zero) This is so the joints don't jerk on startup.
 };
-
-extern BehaviorBase& startupBehavior;
 
 #endif
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupBackgroundBehaviors.cc ./StartupBehavior_SetupBackgroundBehaviors.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupBackgroundBehaviors.cc	Thu Jan 27 00:42:31 2005
+++ ./StartupBehavior_SetupBackgroundBehaviors.cc	Wed Jun  1 01:48:07 2005
@@ -36,7 +36,7 @@
 		addItem(new BehaviorSwitchControl<TailWagNode>("Wag Tail",false));
 		addItem(new BehaviorSwitchControl<RelaxBehavior>("Relax",false));
 		addItem(new BehaviorSwitchControl<CameraBehavior>("Camera",false));
-		addItem(new BehaviorSwitchControl<ASCIIVisionBehavior>("ASCIIVision",false));
+		addItem((new BehaviorSwitchControl<ASCIIVisionBehavior>("ASCIIVision",false)));
 		addItem(new ControlBase("Debugging Tests","Stress tests"));
 		startSubMenu();
 		{
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupFileAccess.cc ./StartupBehavior_SetupFileAccess.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupFileAccess.cc	Fri Jan  7 14:37:43 2005
+++ ./StartupBehavior_SetupFileAccess.cc	Mon Jun  6 19:05:59 2005
@@ -22,7 +22,7 @@
 		addItem(new PlaySoundControl("Play Sound"));
 		addItem(new WaypointWalkControl());
 		SetupWalkEdit();
-		addItem(new DumpFileControl("Files","/ms"));
+		addItem(new DumpFileControl("Files",config->portPath("")));
 	}
 	return endSubMenu();
 }
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupModeSwitch.cc ./StartupBehavior_SetupModeSwitch.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupModeSwitch.cc	Fri Jan 28 19:58:25 2005
+++ ./StartupBehavior_SetupModeSwitch.cc	Tue Aug  9 19:15:47 2005
@@ -12,7 +12,6 @@
 #include "Behaviors/Demos/SoundTestBehavior.h"
 #include "Behaviors/Demos/ExploreMachine.h"
 #include "Behaviors/Demos/PaceTargetsMachine.h"
-#include "Behaviors/Demos/StareAtPawBehavior.h"
 #include "Behaviors/Demos/StareAtPawBehavior2.h"
 #include "Behaviors/Demos/KinematicSampleBehavior.h"
 #include "Behaviors/Demos/KinematicSampleBehavior2.h"
@@ -38,8 +37,8 @@
 		if(state->robotDesign&(WorldState::ERS210Mask|WorldState::ERS7Mask)) //this one only really works on the 210 or 7
 			addItem(new BehaviorSwitchControl<AlanBehavior>("Alan's Behavior",bg,false));
 		addItem(new BehaviorSwitchControl<FollowHeadBehavior>("Follow Head",bg,false));
-		addItem(new BehaviorSwitchControl<StareAtBallBehavior>("Stare at Pink Ball",false));
-		addItem(new BehaviorSwitchControl<SimpleChaseBallBehavior>("Simple Chase Ball",false));
+		addItem(new BehaviorSwitchControl<StareAtBallBehavior>("Stare at Pink Ball",bg,false));
+		addItem(new BehaviorSwitchControl<SimpleChaseBallBehavior>("Simple Chase Ball",bg,false));
 		addItem(new BehaviorSwitchControl<ChaseBallBehavior>("Chase Ball",bg,false));
 		addItem(new BehaviorSwitchControl<SoundTestBehavior>("Sound Test",bg,false));
 		addItem(new BehaviorSwitchControl<LookForSoundBehavior>("Look at Sound",bg,false));
@@ -57,8 +56,7 @@
 		{
 			addItem(new BehaviorSwitchControl<KinematicSampleBehavior>("Kinematic Sample 1",bg,false));
 			addItem(new BehaviorSwitchControl<KinematicSampleBehavior2>("Kinematic Sample 2",bg,false));
-			addItem(new BehaviorSwitchControl<StareAtPawBehavior>("Stare at Paw (pre-2.2)",bg,false));
-			addItem(new BehaviorSwitchControl<StareAtPawBehavior2>("New Stare at Paw",bg,false));
+			addItem(new BehaviorSwitchControl<StareAtPawBehavior2>("Stare at Paw",bg,false));
 			addItem(new BehaviorSwitchControl<GroundPlaneBehavior>("Ground Plane Test",bg,false));
 			addItem(new BehaviorSwitchControl<WallTestBehavior>("Wall Test",bg,false));
 		}
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupTekkotsuMon.cc ./StartupBehavior_SetupTekkotsuMon.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupTekkotsuMon.cc	Mon Dec 13 21:54:01 2004
+++ ./StartupBehavior_SetupTekkotsuMon.cc	Fri Aug  5 15:44:23 2005
@@ -5,15 +5,19 @@
 
 #include "Behaviors/Mon/ViewWMVarsBehavior.h"
 #include "Behaviors/Mon/WalkControllerBehavior.h"
+#include "Behaviors/Mon/UPennWalkControllerBehavior.h"
 #include "Behaviors/Mon/HeadPointControllerBehavior.h"
+#include "Behaviors/Mon/StewartPlatformBehavior.h"
 #include "Behaviors/Mon/Aibo3DControllerBehavior.h"
 #include "Behaviors/Mon/EStopControllerBehavior.h"
 #include "Behaviors/Mon/WMMonitorBehavior.h"
 #include "Behaviors/Mon/RawCamBehavior.h"
 #include "Behaviors/Mon/SegCamBehavior.h"
+#include "Behaviors/Mon/RegionCamBehavior.h"
 #include "Behaviors/Mon/WorldStateSerializerBehavior.h"
 #include "Behaviors/Mon/MicrophoneServer.h"
 #include "Behaviors/Mon/SpeakerServer.h"
+#include "Behaviors/Mon/EchoBehavior.h"
 #include "Behaviors/Mon/SpiderMachineBehavior.h"
 
 ControlBase*
@@ -23,15 +27,19 @@
 	{ 
 		addItem((new BehaviorSwitchControl<HeadPointControllerBehavior>("Head Remote Control",false)));
 		addItem((new BehaviorSwitchControl<WalkControllerBehavior>("Walk Remote Control",false)));
+		addItem((new BehaviorSwitchControl<UPennWalkControllerBehavior>("UPenn Walk Remote Control",false)));
 		addItem((new BehaviorSwitchControl<ViewWMVarsBehavior>("View WMVars",false)));
 		addItem((new BehaviorSwitchControl<WMMonitorBehavior>("Watchable Memory Monitor",false))->start());
+		addItem((new BehaviorSwitchControl<StewartPlatformBehavior>("Stewart Platform",false)));
 		addItem((new BehaviorSwitchControl<Aibo3DControllerBehavior>("Aibo 3D",false)));
 		addItem((new BehaviorSwitchControl<WorldStateSerializerBehavior>("World State Serializer",false)));
 		addItem((new BehaviorSwitchControl<RawCamBehavior>("Raw Cam Server",false)));
 		addItem((new BehaviorSwitchControl<SegCamBehavior>("Seg Cam Server",false)));
+		addItem((new BehaviorSwitchControl<RegionCamBehavior>("Region Cam Server",false)));
 		addItem((new BehaviorSwitchControlBase(new EStopControllerBehavior(stop_id)))->start());
 		addItem(new BehaviorSwitchControlBase(MicrophoneServer::GetInstance()));
 		addItem(new BehaviorSwitchControlBase(SpeakerServer::GetInstance()));
+		addItem((new BehaviorSwitchControl<EchoBehavior>("Echo Client/Server",false)));
 		addItem((new BehaviorSwitchControl<SpiderMachineBehavior>("Spider State Machines Server",false)));
 	}
 	return endSubMenu();
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupVision.cc ./StartupBehavior_SetupVision.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupVision.cc	Wed Mar 17 17:49:15 2004
+++ ./StartupBehavior_SetupVision.cc	Sun Jul 10 16:03:11 2005
@@ -5,8 +5,14 @@
 
 #include "Behaviors/Controls/BehaviorSwitchControl.h"
 #include "Behaviors/Controls/NullControl.h"
+#ifndef PLATFORM_APERIOS
+#  include "Behaviors/Controls/SimulatorAdvanceFrameControl.h"
+#endif
 
 #include "Vision/RawCameraGenerator.h"
+#ifndef PLATFORM_APERIOS
+#  include "Vision/BufferedImageGenerator.h"
+#endif
 #include "Vision/InterleavedYUVGenerator.h"
 #include "Vision/JPEGGenerator.h"
 #include "Vision/SegmentedColorGenerator.h"
@@ -15,6 +21,9 @@
 #include "Vision/BallDetectionGenerator.h"
 #include "Vision/CDTGenerator.h"
 
+#include "Behaviors/Demos/DrawVisObjBoundBehavior.h"
+#include "Behaviors/Demos/DrawSkeletonBehavior.h"
+
 using namespace ProjectInterface;
 
 BallDetectionGenerator * pball=NULL;
@@ -35,34 +44,49 @@
 	//If you change this value, you should modify the *Layer variables in ProjectInterface (if you want to use them)
 	unsigned int numLayers=6;
 
+#ifdef PLATFORM_APERIOS
 	//The top level layer will be double resolution
 	//This will set how many real layers are provided by the system (3 in Aperios)
 	//Any other layers will be subsamples of the lowest resolution system resolution
 	unsigned int numSystemLayers=3;
+	defRawCameraGenerator = new RawCameraGenerator(numSystemLayers,numLayers,visRawCameraSID,EventBase::visOFbkEGID,0);
+#else //PLATFORM_LOCAL
+	defRawCameraGenerator = new BufferedImageGenerator("RawBufferedImageGenerator",EventBase::visRawCameraEGID,visRawCameraSID,numLayers,EventBase::visOFbkEGID,0);
+#endif
+	
 
-	defRawCameraGenerator = new RawCameraGenerator(numSystemLayers,numLayers,EventBase::visOFbkEGID,0,visRawCameraSID);
-
-	defInterleavedYUVGenerator = new InterleavedYUVGenerator(EventBase::visRawCameraEGID,visRawCameraSID,visInterleaveSID,RawCameraGenerator::CHAN_Y,RawCameraGenerator::CHAN_U,RawCameraGenerator::CHAN_V);
+	// These JPEG generators select the "deactivate" stage, so they will work on
+	// the potentially marked up versions of the raw camera.  The camera GUIs use
+	// these to provide vision feedback without requiring an extra pipeline stage
+	// or image copy.
+	// Of course, if you want to analyze the JPEG compression as a part of a
+	// computer vision algorithm, you'll want the un-marked up versions, and so
+	// you may need to add another JPEG compressor instance that uses the
+	// "activate" stage to ensure you get the original data.
 
-	defColorJPEGGenerator = new JPEGGenerator(EventBase::visInterleaveEGID,visInterleaveSID,visColorJPEGSID,JPEGGenerator::SRC_AUTO);
+	//need to do pixel interleaving for JPEG compression
+	//if the results of visRawCameraEGID are already in the proper format (e.g. source layer of BufferedImageGenerator) then InterleavedYUVGenerator is a pass-through
+	defInterleavedYUVGenerator = new InterleavedYUVGenerator(visInterleaveSID,RawCameraGenerator::CHAN_Y,RawCameraGenerator::CHAN_U,RawCameraGenerator::CHAN_V,defRawCameraGenerator,EventBase::deactivateETID);
+	defColorJPEGGenerator = new JPEGGenerator(visColorJPEGSID,defInterleavedYUVGenerator,EventBase::deactivateETID);
 	defColorJPEGGenerator->setName("ColorJPEGGenerator");
-
-	defGrayscaleJPEGGenerator = new JPEGGenerator(EventBase::visRawCameraEGID,visRawCameraSID,visGrayscaleJPEGSID,JPEGGenerator::SRC_AUTO);
+	defGrayscaleJPEGGenerator = new JPEGGenerator(visGrayscaleJPEGSID,defRawCameraGenerator,EventBase::deactivateETID);
 	defGrayscaleJPEGGenerator->setName("GrayscaleJPEGGenerator");
 
+
 	// the hardware level CDT generator allows faster, but less flexible
 	// segmenting it still needs a little work though before it can be
 	// hooked up to the CMVision RLE generator.  See CDTGenerator class notes.
 	// defSegmentedColorGenerator = new CDTGenerator(numSystemLayers,numLayers,EventBase::visOFbkEGID,0,visSegmentSID);
-	SegmentedColorGenerator * segcol = new SegmentedColorGenerator(EventBase::visRawCameraEGID,visRawCameraSID,visSegmentSID);
-	defSegmentedColorGenerator = segcol;
+	defSegmentedColorGenerator = new SegmentedColorGenerator(visSegmentSID,defRawCameraGenerator,EventBase::activateETID);
+	SegmentedColorGenerator * segcol = defSegmentedColorGenerator; //just using segcol as a shorthand for the following setup
 	segcol->loadColorInfo(config->vision.colors);
 	for(unsigned int i=0; i<config->vision.thresh.size(); i++)
 		segcol->loadThresholdMap(config->vision.thresh[i]);
 
-	defRLEGenerator = new RLEGenerator(EventBase::visSegmentEGID,visSegmentSID,visRLESID);
+	// Note this uses the "activate" stage, so you can mark up segmented images as well
+	defRLEGenerator = new RLEGenerator(visRLESID,segcol,EventBase::activateETID);
 	
-	defRegionGenerator = new RegionGenerator(EventBase::visRLEEGID,visRLESID,visRegionSID);
+	defRegionGenerator = new RegionGenerator(visRegionSID, defRLEGenerator, EventBase::activateETID);
 	
 	// for lack of a better idea, the object recognizers below will all
 	// use the config->vision.rlecam_channel for picking the threshold
@@ -83,17 +107,17 @@
 
 	unsigned int pinkIdx=segcol->getColorIndex("red");
 	if(pinkIdx!=-1U) {
-		pball = new BallDetectionGenerator(EventBase::visRegionEGID,visRegionSID,visPinkBallSID,pinkIdx,threshChan,noiseFiltering,confidenceThreshold);
+		pball = new BallDetectionGenerator(visPinkBallSID,defRegionGenerator,pinkIdx,threshChan,noiseFiltering,confidenceThreshold);
 		pball->setName("PinkBallDetectionGenerator");
 	}
 	unsigned int blueIdx=segcol->getColorIndex("blue");
 	if(blueIdx!=-1U) {
-		bball = new BallDetectionGenerator(EventBase::visRegionEGID,visRegionSID,visBlueBallSID,blueIdx,threshChan,noiseFiltering,confidenceThreshold);
+		bball = new BallDetectionGenerator(visBlueBallSID,defRegionGenerator,blueIdx,threshChan,noiseFiltering,confidenceThreshold);
 		bball->setName("BlueBallDetectionGenerator");
 	}
 	unsigned int skinIdx=segcol->getColorIndex("brown");
 	if(skinIdx!=-1U) {
-		handball = new BallDetectionGenerator(EventBase::visRegionEGID,visRegionSID,visHandSID,skinIdx,threshChan,noiseFiltering,confidenceThreshold);
+		handball = new BallDetectionGenerator(visHandSID,defRegionGenerator,skinIdx,threshChan,noiseFiltering,confidenceThreshold);
 		handball->setName("HandBallDetectionGenerator");
 	}
 }
@@ -103,24 +127,49 @@
 	addItem(new ControlBase("Vision Pipeline","Start/Stop stages of the vision pipeline"));
 	startSubMenu();
 	{ 
-		addItem((new BehaviorSwitchControlBase(defRawCameraGenerator))->start());
-		addItem((new BehaviorSwitchControlBase(defInterleavedYUVGenerator))->start());
-		addItem((new BehaviorSwitchControlBase(defColorJPEGGenerator))->start());
-		addItem((new BehaviorSwitchControlBase(defGrayscaleJPEGGenerator))->start());
+		addItem((new BehaviorSwitchControl<DrawVisObjBoundBehavior>("Draw Object Boundaries",false)));
+		addItem((new BehaviorSwitchControl<DrawSkeletonBehavior>("Draw Skeleton",false)));
+#ifndef PLATFORM_APERIOS		
+		addItem(new SimulatorAdvanceFrameControl("Advance Frame"));
+#endif
+		addItem(NULL);
+
+		//check that each generator is actually defined before trying to start it
+		//just as a failsafe in case some of the default generators are disabled
+		
+		if(defRawCameraGenerator)
+			addItem((new BehaviorSwitchControlBase(defRawCameraGenerator))->start());
+
+		if(defInterleavedYUVGenerator)
+			addItem((new BehaviorSwitchControlBase(defInterleavedYUVGenerator))->start());
+
+		if(defColorJPEGGenerator)
+			addItem((new BehaviorSwitchControlBase(defColorJPEGGenerator))->start());
+
+		if(defGrayscaleJPEGGenerator)
+			addItem((new BehaviorSwitchControlBase(defGrayscaleJPEGGenerator))->start());
+		
 		if(config->vision.colors!="" && config->vision.thresh.size()>0)
 			addItem((new BehaviorSwitchControlBase(defSegmentedColorGenerator))->start());
 		else
 			addItem(new BehaviorSwitchControlBase(defSegmentedColorGenerator));
-		addItem((new BehaviorSwitchControlBase(defRLEGenerator))->start());
-		addItem((new BehaviorSwitchControlBase(defRegionGenerator))->start());
+		
+		if(defRLEGenerator)
+			addItem((new BehaviorSwitchControlBase(defRLEGenerator))->start());
+
+		if(defRegionGenerator)
+			addItem((new BehaviorSwitchControlBase(defRegionGenerator))->start());
+
 		if(pball)
 			addItem((new BehaviorSwitchControlBase(pball))->start());
 		else
 			addItem(new NullControl("Error: PinkBallDetectionGenerator","Color \"red\" is undefined"));
+
 		if(bball)
 			addItem((new BehaviorSwitchControlBase(bball))->start());
 		else
 			addItem(new NullControl("Error: BlueBallDetectionGenerator","Color \"blue\" is undefined"));
+
 		if(handball)
 			addItem((new BehaviorSwitchControlBase(handball))->start());
 		else
diff -urdN ../../Tekkotsu_2.3/project/StartupBehavior_SetupWalkEdit.cc ./StartupBehavior_SetupWalkEdit.cc
--- ../../Tekkotsu_2.3/project/StartupBehavior_SetupWalkEdit.cc	Fri May 14 03:18:19 2004
+++ ./StartupBehavior_SetupWalkEdit.cc	Fri May 14 03:18:19 2004
@@ -9,7 +9,7 @@
  * @author PA Gov. School for the Sciences 2003 Team Project - Motion group: Haoqian Chen, Yantian Martin, Jon Stahlman (creators)
  * 
  * $Author: ejt $
- * $Name: tekkotsu-2_3 $
+ * $Name: tekkotsu-2_4 $
  * $Revision: 1.8 $
  * $State: Exp $
  * $Date: 2004/05/14 07:18:19 $
diff -urdN ../../Tekkotsu_2.3/project/aperios/CVS/Entries ./aperios/CVS/Entries
--- ../../Tekkotsu_2.3/project/aperios/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./aperios/CVS/Entries	Wed Aug 10 11:03:26 2005
@@ -0,0 +1,2 @@
+/Makefile.aperios/1.3/Fri Jun  3 22:55:49 2005//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/aperios/CVS/Repository ./aperios/CVS/Repository
--- ../../Tekkotsu_2.3/project/aperios/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./aperios/CVS/Repository	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Tekkotsu/project/aperios
diff -urdN ../../Tekkotsu_2.3/project/aperios/CVS/Root ./aperios/CVS/Root
--- ../../Tekkotsu_2.3/project/aperios/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./aperios/CVS/Root	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/aperios/CVS/Tag ./aperios/CVS/Tag
--- ../../Tekkotsu_2.3/project/aperios/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./aperios/CVS/Tag	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/aperios/Makefile.aperios ./aperios/Makefile.aperios
--- ../../Tekkotsu_2.3/project/aperios/Makefile.aperios	Wed Dec 31 19:00:00 1969
+++ ./aperios/Makefile.aperios	Fri Jun  3 18:55:49 2005
@@ -0,0 +1,229 @@
+ifeq ($(TEKKOTSU_ENVIRONMENT_CONFIGURATION),)
+$(error This makefile is not meant to be run directly.  It is intended to contain Aperios-specific build instructions.  Please run 'make' from the main project directory.);
+endif
+
+.PHONY: newstick install update cleanTemps checkInstallBinTimestamp
+
+#Each directory represents a separate OObject aka process/thread
+#PROJ_OOBJECTS holds those defined in the project, OOBJECTS
+#holds those defined in either/both $(TEKKOTSU_ROOT) and project
+PROJ_OOBJECTS:=$(filter-out CVS bin include lib share man,$(subst aperios/,,$(shell find aperios -mindepth 1 -maxdepth 1 -type d -prune)))
+OOBJECTS:=$(sort $(PROJ_OOBJECTS) $(filter-out CVS bin include lib share man,$(subst $(TEKKOTSU_ROOT)/aperios/,,$(shell find $(TEKKOTSU_ROOT)/aperios -mindepth 1 -maxdepth 1 -type d -prune))))
+
+# Location of Aperios (the Aibo's OS) binary executables
+SYSTEM_BINARIES:=$(OPENRSDK_ROOT)/OPEN_R/MS_$(if $(findstring $(TEKKOTSU_TARGET_MODEL),TGT_ERS7),ERS7,ERS200)/WCONSOLE/nomemprot
+
+ifeq ($(FILENAME_CASE),lower)
+  TRCMD=tr "[:upper:]" "[:lower:]"
+  CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makelowercase
+  BINSUFFIX=.bin
+  MSIMGDIR=ms
+  INSTALLDIR=$(MSIMGDIR)/open-r/mw/objs
+  MMCOMBO_FORKS=mainobj.bin motoobj.bin
+else
+  TRCMD=tr "[:lower:]" "[:upper:]"
+  CONVERTCASE=$(TEKKOTSU_ROOT)/tools/makeuppercase
+  BINSUFFIX=.BIN
+  MSIMGDIR=MS
+  INSTALLDIR=$(MSIMGDIR)/OPEN-R/MW/OBJS
+  MMCOMBO_FORKS=MAINOBJ.BIN MOTOOBJ.BIN
+endif
+
+# These are the file names of the final executable binaries, in the
+# memstick image directory
+INSTALL_BINS:=$(shell echo $(addprefix $(INSTALLDIR)/, $(addsuffix $(BINSUFFIX), MainObj MotoObj $(filter-out MMCombo,$(OOBJECTS)))) | $(TRCMD))
+
+$(PROJ_BD)/aperios/aperios.d: $(shell find aperios -name "*$(SRCSUFFIX)") $(wildcard $(TK_BD)/aperios/*)
+	@echo Generating $@...
+	@mkdir -p $(dir $@)
+	@rm -f $@;
+	@for dir in $(OOBJECTS) ; do \
+		unset curobj curdir tkdir tkobj; \
+		if [ -d "aperios/$$dir" ] ; then \
+			curdir="aperios/$$dir"; \
+			curobj=`find aperios/$$dir -name "*$(SRCSUFFIX)" | sed 's@\(.*\)$(SRCSUFFIX)$$@$(PROJ_BD)/\1.o@' | xargs` ; \
+			if [ -f "aperios/$$dir/stub.cfg" -a ! -f "aperios/$$dir/$${dir}Stub.cc" ] ; then \
+				curobj="$$curobj $(PROJ_BD)/aperios/$$dir/$${dir}Stub.o"; \
+			fi; \
+		fi; \
+		if [ -d "$(TEKKOTSU_ROOT)/aperios/$$dir" ] ; then \
+			tkdir="$(TEKKOTSU_ROOT)/aperios/$$dir"; \
+			tkobj=`find "$(TEKKOTSU_ROOT)/aperios/$$dir" -name "*$(SRCSUFFIX)" | sed 's@^$(TEKKOTSU_ROOT)\(.*\)$(SRCSUFFIX)$$@$(TK_BD)\1.o@' | xargs` ; \
+			if [ -f "$(TEKKOTSU_ROOT)/aperios/$$dir/stub.cfg" -a ! -f "$(TEKKOTSU_ROOT)/aperios/$$dir/$${dir}Stub.cc" ] ; then \
+				tkobj="$$tkobj $(TK_BD)/aperios/$$dir/$${dir}Stub.o"; \
+			fi; \
+		fi; \
+		echo "$${dir}_OBJS:=$$curobj $$tkobj" >> $@; \
+		echo "$${dir}_OCF:=`find $$curdir $$tkdir -name \"*.ocf\" | head -n 1`" >> $@; \
+		echo >> $@ ; \
+		echo "$(PROJ_BD)/aperios/$$dir$(BINSUFFIX): \$$($${dir}_OBJS) \$$($${dir}_OCF) $(USERLIBS) $$tklib" >> $@ ; \
+		echo >> $@ ; \
+		if [ -d "aperios/$$dir" ] ; then \
+			echo "aperios/$$dir/$${dir}Stub.h aperios/$$dir/$${dir}Stub.cc aperios/$$dir/def.h aperios/$$dir/entry.h: aperios/$$dir/stub.cfg" >> $@ ; \
+			echo '	cd $$(dir $$@) && $$(STUBGEN) stub.cfg' >> $@ ;\
+			echo >> $@ ; \
+			echo "$(PROJ_BD)/aperios/$$dir/$${dir}Stub.o $(PROJ_BD)/aperios/$$dir/$${dir}Stub.d : aperios/$$dir/$${dir}Stub.h aperios/$$dir/$${dir}Stub.cc" >> $@ ; \
+			echo >> $@ ; \
+		fi; \
+		if [ "$$dir" != "MMCombo" ] ; then \
+			inst=`echo $${dir} | $(TRCMD)`; \
+			printf "$(INSTALLDIR)/$${inst}$(BINSUFFIX): $(PROJ_BD)/aperios/$${dir}$(BINSUFFIX)\\n\\n" >> $@; \
+		fi; \
+	done;
+
+OSRCS:=$(shell find aperios -name "*$(SRCSUFFIX)")
+DEPENDS:=$(DEPENDS) $(addprefix $(PROJ_BD)/,$(OSRCS:$(SRCSUFFIX)=.d))
+
+#the touch at the end is because memsticks seem to round time to even seconds, which screws up updates.  Grr.
+compile: checkLibs cleanTemps checkInstallBinTimestamp $(PROJ_BD)/installbin.timestamp
+	@image="$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))" ; \
+	if [ \! -d "$$image" ] ; then \
+		if [ \! -d "$(SYSTEM_BINARIES)" ] ; then \
+			echo "Could not find OPEN-R system binaries" ; \
+			exit 1 ; \
+		fi ; \
+		echo "Copying system files..." ; \
+		cp -r "$(SYSTEM_BINARIES)" "$$image" ; \
+		chmod -R u+w "$$image" ; \
+		$(CONVERTCASE) -r $$image/*; \
+		rm -f "$$image/open-r/mw/conf/connect.cfg" "$$image/open-r/mw/conf/object.cfg" "$$image/open-r/system/conf/wlandflt.txt" ; \
+		curt=`date +%Y%m%d%H%M`; \
+		find "$$image" -exec touch -ft $$curt \{\} \; ; \
+	fi;
+
+checkInstallBinTimestamp:
+	@for x in $(INSTALL_BINS) ; do \
+		if [ "$$x" -nt "$(PROJ_BD)/installbin.timestamp" ] ; then \
+			printf "Target switch detected, cleaning binaries..." ; \
+			rm -f $(INSTALL_BINS) ; \
+			printf "done.\n" ; \
+			exit 0; \
+		fi; \
+	done;
+
+#only MMCombo depends on the project files -- the other processes don't have hooks for user code
+$(PROJ_BD)/aperios/MMCombo$(BINSUFFIX): $(PROJ_BD)/project.a
+
+#PROC_BINS:    (executable binaries, uncompressed)
+# we have to do a couple extra steps to cd into the builddir because
+# mkbin doesn't support -o target in a different directory... drops an
+# intermediate file in . and then complains (as of 1.1.3 anyway)
+$(PROJ_BD)/aperios/%$(BINSUFFIX):
+	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
+		echo "Distributing compiles..."; \
+		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
+	fi
+	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
+	@echo "Creating executable binary..."
+	@objs="$($*_OBJS)" ; \
+	ocf="$($*_OCF)" ; \
+	libs="$(if $(findstring MMCombo,$*),$(PROJ_BD)/project.a) $(USERLIBS) $(LDFLAGS)" ; \
+	echo "$@ <- $${objs}, $${ocf}, $${libs}" | sed 's@$(PROJ_BD)/@@g'; \
+	$(MKBIN) $(MKBINFLAGS) -o $@ $$objs -m $$ocf $$libs  ; \
+	if [ $$? -gt 0 ] ; then \
+		echo "Build failed."; \
+		exit 1; \
+	fi; \
+	$(STRIP) $@ ;
+
+#INSTALL_BINS:     (compressed executables, in proper location in image directory)
+$(INSTALLDIR)/%$(BINSUFFIX):
+	@if [ \! -d "$(INSTALLDIR)" ] ; then \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
+		exit 1; \
+	fi;
+	@echo "Compressing $< -> $@"
+	@gzip -c $< > $@;
+
+$(INSTALLDIR)/$(shell echo MainObj.bin | $(TRCMD)): $(PROJ_BD)/aperios/MMCombo.bin
+	@if [ \! -d "$(INSTALLDIR)" ] ; then \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
+		exit 1; \
+	fi;
+	@echo "Compressing $< ~> $@"
+	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MainObj | gzip -c > $@
+
+$(INSTALLDIR)/$(shell echo MotoObj.bin | $(TRCMD)): $(PROJ_BD)/aperios/MMCombo.bin
+	@if [ \! -d "$(INSTALLDIR)" ] ; then \
+		echo "I can't find $(INSTALLDIR).  Hmmm."; \
+		exit 1; \
+	fi;
+	@echo "Compressing $< ~> $@"
+	@$(TEKKOTSU_ROOT)/tools/binstrswap/binstrswap $< MMCombo MotoObj | gzip -c > $@
+
+$(PROJ_BD)/installbin.timestamp: $(INSTALL_BINS)
+	@touch $@
+
+install: compile
+	@echo "Installing files to memory stick at $(MEMSTICK_ROOT)"
+	$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)"
+	@if [ \! -r "$(MEMSTICK_ROOT)/open-r/version.txt" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/ipstack.bin" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/vr.bin" -o \! -r "$(MEMSTICK_ROOT)/open-r/system/objs/wlanenbl.bin" ] ; then \
+		echo "** ERROR: It looks like your memory stick is missing critical system files."; \
+		echo "**        You may want to 'make newstick' first to clear the memory stick"; \
+		echo "**        and copy the OPEN-R system files onto it."; \
+		echo $(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
+		$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
+		exit 1; \
+	fi;
+	@if [ -z "`grep \"$(if $(findstring TGT_ERS7,$(TEKKOTSU_TARGET_MODEL)),ERS-7,ERS-210/220)\" \"$(MEMSTICK_ROOT)/open-r/version.txt\"`" ] ; then \
+		echo "** ERROR: It looks like your memory stick has the system files for the wrong"; \
+		echo "**        model of AIBO.  You may want to 'make newstick' first to clear the"; \
+		echo "**        memory stick and reinstall the OPEN-R system files onto it."; \
+		echo $(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
+		$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"; \
+		exit 1; \
+	fi;
+	@$(TEKKOTSU_ROOT)/tools/cpymem --all --img $(MSIMGDIR) --tgt "$(MEMSTICK_ROOT)" --tools $(TEKKOTSU_ROOT)/tools
+	@touch .copiedtomemstick.timestamp
+
+update: compile
+	@echo "Syncing $(MSIMGDIR) and $(MEMSTICK_ROOT)"
+	@$(TEKKOTSU_ROOT)/tools/evenmodtime/evenmodtime `find $(MSIMGDIR)` $(PROJ_BD)/installbin.timestamp
+	@$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)"
+	@if [ $(STRICT_MEMSTICK_IMAGE) ] ; then \
+		echo "Strict image copy is on." ; \
+		rsync -rLtWCv --delete $(MSIMGDIR)/* "$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/"* "$(MEMSTICK_ROOT)" ; \
+	else \
+		rsync -rLtWCv $(MSIMGDIR)/* "$(PROJ_BD)/$(notdir $(MEMSTICK_ROOT))/"* "$(MEMSTICK_ROOT)" ; \
+	fi;
+	@$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)"
+	@touch .copiedtomemstick.timestamp
+
+newstick:
+	@echo "  We are about to delete all the files contained within '$(MEMSTICK_ROOT)':"
+	@echo "    rm -rf \"$(MEMSTICK_ROOT)/\"*"
+	@echo
+	@echo "  These files will be replaced with a fresh copy of the system binaries"
+	@echo "  from '$(SYSTEM_BINARIES)'"
+	@printf "  Are you sure you want to continue? (Type 'yes' to continue) > "
+	@read resp ; if [ "$$resp" != "yes" ] ; then \
+		echo "newstick canceled"; \
+		exit 1; \
+	fi;
+	$(TEKKOTSU_ROOT)/tools/mntmem "$(MEMSTICK_ROOT)";
+	rm -rf "$(MEMSTICK_ROOT)/"*;
+	cp -r "$(SYSTEM_BINARIES)/"* "$(MEMSTICK_ROOT)";
+	$(TEKKOTSU_ROOT)/tools/umntmem "$(MEMSTICK_ROOT)";
+
+# MMCombo is actually done in the root library, but just in case it gets moved back here...
+#The "fork" we do of MMCombo into MainObj and MotoObj
+#crashes with optimization turned on... not sure why, but it's
+#not a big loss, just turn it off for these files
+$(PROJ_BD)/aperios/MMCombo/MMCombo.o $(PROJ_BD)/aperios/MMCombo/MMComboStub.o: %.o:
+	@mkdir -p $(dir $@)
+	@src=$(patsubst %.o,%$(SRCSUFFIX),$(patsubst $(PROJ_BD)/%,%,$@)); \
+	if [ -r dist_hosts.txt ] ; then \
+		echo "Adding $@ to job list"; \
+		echo "$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; retval=\$$?; cat $*.log | $(FILTERSYSWARN) | $(COLORFILT); test \$$retval -eq 0;" >> $(PROJ_BD)/joblist.txt ; \
+		touch $@; \
+		echo "$@" >> $(PROJ_BD)/touched.txt ; \
+	else \
+		echo "Compiling $$src... (no -O2)"; \
+		$(CXX) $(filter-out -O2,$(CXXFLAGS)) -o $@ -c $$src > $*.log 2>&1; \
+		retval=$$?; \
+		cat $*.log | $(FILTERSYSWARN) | $(COLORFILT) | $(TEKKOTSU_LOGVIEW); \
+		test $$retval -eq 0; \
+	fi;
+
+cleanTemps:
+	@rm -f $(PROJ_BD)/joblist.txt $(PROJ_BD)/touched.txt
diff -urdN ../../Tekkotsu_2.3/project/local/CVS/Entries ./local/CVS/Entries
--- ../../Tekkotsu_2.3/project/local/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./local/CVS/Entries	Wed Aug 10 11:03:30 2005
@@ -0,0 +1,2 @@
+/Makefile.local/1.3/Wed Jun 29 23:13:05 2005//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/local/CVS/Repository ./local/CVS/Repository
--- ../../Tekkotsu_2.3/project/local/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./local/CVS/Repository	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Tekkotsu/project/local
diff -urdN ../../Tekkotsu_2.3/project/local/CVS/Root ./local/CVS/Root
--- ../../Tekkotsu_2.3/project/local/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./local/CVS/Root	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/local/CVS/Tag ./local/CVS/Tag
--- ../../Tekkotsu_2.3/project/local/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./local/CVS/Tag	Wed Aug 10 11:03:26 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/local/Makefile.local ./local/Makefile.local
--- ../../Tekkotsu_2.3/project/local/Makefile.local	Wed Dec 31 19:00:00 1969
+++ ./local/Makefile.local	Wed Jun 29 19:13:05 2005
@@ -0,0 +1,57 @@
+ifeq ($(TEKKOTSU_ENVIRONMENT_CONFIGURATION),)
+$(error This makefile is not meant to be run directly.  It is intended to contain local-specific build instructions.  Please run 'make' from the main project directory.);
+endif
+
+.PHONY: 
+
+#Each directory should represent a separate executable
+PROJ_EXECS:=$(filter-out CVS,$(subst local/,,$(shell find local -mindepth 1 -maxdepth 1 -type d -prune)))
+EXECS:=$(sort $(PROJ_EXECS) $(filter-out CVS,$(subst $(TEKKOTSU_ROOT)/local/,,$(shell find $(TEKKOTSU_ROOT)/local -mindepth 1 -maxdepth 1 -type d -prune))))
+TGTEXECS:=$(addsuffix $(subst TGT_,-,$(TEKKOTSU_TARGET_MODEL)),$(EXECS))
+
+ESRCS:=$(shell find local -name "*$(SRCSUFFIX)")
+DEPENDS:=$(DEPENDS) $(addprefix $(PROJ_BD)/,$(ESRCS:$(SRCSUFFIX)=.d))
+
+ifeq ($(shell uname | grep -ci cygwin),0)
+  PLATFORM_FLAGS:=$(PLATFORM_FLAGS) -DHAVE_READDIR_R
+endif
+
+$(PROJ_BD)/local/local.d: $(shell find local -name "*$(SRCSUFFIX)") $(wildcard $(TK_BD)/local/*)
+	@echo Generating $@...
+	@mkdir -p $(dir $@)
+	@rm -f $@;
+	@for dir in $(EXECS) ; do \
+		unset curobj curdir tkdir tkobj; \
+		if [ -d "local/$$dir" ] ; then \
+			curdir="local/$$dir"; \
+			curobj=`find local/$$dir -name "*$(SRCSUFFIX)" | sed 's@\(.*\)$(SRCSUFFIX)$$@$(PROJ_BD)/\1.o@' | xargs` ; \
+		fi; \
+		if [ -d "$(TEKKOTSU_ROOT)/local/$$dir" ] ; then \
+			tkdir="$(TEKKOTSU_ROOT)/local/$$dir"; \
+			tkobj=`find "$(TEKKOTSU_ROOT)/local/$$dir" -name "*$(SRCSUFFIX)" | sed 's@^$(TEKKOTSU_ROOT)\(.*\)$(SRCSUFFIX)$$@$(TK_BD)\1.o@' | xargs` ; \
+		fi; \
+		echo "$${dir}$(subst TGT_,-,$(TEKKOTSU_TARGET_MODEL))_OBJS:=$$curobj $$tkobj" >> $@; \
+		echo >> $@ ; \
+		echo "$${dir}$(subst TGT_,-,$(TEKKOTSU_TARGET_MODEL)): \$$($${dir}$(subst TGT_,-,$(TEKKOTSU_TARGET_MODEL))_OBJS) $(USERLIBS) $$tklib" >> $@ ; \
+		echo >> $@ ; \
+	done;
+
+compile: $(TGTEXECS)
+	@echo "You probably now want to run './sim$(subst TGT_,-,$(TEKKOTSU_TARGET_MODEL))'";
+
+ifneq ($(filter sim-%,$(MAKECMDGOALS)),)
+$(TGTEXECS): checkLibs $(PROJ_BD)/project.a
+else
+$(TGTEXECS): $(PROJ_BD)/project.a
+endif
+	@if [ -r dist_hosts.txt -a -r $(PROJ_BD)/joblist.txt ] ; then \
+		echo "Distributing compiles..."; \
+		../tools/pm.pl dist_hosts.txt $(PROJ_BD)/joblist.txt ; \
+	fi
+	@rm -f $(PROJ_BD)/joblist.txt; #this is so we don't rebuild multiple times
+	@echo "Creating executable binary..."
+	@objs="$($@_OBJS)" ; \
+	libs="$(PROJ_BD)/project.a $(USERLIBS) $(LDFLAGS)" ; \
+	echo "$@ <- $${objs} $${libs}" | sed 's@$(PROJ_BD)/@@g'; \
+	$(CXX) -o $@ $$objs $$libs  ; \
+
diff -urdN ../../Tekkotsu_2.3/project/ms/CVS/Entries ./ms/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,3 @@
+D/config////
+D/data////
+D/open-r////
diff -urdN ../../Tekkotsu_2.3/project/ms/CVS/Repository ./ms/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms
diff -urdN ../../Tekkotsu_2.3/project/ms/CVS/Root ./ms/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/CVS/Tag ./ms/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ttekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/config/CVS/Entries ./ms/config/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/config/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/config/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,15 @@
+/7red.tm/1.1/Thu Feb  5 23:40:33 2004/-kb/Ttekkotsu-2_4
+/ball.tm/1.4/Wed Feb 18 21:13:59 2004/-kb/Ttekkotsu-2_4
+/default.col/1.2/Mon Jul 28 06:58:16 2003//Ttekkotsu-2_4
+/ers210.kin/1.13/Fri Dec 10 23:49:54 2004//Ttekkotsu-2_4
+/ers220.kin/1.13/Fri Dec 10 23:49:54 2004//Ttekkotsu-2_4
+/ers7.kin/1.15/Fri Dec 10 23:49:54 2004//Ttekkotsu-2_4
+/ers7pnts.kin/1.2/Fri Dec 10 23:49:54 2004//Ttekkotsu-2_4
+/general.tm/1.1/Thu Oct  9 06:25:30 2003/-kb/Ttekkotsu-2_4
+/pb.tm/1.1/Thu Oct  9 06:25:30 2003/-kb/Ttekkotsu-2_4
+/phb.tm/1.1/Thu Oct  9 06:25:30 2003/-kb/Ttekkotsu-2_4
+/tekkotsu.cfg/1.63/Fri Aug  5 19:44:23 2005//Ttekkotsu-2_4
+/ttt.col/1.1/Wed Mar  3 23:14:44 2004//Ttekkotsu-2_4
+/ttt.tm/1.1/Wed Mar  3 23:14:44 2004//Ttekkotsu-2_4
+/ttt_old.tm/1.1/Wed Mar  3 23:14:44 2004//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/config/CVS/Repository ./ms/config/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/config/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/config/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/config
diff -urdN ../../Tekkotsu_2.3/project/ms/config/CVS/Root ./ms/config/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/config/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/config/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/config/CVS/Tag ./ms/config/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/config/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/config/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/config/tekkotsu.cfg ./ms/config/tekkotsu.cfg
--- ../../Tekkotsu_2.3/project/ms/config/tekkotsu.cfg	Thu Jan 27 00:43:38 2005
+++ ./ms/config/tekkotsu.cfg	Wed Aug 10 11:03:00 2005
@@ -1,9 +1,9 @@
 ##################################################################
 ######################   Tekkotsu config   #######################
 ##################################################################
-##################### $Name: tekkotsu-2_3 $ ######################
-####################### $Revision: 1.58 $ ########################
-################## $Date: 2005/01/27 05:43:38 $ ##################
+##################### $Name: tekkotsu-2_4 $ ######################
+####################### $Revision: 1.63 $ ########################
+################## $Date: 2005/08/05 19:44:23 $ ##################
 ##################################################################
 #
 # Format:
@@ -33,6 +33,9 @@
 #   - Of course, whether or not the new value will be picked up depends on
 #     how it is being used...
 #
+# * Paths are assumed to be relative to the project/ms/ directory.
+#   For example, this file would be referenced as config/tekkotsu.cfg
+#
 ##################################################################
 
 
@@ -78,19 +81,6 @@
 # this is the resolution vision's object recognition system will run at
 resolution=full
 
-### Camera Parameters ###
-
-# The field of view information should be specified in degrees
-<ERS-2*>
-horizFOV=57.6
-vertFOV=47.8
-focal_length=2.18
-</ERS-2*>
-<ERS-7>
-horizFOV=56.9
-vertFOV=45.2
-focal_length=3.27
-</ERS-7>
 
 ### Color Segmentation Threshold files ###
 # Threshold (.tm) files define the mapping from full color to indexed color
@@ -106,31 +96,37 @@
 # general.tm - general colors, previously 'default'
 # ball.tm - standard Sony pink ball definition
 # pb.tm - pink and blue
-thresh=/ms/config/phb.tm
-#thresh=/ms/config/general.tm
-thresh=/ms/config/ball.tm
-#thresh=/ms/config/pb.tm
-#thresh=/ms/config/ttt.tm
+thresh=config/phb.tm
+#thresh=config/general.tm
+thresh=config/ball.tm
+#thresh=config/pb.tm
+#thresh=config/ttt.tm
 </ERS-2*>
 <ERS-7>
 # 7red.tm - just your usual pink/red/purple color detection, nothing too fancy
 # ball.tm - standard Sony pink ball definition
-thresh=/ms/config/7red.tm
-thresh=/ms/config/ball.tm
+thresh=config/7red.tm
+thresh=config/ball.tm
 </ERS-7>
 
 # the .col file gives names and a "typical" color for display
 # the indexes numbers it contains correspond to indexes in the .tm file
-colors=/ms/config/default.col
+colors=config/default.col
 
 
 ### Image Streaming Format ###
 # These parameters control the video stream over wireless ethernet
 # transport can be either 'udp' or 'tcp'
-raw_port=10011
-raw_transport=udp
+rawcam_port=10011
+rawcam_transport=udp
 rle_port=10012
 rle_transport=udp
+region_port=10013
+region_transport=tcp
+
+# pause between raw image grabs: 0 for fast-as-possible, 100 for 10 FPS, etc
+# in milliseconds
+rle_interval=0
 
 # rawcam_encoding   color | y_only | uv_only | u_only | v_only | y_dx_only | y_dy_only | y_dxdy_only
 rawcam_encoding=color
@@ -141,6 +137,10 @@
 # quality of jpeg compression 0-100
 rawcam_compress_quality=85
 
+# pause between raw image grabs: 0 for fast-as-possible, 100 for 10 FPS
+# in milliseconds
+rawcam_interval=0
+
 # apparently someone at sony thinks it's a good idea to replace some
 # pixels in each camera image with information like the frame number
 # and CDT count.  if non-zero, will replace those pixels with the
@@ -174,6 +174,38 @@
 # segmented camera images, same idea as rawcam_*_skip
 rlecam_skip=1
 
+# this is the log_2 of pixels to skip when sending Region information,
+# same idea as rawcam_*_skip (added by nvh 21-04-05)
+regioncam_skip=1
+
+
+### Camera Calibration ###
+# see Config::vision_config::{computeRay,computePixel} to convert
+# between world coordinates and pixel coordinates using these values
+  
+# focal length (in pixels)
+focal_len_x = 198.807
+focal_len_y = 200.333
+  
+# center of optical projection (in pixels)
+principle_point_x = 102.689
+principle_point_y = 85.0399
+  
+# skew of CCD
+skew = 0
+  
+# Radial distortion terms
+kc1_r2 = -0.147005
+kc2_r4 = 0.38485
+kc5_r6 = 0
+  
+# Tangential distortion terms
+kc3_tan1 = -0.00347777
+kc4_tan2 = 0.00012873
+
+# resolution at which calibration images were taken
+calibration_res_x = 208
+calibration_res_y = 160
 
 
 ##################################################################
@@ -181,6 +213,10 @@
 [Main]
 ##################################################################
 ##################################################################
+
+# if non-zero, will call srand() with a high-precision timestamp, mangled by sensor data
+seed_rng=1
+
 console_port=10001
 stderr_port=10002
 error_level=0
@@ -192,9 +228,12 @@
 aibo3d_port=10051
 headControl_port=10052
 estopControl_port=10053
+stewart_port=10055
 wmmonitor_port=10061
 use_VT100=true
-
+# pause between writes: 0 for fast-as-possible, 100 for 10 FPS, etc.
+# in milliseconds
+worldState_interval=0
 
 
 ##################################################################
@@ -241,7 +280,7 @@
 
 # Any motion related paths which are not absolute (i.e. do not
 # start with '/') will be assumed to be relative to this directory
-root=/ms/data/motion
+root=data/motion
 
 # This is the default set of walk parameters
 walk=walk.prm
@@ -252,18 +291,18 @@
 # loaded from that file
 <ERS-2*>
 <ERS-210>
-kinematics=/ms/config/ers210.kin
+kinematics=/config/ers210.kin
 kinematic_chains=Body
 kinematic_chains=Mouth
 </ERS-210>
 <ERS-220>
-kinematics=/ms/config/ers220.kin
+kinematics=/config/ers220.kin
 kinematic_chains=Body
 </ERS-220>
 kinematic_chains=IR
 </ERS-2*>
 <ERS-7>
-kinematics=/ms/config/ers7.kin
+kinematics=/config/ers7.kin
 kinematic_chains=Body
 kinematic_chains=Mouth
 kinematic_chains=NearIR
@@ -276,27 +315,21 @@
 kinematic_chains=RBk
 kinematic_chains=Camera
 
-# These calibration parameters should specify the value to multiply a
-# desired position by in order to cause the joint to actually reach
-# that position.  This is then used both to calibrate joint values
-# which are sent to the system, and also sensor values which are
-# received back.
+# These values indicate the ratio of actual movement to commanded
+# So .9 means it moves 90% as far as it was supposed to.
+# This is then used both to calibrate joint values sent to the
+# system, as well as sensor values which are received back.
 # An unspecified joint is by default '1' which will then pass values
 # through unmodified.  Only PID joints are calibrated (i.e. LEDs and
 # ears are not)
 <ERS-7>
-#Only the knees and rotors have been calibrated
-#This is just kind of a rough calibration since
-#I don't know how well it will generalize across
-#individual robots anyway.
-calibrate:LFr:rotor=0.972
-calibrate:LFr:knee~=0.944
-calibrate:RFr:rotor=0.972
-calibrate:RFr:knee~=0.944
-calibrate:LBk:rotor=0.972
-calibrate:LBk:knee~=0.944
-calibrate:RBk:rotor=0.972
-calibrate:RBk:knee~=0.944
+calibrate:LFr:rotor=1.0
+calibrate:LFr:elvtr=1.0
+calibrate:LFr:knee~=1.0
+#...
+#The calibration I performed doesn't seem to hold up well, so
+#I'm leaving these all at 1.0.  Perhaps there is a constant
+#offset involved?  To be continued...
 </ERS-7>
 <ERS-2*>
 #ERS-2xx seems to be fairly well calibrated by system, but
@@ -336,7 +369,7 @@
 [Sound]
 ##################################################################
 ##################################################################
-root=/ms/data/sound
+root=data/sound
 # volume = mute | level_1 | level_2 | level_3 | <direct dB setting: 0x8000 - 0xFFFF>
 # if you directly set the decibel level, be warned sony recommends against going above 0xF600
 # However, I believe the commercial software on the ERS-7 runs at 0xFF00
diff -urdN ../../Tekkotsu_2.3/project/ms/data/CVS/Entries ./ms/data/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/data/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/data/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,2 @@
+D/motion////
+D/sound////
diff -urdN ../../Tekkotsu_2.3/project/ms/data/CVS/Repository ./ms/data/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/data/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/data/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/data
diff -urdN ../../Tekkotsu_2.3/project/ms/data/CVS/Root ./ms/data/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/data/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/data/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/data/CVS/Tag ./ms/data/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/data/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/data/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ttekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Entries ./ms/data/motion/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/data/motion/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,36 @@
+/circles.wyp/1.1/Tue Mar 30 04:31:39 2004//Ttekkotsu-2_4
+/clearcal.txt/1.2/Thu Feb 26 01:03:05 2004//Ttekkotsu-2_4
+/dance.mot/1.3/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/dispos.pos/1.1/Sat Mar  1 21:08:28 2003//Ttekkotsu-2_4
+/gu_back.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/gu_front.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/gu_side.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_bump.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_diag.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_dive.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_fwd.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_grab.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_head.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_heads.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_hold.mot/1.3/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/k_punch.mot/1.5/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/leftkick.pos/1.1/Sun Sep 21 19:44:14 2003//Ttekkotsu-2_4
+/liedown.pos/1.1/Sat Mar  1 21:08:28 2003//Ttekkotsu-2_4
+/pace.prm/1.1/Fri Sep 12 03:36:10 2003/-kb/Ttekkotsu-2_4
+/pan_head.mot/1.2/Tue Dec 21 22:30:28 2004//Ttekkotsu-2_4
+/pounce.pos/1.1/Sat Mar  1 21:08:28 2003//Ttekkotsu-2_4
+/readme.txt/1.1/Wed Feb 18 21:14:14 2004//Ttekkotsu-2_4
+/rkick.pos/1.1/Thu Jul  8 03:04:21 2004//Ttekkotsu-2_4
+/situp.pos/1.1/Sat Mar  1 21:08:28 2003//Ttekkotsu-2_4
+/sqbasca2.wyp/1.1/Tue Mar 30 04:31:39 2004//Ttekkotsu-2_4
+/sqbasce2.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/sqbasco2.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/sqbasica.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/sqbasice.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/sqbasico.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/sqpush.wyp/1.1/Tue Mar 30 04:31:40 2004//Ttekkotsu-2_4
+/stand.pos/1.1/Sat Mar  1 21:08:28 2003//Ttekkotsu-2_4
+/tiger.prm/1.1/Sun Sep 21 19:44:14 2003//Ttekkotsu-2_4
+/walk.prm/1.6/Sat Feb 28 01:58:55 2004/-kb/Ttekkotsu-2_4
+/walkcal.txt/1.3/Sat Feb 28 01:58:55 2004//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Repository ./ms/data/motion/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/data/motion/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/data/motion
diff -urdN ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Root ./ms/data/motion/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/data/motion/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Tag ./ms/data/motion/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/data/motion/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/data/motion/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Entries ./ms/data/sound/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,31 @@
+/3barks.wav/1.1/Sun Mar  9 02:45:56 2003/-kb/Ttekkotsu-2_4
+/3yips.wav/1.1/Sun Mar  9 02:45:56 2003/-kb/Ttekkotsu-2_4
+/barkhigh.wav/1.1/Sun Mar  9 02:45:56 2003/-kb/Ttekkotsu-2_4
+/barklow.wav/1.1/Sun Mar  9 02:45:57 2003/-kb/Ttekkotsu-2_4
+/barkmed.wav/1.1/Sun Mar  9 02:45:57 2003/-kb/Ttekkotsu-2_4
+/barkreal.wav/1.1/Sat Mar 15 03:45:02 2003/-kb/Ttekkotsu-2_4
+/camera.wav/1.1/Sat Mar 15 03:45:02 2003/-kb/Ttekkotsu-2_4
+/catcry.wav/1.1/Sun Mar  9 02:45:57 2003/-kb/Ttekkotsu-2_4
+/catyowl.wav/1.1/Sun Mar  9 02:45:57 2003/-kb/Ttekkotsu-2_4
+/crash.wav/1.1/Sat Mar 15 03:45:02 2003/-kb/Ttekkotsu-2_4
+/cutey.wav/1.1/Sun Mar  9 02:45:57 2003/-kb/Ttekkotsu-2_4
+/donkey.wav/1.1/Sun Mar  9 02:45:58 2003/-kb/Ttekkotsu-2_4
+/fart.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/glass.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/growl.wav/1.1/Sun Mar  9 02:45:58 2003/-kb/Ttekkotsu-2_4
+/growl2.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/grrr.wav/1.1/Sun Mar  9 02:45:58 2003/-kb/Ttekkotsu-2_4
+/howl.wav/1.1/Sun Mar  9 02:45:59 2003/-kb/Ttekkotsu-2_4
+/mew.wav/1.1/Sun Mar  9 02:45:59 2003/-kb/Ttekkotsu-2_4
+/ping.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/roar.wav/1.1/Sun Mar  9 02:45:59 2003/-kb/Ttekkotsu-2_4
+/skid.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/sniff.wav/1.1/Sun Mar  9 02:45:59 2003/-kb/Ttekkotsu-2_4
+/tick.wav/1.1/Sat Mar 15 03:45:03 2003/-kb/Ttekkotsu-2_4
+/toc.wav/1.1/Sat Mar 15 03:45:04 2003/-kb/Ttekkotsu-2_4
+/whiip.wav/1.1/Sat Mar 15 03:45:04 2003/-kb/Ttekkotsu-2_4
+/whimper.wav/1.1/Sun Mar  9 02:46:00 2003/-kb/Ttekkotsu-2_4
+/whoop.wav/1.1/Sat Mar 15 03:45:04 2003/-kb/Ttekkotsu-2_4
+/yap.wav/1.1/Sun Mar  9 02:46:00 2003/-kb/Ttekkotsu-2_4
+/yipper.wav/1.1/Sun Mar  9 02:46:00 2003/-kb/Ttekkotsu-2_4
+D/numbers////
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Repository ./ms/data/sound/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/data/sound
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Root ./ms/data/sound/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Tag ./ms/data/sound/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/data/sound/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Entries ./ms/data/sound/numbers/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/numbers/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,13 @@
+/0.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/1.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/2.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/3.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/4.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/5.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/6.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/7.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/8.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/9.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/dot.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+/point.wav/1.1/Thu Jan 27 05:43:46 2005/-kb/Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Repository ./ms/data/sound/numbers/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/numbers/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/data/sound/numbers
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Root ./ms/data/sound/numbers/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/numbers/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Tag ./ms/data/sound/numbers/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/data/sound/numbers/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/data/sound/numbers/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/CVS/Entries ./ms/open-r/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,2 @@
+D/mw////
+D/system////
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/CVS/Repository ./ms/open-r/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/CVS/Root ./ms/open-r/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/CVS/Tag ./ms/open-r/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ttekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Entries ./ms/open-r/mw/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,2 @@
+D/conf////
+D/objs////
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Repository ./ms/open-r/mw/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r/mw
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Root ./ms/open-r/mw/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Tag ./ms/open-r/mw/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ttekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Entries ./ms/open-r/mw/conf/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/conf/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,5 @@
+/connect.cfg/1.9/Wed Jun 29 22:06:47 2005//Ttekkotsu-2_4
+/object.cfg/1.3/Wed Mar 26 21:33:21 2003//Ttekkotsu-2_4
+/passwd/1.5/Tue Jul  6 22:46:12 2004//Ttekkotsu-2_4
+/robotgw.cfg/1.2/Thu Mar 27 04:25:07 2003//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Repository ./ms/open-r/mw/conf/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/conf/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r/mw/conf
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Root ./ms/open-r/mw/conf/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/conf/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Tag ./ms/open-r/mw/conf/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/conf/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/connect.cfg ./ms/open-r/mw/conf/connect.cfg
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/conf/connect.cfg	Tue Sep 28 19:07:08 2004
+++ ./ms/open-r/mw/conf/connect.cfg	Wed Aug 10 11:03:00 2005
@@ -15,22 +15,18 @@
 MainObj.MoveJoint.OCommandVectorData.S OVirtualRobotComm.Effector.OCommandVectorData.O
 MotoObj.MoveJoint.OCommandVectorData.S OVirtualRobotComm.Effector.OCommandVectorData.O
 
-#SoundPlay -> System
-SoundPlay.Speaker.OSoundVectorData.S OVirtualRobotAudioComm.Speaker.OSoundVectorData.O
+#SndPlay -> System
+SndPlay.Speaker.OSoundVectorData.S OVirtualRobotAudioComm.Speaker.OSoundVectorData.O
 
-#SoundPlay -> Main, Motion
-SoundPlay.RegisterSoundManager.SoundManager.S MainObj.ReceiveSoundManager.SoundManager.O
-SoundPlay.RegisterSoundManager.SoundManager.S MotoObj.ReceiveSoundManager.SoundManager.O
+#SndPlay -> Main, Motion
+SndPlay.RegisterSoundManager.SoundManager.S MainObj.ReceiveSoundManager.SoundManager.O
+SndPlay.RegisterSoundManager.SoundManager.S MotoObj.ReceiveSoundManager.SoundManager.O
 
 #SoundManagerMsgs
-MainObj.SoundManagerComm.SoundManagerMsg.S SoundPlay.SoundManagerComm.SoundManagerMsg.O
-MotoObj.SoundManagerComm.SoundManagerMsg.S SoundPlay.SoundManagerComm.SoundManagerMsg.O
-
-#EventTranslatorQueue (SoundPlay, Motion -> Main)
-MainObj.RegisterEventTranslatorQueue.EventTranslatorQueue.S MotoObj.ReceiveEventTranslatorQueue.EventTranslatorQueue.O
-MainObj.RegisterEventTranslatorQueue.EventTranslatorQueue.S SoundPlay.ReceiveEventTranslatorQueue.EventTranslatorQueue.O
+MainObj.SoundManagerComm.SoundManagerMsg.S SndPlay.SoundManagerComm.SoundManagerMsg.O
+MotoObj.SoundManagerComm.SoundManagerMsg.S SndPlay.SoundManagerComm.SoundManagerMsg.O
 
-#RemoteOPENR
-MainObj.RPOPENRSendString.char.S TCPGateway.RPOPENRSendString.char.O
-TCPGateway.RPOPENRReceiveString.char.S MainObj.RPOPENRReceiveString.char.O
+#EventTranslatorQueue (SndPlay, Motion -> Main)
+MotoObj.EventTranslatorComm.EventBase.S MainObj.EventTranslatorComm.EventBase.O
+SndPlay.EventTranslatorComm.EventBase.S MainObj.EventTranslatorComm.EventBase.O
 
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Entries ./ms/open-r/mw/objs/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/objs/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,2 @@
+/placehld.jnk/1.1/Tue Jul  8 22:56:29 2003//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Repository ./ms/open-r/mw/objs/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/objs/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r/mw/objs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Root ./ms/open-r/mw/objs/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/objs/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Tag ./ms/open-r/mw/objs/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/mw/objs/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/mw/objs/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Entries ./ms/open-r/system/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+D/conf////
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Repository ./ms/open-r/system/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r/system
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Root ./ms/open-r/system/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Tag ./ms/open-r/system/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/system/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ttekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Entries ./ms/open-r/system/conf/CVS/Entries
--- ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/conf/CVS/Entries	Wed Aug 10 11:03:00 2005
@@ -0,0 +1,2 @@
+/wlandflt.txt/1.18/Tue Dec 23 06:33:44 2003//Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Repository ./ms/open-r/system/conf/CVS/Repository
--- ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/conf/CVS/Repository	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Tekkotsu/project/ms/open-r/system/conf
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Root ./ms/open-r/system/conf/CVS/Root
--- ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/conf/CVS/Root	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Tag ./ms/open-r/system/conf/CVS/Tag
--- ../../Tekkotsu_2.3/project/ms/open-r/system/conf/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./ms/open-r/system/conf/CVS/Tag	Wed Aug 10 11:03:00 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/templates/CVS/Entries ./templates/CVS/Entries
--- ../../Tekkotsu_2.3/project/templates/CVS/Entries	Wed Dec 31 19:00:00 1969
+++ ./templates/CVS/Entries	Wed Aug 10 11:03:27 2005
@@ -0,0 +1,8 @@
+/behavior.h/1.3/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+/control.h/1.2/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+/header.h/1.1/Wed Aug 25 01:09:24 2004/-kk/Ttekkotsu-2_4
+/implementation.cc/1.3/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+/statemachine.h/1.4/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+/statenode.h/1.5/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+/transition.h/1.3/Wed Jun  1 05:48:08 2005/-kk/Ttekkotsu-2_4
+D
diff -urdN ../../Tekkotsu_2.3/project/templates/CVS/Repository ./templates/CVS/Repository
--- ../../Tekkotsu_2.3/project/templates/CVS/Repository	Wed Dec 31 19:00:00 1969
+++ ./templates/CVS/Repository	Wed Aug 10 11:03:27 2005
@@ -0,0 +1 @@
+Tekkotsu/project/templates
diff -urdN ../../Tekkotsu_2.3/project/templates/CVS/Root ./templates/CVS/Root
--- ../../Tekkotsu_2.3/project/templates/CVS/Root	Wed Dec 31 19:00:00 1969
+++ ./templates/CVS/Root	Wed Aug 10 11:03:27 2005
@@ -0,0 +1 @@
+:pserver:anonymous@cvs.tekkotsu.org:/cvs
diff -urdN ../../Tekkotsu_2.3/project/templates/CVS/Tag ./templates/CVS/Tag
--- ../../Tekkotsu_2.3/project/templates/CVS/Tag	Wed Dec 31 19:00:00 1969
+++ ./templates/CVS/Tag	Wed Aug 10 11:03:27 2005
@@ -0,0 +1 @@
+Ntekkotsu-2_4
diff -urdN ../../Tekkotsu_2.3/project/templates/behavior.h ./templates/behavior.h
--- ../../Tekkotsu_2.3/project/templates/behavior.h	Mon Jan 24 17:24:05 2005
+++ ./templates/behavior.h	Wed Jun  1 01:48:08 2005
@@ -3,7 +3,7 @@
 #define INCLUDED_CLASSNAME_h_
 
 // This is an empty Behavior template file.
-// Replace YOURNAME, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
+// Replace YOURNAMEHERE, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
 
 
 #include "Behaviors/BehaviorBase.h"
@@ -51,7 +51,7 @@
 	// a good thing, unless you really intended to copy/assign a behavior, in
 	// which case simply provide implementations for the functions)
 	CLASSNAME(const CLASSNAME&); //!< don't call (copy constructor)
-	CLASSNAME operator=(const CLASSNAME&); //!< don't call (assignment operator)
+	CLASSNAME& operator=(const CLASSNAME&); //!< don't call (assignment operator)
 };
 
 /*! @file
diff -urdN ../../Tekkotsu_2.3/project/templates/control.h ./templates/control.h
--- ../../Tekkotsu_2.3/project/templates/control.h	Tue Jan 25 18:52:52 2005
+++ ./templates/control.h	Wed Jun  1 01:48:08 2005
@@ -30,7 +30,7 @@
 //   - 'NULL' to return to parent control
 //   - other address to activate a child control
 //
-// Replace YOURNAME, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
+// Replace YOURNAMEHERE, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
 
 
 #include "Behaviors/Controls/ControlBase.h"
diff -urdN ../../Tekkotsu_2.3/project/templates/implementation.cc ./templates/implementation.cc
--- ../../Tekkotsu_2.3/project/templates/implementation.cc	Tue Aug 24 21:09:24 2004
+++ ./templates/implementation.cc	Wed Jun  1 01:48:08 2005
@@ -1,5 +1,13 @@
 #include "CLASSNAME.h"
 
+//better to put this here instead of the header
+using namespace std; 
+
+
+// [add member function implementations here...]
+
+
+
 /*! @file
  * @brief 
  * @author YOURNAMEHERE (Creator)
@@ -10,4 +18,3 @@
  * $State$
  * $Date$
  */
-
diff -urdN ../../Tekkotsu_2.3/project/templates/statemachine.h ./templates/statemachine.h
--- ../../Tekkotsu_2.3/project/templates/statemachine.h	Tue Jan 25 18:52:52 2005
+++ ./templates/statemachine.h	Wed Jun  1 01:48:08 2005
@@ -12,7 +12,7 @@
 // execution) and a state machine (which breaks the task down into subnodes) --
 // simply add processEvent() and DoStop(), as seen in statenode.h
 //
-// Replace YOURNAME, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
+// Replace YOURNAMEHERE, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
 
 
 #include "Behaviors/StateNode.h"
@@ -94,7 +94,7 @@
 	// a good thing, unless you really intended to copy/assign a behavior, in
 	// which case simply provide implementations for the functions)
 	CLASSNAME(const CLASSNAME&); //!< don't call (copy constructor)
-	CLASSNAME operator=(const CLASSNAME&); //!< don't call (assignment operator)
+	CLASSNAME& operator=(const CLASSNAME&); //!< don't call (assignment operator)
 };
 
 /*! @file
diff -urdN ../../Tekkotsu_2.3/project/templates/statenode.h ./templates/statenode.h
--- ../../Tekkotsu_2.3/project/templates/statenode.h	Tue Jan 25 19:02:44 2005
+++ ./templates/statenode.h	Wed Jun  1 01:48:08 2005
@@ -14,7 +14,7 @@
 // execution) and a state machine (which breaks the task down into subnodes),
 // but statemachine.h might provide an easier starting point for such usage.
 //
-// Replace YOURNAME, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
+// Replace YOURNAMEHERE, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
 
 
 #include "Behaviors/StateNode.h"
@@ -92,7 +92,7 @@
 	// a good thing, unless you really intended to copy/assign a behavior, in
 	// which case simply provide implementations for the functions)
 	CLASSNAME(const CLASSNAME&); //!< don't call (copy constructor)
-	CLASSNAME operator=(const CLASSNAME&); //!< don't call (assignment operator)
+	CLASSNAME& operator=(const CLASSNAME&); //!< don't call (assignment operator)
 };
 
 /*! @file
diff -urdN ../../Tekkotsu_2.3/project/templates/transition.h ./templates/transition.h
--- ../../Tekkotsu_2.3/project/templates/transition.h	Tue Jan 25 19:02:44 2005
+++ ./templates/transition.h	Wed Jun  1 01:48:08 2005
@@ -6,9 +6,9 @@
 //
 // Note that Transitions are in fact behaviors, and indeed, there's little
 // extra.  Only now, the Transition base class provides a fire() function for
-// you to call when your transition decides it is time.
+// you to call when your transition decides it is appropriate.
 //
-// Replace YOURNAME, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
+// Replace YOURNAMEHERE, CLASSNAME, and DESCRIPTION as appropriate, and go to town!
 
 
 #include "Behaviors/Transition.h"
@@ -26,12 +26,14 @@
 	{}
 
 	//! constructor, take an instance name
+	/* usually transitions aren't named (they can autogenerate a name), so feel free to delete this one */
 	CLASSNAME(const std::string& nm, StateNode* destination)
 		: Transition("CLASSNAME",nm,destination)
 	{}
 
 protected:
   //! constructor for subclasses (which would need to provide a different class name)
+	/* needed if you want to consider the possibility that another class might inherit from this one */
   CLASSNAME(const std::string &class_name, const std::string &instance_name, StateNode* destination)
     : Transition(class_name,instance_name,destination)
 	{}
@@ -88,7 +90,7 @@
 	// a good thing, unless you really intended to copy/assign a behavior, in
 	// which case simply provide implementations for the functions)
 	CLASSNAME(const CLASSNAME&); //!< don't call (copy constructor)
-	CLASSNAME operator=(const CLASSNAME&); //!< don't call (assignment operator)
+	CLASSNAME& operator=(const CLASSNAME&); //!< don't call (assignment operator)
 };
 
 /*! @file
