Commit b7083aaa authored by cutealien's avatar cutealien

Remove unusued member variables (found with clang)


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4768 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 7d8307b1
...@@ -203,7 +203,7 @@ CAnimatedMeshHalfLife::CAnimatedMeshHalfLife() ...@@ -203,7 +203,7 @@ CAnimatedMeshHalfLife::CAnimatedMeshHalfLife()
OwnTexModel(false), SequenceIndex(0), CurrentFrame(0), FramesPerSecond(25.f), OwnTexModel(false), SequenceIndex(0), CurrentFrame(0), FramesPerSecond(25.f),
SkinGroupSelection(0) SkinGroupSelection(0)
#ifdef HL_TEXTURE_ATLAS #ifdef HL_TEXTURE_ATLAS
, TextureMaster(0) // , TextureMaster(0)
#endif #endif
{ {
#ifdef _DEBUG #ifdef _DEBUG
......
// Copyright (C) 2002-2012 Thomas Alten // Copyright (C) 2002-2012 Thomas Alten
// This file is part of the "Irrlicht Engine". // This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h // For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __C_ANIMATED_MESH_HALFLIFE_H_INCLUDED__ #ifndef __C_ANIMATED_MESH_HALFLIFE_H_INCLUDED__
#define __C_ANIMATED_MESH_HALFLIFE_H_INCLUDED__ #define __C_ANIMATED_MESH_HALFLIFE_H_INCLUDED__
#include "IAnimatedMesh.h" #include "IAnimatedMesh.h"
#include "ISceneManager.h" #include "ISceneManager.h"
#include "irrArray.h" #include "irrArray.h"
#include "irrString.h" #include "irrString.h"
#include "IMeshLoader.h" #include "IMeshLoader.h"
#include "SMesh.h" #include "SMesh.h"
#include "IReadFile.h" #include "IReadFile.h"
namespace irr namespace irr
{ {
namespace scene namespace scene
{ {
// STUDIO MODELS, Copyright (c) 1998, Valve LLC. All rights reserved. // STUDIO MODELS, Copyright (c) 1998, Valve LLC. All rights reserved.
#define MAXSTUDIOTRIANGLES 20000 // TODO: tune this #define MAXSTUDIOTRIANGLES 20000 // TODO: tune this
#define MAXSTUDIOVERTS 2048 // TODO: tune this #define MAXSTUDIOVERTS 2048 // TODO: tune this
#define MAXSTUDIOSEQUENCES 256 // total animation sequences #define MAXSTUDIOSEQUENCES 256 // total animation sequences
#define MAXSTUDIOSKINS 100 // total textures #define MAXSTUDIOSKINS 100 // total textures
#define MAXSTUDIOSRCBONES 512 // bones allowed at source movement #define MAXSTUDIOSRCBONES 512 // bones allowed at source movement
#define MAXSTUDIOBONES 128 // total bones actually used #define MAXSTUDIOBONES 128 // total bones actually used
#define MAXSTUDIOMODELS 32 // sub-models per model #define MAXSTUDIOMODELS 32 // sub-models per model
#define MAXSTUDIOBODYPARTS 32 #define MAXSTUDIOBODYPARTS 32
#define MAXSTUDIOGROUPS 4 #define MAXSTUDIOGROUPS 4
#define MAXSTUDIOANIMATIONS 512 // per sequence #define MAXSTUDIOANIMATIONS 512 // per sequence
#define MAXSTUDIOMESHES 256 #define MAXSTUDIOMESHES 256
#define MAXSTUDIOEVENTS 1024 #define MAXSTUDIOEVENTS 1024
#define MAXSTUDIOPIVOTS 256 #define MAXSTUDIOPIVOTS 256
#define MAXSTUDIOCONTROLLERS 8 #define MAXSTUDIOCONTROLLERS 8
typedef f32 vec3_hl[3]; // x,y,z typedef f32 vec3_hl[3]; // x,y,z
typedef f32 vec4_hl[4]; // x,y,z,w typedef f32 vec4_hl[4]; // x,y,z,w
// byte-align structures // byte-align structures
#include "irrpack.h" #include "irrpack.h"
struct SHalflifeHeader struct SHalflifeHeader
{ {
c8 id[4]; c8 id[4];
s32 version; s32 version;
c8 name[64]; c8 name[64];
s32 length; s32 length;
vec3_hl eyeposition; // ideal eye position vec3_hl eyeposition; // ideal eye position
vec3_hl min; // ideal movement hull size vec3_hl min; // ideal movement hull size
vec3_hl max; vec3_hl max;
vec3_hl bbmin; // clipping bounding box vec3_hl bbmin; // clipping bounding box
vec3_hl bbmax; vec3_hl bbmax;
s32 flags; s32 flags;
u32 numbones; // bones u32 numbones; // bones
u32 boneindex; u32 boneindex;
u32 numbonecontrollers; // bone controllers u32 numbonecontrollers; // bone controllers
u32 bonecontrollerindex; u32 bonecontrollerindex;
u32 numhitboxes; // complex bounding boxes u32 numhitboxes; // complex bounding boxes
u32 hitboxindex; u32 hitboxindex;
u32 numseq; // animation sequences u32 numseq; // animation sequences
u32 seqindex; u32 seqindex;
u32 numseqgroups; // demand loaded sequences u32 numseqgroups; // demand loaded sequences
u32 seqgroupindex; u32 seqgroupindex;
u32 numtextures; // raw textures u32 numtextures; // raw textures
u32 textureindex; u32 textureindex;
u32 texturedataindex; u32 texturedataindex;
u32 numskinref; // replaceable textures u32 numskinref; // replaceable textures
u32 numskinfamilies; u32 numskinfamilies;
u32 skinindex; u32 skinindex;
u32 numbodyparts; u32 numbodyparts;
u32 bodypartindex; u32 bodypartindex;
u32 numattachments; // queryable attachable points u32 numattachments; // queryable attachable points
u32 attachmentindex; u32 attachmentindex;
s32 soundtable; s32 soundtable;
s32 soundindex; s32 soundindex;
s32 soundgroups; s32 soundgroups;
s32 soundgroupindex; s32 soundgroupindex;
s32 numtransitions; // animation node to animation node transition graph s32 numtransitions; // animation node to animation node transition graph
s32 transitionindex; s32 transitionindex;
} PACK_STRUCT; } PACK_STRUCT;
// header for demand loaded sequence group data // header for demand loaded sequence group data
struct studioseqhdr_t struct studioseqhdr_t
{ {
s32 id; s32 id;
s32 version; s32 version;
c8 name[64]; c8 name[64];
s32 length; s32 length;
} PACK_STRUCT; } PACK_STRUCT;
// bones // bones
struct SHalflifeBone struct SHalflifeBone
{ {
c8 name[32]; // bone name for symbolic links c8 name[32]; // bone name for symbolic links
s32 parent; // parent bone s32 parent; // parent bone
s32 flags; // ?? s32 flags; // ??
s32 bonecontroller[6]; // bone controller index, -1 == none s32 bonecontroller[6]; // bone controller index, -1 == none
f32 value[6]; // default DoF values f32 value[6]; // default DoF values
f32 scale[6]; // scale for delta DoF values f32 scale[6]; // scale for delta DoF values
} PACK_STRUCT; } PACK_STRUCT;
// bone controllers // bone controllers
struct SHalflifeBoneController struct SHalflifeBoneController
{ {
s32 bone; // -1 == 0 s32 bone; // -1 == 0
s32 type; // X, Y, Z, XR, YR, ZR, M s32 type; // X, Y, Z, XR, YR, ZR, M
f32 start; f32 start;
f32 end; f32 end;
s32 rest; // byte index value at rest s32 rest; // byte index value at rest
s32 index; // 0-3 user set controller, 4 mouth s32 index; // 0-3 user set controller, 4 mouth
} PACK_STRUCT; } PACK_STRUCT;
// intersection boxes // intersection boxes
struct SHalflifeBBox struct SHalflifeBBox
{ {
s32 bone; s32 bone;
s32 group; // intersection group s32 group; // intersection group
vec3_hl bbmin; // bounding box vec3_hl bbmin; // bounding box
vec3_hl bbmax; vec3_hl bbmax;
} PACK_STRUCT; } PACK_STRUCT;
#ifndef ZONE_H #ifndef ZONE_H
// NOTE: this was a void*, but that crashes on 64bit. // NOTE: this was a void*, but that crashes on 64bit.
// I have found no mdl format desc, so not sure what it's meant to be, but s32 at least works. // I have found no mdl format desc, so not sure what it's meant to be, but s32 at least works.
typedef s32 cache_user_t; typedef s32 cache_user_t;
#endif #endif
// demand loaded sequence groups // demand loaded sequence groups
struct SHalflifeSequenceGroup struct SHalflifeSequenceGroup
{ {
c8 label[32]; // textual name c8 label[32]; // textual name
c8 name[64]; // file name c8 name[64]; // file name
cache_user_t cache; // cache index pointer cache_user_t cache; // cache index pointer
s32 data; // hack for group 0 s32 data; // hack for group 0
} PACK_STRUCT; } PACK_STRUCT;
// sequence descriptions // sequence descriptions
struct SHalflifeSequence struct SHalflifeSequence
{ {
c8 label[32]; // sequence label c8 label[32]; // sequence label
f32 fps; // frames per second f32 fps; // frames per second
s32 flags; // looping/non-looping flags s32 flags; // looping/non-looping flags
s32 activity; s32 activity;
s32 actweight; s32 actweight;
s32 numevents; s32 numevents;
s32 eventindex; s32 eventindex;
s32 numframes; // number of frames per sequence s32 numframes; // number of frames per sequence
u32 numpivots; // number of foot pivots u32 numpivots; // number of foot pivots
u32 pivotindex; u32 pivotindex;
s32 motiontype; s32 motiontype;
s32 motionbone; s32 motionbone;
vec3_hl linearmovement; vec3_hl linearmovement;
s32 automoveposindex; s32 automoveposindex;
s32 automoveangleindex; s32 automoveangleindex;
vec3_hl bbmin; // per sequence bounding box vec3_hl bbmin; // per sequence bounding box
vec3_hl bbmax; vec3_hl bbmax;
s32 numblends; s32 numblends;
s32 animindex; // SHalflifeAnimOffset pointer relative to start of sequence group data s32 animindex; // SHalflifeAnimOffset pointer relative to start of sequence group data
// [blend][bone][X, Y, Z, XR, YR, ZR] // [blend][bone][X, Y, Z, XR, YR, ZR]
s32 blendtype[2]; // X, Y, Z, XR, YR, ZR s32 blendtype[2]; // X, Y, Z, XR, YR, ZR
f32 blendstart[2]; // starting value f32 blendstart[2]; // starting value
f32 blendend[2]; // ending value f32 blendend[2]; // ending value
s32 blendparent; s32 blendparent;
s32 seqgroup; // sequence group for demand loading s32 seqgroup; // sequence group for demand loading
s32 entrynode; // transition node at entry s32 entrynode; // transition node at entry
s32 exitnode; // transition node at exit s32 exitnode; // transition node at exit
s32 nodeflags; // transition rules s32 nodeflags; // transition rules
s32 nextseq; // auto advancing sequences s32 nextseq; // auto advancing sequences
} PACK_STRUCT; } PACK_STRUCT;
// events // events
struct mstudioevent_t struct mstudioevent_t
{ {
s32 frame; s32 frame;
s32 event; s32 event;
s32 type; s32 type;
c8 options[64]; c8 options[64];
} PACK_STRUCT; } PACK_STRUCT;
// pivots // pivots
struct mstudiopivot_t struct mstudiopivot_t
{ {
vec3_hl org; // pivot point vec3_hl org; // pivot point
s32 start; s32 start;
s32 end; s32 end;
} PACK_STRUCT; } PACK_STRUCT;
// attachment // attachment
struct SHalflifeAttachment struct SHalflifeAttachment
{ {
c8 name[32]; c8 name[32];
s32 type; s32 type;
s32 bone; s32 bone;
vec3_hl org; // attachment point vec3_hl org; // attachment point
vec3_hl vectors[3]; vec3_hl vectors[3];
} PACK_STRUCT; } PACK_STRUCT;
struct SHalflifeAnimOffset struct SHalflifeAnimOffset
{ {
u16 offset[6]; u16 offset[6];
} PACK_STRUCT; } PACK_STRUCT;
// animation frames // animation frames
union SHalflifeAnimationFrame union SHalflifeAnimationFrame
{ {
struct { struct {
u8 valid; u8 valid;
u8 total; u8 total;
} PACK_STRUCT num; } PACK_STRUCT num;
s16 value; s16 value;
} PACK_STRUCT; } PACK_STRUCT;
// body part index // body part index
struct SHalflifeBody struct SHalflifeBody
{ {
c8 name[64]; c8 name[64];
u32 nummodels; u32 nummodels;
u32 base; u32 base;
u32 modelindex; // index into models array u32 modelindex; // index into models array
} PACK_STRUCT; } PACK_STRUCT;
// skin info // skin info
struct SHalflifeTexture struct SHalflifeTexture
{ {
c8 name[64]; c8 name[64];
s32 flags; s32 flags;
s32 width; s32 width;
s32 height; s32 height;
s32 index; s32 index;
} PACK_STRUCT; } PACK_STRUCT;
// skin families // skin families
// short index[skinfamilies][skinref] // short index[skinfamilies][skinref]
// studio models // studio models
struct SHalflifeModel struct SHalflifeModel
{ {
c8 name[64]; c8 name[64];
s32 type; s32 type;
f32 boundingradius; f32 boundingradius;
u32 nummesh; u32 nummesh;
u32 meshindex; u32 meshindex;
u32 numverts; // number of unique vertices u32 numverts; // number of unique vertices
u32 vertinfoindex; // vertex bone info u32 vertinfoindex; // vertex bone info
u32 vertindex; // vertex vec3_hl u32 vertindex; // vertex vec3_hl
u32 numnorms; // number of unique surface normals u32 numnorms; // number of unique surface normals
u32 norminfoindex; // normal bone info u32 norminfoindex; // normal bone info
u32 normindex; // normal vec3_hl u32 normindex; // normal vec3_hl
u32 numgroups; // deformation groups u32 numgroups; // deformation groups
u32 groupindex; u32 groupindex;
} PACK_STRUCT; } PACK_STRUCT;
// meshes // meshes
struct SHalflifeMesh struct SHalflifeMesh
{ {
u32 numtris; u32 numtris;
u32 triindex; u32 triindex;
u32 skinref; u32 skinref;
u32 numnorms; // per mesh normals u32 numnorms; // per mesh normals
u32 normindex; // normal vec3_hl u32 normindex; // normal vec3_hl
} PACK_STRUCT; } PACK_STRUCT;
// Default alignment // Default alignment
#include "irrunpack.h" #include "irrunpack.h"
// lighting options // lighting options
#define STUDIO_NF_FLATSHADE 0x0001 #define STUDIO_NF_FLATSHADE 0x0001
#define STUDIO_NF_CHROME 0x0002 #define STUDIO_NF_CHROME 0x0002
#define STUDIO_NF_FULLBRIGHT 0x0004 #define STUDIO_NF_FULLBRIGHT 0x0004
// motion flags // motion flags
#define STUDIO_X 0x0001 #define STUDIO_X 0x0001
#define STUDIO_Y 0x0002 #define STUDIO_Y 0x0002
#define STUDIO_Z 0x0004 #define STUDIO_Z 0x0004
#define STUDIO_XR 0x0008 #define STUDIO_XR 0x0008
#define STUDIO_YR 0x0010 #define STUDIO_YR 0x0010
#define STUDIO_ZR 0x0020 #define STUDIO_ZR 0x0020
#define STUDIO_LX 0x0040 #define STUDIO_LX 0x0040
#define STUDIO_LY 0x0080 #define STUDIO_LY 0x0080
#define STUDIO_LZ 0x0100 #define STUDIO_LZ 0x0100
#define STUDIO_AX 0x0200 #define STUDIO_AX 0x0200
#define STUDIO_AY 0x0400 #define STUDIO_AY 0x0400
#define STUDIO_AZ 0x0800 #define STUDIO_AZ 0x0800
#define STUDIO_AXR 0x1000 #define STUDIO_AXR 0x1000
#define STUDIO_AYR 0x2000 #define STUDIO_AYR 0x2000
#define STUDIO_AZR 0x4000 #define STUDIO_AZR 0x4000
#define STUDIO_TYPES 0x7FFF #define STUDIO_TYPES 0x7FFF
#define STUDIO_RLOOP 0x8000 // controller that wraps shortest distance #define STUDIO_RLOOP 0x8000 // controller that wraps shortest distance
// sequence flags // sequence flags
#define STUDIO_LOOPING 0x0001 #define STUDIO_LOOPING 0x0001
// bone flags // bone flags
#define STUDIO_HAS_NORMALS 0x0001 #define STUDIO_HAS_NORMALS 0x0001
#define STUDIO_HAS_VERTICES 0x0002 #define STUDIO_HAS_VERTICES 0x0002
#define STUDIO_HAS_BBOX 0x0004 #define STUDIO_HAS_BBOX 0x0004
#define STUDIO_HAS_CHROME 0x0008 // if any of the textures have chrome on them #define STUDIO_HAS_CHROME 0x0008 // if any of the textures have chrome on them
#define RAD_TO_STUDIO (32768.0/M_PI) #define RAD_TO_STUDIO (32768.0/M_PI)
#define STUDIO_TO_RAD (M_PI/32768.0) #define STUDIO_TO_RAD (M_PI/32768.0)
/*! /*!
Textureatlas Textureatlas
Combine Source Images with arbitrary size and bithdepth to an Image with 2^n size Combine Source Images with arbitrary size and bithdepth to an Image with 2^n size
borders from the source images are copied around for allowing filtering ( bilinear, mipmap ) borders from the source images are copied around for allowing filtering ( bilinear, mipmap )
*/ */
struct STextureAtlas struct STextureAtlas
{ {
STextureAtlas () STextureAtlas ()
{ {
release(); release();
} }
virtual ~STextureAtlas () virtual ~STextureAtlas ()
{ {
release (); release ();
} }
void release (); void release ();
void addSource ( const c8 * name, video::IImage * image ); void addSource ( const c8 * name, video::IImage * image );
void create ( u32 pixelborder, video::E_TEXTURE_CLAMP texmode ); void create ( u32 pixelborder, video::E_TEXTURE_CLAMP texmode );
void getScale ( core::vector2df &scale ); void getScale ( core::vector2df &scale );
void getTranslation ( const c8 * name, core::vector2di &pos ); void getTranslation ( const c8 * name, core::vector2di &pos );
struct TextureAtlasEntry struct TextureAtlasEntry
{ {
io::path name; io::path name;
u32 width; u32 width;
u32 height; u32 height;
core::vector2di pos; core::vector2di pos;
video::IImage * image; video::IImage * image;
bool operator < ( const TextureAtlasEntry & other ) bool operator < ( const TextureAtlasEntry & other )
{ {
return height > other.height; return height > other.height;
} }
}; };
core::array < TextureAtlasEntry > atlas; core::array < TextureAtlasEntry > atlas;
video::IImage * Master; video::IImage * Master;
}; };
//! Possible types of Animation Type //! Possible types of Animation Type
enum E_ANIMATION_TYPE enum E_ANIMATION_TYPE
{ {
//! No Animation //! No Animation
EAMT_STILL, EAMT_STILL,
//! From Start to End, then Stop ( Limited Line ) //! From Start to End, then Stop ( Limited Line )
EAMT_WAYPOINT, EAMT_WAYPOINT,
//! Linear Cycling Animation ( Sawtooth ) //! Linear Cycling Animation ( Sawtooth )
EAMT_LOOPING, EAMT_LOOPING,
//! Linear bobbing ( Triangle ) //! Linear bobbing ( Triangle )
EAMT_PINGPONG EAMT_PINGPONG
}; };
//! Names for Animation Type //! Names for Animation Type
const c8* const MeshAnimationTypeNames[] = const c8* const MeshAnimationTypeNames[] =
{ {
"still", "still",
"waypoint", "waypoint",
"looping", "looping",
"pingpong", "pingpong",
0 0
}; };
//! Data for holding named Animation Info //! Data for holding named Animation Info
struct KeyFrameInterpolation struct KeyFrameInterpolation
{ {
core::stringc Name; // Name of the current Animation/Bone core::stringc Name; // Name of the current Animation/Bone
E_ANIMATION_TYPE AnimationType; // Type of Animation ( looping, usw..) E_ANIMATION_TYPE AnimationType; // Type of Animation ( looping, usw..)
f32 CurrentFrame; // Current Frame f32 CurrentFrame; // Current Frame
s32 NextFrame; // Frame which will be used next. For blending s32 NextFrame; // Frame which will be used next. For blending
s32 StartFrame; // Absolute Frame where the current animation start s32 StartFrame; // Absolute Frame where the current animation start
s32 Frames; // Relative Frames how much Frames this animation have s32 Frames; // Relative Frames how much Frames this animation have
s32 LoopingFrames; // How much of Frames sould be looped s32 LoopingFrames; // How much of Frames sould be looped
s32 EndFrame; // Absolute Frame where the current animation ends End = start + frames - 1 s32 EndFrame; // Absolute Frame where the current animation ends End = start + frames - 1
f32 FramesPerSecond; // Speed in Frames/Seconds the animation is played f32 FramesPerSecond; // Speed in Frames/Seconds the animation is played
f32 RelativeSpeed; // Factor Original fps is modified f32 RelativeSpeed; // Factor Original fps is modified
u32 BeginTime; // Animation started at this thime u32 BeginTime; // Animation started at this thime
u32 EndTime; // Animation end at this time u32 EndTime; // Animation end at this time
u32 LastTime; // Last Keyframe was done at this time u32 LastTime; // Last Keyframe was done at this time
KeyFrameInterpolation ( const c8 * name = "", s32 start = 0, s32 frames = 0, s32 loopingframes = 0, KeyFrameInterpolation ( const c8 * name = "", s32 start = 0, s32 frames = 0, s32 loopingframes = 0,
f32 fps = 0.f, f32 relativefps = 1.f ) f32 fps = 0.f, f32 relativefps = 1.f )
: Name ( name ), AnimationType ( loopingframes ? EAMT_LOOPING : EAMT_WAYPOINT), : Name ( name ), AnimationType ( loopingframes ? EAMT_LOOPING : EAMT_WAYPOINT),
CurrentFrame ( (f32) start ), NextFrame ( start ), StartFrame ( start ), CurrentFrame ( (f32) start ), NextFrame ( start ), StartFrame ( start ),
Frames ( frames ), LoopingFrames ( loopingframes ), EndFrame ( start + frames - 1 ), Frames ( frames ), LoopingFrames ( loopingframes ), EndFrame ( start + frames - 1 ),
FramesPerSecond ( fps ), RelativeSpeed ( relativefps ), FramesPerSecond ( fps ), RelativeSpeed ( relativefps ),
BeginTime ( 0 ), EndTime ( 0 ), LastTime ( 0 ) BeginTime ( 0 ), EndTime ( 0 ), LastTime ( 0 )
{ {
} }
// linear search // linear search
bool operator == ( const KeyFrameInterpolation & other ) const bool operator == ( const KeyFrameInterpolation & other ) const
{ {
return Name.equals_ignore_case ( other.Name ); return Name.equals_ignore_case ( other.Name );
} }
}; };
//! a List holding named Animations //! a List holding named Animations
typedef core::array < KeyFrameInterpolation > IAnimationList; typedef core::array < KeyFrameInterpolation > IAnimationList;
//! a List holding named Skins //! a List holding named Skins
typedef core::array < core::stringc > ISkinList; typedef core::array < core::stringc > ISkinList;
// Current Model per Body // Current Model per Body
struct SubModel struct SubModel
{ {
core::stringc name; core::stringc name;
u32 startBuffer; u32 startBuffer;
u32 endBuffer; u32 endBuffer;
u32 state; u32 state;
}; };
struct BodyPart struct BodyPart
{ {
core::stringc name; core::stringc name;
u32 defaultModel; u32 defaultModel;
core::array < SubModel > model; core::array < SubModel > model;
}; };
//! a List holding named Models and SubModels //! a List holding named Models and SubModels
typedef core::array < BodyPart > IBodyList; typedef core::array < BodyPart > IBodyList;
class CAnimatedMeshHalfLife : public IAnimatedMesh class CAnimatedMeshHalfLife : public IAnimatedMesh
{ {
public: public:
//! constructor //! constructor
CAnimatedMeshHalfLife(); CAnimatedMeshHalfLife();
//! destructor //! destructor
virtual ~CAnimatedMeshHalfLife(); virtual ~CAnimatedMeshHalfLife();
//! loads a Halflife mdl file //! loads a Halflife mdl file
bool loadModelFile( io::IReadFile* file, ISceneManager * smgr ); bool loadModelFile( io::IReadFile* file, ISceneManager * smgr );
//IAnimatedMesh //IAnimatedMesh
virtual u32 getFrameCount() const _IRR_OVERRIDE_; virtual u32 getFrameCount() const _IRR_OVERRIDE_;
virtual IMesh* getMesh(s32 frame, s32 detailLevel, s32 startFrameLoop, s32 endFrameLoop) _IRR_OVERRIDE_; virtual IMesh* getMesh(s32 frame, s32 detailLevel, s32 startFrameLoop, s32 endFrameLoop) _IRR_OVERRIDE_;
virtual const core::aabbox3d<f32>& getBoundingBox() const _IRR_OVERRIDE_; virtual const core::aabbox3d<f32>& getBoundingBox() const _IRR_OVERRIDE_;
virtual E_ANIMATED_MESH_TYPE getMeshType() const _IRR_OVERRIDE_; virtual E_ANIMATED_MESH_TYPE getMeshType() const _IRR_OVERRIDE_;
void renderModel ( u32 param, video::IVideoDriver * driver, const core::matrix4 &absoluteTransformation); void renderModel ( u32 param, video::IVideoDriver * driver, const core::matrix4 &absoluteTransformation);
//! returns amount of mesh buffers. //! returns amount of mesh buffers.
virtual u32 getMeshBufferCount() const _IRR_OVERRIDE_; virtual u32 getMeshBufferCount() const _IRR_OVERRIDE_;
//! returns pointer to a mesh buffer //! returns pointer to a mesh buffer
virtual IMeshBuffer* getMeshBuffer(u32 nr) const _IRR_OVERRIDE_; virtual IMeshBuffer* getMeshBuffer(u32 nr) const _IRR_OVERRIDE_;
//! Returns pointer to a mesh buffer which fits a material //! Returns pointer to a mesh buffer which fits a material
virtual IMeshBuffer* getMeshBuffer( const video::SMaterial &material) const _IRR_OVERRIDE_; virtual IMeshBuffer* getMeshBuffer( const video::SMaterial &material) const _IRR_OVERRIDE_;
virtual void setMaterialFlag(video::E_MATERIAL_FLAG flag, bool newvalue) _IRR_OVERRIDE_; virtual void setMaterialFlag(video::E_MATERIAL_FLAG flag, bool newvalue) _IRR_OVERRIDE_;
//! set the hardware mapping hint, for driver //! set the hardware mapping hint, for driver
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_; virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_;
//! flags the meshbuffer as changed, reloads hardware buffers //! flags the meshbuffer as changed, reloads hardware buffers
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_; virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX) _IRR_OVERRIDE_;
//! set user axis aligned bounding box //! set user axis aligned bounding box
virtual void setBoundingBox(const core::aabbox3df& box) _IRR_OVERRIDE_; virtual void setBoundingBox(const core::aabbox3df& box) _IRR_OVERRIDE_;
//! Gets the default animation speed of the animated mesh. //! Gets the default animation speed of the animated mesh.
/** \return Amount of frames per second. If the amount is 0, it is a static, non animated mesh. */ /** \return Amount of frames per second. If the amount is 0, it is a static, non animated mesh. */
virtual f32 getAnimationSpeed() const _IRR_OVERRIDE_ virtual f32 getAnimationSpeed() const _IRR_OVERRIDE_
{ {
return FramesPerSecond; return FramesPerSecond;
} }
//! Gets the frame count of the animated mesh. //! Gets the frame count of the animated mesh.
/** \param fps Frames per second to play the animation with. If the amount is 0, it is not animated. /** \param fps Frames per second to play the animation with. If the amount is 0, it is not animated.
The actual speed is set in the scene node the mesh is instantiated in.*/ The actual speed is set in the scene node the mesh is instantiated in.*/
virtual void setAnimationSpeed(f32 fps) _IRR_OVERRIDE_ virtual void setAnimationSpeed(f32 fps) _IRR_OVERRIDE_
{ {
FramesPerSecond=fps; FramesPerSecond=fps;
} }
//! Get the Animation List //! Get the Animation List
IAnimationList* getAnimList () { return &AnimList; } IAnimationList* getAnimList () { return &AnimList; }
//! Return the named Body List of this Animated Mesh //! Return the named Body List of this Animated Mesh
IBodyList *getBodyList() { return &BodyList; } IBodyList *getBodyList() { return &BodyList; }
private: private:
// KeyFrame Animation List // KeyFrame Animation List
IAnimationList AnimList; IAnimationList AnimList;
// Sum of all sequences // Sum of all sequences
u32 FrameCount; u32 FrameCount;
// Named meshes of the Body // Named meshes of the Body
IBodyList BodyList; IBodyList BodyList;
//! return a Mesh per frame //! return a Mesh per frame
SMesh* MeshIPol; SMesh* MeshIPol;
ISceneManager *SceneManager; ISceneManager *SceneManager;
SHalflifeHeader *Header; SHalflifeHeader *Header;
SHalflifeHeader *TextureHeader; SHalflifeHeader *TextureHeader;
bool OwnTexModel; // do we have a modelT.mdl ? bool OwnTexModel; // do we have a modelT.mdl ?
SHalflifeHeader *AnimationHeader[32]; // sequences named model01.mdl, model02.mdl SHalflifeHeader *AnimationHeader[32]; // sequences named model01.mdl, model02.mdl
void initData (); void initData ();
SHalflifeHeader * loadModel( io::IReadFile* file, const io::path &filename ); SHalflifeHeader * loadModel( io::IReadFile* file, const io::path &filename );
bool postLoadModel( const io::path &filename ); bool postLoadModel( const io::path &filename );
u32 SequenceIndex; // sequence index u32 SequenceIndex; // sequence index
f32 CurrentFrame; // Current Frame f32 CurrentFrame; // Current Frame
f32 FramesPerSecond; f32 FramesPerSecond;
#define MOUTH_CONTROLLER 4 #define MOUTH_CONTROLLER 4
u8 BoneController[4 + 1 ]; // bone controllers + mouth position u8 BoneController[4 + 1 ]; // bone controllers + mouth position
u8 Blending[2]; // animation blending u8 Blending[2]; // animation blending
vec4_hl BoneAdj; vec4_hl BoneAdj;
f32 SetController( s32 controllerIndex, f32 value ); f32 SetController( s32 controllerIndex, f32 value );
u32 SkinGroupSelection; // skin group selection u32 SkinGroupSelection; // skin group selection
u32 SetSkin( u32 value ); u32 SetSkin( u32 value );
void initModel(); void initModel();
void dumpModelInfo(u32 level) const; void dumpModelInfo(u32 level) const;
void ExtractBbox(s32 sequence, core::aabbox3df &box) const; void ExtractBbox(s32 sequence, core::aabbox3df &box) const;
void setUpBones (); void setUpBones ();
SHalflifeAnimOffset * getAnim( SHalflifeSequence *seq ); SHalflifeAnimOffset * getAnim( SHalflifeSequence *seq );
void slerpBones( vec4_hl q1[], vec3_hl pos1[], vec4_hl q2[], vec3_hl pos2[], f32 s ); void slerpBones( vec4_hl q1[], vec3_hl pos1[], vec4_hl q2[], vec3_hl pos2[], f32 s );
void calcRotations ( vec3_hl *pos, vec4_hl *q, SHalflifeSequence *seq, SHalflifeAnimOffset *anim, f32 f ); void calcRotations ( vec3_hl *pos, vec4_hl *q, SHalflifeSequence *seq, SHalflifeAnimOffset *anim, f32 f );
void calcBoneAdj(); void calcBoneAdj();
void calcBoneQuaternion(const s32 frame, const SHalflifeBone *bone, SHalflifeAnimOffset *anim, const u32 j, f32& angle1, f32& angle2) const; void calcBoneQuaternion(const s32 frame, const SHalflifeBone *bone, SHalflifeAnimOffset *anim, const u32 j, f32& angle1, f32& angle2) const;
void calcBonePosition(const s32 frame, f32 s, const SHalflifeBone *bone, SHalflifeAnimOffset *anim, f32 *pos ) const; void calcBonePosition(const s32 frame, f32 s, const SHalflifeBone *bone, SHalflifeAnimOffset *anim, f32 *pos ) const;
void buildVertices (); void buildVertices ();
io::path TextureBaseName; io::path TextureBaseName;
#define HL_TEXTURE_ATLAS #define HL_TEXTURE_ATLAS
#ifdef HL_TEXTURE_ATLAS #ifdef HL_TEXTURE_ATLAS
STextureAtlas TextureAtlas; STextureAtlas TextureAtlas;
video::ITexture *TextureMaster; // video::ITexture *TextureMaster;
#endif #endif
}; };
//! Meshloader capable of loading HalfLife Model files //! Meshloader capable of loading HalfLife Model files
class CHalflifeMDLMeshFileLoader : public IMeshLoader class CHalflifeMDLMeshFileLoader : public IMeshLoader
{ {
public: public:
//! Constructor //! Constructor
CHalflifeMDLMeshFileLoader( scene::ISceneManager* smgr ); CHalflifeMDLMeshFileLoader( scene::ISceneManager* smgr );
//! returns true if the file maybe is able to be loaded by this class //! returns true if the file maybe is able to be loaded by this class
/** based on the file extension (e.g. ".bsp") */ /** based on the file extension (e.g. ".bsp") */
virtual bool isALoadableFileExtension(const io::path& filename) const _IRR_OVERRIDE_; virtual bool isALoadableFileExtension(const io::path& filename) const _IRR_OVERRIDE_;
//! creates/loads an animated mesh from the file. //! creates/loads an animated mesh from the file.
/** \return Pointer to the created mesh. Returns 0 if loading failed. /** \return Pointer to the created mesh. Returns 0 if loading failed.
If you no longer need the mesh, you should call IAnimatedMesh::drop(). If you no longer need the mesh, you should call IAnimatedMesh::drop().
See IReferenceCounted::drop() for more information. See IReferenceCounted::drop() for more information.
*/ */
virtual IAnimatedMesh* createMesh(io::IReadFile* file) _IRR_OVERRIDE_; virtual IAnimatedMesh* createMesh(io::IReadFile* file) _IRR_OVERRIDE_;
private: private:
scene::ISceneManager* SceneManager; scene::ISceneManager* SceneManager;
}; };
} // end namespace scene } // end namespace scene
} // end namespace irr } // end namespace irr
#endif #endif
...@@ -137,7 +137,7 @@ private: ...@@ -137,7 +137,7 @@ private:
io::IReadFile *File; io::IReadFile *File;
c8 *Buffer; c8 *Buffer;
bool IsBinaryFile, IsWrongEndian, EndOfFile; bool IsBinaryFile, IsWrongEndian, EndOfFile;
s32 LineLength, WordLength; s32 WordLength;
c8 *StartPointer, *EndPointer, *LineEndPointer; c8 *StartPointer, *EndPointer, *LineEndPointer;
}; };
......
...@@ -27,7 +27,7 @@ CParticleAnimatedMeshSceneNodeEmitter::CParticleAnimatedMeshSceneNodeEmitter( ...@@ -27,7 +27,7 @@ CParticleAnimatedMeshSceneNodeEmitter::CParticleAnimatedMeshSceneNodeEmitter(
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize),
Time(0), Emitted(0), MaxAngleDegrees(maxAngleDegrees), Time(0), MaxAngleDegrees(maxAngleDegrees),
EveryMeshVertex(everyMeshVertex), UseNormalDirection(useNormalDirection) EveryMeshVertex(everyMeshVertex), UseNormalDirection(useNormalDirection)
{ {
#ifdef _DEBUG #ifdef _DEBUG
......
...@@ -146,7 +146,6 @@ private: ...@@ -146,7 +146,6 @@ private:
core::dimension2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
bool EveryMeshVertex; bool EveryMeshVertex;
......
...@@ -25,7 +25,7 @@ CParticleBoxEmitter::CParticleBoxEmitter( ...@@ -25,7 +25,7 @@ CParticleBoxEmitter::CParticleBoxEmitter(
MaxParticlesPerSecond(maxParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
Time(0), Emitted(0), MaxAngleDegrees(maxAngleDegrees) Time(0), MaxAngleDegrees(maxAngleDegrees)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CParticleBoxEmitter"); setDebugName("CParticleBoxEmitter");
......
...@@ -121,7 +121,6 @@ private: ...@@ -121,7 +121,6 @@ private:
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
}; };
......
...@@ -27,7 +27,7 @@ CParticleCylinderEmitter::CParticleCylinderEmitter( ...@@ -27,7 +27,7 @@ CParticleCylinderEmitter::CParticleCylinderEmitter(
MaxParticlesPerSecond(maxParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
Radius(radius), Length(length), Time(0), Emitted(0), Radius(radius), Length(length), Time(0),
MaxAngleDegrees(maxAngleDegrees), OutlineOnly(outlineOnly) MaxAngleDegrees(maxAngleDegrees), OutlineOnly(outlineOnly)
{ {
#ifdef _DEBUG #ifdef _DEBUG
......
...@@ -150,7 +150,6 @@ private: ...@@ -150,7 +150,6 @@ private:
f32 Length; f32 Length;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
bool OutlineOnly; bool OutlineOnly;
......
...@@ -27,7 +27,7 @@ CParticleMeshEmitter::CParticleMeshEmitter( ...@@ -27,7 +27,7 @@ CParticleMeshEmitter::CParticleMeshEmitter(
MinParticlesPerSecond(minParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
Time(0), Emitted(0), MaxAngleDegrees(maxAngleDegrees), Time(0), MaxAngleDegrees(maxAngleDegrees),
EveryMeshVertex(everyMeshVertex), UseNormalDirection(useNormalDirection) EveryMeshVertex(everyMeshVertex), UseNormalDirection(useNormalDirection)
{ {
#ifdef _DEBUG #ifdef _DEBUG
......
...@@ -145,7 +145,6 @@ private: ...@@ -145,7 +145,6 @@ private:
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
bool EveryMeshVertex; bool EveryMeshVertex;
......
...@@ -25,7 +25,7 @@ CParticlePointEmitter::CParticlePointEmitter( ...@@ -25,7 +25,7 @@ CParticlePointEmitter::CParticlePointEmitter(
MaxParticlesPerSecond(maxParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
MaxAngleDegrees(maxAngleDegrees), Time(0), Emitted(0) MaxAngleDegrees(maxAngleDegrees), Time(0)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CParticlePointEmitter"); setDebugName("CParticlePointEmitter");
......
...@@ -112,7 +112,6 @@ private: ...@@ -112,7 +112,6 @@ private:
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
u32 Time; u32 Time;
u32 Emitted;
}; };
} // end namespace scene } // end namespace scene
......
...@@ -27,7 +27,7 @@ CParticleRingEmitter::CParticleRingEmitter( ...@@ -27,7 +27,7 @@ CParticleRingEmitter::CParticleRingEmitter(
MaxParticlesPerSecond(maxParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
Time(0), Emitted(0), MaxAngleDegrees(maxAngleDegrees) Time(0), MaxAngleDegrees(maxAngleDegrees)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CParticleRingEmitter"); setDebugName("CParticleRingEmitter");
......
...@@ -136,7 +136,6 @@ private: ...@@ -136,7 +136,6 @@ private:
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
}; };
......
...@@ -27,7 +27,7 @@ CParticleSphereEmitter::CParticleSphereEmitter( ...@@ -27,7 +27,7 @@ CParticleSphereEmitter::CParticleSphereEmitter(
MaxParticlesPerSecond(maxParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
MinStartColor(minStartColor), MaxStartColor(maxStartColor), MinStartColor(minStartColor), MaxStartColor(maxStartColor),
MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax), MinLifeTime(lifeTimeMin), MaxLifeTime(lifeTimeMax),
Time(0), Emitted(0), MaxAngleDegrees(maxAngleDegrees) Time(0), MaxAngleDegrees(maxAngleDegrees)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CParticleSphereEmitter"); setDebugName("CParticleSphereEmitter");
......
...@@ -129,7 +129,6 @@ private: ...@@ -129,7 +129,6 @@ private:
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
u32 Time; u32 Time;
u32 Emitted;
s32 MaxAngleDegrees; s32 MaxAngleDegrees;
}; };
......
...@@ -34,7 +34,7 @@ CParticleSystemSceneNode::CParticleSystemSceneNode(bool createDefaultEmitter, ...@@ -34,7 +34,7 @@ CParticleSystemSceneNode::CParticleSystemSceneNode(bool createDefaultEmitter,
const core::vector3df& scale) const core::vector3df& scale)
: IParticleSystemSceneNode(parent, mgr, id, position, rotation, scale), : IParticleSystemSceneNode(parent, mgr, id, position, rotation, scale),
Emitter(0), ParticleSize(core::dimension2d<f32>(5.0f, 5.0f)), LastEmitTime(0), Emitter(0), ParticleSize(core::dimension2d<f32>(5.0f, 5.0f)), LastEmitTime(0),
MaxParticles(0xffff), Buffer(0), ParticlesAreGlobal(true) Buffer(0), ParticlesAreGlobal(true)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CParticleSystemSceneNode"); setDebugName("CParticleSystemSceneNode");
......
...@@ -217,17 +217,18 @@ private: ...@@ -217,17 +217,18 @@ private:
core::array<SParticle> Particles; core::array<SParticle> Particles;
core::dimension2d<f32> ParticleSize; core::dimension2d<f32> ParticleSize;
u32 LastEmitTime; u32 LastEmitTime;
s32 MaxParticles;
SMeshBuffer* Buffer; SMeshBuffer* Buffer;
enum E_PARTICLES_PRIMITIVE // TODO: That was obviously planned by someone at some point and sounds like a good idea.
{ // But seems it was never implemented.
EPP_POINT=0, // enum E_PARTICLES_PRIMITIVE
EPP_BILLBOARD, // {
EPP_POINTSPRITE // EPP_POINT=0,
}; // EPP_BILLBOARD,
E_PARTICLES_PRIMITIVE ParticlePrimitive; // EPP_POINTSPRITE
// };
// E_PARTICLES_PRIMITIVE ParticlePrimitive;
bool ParticlesAreGlobal; bool ParticlesAreGlobal;
}; };
......
...@@ -369,10 +369,7 @@ namespace scene ...@@ -369,10 +369,7 @@ namespace scene
void tesselate(s32 level); void tesselate(s32 level);
private: private:
s32 Level;
core::array<S3DVertex2TCoords_64> column[3]; core::array<S3DVertex2TCoords_64> column[3];
}; };
SBezier Bezier; SBezier Bezier;
......
...@@ -21,7 +21,6 @@ namespace scene ...@@ -21,7 +21,6 @@ namespace scene
{ {
CSMFMeshFileLoader::CSMFMeshFileLoader(irr::io::IFileSystem* fs, video::IVideoDriver* driver) CSMFMeshFileLoader::CSMFMeshFileLoader(irr::io::IFileSystem* fs, video::IVideoDriver* driver)
: Driver(driver)
{ {
TextureLoader = new CMeshTextureLoader( fs, driver ); TextureLoader = new CMeshTextureLoader( fs, driver );
} }
......
...@@ -38,8 +38,6 @@ public: ...@@ -38,8 +38,6 @@ public:
private: private:
void loadLimb(io::IReadFile* file, scene::SMesh* mesh, const core::matrix4 &parentTransformation); void loadLimb(io::IReadFile* file, scene::SMesh* mesh, const core::matrix4 &parentTransformation);
video::IVideoDriver* Driver;
}; };
} // end namespace scene } // end namespace scene
......
...@@ -29,7 +29,7 @@ namespace scene ...@@ -29,7 +29,7 @@ namespace scene
//! Constructor //! Constructor
CXMeshFileLoader::CXMeshFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs) CXMeshFileLoader::CXMeshFileLoader(scene::ISceneManager* smgr, io::IFileSystem* fs)
: SceneManager(smgr), FileSystem(fs), AllJoints(0), AnimatedMesh(0), : SceneManager(smgr), FileSystem(fs), AnimatedMesh(0),
Buffer(0), P(0), End(0), BinaryNumCount(0), Line(0), Buffer(0), P(0), End(0), BinaryNumCount(0), Line(0),
CurFrame(0), MajorVersion(0), MinorVersion(0), BinaryFormat(false), FloatSize(0) CurFrame(0), MajorVersion(0), MinorVersion(0), BinaryFormat(false), FloatSize(0)
{ {
......
...@@ -168,8 +168,6 @@ private: ...@@ -168,8 +168,6 @@ private:
ISceneManager* SceneManager; ISceneManager* SceneManager;
io::IFileSystem* FileSystem; io::IFileSystem* FileSystem;
core::array<CSkinnedMesh::SJoint*> *AllJoints;
CSkinnedMesh* AnimatedMesh; CSkinnedMesh* AnimatedMesh;
c8* Buffer; c8* Buffer;
......
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