mirror of
https://github.com/minetest/minetest.git
synced 2024-09-12 00:26:50 +02:00
72 lines
1.3 KiB
C++
72 lines
1.3 KiB
C++
// Copyright (C) 2006-2012 Luke Hoschke
|
|
// This file is part of the "Irrlicht Engine".
|
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
|
|
|
// B3D Mesh loader
|
|
// File format designed by Mark Sibly for the Blitz3D engine and has been
|
|
// declared public domain
|
|
|
|
#pragma once
|
|
|
|
#include "SMaterial.h"
|
|
#include "irrMath.h"
|
|
|
|
namespace irr
|
|
{
|
|
namespace scene
|
|
{
|
|
|
|
struct SB3dChunkHeader
|
|
{
|
|
c8 name[4];
|
|
s32 size;
|
|
};
|
|
|
|
struct SB3dChunk
|
|
{
|
|
SB3dChunk(const SB3dChunkHeader &header, long sp) :
|
|
length(header.size + 8), startposition(sp)
|
|
{
|
|
length = core::max_(length, 8);
|
|
name[0] = header.name[0];
|
|
name[1] = header.name[1];
|
|
name[2] = header.name[2];
|
|
name[3] = header.name[3];
|
|
}
|
|
c8 name[4];
|
|
s32 length;
|
|
long startposition;
|
|
};
|
|
|
|
struct SB3dTexture
|
|
{
|
|
std::string TextureName;
|
|
s32 Flags;
|
|
s32 Blend;
|
|
f32 Xpos;
|
|
f32 Ypos;
|
|
f32 Xscale;
|
|
f32 Yscale;
|
|
f32 Angle;
|
|
};
|
|
|
|
struct SB3dMaterial
|
|
{
|
|
SB3dMaterial() :
|
|
red(1.0f), green(1.0f),
|
|
blue(1.0f), alpha(1.0f), shininess(0.0f), blend(1),
|
|
fx(0)
|
|
{
|
|
for (u32 i = 0; i < video::MATERIAL_MAX_TEXTURES; ++i)
|
|
Textures[i] = 0;
|
|
}
|
|
video::SMaterial Material;
|
|
f32 red, green, blue, alpha;
|
|
f32 shininess;
|
|
s32 blend, fx;
|
|
SB3dTexture *Textures[video::MATERIAL_MAX_TEXTURES];
|
|
};
|
|
|
|
} // end namespace scene
|
|
} // end namespace irr
|