+bool Map_Unnamed(const Map &map);
+
+
+namespace scene {
+ class Node;
+
+ class Graph;
+}
+
+scene::Node *Map_GetWorldspawn(const Map &map);
+
+scene::Node *Map_FindWorldspawn(Map &map);
+
+scene::Node &Map_FindOrInsertWorldspawn(Map &map);
+
+template<typename Element>
+class BasicVector3;
+
+typedef BasicVector3<float> Vector3;
+
+extern Vector3 region_mins, region_maxs;
+extern bool region_active;
+
+// used to be #defines, multiple engine support suggests we should go towards dynamic
+extern float g_MaxWorldCoord;
+extern float g_MinWorldCoord;
+
+void Map_LoadFile(const char *filename);
+
+bool Map_SaveFile(const char *filename);
+
+void Map_New();
+
+void Map_Free();
+
+void Map_RegionOff();
+
+bool Map_SaveRegion(const char *filename);
+
+class TextInputStream;
+
+class TextOutputStream;
+
+void Map_ImportSelected(TextInputStream &in, const MapFormat &format);
+
+void Map_ExportSelected(TextOutputStream &out, const MapFormat &format);
+
+bool Map_Modified(const Map &map);
+
+void Map_SetModified(Map &map, bool modified);
+
+bool Map_Save();
+
+bool Map_SaveAs();
+
+scene::Node &Node_Clone(scene::Node &node);
+
+void DoMapInfo();
+
+void Scene_parentSelectedBrushesToEntity(scene::Graph &graph, scene::Node &parent);
+
+std::size_t Scene_countSelectedBrushes(scene::Graph &graph);
+
+void Scene_parentSelected();
+
+void OnUndoSizeChanged();
+
+void NewMap();
+
+void OpenMap();
+
+void ImportMap();
+
+void SaveMapAs();
+
+void SaveMap();
+
+void ExportMap();
+
+void SaveRegion();
+
+
+void Map_Traverse(scene::Node &root, const scene::Traversable::Walker &walker);
+
+
+void SelectBrush(int entitynum, int brushnum);
+
+extern CopiedString g_strLastMap;
+extern bool g_bLoadLastMap;
+
+void Map_Construct();
+
+void Map_Destroy();
+
+
+void Map_gatherNamespaced(scene::Node &root);
+
+void Map_mergeClonedNames();
+
+
+const char *getMapsPath();
+
+#endif