Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

map.hpp

Go to the documentation of this file.
00001 // libdoomwad: manipulates Doom wad files.
00002 // Copyright (C) 2005  John Gaughan
00003 //
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of the GNU Lesser General Public
00006 // License as published by the Free Software Foundation; either
00007 // version 2.1 of the License, or (at your option) any later version.
00008 //
00009 // This library is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 // Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public
00015 // License along with this library; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 //
00018 // This library is distributed with the full text of the LGPL. Please see
00019 // the accompanying file named COPYING.
00020 // 
00021 // You may contact the author at john@johngaughan.net
00022 
00039 // C++ required.
00040 #if !defined __cplusplus
00041 #error C++ compiler required
00042 #endif
00043 
00044 // Include guard
00045 #if !defined MAP_H
00046 #define MAP_H
00047 
00048 // C++ headers
00049 // (none)
00050 
00051 // Doom headers
00052 #include "global.hpp"
00053 #include "blockmap.hpp"
00054 #include "linedefs.hpp"
00055 #include "nodes.hpp"
00056 #include "reject.hpp"
00057 #include "sectors.hpp"
00058 #include "segs.hpp"
00059 #include "sidedefs.hpp"
00060 #include "ssectors.hpp"
00061 #include "things.hpp"
00062 #include "vertexes.hpp"
00063 #include "wad.hpp"
00064 
00065 namespace Doomwad
00066 {
00067 
00069   class HexenMap;
00070 
00079   EXPORT class GLMap
00080   {
00081     public:
00082 
00084     static const std::string GL_PREFIX;
00085 
00087     GLVertexes vertexes;
00088 
00090     GLSegs segs;
00091 
00093     GLSsectors ssectors;
00094 
00096     GLNodes nodes;
00097   };
00098 
00142   EXPORT class Map
00143   {
00144     public:
00145 
00147     static const std::string DEFAULT_MAP_NAME;
00148 
00150     GLMap gl;
00151 
00153     std::string name;
00154 
00156     bool glEnabled;
00157 
00159     Things things;
00160 
00162     Linedefs linedefs;
00163 
00165     Sidedefs sidedefs;
00166 
00168     Vertexes vertexes;
00169 
00171     Segs segs;
00172 
00174     Ssectors ssectors;
00175 
00177     Nodes nodes;
00178 
00180     Sectors sectors;
00181 
00183     Reject reject;
00184 
00186     Blockmap blockmap;
00187 
00188     Map (const std::string& = DEFAULT_MAP_NAME, bool = false) throw ();
00189     Map (Wad::const_iterator) throw ();
00190     virtual ~Map (void) throw ();
00191   };
00192 
00232   EXPORT class HexenMap
00233   {
00234     public:
00235 
00237     static const std::string DEFAULT_MAP_NAME;
00238 
00240     std::string name;
00241 
00243     bool glEnabled;
00244 
00246     GLMap gl;
00247 
00249     Things things;
00250 
00252     Linedefs linedefs;
00253 
00255     Sidedefs sidedefs;
00256 
00258     Vertexes vertexes;
00259 
00261     Segs segs;
00262 
00264     Ssectors ssectors;
00265 
00267     Nodes nodes;
00268 
00270     Sectors sectors;
00271 
00273     Reject reject;
00274 
00276     Blockmap blockmap;
00277 
00279     byte behavior;
00280 
00281     HexenMap (const std::string& = DEFAULT_MAP_NAME, bool = false) throw ();
00282     HexenMap (Wad::const_iterator) throw ();
00283     virtual ~HexenMap (void) throw ();
00284   };
00285 }
00286 #endif

Generated on Fri Jun 10 19:38:51 2005 for libdoomwad by  doxygen 1.4.0