Commit bf5890e8 authored by cutealien's avatar cutealien

- Add support for bsp brush entities. Written by Hendu.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3991 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 99cfad9d
Changes in 1.8 (??.??.2011)
- Add support for bsp brush entities. Written by Hendu.
- Add IGUIComboBox::setMaxSelectionRows and IGUIComboBox::getMaxSelectionRows
- Scenemanager switches from type ESNT_UNKNOWN to type ESNT_SCENE_MANAGER.
......
......@@ -13,9 +13,7 @@ namespace irr
namespace scene
{
//! Interface for a Mesh which can be loaded directly from a Quake3 .bsp-file.
/** The Mesh tries to load all textures of the map. There are currently
no additional methods in this class, but maybe there will be some in later
releases if there are feature requests. */
/** The Mesh tries to load all textures of the map.*/
class IQ3LevelMesh : public IAnimatedMesh
{
public:
......@@ -31,6 +29,14 @@ namespace scene
//! get's an interface to the entities
virtual quake3::tQ3EntityList& getEntityList() = 0;
//! returns the requested brush entity
/** \param num The number from the model key of the entity.
Use this interface if you parse the entities yourself.*/
virtual IMesh* getBrushEntityMesh(s32 num) const = 0;
//! returns the requested brush entity
virtual IMesh* getBrushEntityMesh(quake3::IEntity &ent) const = 0;
};
} // end namespace scene
......
This diff is collapsed.
......@@ -69,6 +69,11 @@ namespace scene
//! get's an interface to the entities
virtual quake3::tQ3EntityList & getEntityList();
//! returns the requested brush entity
virtual IMesh* getBrushEntityMesh(s32 num) const;
//! returns the requested brush entity
virtual IMesh* getBrushEntityMesh(quake3::IEntity &ent) const;
//Link to held meshes? ...
......@@ -116,6 +121,7 @@ namespace scene
void constructMesh();
void solveTJunction();
void loadTextures();
scene::SMesh** buildMesh(s32 num);
struct STexShader
{
......@@ -372,6 +378,9 @@ namespace scene
tBSPFace* Faces;
s32 NumFaces;
tBSPModel* Models;
s32 NumModels;
tBSPPlane* Planes;
s32 NumPlanes;
......@@ -390,6 +399,8 @@ namespace scene
tBSPBrush* Brushes;
s32 NumBrushes;
scene::SMesh** BrushEntities;
scene::SMesh* Mesh[quake3::E_Q3_MESH_SIZE];
video::IVideoDriver* Driver;
core::stringc LevelName;
......@@ -452,6 +463,7 @@ namespace scene
};
void cleanMeshes();
void cleanMesh(SMesh *m, const bool texture0important = false);
void cleanLoader ();
void calcBoundingBoxes();
c8 buf[128];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment