RigsofRods
Soft-body Physics Simulation
SkinFileFormat.h
Go to the documentation of this file.
1 /*
2  This source file is part of Rigs of Rods
3  Copyright 2005-2012 Pierre-Michel Ricordel
4  Copyright 2007-2012 Thomas Fischer
5  Copyright 2013-2020 Petr Ohlidal
6 
7  For more information, see http://www.rigsofrods.org/
8 
9  Rigs of Rods is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License version 3, as
11  published by the Free Software Foundation.
12 
13  Rigs of Rods is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #pragma once
23 
24 #include "Application.h"
25 
26 #include <OgreResourceManager.h>
27 
28 #include <map>
29 #include <vector>
30 #include <string>
31 #include <memory>
32 
33 namespace RoR {
34 
35 struct SkinDef
36 {
37  SkinDef(): author_id(-1) {}
38 
39  std::map<std::string, std::string> replace_textures;
40  std::map<std::string, std::string> replace_materials;
41  std::string name;
42  std::string guid;
43  std::string thumbnail;
44  std::string description;
45  std::string author_name;
46  int author_id;
47 };
48 
50 {
51 public:
52 
53  static std::vector<std::shared_ptr<RoR::SkinDef>> ParseSkins(Ogre::DataStreamPtr& stream);
54 
55 private:
56 
57  static void ParseSkinAttribute(const std::string& line, SkinDef* skin_def);
58 };
59 
60 }; // namespace RoR
RoR::SkinDef::author_name
std::string author_name
Definition: SkinFileFormat.h:45
RoR::SkinDef::description
std::string description
Definition: SkinFileFormat.h:44
RoR::SkinDef::author_id
int author_id
Definition: SkinFileFormat.h:46
Application.h
Central state/object manager and communications hub.
RoR::SkinDef
Definition: SkinFileFormat.h:35
RoR::SkinDef::guid
std::string guid
Definition: SkinFileFormat.h:42
RoR::SkinDef::thumbnail
std::string thumbnail
Definition: SkinFileFormat.h:43
RoR::SkinParser::ParseSkinAttribute
static void ParseSkinAttribute(const std::string &line, SkinDef *skin_def)
Definition: SkinFileFormat.cpp:91
RoR::SkinDef::name
std::string name
Definition: SkinFileFormat.h:41
RoR::SkinParser::ParseSkins
static std::vector< std::shared_ptr< RoR::SkinDef > > ParseSkins(Ogre::DataStreamPtr &stream)
Definition: SkinFileFormat.cpp:34
RoR::SkinDef::replace_materials
std::map< std::string, std::string > replace_materials
Definition: SkinFileFormat.h:40
RoR::SkinDef::replace_textures
std::map< std::string, std::string > replace_textures
Definition: SkinFileFormat.h:39
RoR::SkinDef::SkinDef
SkinDef()
Definition: SkinFileFormat.h:37
RoR
Definition: AppContext.h:36
RoR::SkinParser
Definition: SkinFileFormat.h:49