-void WINAPI Pointfile_Check( void );
-void Pointfile_Next( void );
-void Pointfile_Prev( void );
-void Pointfile_Clear( void );
-void Pointfile_Draw( void );
-void Pointfile_Load( void );
-
-class CPointfile : public ISAXHandler
-{
-public:
-CPointfile() { }
-void Init();
-void PushPoint( vec3_t v );
-void GenerateDisplayList();
-// SAX interface
-void saxStartElement( message_info_t *ctx, const xmlChar *name, const xmlChar **attrs );
-void saxEndElement( message_info_t *ctx, const xmlChar *name );
-void saxCharacters( message_info_t *ctx, const xmlChar *ch, int len );
-char *getName();
-
-// class is only used for g_pointfile and we should not attempt to free it
-bool ShouldDelete() { return false; }
-};
-
-// instead of using Pointfile_Load you can do it by hand through g_pointfile
-// but the usual pointfile mechanism remains the same, use Pointfile_Draw etc.
-extern CPointfile g_pointfile;
+
+void Pointfile_Construct();
+void Pointfile_Destroy();
+
+class ISAXHandler;
+extern ISAXHandler& g_pointfile;