Merge from 1.7 branch, revisions 3535:3557. MS3D optimization and changes update. Skipping date updates which have been made in this repository already.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3558 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
5e4d495dcc
commit
c7d6ea0ecd
56
changes.txt
56
changes.txt
|
@ -245,6 +245,12 @@ The following names can be queried for the given types:
|
||||||
-----------------------------
|
-----------------------------
|
||||||
Changes in 1.7.3 (??.??.2011)
|
Changes in 1.7.3 (??.??.2011)
|
||||||
|
|
||||||
|
- Skip bone weights and additional information in ms3d file if no joint was defined before.
|
||||||
|
|
||||||
|
- Fix mem leak in CImage, found by mloren.
|
||||||
|
|
||||||
|
- Fix tga writing, reported by xirtamatrix
|
||||||
|
|
||||||
- Tab-positions care now about the borders correctly
|
- Tab-positions care now about the borders correctly
|
||||||
|
|
||||||
- TabControl now respositions it's tabs when setTabVerticalAlignment is changed (thx @ ceyron for reporting+testcase)
|
- TabControl now respositions it's tabs when setTabVerticalAlignment is changed (thx @ ceyron for reporting+testcase)
|
||||||
|
@ -255,8 +261,26 @@ Changes in 1.7.3 (??.??.2011)
|
||||||
|
|
||||||
- Fix crash in multiline-editbox when selecting with mouse (thx @ ceyron for reporting and testcase)
|
- Fix crash in multiline-editbox when selecting with mouse (thx @ ceyron for reporting and testcase)
|
||||||
|
|
||||||
|
- Fix render context creation for OpenGL under Windows.
|
||||||
|
|
||||||
|
- Fix the reset problem of d3d9 driver in combination with hardware buffers.
|
||||||
|
|
||||||
|
- Fix .x loader in case of unused vertices.
|
||||||
|
|
||||||
|
- Avoid empty line in texts with very large words. Text wrapping would introduce an empty line in earlier versions.
|
||||||
|
|
||||||
|
- Add a new attribute which assigns hw mapping hint to the whole Mesh.
|
||||||
|
|
||||||
|
- Allow creation of water scene node without mesh.
|
||||||
|
|
||||||
|
- Fix regeneration of skydome.
|
||||||
|
|
||||||
|
- Fix scene node type and factory support for volume light
|
||||||
|
|
||||||
- Q3 maps no longer crash when faces try accessing lightmaps which are not mentioned to be loaded in the file.
|
- Q3 maps no longer crash when faces try accessing lightmaps which are not mentioned to be loaded in the file.
|
||||||
|
|
||||||
|
- Fix crash on null-readfile in texture loading
|
||||||
|
|
||||||
- Get particles saved before 1.7.2 (for example in irrEdit) working again (thx to smashly for problem reporting)
|
- Get particles saved before 1.7.2 (for example in irrEdit) working again (thx to smashly for problem reporting)
|
||||||
|
|
||||||
- Fix IGUIScrollBar setMax and setMin which had been restricted wrongly (reported by REDDemon)
|
- Fix IGUIScrollBar setMax and setMin which had been restricted wrongly (reported by REDDemon)
|
||||||
|
@ -270,8 +294,20 @@ Changes in 1.7.3 (??.??.2011)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
Changes in 1.7.2 (15.11.2010)
|
Changes in 1.7.2 (15.11.2010)
|
||||||
|
|
||||||
|
- Fix in d3d9 driver, which caused a crash when device creation failed. Bug found and fixed by Kostya
|
||||||
|
|
||||||
|
- Fix a wrong access to Value instead of ValueW. Found and fixed by vroad.
|
||||||
|
|
||||||
|
- Fix line loop rendering in d3d drivers. Fix submitted by tonic.
|
||||||
|
|
||||||
|
- Fix tar recognition in tar reader.
|
||||||
|
|
||||||
- Fix blend mode setup in OpenGL driver, when using the material2d override, as pointed out by Auria
|
- Fix blend mode setup in OpenGL driver, when using the material2d override, as pointed out by Auria
|
||||||
|
|
||||||
|
- Avoid crash due to tcoords2 handling. Might need some more fixing to work correctly.
|
||||||
|
|
||||||
|
- Fix 2d line intersections. Has had problems with consecutive, but non-overlapping line segments and with overlapping line segments.
|
||||||
|
|
||||||
- Fix image creation from texture, found by dataslayer
|
- Fix image creation from texture, found by dataslayer
|
||||||
|
|
||||||
- Fix crashes when taking Screenhots for DirectX in Windowed mode (thx to agamemnus for reporting)
|
- Fix crashes when taking Screenhots for DirectX in Windowed mode (thx to agamemnus for reporting)
|
||||||
|
@ -283,10 +319,10 @@ Changes in 1.7.2 (15.11.2010)
|
||||||
|
|
||||||
- Fix CXMLReaderImpl::getAttributeValueAsInt which returned wrong values with large integers (thx to squisher for finding)
|
- Fix CXMLReaderImpl::getAttributeValueAsInt which returned wrong values with large integers (thx to squisher for finding)
|
||||||
|
|
||||||
- Add EGET_TREEVIEW_NODE_COLLAPSE and deprecate EGET_TREEVIEW_NODE_COLLAPS (found by greenya)
|
|
||||||
|
|
||||||
- Fix compile problem in swap when using irrlicht in combination with stl (backport from trunk r3281)
|
- Fix compile problem in swap when using irrlicht in combination with stl (backport from trunk r3281)
|
||||||
|
|
||||||
|
- Add EGET_TREEVIEW_NODE_COLLAPSE and deprecate EGET_TREEVIEW_NODE_COLLAPS (found by greenya)
|
||||||
|
|
||||||
- Fix serialization in CParticleSystemSceneNode (found by B@z)
|
- Fix serialization in CParticleSystemSceneNode (found by B@z)
|
||||||
|
|
||||||
- Prevent crash in BillboardTextSceneNode when a custom font is used. Found and fixed by Nalin (bugtracker id: 3020487)
|
- Prevent crash in BillboardTextSceneNode when a custom font is used. Found and fixed by Nalin (bugtracker id: 3020487)
|
||||||
|
@ -313,6 +349,8 @@ Changes in 1.7.2 (15.11.2010)
|
||||||
|
|
||||||
- Add EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH and deprecated EGDS_MESSAGE_BOX_MAX_TEST_WIDTH (thx to greenya for reporting).
|
- Add EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH and deprecated EGDS_MESSAGE_BOX_MAX_TEST_WIDTH (thx to greenya for reporting).
|
||||||
|
|
||||||
|
- Fix colors in irr files.
|
||||||
|
|
||||||
- Fix several places where "used" in core::string was used wrongly preventing some memory corruption
|
- Fix several places where "used" in core::string was used wrongly preventing some memory corruption
|
||||||
|
|
||||||
- Remove additional slash in pathnames in X-Loader
|
- Remove additional slash in pathnames in X-Loader
|
||||||
|
@ -323,6 +361,20 @@ Changes in 1.7.2 (15.11.2010)
|
||||||
|
|
||||||
- Fix arrowMesh boundingbox.
|
- Fix arrowMesh boundingbox.
|
||||||
|
|
||||||
|
- Fix rounding problem in getInterpolated in the color classes
|
||||||
|
|
||||||
|
- Scrollbar in GUIListbox now uses default id -1 instead of 0
|
||||||
|
|
||||||
|
- Fix octree clipping issues.
|
||||||
|
|
||||||
|
- Fix obj loader.
|
||||||
|
|
||||||
|
- clone function fixes.
|
||||||
|
|
||||||
|
- Fix tooltips.
|
||||||
|
|
||||||
|
- Fix Ogre parser.
|
||||||
|
|
||||||
-----------------------------
|
-----------------------------
|
||||||
Changes in 1.7.1 (17.02.2010)
|
Changes in 1.7.1 (17.02.2010)
|
||||||
|
|
||||||
|
|
|
@ -327,7 +327,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// skip materials
|
// load materials
|
||||||
u16 numMaterials = *(u16*)pPtr;
|
u16 numMaterials = *(u16*)pPtr;
|
||||||
#ifdef __BIG_ENDIAN__
|
#ifdef __BIG_ENDIAN__
|
||||||
numMaterials = os::Byteswap::byteswap(numMaterials);
|
numMaterials = os::Byteswap::byteswap(numMaterials);
|
||||||
|
@ -337,9 +337,6 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
#endif
|
#endif
|
||||||
pPtr += sizeof(u16);
|
pPtr += sizeof(u16);
|
||||||
|
|
||||||
// MS3DMaterial *materials = (MS3DMaterial*)pPtr;
|
|
||||||
// pPtr += sizeof(MS3DMaterial) * numMaterials;
|
|
||||||
|
|
||||||
if(numMaterials == 0)
|
if(numMaterials == 0)
|
||||||
{
|
{
|
||||||
// if there are no materials, add at least one buffer
|
// if there are no materials, add at least one buffer
|
||||||
|
@ -383,16 +380,15 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
if (TexturePath.trim()!="")
|
if (TexturePath.trim()!="")
|
||||||
{
|
{
|
||||||
TexturePath=stripPathFromString(file->getFileName(),true) + stripPathFromString(TexturePath,false);
|
TexturePath=stripPathFromString(file->getFileName(),true) + stripPathFromString(TexturePath,false);
|
||||||
tmpBuffer->Material.setTexture(0, Driver->getTexture(TexturePath) );
|
tmpBuffer->Material.setTexture(0, Driver->getTexture(TexturePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
core::stringc AlphamapPath=(const c8*)material->Alphamap;
|
core::stringc AlphamapPath=(const c8*)material->Alphamap;
|
||||||
if (AlphamapPath.trim()!="")
|
if (AlphamapPath.trim()!="")
|
||||||
{
|
{
|
||||||
AlphamapPath=stripPathFromString(file->getFileName(),true) + stripPathFromString(AlphamapPath,false);
|
AlphamapPath=stripPathFromString(file->getFileName(),true) + stripPathFromString(AlphamapPath,false);
|
||||||
tmpBuffer->Material.setTexture(2, Driver->getTexture(AlphamapPath) );
|
tmpBuffer->Material.setTexture(2, Driver->getTexture(AlphamapPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// animation time
|
// animation time
|
||||||
|
@ -408,7 +404,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
if (framesPerSecond<1.f)
|
if (framesPerSecond<1.f)
|
||||||
framesPerSecond=1.f;
|
framesPerSecond=1.f;
|
||||||
|
|
||||||
// calculated inside SkinnedMesh
|
// ignore, calculated inside SkinnedMesh
|
||||||
// s32 frameCount = *(int*)pPtr;
|
// s32 frameCount = *(int*)pPtr;
|
||||||
#ifdef __BIG_ENDIAN__
|
#ifdef __BIG_ENDIAN__
|
||||||
// frameCount = os::Byteswap::byteswap(frameCount);
|
// frameCount = os::Byteswap::byteswap(frameCount);
|
||||||
|
@ -550,7 +546,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
core::array<MS3DVertexWeights> vertexWeights;
|
core::array<MS3DVertexWeights> vertexWeights;
|
||||||
f32 weightFactor=0;
|
f32 weightFactor=0;
|
||||||
|
|
||||||
if ((pHeader->Version == 4) && (pPtr < buffer+fileSize))
|
if (jointCount && (pHeader->Version == 4) && (pPtr < buffer+fileSize))
|
||||||
{
|
{
|
||||||
s32 subVersion = *(s32*)pPtr; // comment subVersion, always 1
|
s32 subVersion = *(s32*)pPtr; // comment subVersion, always 1
|
||||||
#ifdef __BIG_ENDIAN__
|
#ifdef __BIG_ENDIAN__
|
||||||
|
@ -729,7 +725,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
|
||||||
w->vertex_id = index;
|
w->vertex_id = index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // new weights from 1.8.x
|
else if (jointCount) // new weights from 1.8.x
|
||||||
{
|
{
|
||||||
f32 sum = 1.0f;
|
f32 sum = 1.0f;
|
||||||
s32 boneid = vertices[vertidx].BoneID;
|
s32 boneid = vertices[vertidx].BoneID;
|
||||||
|
|
Loading…
Reference in New Issue