diff --git a/makepanda/makepanda.vcproj b/makepanda/makepanda.vcproj
index a787653e1e..c21322f94a 100644
--- a/makepanda/makepanda.vcproj
+++ b/makepanda/makepanda.vcproj
@@ -3736,18 +3736,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/panda/src/cftalk/cfChannel.I b/panda/src/cftalk/cfChannel.I
deleted file mode 100644
index 4bb6a1c3fa..0000000000
--- a/panda/src/cftalk/cfChannel.I
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfChannel.I
- * @author drose
- * @date 2009-03-26
- */
diff --git a/panda/src/cftalk/cfChannel.cxx b/panda/src/cftalk/cfChannel.cxx
deleted file mode 100644
index e63ba79077..0000000000
--- a/panda/src/cftalk/cfChannel.cxx
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfChannel.cxx
- * @author drose
- * @date 2009-03-26
- */
-
-#include "cfChannel.h"
-
-/**
- * The DatagramGenerator and DatagramSink should be newly created on the free
- * store (via the new operator). The CFChannel will take ownership of these
- * pointers, and will delete them when it destructs.
- */
-CFChannel::
-CFChannel(DatagramGenerator *dggen, DatagramSink *dgsink) :
- _dggen(dggen),
- _dgsink(dgsink),
- _reader(dggen),
- _writer(dgsink)
-{
- bool ok1 = _reader.init();
- bool ok2 = _writer.init();
- nassertv(ok1 && ok2);
-}
-
-/**
- *
- */
-CFChannel::
-~CFChannel() {
- delete _dggen;
- delete _dgsink;
-}
-
-/**
- * Delivers a single command to the process at the other end of the channel.
- */
-void CFChannel::
-send_command(CFCommand *command) {
- bool ok = _writer.write_object(command);
- nassertv(ok);
-}
-
-/**
- * Receives a single command from the process at the other end of the channel.
- * If no command is ready, the thread will block until one is. Returns NULL
- * when the connection has been closed.
- */
-PT(CFCommand) CFChannel::
-receive_command() {
- TypedWritable *obj = _reader.read_object();
- CFCommand *command;
- DCAST_INTO_R(command, obj, NULL);
- return command;
-}
diff --git a/panda/src/cftalk/cfChannel.h b/panda/src/cftalk/cfChannel.h
deleted file mode 100644
index e549327efa..0000000000
--- a/panda/src/cftalk/cfChannel.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfChannel.h
- * @author drose
- * @date 2009-03-26
- */
-
-#ifndef CFCHANNEL_H
-#define CFCHANNEL_H
-
-#include "pandabase.h"
-#include "referenceCount.h"
-#include "bamReader.h"
-#include "bamWriter.h"
-#include "cfCommand.h"
-
-/**
- * Represents an open communication channel in the connected-frame protocol.
- * Commands may be sent and received on this channel.
- */
-class EXPCL_CFTALK CFChannel : public ReferenceCount {
-public:
- CFChannel(DatagramGenerator *dggen, DatagramSink *dgsink);
- ~CFChannel();
-
- void send_command(CFCommand *command);
- PT(CFCommand) receive_command();
-
-private:
- DatagramGenerator *_dggen;
- DatagramSink *_dgsink;
- BamReader _reader;
- BamWriter _writer;
-};
-
-#include "cfChannel.I"
-
-#endif
diff --git a/panda/src/cftalk/cfCommand.I b/panda/src/cftalk/cfCommand.I
deleted file mode 100644
index fea651c96f..0000000000
--- a/panda/src/cftalk/cfCommand.I
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfCommand.I
- * @author drose
- * @date 2009-02-19
- */
-
-/**
- *
- */
-INLINE CFCommand::
-CFCommand() {
-}
-
-/**
- *
- */
-INLINE CFDoCullCommand::
-CFDoCullCommand() {
-}
-
-/**
- *
- */
-INLINE CFDoCullCommand::
-CFDoCullCommand(PandaNode *scene) : _scene(scene) {
-}
-
-/**
- *
- */
-INLINE PandaNode *CFDoCullCommand::
-get_scene() const {
- return _scene;
-}
diff --git a/panda/src/cftalk/cfCommand.cxx b/panda/src/cftalk/cfCommand.cxx
deleted file mode 100644
index ca58163242..0000000000
--- a/panda/src/cftalk/cfCommand.cxx
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfCommand.cxx
- * @author drose
- * @date 2009-02-19
- */
-
-#include "cfCommand.h"
-
-TypeHandle CFCommand::_type_handle;
-TypeHandle CFDoCullCommand::_type_handle;
-
-/**
- *
- */
-CFCommand::
-~CFCommand() {
-}
-
-/**
- * Tells the BamReader how to create objects of type CFDoCullCommand.
- */
-void CFDoCullCommand::
-register_with_read_factory() {
- BamReader::get_factory()->register_factory(get_class_type(), make_from_bam);
-}
-
-/**
- * Writes the contents of this object to the datagram for shipping out to a
- * Bam file.
- */
-void CFDoCullCommand::
-write_datagram(BamWriter *manager, Datagram &dg) {
- TypedWritable::write_datagram(manager, dg);
- manager->write_pointer(dg, _scene);
-}
-
-/**
- * Called by the BamWriter when this object has not itself been modified
- * recently, but it should check its nested objects for updates.
- */
-void CFDoCullCommand::
-update_bam_nested(BamWriter *manager) {
- manager->consider_update(_scene);
-}
-
-/**
- * Receives an array of pointers, one for each time manager->read_pointer()
- * was called in fillin(). Returns the number of pointers processed.
- */
-int CFDoCullCommand::
-complete_pointers(TypedWritable **p_list, BamReader *manager) {
- int pi = TypedWritable::complete_pointers(p_list, manager);
-
- PandaNode *scene;
- DCAST_INTO_R(scene, p_list[pi++], pi);
- _scene = scene;
-
- return pi;
-}
-
-/**
- * This function is called by the BamReader's factory when a new object of
- * type CFDoCullCommand is encountered in the Bam file. It should create the
- * CFDoCullCommand and extract its information from the file.
- */
-TypedWritable *CFDoCullCommand::
-make_from_bam(const FactoryParams ¶ms) {
- CFDoCullCommand *node = new CFDoCullCommand;
- DatagramIterator scan;
- BamReader *manager;
-
- parse_params(params, scan, manager);
- node->fillin(scan, manager);
-
- return node;
-}
-
-/**
- * This internal function is called by make_from_bam to read in all of the
- * relevant data from the BamFile for the new CFDoCullCommand.
- */
-void CFDoCullCommand::
-fillin(DatagramIterator &scan, BamReader *manager) {
- TypedWritable::fillin(scan, manager);
- manager->read_pointer(scan);
-}
diff --git a/panda/src/cftalk/cfCommand.h b/panda/src/cftalk/cfCommand.h
deleted file mode 100644
index 84e7e1421c..0000000000
--- a/panda/src/cftalk/cfCommand.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file cfCommand.h
- * @author drose
- * @date 2009-02-19
- */
-
-#ifndef CFCOMMAND_H
-#define CFCOMMAND_H
-
-#include "pandabase.h"
-
-#include "typedWritableReferenceCount.h"
-#include "pandaNode.h"
-
-/**
- * A single command in the Connected-Frame protocol. This can be sent client-
- * to-server or server-to-client.
- *
- * This is an abstract base class. Individual commands will specialize from
- * this.
- */
-class EXPCL_CFTALK CFCommand : public TypedWritableReferenceCount {
-protected:
- CFCommand();
-
-PUBLISHED:
- virtual ~CFCommand();
-
-public:
- static TypeHandle get_class_type() {
- return _type_handle;
- }
- static void init_type() {
- TypedWritableReferenceCount::init_type();
- register_type(_type_handle, "CFCommand",
- TypedWritableReferenceCount::get_class_type());
- }
- virtual TypeHandle get_type() const {
- return get_class_type();
- }
- virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
-
-private:
- static TypeHandle _type_handle;
-};
-
-/**
- * Starts the cull process for a particular DisplayRegion.
- */
-class EXPCL_CFTALK CFDoCullCommand : public CFCommand {
-protected:
- INLINE CFDoCullCommand();
-PUBLISHED:
- INLINE CFDoCullCommand(PandaNode *scene);
-
- INLINE PandaNode *get_scene() const;
-
-private:
- PT(PandaNode) _scene;
-
-public:
- static void register_with_read_factory();
- virtual void write_datagram(BamWriter *manager, Datagram &dg);
- virtual void update_bam_nested(BamWriter *manager);
- virtual int complete_pointers(TypedWritable **plist, BamReader *manager);
-
-protected:
- static TypedWritable *make_from_bam(const FactoryParams ¶ms);
- void fillin(DatagramIterator &scan, BamReader *manager);
-
-public:
- static TypeHandle get_class_type() {
- return _type_handle;
- }
- static void init_type() {
- CFCommand::init_type();
- register_type(_type_handle, "CFDoCullCommand",
- CFCommand::get_class_type());
- }
- virtual TypeHandle get_type() const {
- return get_class_type();
- }
- virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
-
-private:
- static TypeHandle _type_handle;
-};
-
-#include "cfCommand.I"
-
-#endif
diff --git a/panda/src/cftalk/config_cftalk.cxx b/panda/src/cftalk/config_cftalk.cxx
deleted file mode 100644
index 42c5054526..0000000000
--- a/panda/src/cftalk/config_cftalk.cxx
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file config_cftalk.cxx
- * @author drose
- * @date 2009-03-26
- */
-
-#include "config_cftalk.h"
-#include "cfCommand.h"
-#include "pandaSystem.h"
-
-ConfigureDef(config_cftalk);
-NotifyCategoryDef(cftalk, "");
-
-ConfigureFn(config_cftalk) {
- init_libcftalk();
-}
-
-/**
- * Initializes the library. This must be called at least once before any of
- * the functions or classes in this library can be used. Normally it will be
- * called by the static initializers and need not be called explicitly, but
- * special cases exist.
- */
-void
-init_libcftalk() {
- static bool initialized = false;
- if (initialized) {
- return;
- }
- initialized = true;
-
- CFCommand::init_type();
- CFDoCullCommand::init_type();
-
- CFDoCullCommand::register_with_read_factory();
-
- PandaSystem *ps = PandaSystem::get_global_ptr();
- ps->add_system("cftalk");
-}
diff --git a/panda/src/cftalk/config_cftalk.h b/panda/src/cftalk/config_cftalk.h
deleted file mode 100644
index 707c5f182d..0000000000
--- a/panda/src/cftalk/config_cftalk.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file config_cftalk.h
- * @author drose
- * @date 2009-03-26
- */
-
-#ifndef CONFIG_CFTALK_H
-#define CONFIG_CFTALK_H
-
-#include "pandabase.h"
-#include "windowProperties.h"
-#include "notifyCategoryProxy.h"
-#include "configVariableBool.h"
-#include "configVariableString.h"
-#include "configVariableList.h"
-#include "configVariableInt.h"
-#include "configVariableEnum.h"
-#include "configVariableFilename.h"
-#include "coordinateSystem.h"
-#include "dconfig.h"
-
-#include "pvector.h"
-
-ConfigureDecl(config_cftalk, EXPCL_CFTALK, EXPTP_CFTALK);
-NotifyCategoryDecl(cftalk, EXPCL_CFTALK, EXPTP_CFTALK);
-
-extern EXPCL_CFTALK void init_libcftalk();
-
-#endif /* CONFIG_CFTALK_H */
diff --git a/panda/src/cftalk/p3cftalk_composite1.cxx b/panda/src/cftalk/p3cftalk_composite1.cxx
deleted file mode 100644
index 49525d942d..0000000000
--- a/panda/src/cftalk/p3cftalk_composite1.cxx
+++ /dev/null
@@ -1 +0,0 @@
-#include "cfCommand.cxx"
diff --git a/panda/src/cftalk/p3cftalk_composite2.cxx b/panda/src/cftalk/p3cftalk_composite2.cxx
deleted file mode 100644
index 79c8aa9fa6..0000000000
--- a/panda/src/cftalk/p3cftalk_composite2.cxx
+++ /dev/null
@@ -1 +0,0 @@
-#include "cfChannel.cxx"