]> git.lizzy.rs Git - irrlicht.git/blob - source/Irrlicht/SB3DStructs.h
8f88a8508481bc05a16ab2b7eed90c64113264a9
[irrlicht.git] / source / Irrlicht / SB3DStructs.h
1 // Copyright (C) 2006-2012 Luke Hoschke\r
2 // This file is part of the "Irrlicht Engine".\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h\r
4 \r
5 // B3D Mesh loader\r
6 // File format designed by Mark Sibly for the Blitz3D engine and has been\r
7 // declared public domain\r
8 \r
9 #include "IrrCompileConfig.h"\r
10 \r
11 #ifndef SB3DSTRUCTS_H\r
12 #define SB3DSTRUCTS_H\r
13 \r
14 #include "SMaterial.h"\r
15 \r
16 namespace irr {\r
17 namespace scene {\r
18 \r
19 struct SB3dChunkHeader\r
20 {\r
21         c8 name[4];\r
22         s32 size;\r
23 };\r
24 \r
25 struct SB3dChunk\r
26 {\r
27         SB3dChunk(const SB3dChunkHeader& header, long sp)\r
28                 : length(header.size+8), startposition(sp)\r
29         {\r
30                 name[0]=header.name[0];\r
31                 name[1]=header.name[1];\r
32                 name[2]=header.name[2];\r
33                 name[3]=header.name[3];\r
34         }\r
35         c8 name[4];\r
36         s32 length;\r
37         long startposition;\r
38 };\r
39 \r
40 struct SB3dTexture\r
41 {\r
42         core::stringc TextureName;\r
43         s32 Flags;\r
44         s32 Blend;\r
45         f32 Xpos;\r
46         f32 Ypos;\r
47         f32 Xscale;\r
48         f32 Yscale;\r
49         f32 Angle;\r
50 };\r
51 \r
52 struct SB3dMaterial\r
53 {\r
54         SB3dMaterial() : red(1.0f), green(1.0f),\r
55                 blue(1.0f), alpha(1.0f), shininess(0.0f), blend(1),\r
56                 fx(0)\r
57         {\r
58                 for (u32 i=0; i<video::MATERIAL_MAX_TEXTURES; ++i)\r
59                         Textures[i]=0;\r
60         }\r
61         video::SMaterial Material;\r
62         f32 red, green, blue, alpha;\r
63         f32 shininess;\r
64         s32 blend,fx;\r
65         SB3dTexture *Textures[video::MATERIAL_MAX_TEXTURES];\r
66 };\r
67 \r
68 } // end namespace scene\r
69 } // end namespace irr\r
70 \r
71 #endif\r