Fixed the win32 project files.

Fixed more problems with rounding and s32/f32 changes for animated meshes.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@904 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2007-09-05 09:31:56 +00:00
parent a6c880c3c0
commit a1e7be3375
9 changed files with 27 additions and 132 deletions

View File

@ -106,8 +106,10 @@ f32 CAnimatedMeshSceneNode::buildFrameNr(u32 timeMs)
}
}
if (StartFrame==EndFrame) return StartFrame; //Support for non animated meshes
if (FramesPerSecond==0) return StartFrame;
if (StartFrame==EndFrame)
return (f32)StartFrame; //Support for non animated meshes
if (FramesPerSecond==0)
return (f32)StartFrame;
if (Looping)
@ -133,8 +135,7 @@ f32 CAnimatedMeshSceneNode::buildFrameNr(u32 timeMs)
if (FramesPerSecond>0) //forwards...
{
const f32 deltaFrame = core::floor32 ( f32 ( timeMs - BeginFrameTime ) * FramesPerSecond );
const f32 deltaFrame = floorf( f32 ( timeMs - BeginFrameTime ) * FramesPerSecond );
frame = StartFrame + deltaFrame;
@ -147,7 +148,7 @@ f32 CAnimatedMeshSceneNode::buildFrameNr(u32 timeMs)
}
else //backwards... (untested)
{
const f32 deltaFrame = core::floor32 ( f32 ( timeMs - BeginFrameTime ) * -FramesPerSecond );
const f32 deltaFrame = floorf( f32 ( timeMs - BeginFrameTime ) * -FramesPerSecond );
frame = EndFrame - deltaFrame;
@ -519,7 +520,7 @@ bool CAnimatedMeshSceneNode::setFrameLoop(s32 begin, s32 end)
StartFrame = core::s32_clamp(begin, 0, maxFrameCount);
EndFrame = core::s32_clamp(end, StartFrame, maxFrameCount);
}
setCurrentFrame ( StartFrame );
setCurrentFrame ( (f32)StartFrame );
return true;
}

View File

@ -62,7 +62,7 @@ s32 CParticleAnimatedMeshSceneNodeEmitter::emitt(u32 now, u32 timeSinceLastCall,
amount = MaxParticlesPerSecond * 2;
// Get Mesh for this frame
IMesh* frameMesh = AnimatedMesh->getMesh( Node->getFrameNr(), 255, Node->getStartFrame(), Node->getEndFrame() );
IMesh* frameMesh = AnimatedMesh->getMesh( core::floor32(Node->getFrameNr()), 255, Node->getStartFrame(), Node->getEndFrame() );
for(u32 i=0; i<amount; ++i)
{
if( EveryMeshVertex )

View File

@ -994,9 +994,9 @@ inline f32 CQ3LevelMesh::Blend( const f64 s[3], const f64 t[3], const tBSPVertex
void CQ3LevelMesh::S3DVertex2TCoords_64::copyto ( video::S3DVertex2TCoords &dest ) const
{
dest.Pos.X = core::round ( (f32) Pos.X );
dest.Pos.Y = core::round ( (f32) Pos.Y );
dest.Pos.Z = core::round ( (f32) Pos.Z );
dest.Pos.X = core::round_( (f32) Pos.X );
dest.Pos.Y = core::round_( (f32) Pos.Y );
dest.Pos.Z = core::round_( (f32) Pos.Z );
//dest.Pos.X = (f32) Pos.X;
//dest.Pos.Y = (f32) Pos.Y;
//dest.Pos.Z = (f32) Pos.Z;
@ -1058,9 +1058,9 @@ void CQ3LevelMesh::copy ( S3DVertex2TCoords_64 * dest, const tBSPVertex * source
inline void CQ3LevelMesh::copy ( video::S3DVertex2TCoords * dest, const tBSPVertex * source, s32 vertexcolor ) const
{
dest->Pos.X = core::round ( source->vPosition[0] );
dest->Pos.Y = core::round ( source->vPosition[2] );
dest->Pos.Z = core::round ( source->vPosition[1] );
dest->Pos.X = core::round_( source->vPosition[0] );
dest->Pos.Y = core::round_( source->vPosition[2] );
dest->Pos.Z = core::round_( source->vPosition[1] );
//dest->Pos.X = source->vPosition[0];
//dest->Pos.Y = source->vPosition[2];

View File

@ -10,8 +10,6 @@
#include "IAnimatedMeshSceneNode.h"
#include "os.h"
#include <iostream>
namespace irr
{

View File

@ -9,7 +9,7 @@ CppCompiler=-D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DIR
Includes=..\..\include;zlib
Linker=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lglu32 -lopengl32_@@_
Libs=
UnitCount=569
UnitCount=565
Folders=doc,gui_impl,include,include/core,include/gui,include/io,include/scene,include/video,io_impl,other_impl,other_impl/extern,other_impl/extern/jpeglib,other_impl/extern/libpng,other_impl/extern/zlib,scene_impl,video_impl,"video_impl/Burning Video",video_impl/DirectX8,video_impl/DirectX9,video_impl/Null,video_impl/OpenGL,video_impl/Software
ObjFiles=
PrivateResource=
@ -2800,40 +2800,40 @@ OverrideBuildCmd=0
BuildCmd=
[Unit278]
FileName=CXAnimationPlayer.cpp
Folder=scene_impl
Compile=1
FileName=..\..\include\SExposedVideoData.h
CompileCpp=1
Folder=include/video
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit279]
FileName=CXAnimationPlayer.h
Folder=scene_impl
Compile=1
FileName=..\..\include\SKeyMap.h
CompileCpp=1
Folder=include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit280]
FileName=CXFileReader.cpp
Folder=scene_impl
Compile=1
FileName=..\..\include\SMeshBufferTangents.h
CompileCpp=1
Folder=include/video
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit281]
FileName=CXFileReader.h
Folder=scene_impl
Compile=1
FileName=..\..\include\SParticle.h
CompileCpp=1
Folder=include/scene
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
@ -5697,43 +5697,3 @@ Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit566]
FileName=..\..\include\SExposedVideoData.h
CompileCpp=1
Folder=include/video
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit567]
FileName=..\..\include\SKeyMap.h
CompileCpp=1
Folder=include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit568]
FileName=..\..\include\SMeshBufferTangents.h
CompileCpp=1
Folder=include/video
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit569]
FileName=..\..\include\SParticle.h
CompileCpp=1
Folder=include/scene
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=

View File

@ -1590,22 +1590,6 @@ SOURCE=.\CWaterSurfaceSceneNode.h
# End Source File
# Begin Source File
SOURCE=.\CXAnimationPlayer.cpp
# End Source File
# Begin Source File
SOURCE=.\CXAnimationPlayer.h
# End Source File
# Begin Source File
SOURCE=.\CXFileReader.cpp
# End Source File
# Begin Source File
SOURCE=.\CXFileReader.h
# End Source File
# Begin Source File
SOURCE=.\CXMeshFileLoader.cpp
# End Source File
# Begin Source File

View File

@ -1444,18 +1444,6 @@
<File
RelativePath=".\CQ3LevelMesh.h">
</File>
<File
RelativePath="CXAnimationPlayer.cpp">
</File>
<File
RelativePath="CXAnimationPlayer.h">
</File>
<File
RelativePath="CXFileReader.cpp">
</File>
<File
RelativePath="CXFileReader.h">
</File>
<File
RelativePath="CXMeshFileLoader.cpp">
</File>

View File

@ -1835,22 +1835,6 @@
RelativePath=".\CSkinnedMesh.h"
>
</File>
<File
RelativePath="CXAnimationPlayer.cpp"
>
</File>
<File
RelativePath="CXAnimationPlayer.h"
>
</File>
<File
RelativePath="CXFileReader.cpp"
>
</File>
<File
RelativePath="CXFileReader.h"
>
</File>
<File
RelativePath="CXMeshFileLoader.cpp"
>

View File

@ -2393,26 +2393,6 @@
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="CXAnimationPlayer.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
<Unit filename="CXAnimationPlayer.h">
<Option compilerVar="CPP"/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="CXFileReader.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
<Unit filename="CXFileReader.h">
<Option compilerVar="CPP"/>
<Option compile="0"/>
<Option link="0"/>
<Option target="default"/>
</Unit>
<Unit filename="CXMLReader.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>