diff options
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h | 164 |
1 files changed, 82 insertions, 82 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h b/libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h index 5e850c8..cf2d29f 100644 --- a/libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h +++ b/libraries/irrlicht-1.8/source/Irrlicht/CCSMLoader.h | |||
@@ -1,82 +1,82 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt |
2 | // This file is part of the "Irrlicht Engine". | 2 | // This file is part of the "Irrlicht Engine". |
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h |
4 | // | 4 | // |
5 | // This Loader has been originally written by Saurav Mohapatra. I (Nikolaus Gebhardt) | 5 | // This Loader has been originally written by Saurav Mohapatra. I (Nikolaus Gebhardt) |
6 | // modified some minor things and integrated it into Irrlicht 0.9. Thanks a lot | 6 | // modified some minor things and integrated it into Irrlicht 0.9. Thanks a lot |
7 | // to Saurav Mohapatra for his work on this and that he gave me his permission to | 7 | // to Saurav Mohapatra for his work on this and that he gave me his permission to |
8 | // add it into Irrlicht. | 8 | // add it into Irrlicht. |
9 | // I did some changes to Saurav Mohapatra's loader, so I'm writing this down here: | 9 | // I did some changes to Saurav Mohapatra's loader, so I'm writing this down here: |
10 | // - Replaced all dependencies to STL and stdio with irr:: methods/constructs. | 10 | // - Replaced all dependencies to STL and stdio with irr:: methods/constructs. |
11 | // - Moved everything into namespace irr::scene | 11 | // - Moved everything into namespace irr::scene |
12 | // - Replaced logging with Irrlicht's internal logger. | 12 | // - Replaced logging with Irrlicht's internal logger. |
13 | // - Removed dependency to IrrlichtDevice | 13 | // - Removed dependency to IrrlichtDevice |
14 | // - Moved all internal structures into CCSMLoader.cpp | 14 | // - Moved all internal structures into CCSMLoader.cpp |
15 | // - Made the texture root parameter dependent on a ISceneManager string parameter | 15 | // - Made the texture root parameter dependent on a ISceneManager string parameter |
16 | // - removed exceptions | 16 | // - removed exceptions |
17 | // - Implemented CCCSMLoader as IMeshLoader | 17 | // - Implemented CCCSMLoader as IMeshLoader |
18 | // - Fixed some problems with memory leaks | 18 | // - Fixed some problems with memory leaks |
19 | // - Fixed bounding box calculation | 19 | // - Fixed bounding box calculation |
20 | // | 20 | // |
21 | // The original readme of this file looks like this: | 21 | // The original readme of this file looks like this: |
22 | // | 22 | // |
23 | // This component provides a loader for the Cartography shop 4.x .csm maps for Irrlicht Engine. | 23 | // This component provides a loader for the Cartography shop 4.x .csm maps for Irrlicht Engine. |
24 | // This is a part of the M_TRIX Project. | 24 | // This is a part of the M_TRIX Project. |
25 | // This is licensed under the ZLib/LibPNG license | 25 | // This is licensed under the ZLib/LibPNG license |
26 | // The IrrCSM library is written by Saurav Mohapatra. | 26 | // The IrrCSM library is written by Saurav Mohapatra. |
27 | // | 27 | // |
28 | // Features | 28 | // Features |
29 | // | 29 | // |
30 | // The IrrCSM library features the following capabilities | 30 | // The IrrCSM library features the following capabilities |
31 | // | 31 | // |
32 | // * Loads the .csm 4.0 and 4.1 files transparently | 32 | // * Loads the .csm 4.0 and 4.1 files transparently |
33 | // * Presents the loaded file as irr::scene::IAnimatedMesh for easy creation of IOctreeSceneNode | 33 | // * Presents the loaded file as irr::scene::IAnimatedMesh for easy creation of IOctreeSceneNode |
34 | // * Loads the textures given the correct texture root. hence map and textures can be in separate directories | 34 | // * Loads the textures given the correct texture root. hence map and textures can be in separate directories |
35 | // | 35 | // |
36 | // For more informations go to http://www.geocities.com/standard_template/irrcsm/downloads.html | 36 | // For more informations go to http://www.geocities.com/standard_template/irrcsm/downloads.html |
37 | 37 | ||
38 | #ifndef __CSM_LOADER_H_INCLUDED__ | 38 | #ifndef __CSM_LOADER_H_INCLUDED__ |
39 | #define __CSM_LOADER_H_INCLUDED__ | 39 | #define __CSM_LOADER_H_INCLUDED__ |
40 | 40 | ||
41 | #include "irrArray.h" | 41 | #include "irrArray.h" |
42 | #include "IMesh.h" | 42 | #include "IMesh.h" |
43 | #include "irrString.h" | 43 | #include "irrString.h" |
44 | #include "IFileSystem.h" | 44 | #include "IFileSystem.h" |
45 | #include "IMeshLoader.h" | 45 | #include "IMeshLoader.h" |
46 | 46 | ||
47 | namespace irr | 47 | namespace irr |
48 | { | 48 | { |
49 | namespace scene | 49 | namespace scene |
50 | { | 50 | { |
51 | class CSMFile; | 51 | class CSMFile; |
52 | class ISceneManager; | 52 | class ISceneManager; |
53 | 53 | ||
54 | class CCSMLoader : public scene::IMeshLoader | 54 | class CCSMLoader : public scene::IMeshLoader |
55 | { | 55 | { |
56 | public: | 56 | public: |
57 | 57 | ||
58 | CCSMLoader(ISceneManager* manager, io::IFileSystem* fs); | 58 | CCSMLoader(ISceneManager* manager, io::IFileSystem* fs); |
59 | 59 | ||
60 | //! returns true if the file maybe is able to be loaded by this class | 60 | //! returns true if the file maybe is able to be loaded by this class |
61 | //! based on the file extension (e.g. ".bsp") | 61 | //! based on the file extension (e.g. ".bsp") |
62 | virtual bool isALoadableFileExtension(const io::path& filename) const; | 62 | virtual bool isALoadableFileExtension(const io::path& filename) const; |
63 | 63 | ||
64 | //! creates/loads an animated mesh from the file. | 64 | //! creates/loads an animated mesh from the file. |
65 | virtual IAnimatedMesh* createMesh(io::IReadFile* file); | 65 | virtual IAnimatedMesh* createMesh(io::IReadFile* file); |
66 | 66 | ||
67 | private: | 67 | private: |
68 | 68 | ||
69 | scene::IMesh* createCSMMesh(io::IReadFile* file); | 69 | scene::IMesh* createCSMMesh(io::IReadFile* file); |
70 | 70 | ||
71 | scene::IMesh* createIrrlichtMesh(const CSMFile* csmFile, | 71 | scene::IMesh* createIrrlichtMesh(const CSMFile* csmFile, |
72 | const core::stringc& textureRoot, const io::path& lmprefix); | 72 | const core::stringc& textureRoot, const io::path& lmprefix); |
73 | 73 | ||
74 | io::IFileSystem* FileSystem; | 74 | io::IFileSystem* FileSystem; |
75 | scene::ISceneManager* SceneManager; | 75 | scene::ISceneManager* SceneManager; |
76 | }; | 76 | }; |
77 | 77 | ||
78 | } // end namespace | 78 | } // end namespace |
79 | } // end namespace | 79 | } // end namespace |
80 | 80 | ||
81 | #endif | 81 | #endif |
82 | 82 | ||