source: OGRE/trunk/ogrenew/Tools/MaterialUpgrader/include/OldMaterialReader.h @ 657

Revision 657, 2.4 KB checked in by mattausch, 19 years ago (diff)

added ogre dependencies and patched ogre sources

Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2005 The OGRE Team
8Also see acknowledgements in Readme.html
9
10This program is free software; you can redistribute it and/or modify it under
11the terms of the GNU Lesser General Public License as published by the Free Software
12Foundation; either version 2 of the License, or (at your option) any later
13version.
14
15This program is distributed in the hope that it will be useful, but WITHOUT
16ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18
19You should have received a copy of the GNU Lesser General Public License along with
20this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22http://www.gnu.org/copyleft/lesser.txt.
23-----------------------------------------------------------------------------
24*/
25#ifndef __OLDMATERIALREADER_H__
26#define __OLDMATERIALREADER_H__
27
28#include "Ogre.h"
29
30using namespace Ogre;
31
32/// Function def for material attribute parser.
33typedef void (*MATERIAL_ATTRIB_PARSER)(StringVector::iterator&, int, MaterialPtr&);
34/// Function def for texture layer attribute parser.
35typedef void (*TEXLAYER_ATTRIB_PARSER)(StringVector::iterator&, int, MaterialPtr&, TextureUnitState*);
36/** Class for reading pre-0.13 material scripts
37*/
38class OldMaterialReader
39{
40protected:
41    void parseNewTextureLayer( DataStreamPtr& stream, MaterialPtr& pMat );
42    void parseAttrib( const String& line, MaterialPtr& pMat);
43    void parseLayerAttrib( const String& line, MaterialPtr& pMat, TextureUnitState* pLayer );
44
45    /// Keyword-mapped attribute parsers.
46    typedef std::map<String, MATERIAL_ATTRIB_PARSER> MatAttribParserList;
47    MatAttribParserList mMatAttribParsers;
48    /// Keyword-mapped attribute parsers.
49    typedef std::map<String, TEXLAYER_ATTRIB_PARSER> LayerAttribParserList;
50    LayerAttribParserList mLayerAttribParsers;
51
52
53public:
54    /** Default constructor.
55    */
56    OldMaterialReader();
57    ~OldMaterialReader();
58
59    /** Parses a Material script file passed as a stream.
60    */
61    void parseScript(DataStreamPtr& stream);
62
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.