More animation work
[potpourri.git] / include / core / parselevel.h
blob355d30984ab2d78d4ff60ec32b63d191819d9d1b
1 // Copyright 2008 Brian Caine
3 // This file is part of Potpourri.
5 // Potpourri is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
10 // Potpourri is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTIBILITY of FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with Potpourri. If not, see <http://www.gnu.org/licenses/>.
19 // NOTES:
20 // This dtd is too complicated to parse auto-magically, so this is
21 // actually hand coded
23 // won't be any better though
25 #ifndef __PARSELEVEL_H
26 #define __PARSELEVEL_H
28 #include "Level.h"
30 #include <string>
31 #include <libxml++/libxml++.h>
33 namespace fragrant
35 struct LevelActor;
36 struct LevelGraphic;
37 struct LevelData;
38 struct LevelSlice;
39 typedef Pair<int> LevelPair;
42 namespace XMLParser
44 namespace parselevel
46 std::string getPresentationName(xmlpp::Node*);
47 xmlpp::Node* getPresentationData(xmlpp::Node*);
49 fragrant::LevelActor getActor(xmlpp::Node*, std::string);
50 fragrant::LevelGraphic getGraphic(xmlpp::Node*, std::string);
51 fragrant::LevelPair getPair(xmlpp::Node*, std::string);
53 std::vector<std::string> getPresentationNames(xmlpp::Node*);
54 fragrant::LevelSlice getLevelSlice(xmlpp::Node*, std::string);
56 fragrant::LevelData parselevel(xmlpp::Node*);
58 fragrant::LevelData parselevelFromBuffer(std::string);
62 #endif