Merged with 1.4 branch (rev 1051:1075).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1077 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2007-12-02 20:20:41 +00:00
parent 5ecaaedbf8
commit eed5ae57a0
11 changed files with 56 additions and 16 deletions

View File

@ -55,8 +55,8 @@ namespace scene
virtual bool useAnimationFrom(const ISkinnedMesh *mesh) = 0; virtual bool useAnimationFrom(const ISkinnedMesh *mesh) = 0;
//!Update Normals when Animating //!Update Normals when Animating
//!False= Don't (default) //!False= Don't animate, faster
//!True= Update normals, slower //!True= Update normals
virtual void updateNormalsWhenAnimating(bool on) = 0; virtual void updateNormalsWhenAnimating(bool on) = 0;
//!Sets Interpolation Mode //!Sets Interpolation Mode

View File

@ -6,7 +6,7 @@
#define __IRR_COMPILE_CONFIG_H_INCLUDED__ #define __IRR_COMPILE_CONFIG_H_INCLUDED__
//! Irrlicht SDK Version //! Irrlicht SDK Version
#define IRRLICHT_SDK_VERSION "1.4beta" #define IRRLICHT_SDK_VERSION "1.4"
//! The defines for different operating system are: //! The defines for different operating system are:
//! _IRR_XBOX_PLATFORM_ for XBox //! _IRR_XBOX_PLATFORM_ for XBox
@ -64,7 +64,7 @@ to the compiler settings: -DIRR_COMPILE_WITH_DX9_DEV_PACK
and this to the linker settings: -ld3dx9 -ld3dx8 **/ and this to the linker settings: -ld3dx9 -ld3dx8 **/
#if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK)) #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
#define _IRR_COMPILE_WITH_DIRECT3D_8_ //#define _IRR_COMPILE_WITH_DIRECT3D_8_
#define _IRR_COMPILE_WITH_DIRECT3D_9_ #define _IRR_COMPILE_WITH_DIRECT3D_9_
#endif #endif

View File

@ -12,6 +12,7 @@ namespace irr
namespace core namespace core
{ {
//! Double linked list template. //! Double linked list template.
template <class T> template <class T>
class list class list
@ -64,6 +65,10 @@ public:
bool operator ==(const ConstIterator& other) const { return Current == other.Current; } bool operator ==(const ConstIterator& other) const { return Current == other.Current; }
bool operator !=(const ConstIterator& other) const { return Current != other.Current; } bool operator !=(const ConstIterator& other) const { return Current != other.Current; }
#if defined (_MSC_VER) && (_MSC_VER < 1300)
#pragma warning(disable:4284) // infix notation problem when using iterator operator ->
#endif
T & operator * () { return Current->Element; } T & operator * () { return Current->Element; }
T * operator ->() { return &Current->Element; } T * operator ->() { return &Current->Element; }

View File

@ -659,7 +659,6 @@ bool CAnimatedMeshSceneNode::removeChild(ISceneNode* child)
return true; return true;
} }
if (ISceneNode::removeChild(child)) if (ISceneNode::removeChild(child))
{ {
if (JointsUsed) //stop weird bugs caused while changing parents as the joints are being created if (JointsUsed) //stop weird bugs caused while changing parents as the joints are being created
@ -671,9 +670,7 @@ bool CAnimatedMeshSceneNode::removeChild(ISceneNode* child)
return true; return true;
} }
} }
return true; return true;
} }
return false; return false;

View File

@ -501,12 +501,9 @@ bool CB3DMeshFileLoader::readChunkVRTS(CSkinnedMesh::SJoint *InJoint, scene::SSk
// Transform the Vertex position by nested node... // Transform the Vertex position by nested node...
InJoint->GlobalMatrix.transformVect(Vertex.Pos); InJoint->GlobalMatrix.transformVect(Vertex.Pos);
InJoint->GlobalMatrix.rotateVect(Vertex.Normal); InJoint->GlobalMatrix.rotateVect(Vertex.Normal);
//Add it... //Add it...
BaseVertices.push_back(Vertex); BaseVertices.push_back(Vertex);
AnimatedVertices_VertexID.push_back(-1); AnimatedVertices_VertexID.push_back(-1);

View File

@ -219,6 +219,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -255,6 +257,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -302,6 +306,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE); pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -351,6 +357,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE); pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }

View File

@ -240,6 +240,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR); pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -279,6 +281,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); pID3DDevice->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -328,6 +332,8 @@ public:
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }
@ -379,6 +385,8 @@ public:
pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE); pID3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);
} }
((SMaterial&)material).ZWriteEnable = false;
services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates); services->setBasicRenderStates(material, lastMaterial, resetAllRenderstates);
} }

View File

@ -783,6 +783,8 @@ void CIrrDeviceWin32::getWindowsVersion(core::stringc& out)
out.append("Microsoft Windows 2000 "); out.append("Microsoft Windows 2000 ");
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 ) if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
out.append("Microsoft Windows XP "); out.append("Microsoft Windows XP ");
if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 )
out.append("Microsoft Windows Vista ");
if( bOsVersionInfoEx ) if( bOsVersionInfoEx )
{ {

View File

@ -23,7 +23,7 @@ namespace scene
CSkinnedMesh::CSkinnedMesh() CSkinnedMesh::CSkinnedMesh()
: SkinningBuffers(0), HasAnimation(0), PreparedForSkinning(0), : SkinningBuffers(0), HasAnimation(0), PreparedForSkinning(0),
AnimationFrames(0.f), lastAnimatedFrame(0.f), lastSkinnedFrame(0.f), AnimationFrames(0.f), lastAnimatedFrame(0.f), lastSkinnedFrame(0.f),
BoneControlUsed(false), AnimateNormals(0), HardwareSkinning(0), InterpolationMode(EIM_LINEAR) BoneControlUsed(false), AnimateNormals(true), HardwareSkinning(0), InterpolationMode(EIM_LINEAR)
{ {
#ifdef _DEBUG #ifdef _DEBUG
setDebugName("CSkinnedMesh"); setDebugName("CSkinnedMesh");
@ -651,8 +651,8 @@ bool CSkinnedMesh::useAnimationFrom(const ISkinnedMesh *mesh)
//!Update Normals when Animating //!Update Normals when Animating
//!False= Don't (default) //!False= Don't animate them, faster
//!True= Update normals, slower //!True= Update normals (default)
void CSkinnedMesh::updateNormalsWhenAnimating(bool on) void CSkinnedMesh::updateNormalsWhenAnimating(bool on)
{ {
AnimateNormals = on; AnimateNormals = on;
@ -862,7 +862,6 @@ void CSkinnedMesh::finalize()
lastAnimatedFrame=-1; lastAnimatedFrame=-1;
lastSkinnedFrame=-1; lastSkinnedFrame=-1;
AnimateNormals=false;
//calculate bounding box //calculate bounding box

View File

@ -1214,6 +1214,10 @@ SOURCE=.\CColladaFileLoader.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\CColladaMeshWriter.cpp
# End Source File
# Begin Source File
SOURCE=.\CCSMLoader.cpp SOURCE=.\CCSMLoader.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@ -1286,6 +1290,10 @@ SOURCE=.\CGUISpinBox.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\CImageLoaderPPM.cpp
# End Source File
# Begin Source File
SOURCE=.\CIrrDeviceSDL.cpp SOURCE=.\CIrrDeviceSDL.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@ -1294,6 +1302,14 @@ SOURCE=.\CIrrDeviceSDL.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\CIrrMeshFileLoader.cpp
# End Source File
# Begin Source File
SOURCE=.\CIrrMeshWriter.cpp
# End Source File
# Begin Source File
SOURCE=.\CLightSceneNode.cpp SOURCE=.\CLightSceneNode.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@ -1646,6 +1662,14 @@ SOURCE=.\CSphereSceneNode.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\CSTLMeshFileLoader.cpp
# End Source File
# Begin Source File
SOURCE=.\CSTLMeshWriter.cpp
# End Source File
# Begin Source File
SOURCE=.\CTerrainSceneNode.cpp SOURCE=.\CTerrainSceneNode.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@ -1,5 +1,5 @@
VERSION = 1.4beta VERSION = 1.4
# Irrlicht Engine 1.4beta # Irrlicht Engine 1.4
# Makefile for Linux # Makefile for Linux
# #
# To use, just run: # To use, just run: