Commit efc44f9b authored by hybrid's avatar hybrid

More file position data type changes. Also reflecting this in user code.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@954 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 3c066bd4
...@@ -224,7 +224,7 @@ namespace io ...@@ -224,7 +224,7 @@ namespace io
virtual int read(void* buffer, int sizeToRead) = 0; virtual int read(void* buffer, int sizeToRead) = 0;
//! Returns size of file in bytes //! Returns size of file in bytes
virtual int getSize() = 0; virtual long getSize() = 0;
}; };
//! Empty class to be used as parent class for IrrXMLReader. //! Empty class to be used as parent class for IrrXMLReader.
......
...@@ -471,7 +471,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file) ...@@ -471,7 +471,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file)
// read TextureCoords // read TextureCoords
file->seek(header.offsetTexcoords, false); file->seek(header.offsetTexcoords);
SMD2TextureCoordinate* textureCoords = new SMD2TextureCoordinate[header.numTexcoords]; SMD2TextureCoordinate* textureCoords = new SMD2TextureCoordinate[header.numTexcoords];
if (!file->read(textureCoords, sizeof(SMD2TextureCoordinate)*header.numTexcoords)) if (!file->read(textureCoords, sizeof(SMD2TextureCoordinate)*header.numTexcoords))
...@@ -490,7 +490,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file) ...@@ -490,7 +490,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file)
// read Triangles // read Triangles
file->seek(header.offsetTriangles, false); file->seek(header.offsetTriangles);
SMD2Triangle *triangles = new SMD2Triangle[header.numTriangles]; SMD2Triangle *triangles = new SMD2Triangle[header.numTriangles];
if (!file->read(triangles, header.numTriangles *sizeof(SMD2Triangle))) if (!file->read(triangles, header.numTriangles *sizeof(SMD2Triangle)))
...@@ -519,7 +519,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file) ...@@ -519,7 +519,7 @@ bool CAnimatedMeshMD2::loadFile(io::IReadFile* file)
core::array< core::vector3df >* vertices = new core::array< core::vector3df >[header.numFrames]; core::array< core::vector3df >* vertices = new core::array< core::vector3df >[header.numFrames];
core::array< core::vector3df >* normals = new core::array< core::vector3df >[header.numFrames]; core::array< core::vector3df >* normals = new core::array< core::vector3df >[header.numFrames];
file->seek(header.offsetFrames, false); file->seek(header.offsetFrames);
for (i = 0; i<header.numFrames; ++i) for (i = 0; i<header.numFrames; ++i)
{ {
......
...@@ -152,7 +152,7 @@ bool CB3DMeshFileLoader::load() ...@@ -152,7 +152,7 @@ bool CB3DMeshFileLoader::load()
if (!knownChunk) if (!knownChunk)
{ {
os::Printer::log("Unknown chunk found in mesh base - skipping"); os::Printer::log("Unknown chunk found in mesh base - skipping");
file->seek( (B3dStack.getLast().startposition + B3dStack.getLast().length) , false); file->seek(B3dStack.getLast().startposition + B3dStack.getLast().length);
B3dStack.erase(B3dStack.size()-1); B3dStack.erase(B3dStack.size()-1);
} }
} }
...@@ -276,7 +276,7 @@ bool CB3DMeshFileLoader::readChunkNODE(CSkinnedMesh::SJoint *InJoint) ...@@ -276,7 +276,7 @@ bool CB3DMeshFileLoader::readChunkNODE(CSkinnedMesh::SJoint *InJoint)
if (!knownChunk) if (!knownChunk)
{ {
os::Printer::log("Unknown chunk found in node chunk - skipping"); os::Printer::log("Unknown chunk found in node chunk - skipping");
file->seek( (B3dStack.getLast().startposition + B3dStack.getLast().length), false); file->seek(B3dStack.getLast().startposition + B3dStack.getLast().length);
B3dStack.erase(B3dStack.size()-1); B3dStack.erase(B3dStack.size()-1);
} }
} }
...@@ -364,7 +364,7 @@ bool CB3DMeshFileLoader::readChunkMESH(CSkinnedMesh::SJoint *InJoint) ...@@ -364,7 +364,7 @@ bool CB3DMeshFileLoader::readChunkMESH(CSkinnedMesh::SJoint *InJoint)
if (!knownChunk) if (!knownChunk)
{ {
os::Printer::log("Unknown chunk found in mesh - skipping"); os::Printer::log("Unknown chunk found in mesh - skipping");
file->seek( (B3dStack.getLast().startposition + B3dStack.getLast().length) , false); file->seek(B3dStack.getLast().startposition + B3dStack.getLast().length);
B3dStack.erase(B3dStack.size()-1); B3dStack.erase(B3dStack.size()-1);
} }
} }
......
...@@ -279,7 +279,7 @@ void CGUIFileOpenDialog::fillListBox() ...@@ -279,7 +279,7 @@ void CGUIFileOpenDialog::fillListBox()
FileList = FileSystem->createFileList(); FileList = FileSystem->createFileList();
core::stringw s; core::stringw s;
for (s32 i=0; i<FileList->getFileCount(); ++i) for (u32 i=0; i<FileList->getFileCount(); ++i)
{ {
s = FileList->getFileName(i); s = FileList->getFileName(i);
FileBox->addItem(s.c_str(), skin->getIcon(FileList->isDirectory(i) ? EGDI_DIRECTORY : EGDI_FILE)); FileBox->addItem(s.c_str(), skin->getIcon(FileList->isDirectory(i) ? EGDI_DIRECTORY : EGDI_FILE));
...@@ -304,6 +304,7 @@ void CGUIFileOpenDialog::sendSelectedEvent() ...@@ -304,6 +304,7 @@ void CGUIFileOpenDialog::sendSelectedEvent()
Parent->OnEvent(event); Parent->OnEvent(event);
} }
//! sends the event that the file choose process has been canceld //! sends the event that the file choose process has been canceld
void CGUIFileOpenDialog::sendCancelEvent() void CGUIFileOpenDialog::sendCancelEvent()
{ {
...@@ -319,3 +320,4 @@ void CGUIFileOpenDialog::sendCancelEvent() ...@@ -319,3 +320,4 @@ void CGUIFileOpenDialog::sendCancelEvent()
} // end namespace irr } // end namespace irr
#endif // _IRR_COMPILE_WITH_GUI_ #endif // _IRR_COMPILE_WITH_GUI_
...@@ -269,7 +269,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file) ...@@ -269,7 +269,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file)
// read palette // read palette
s32 pos = file->getPos(); long pos = file->getPos();
s32 paletteSize = (header.BitmapDataOffset - pos) / 4; s32 paletteSize = (header.BitmapDataOffset - pos) / 4;
if (paletteSize) if (paletteSize)
...@@ -277,7 +277,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file) ...@@ -277,7 +277,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file)
PaletteData = new s32[paletteSize]; PaletteData = new s32[paletteSize];
file->read(PaletteData, paletteSize * sizeof(s32)); file->read(PaletteData, paletteSize * sizeof(s32));
#ifdef __BIG_ENDIAN__ #ifdef __BIG_ENDIAN__
for (int i=0; i<paletteSize; ++i) for (u32 i=0; i<paletteSize; ++i)
PaletteData[i] = os::Byteswap::byteswap(PaletteData[i]); PaletteData[i] = os::Byteswap::byteswap(PaletteData[i]);
#endif #endif
} }
...@@ -288,7 +288,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file) ...@@ -288,7 +288,7 @@ IImage* CImageLoaderBMP::loadImage(irr::io::IReadFile* file)
{ {
// okay, lets guess the size // okay, lets guess the size
// some tools simply don't set it // some tools simply don't set it
header.BitmapDataSize = file->getSize() - header.BitmapDataOffset; header.BitmapDataSize = static_cast<u32>(file->getSize()) - header.BitmapDataOffset;
} }
file->seek(header.BitmapDataOffset); file->seek(header.BitmapDataOffset);
......
...@@ -95,7 +95,7 @@ IImage* CImageLoaderPCX::loadImage(irr::io::IReadFile* file) ...@@ -95,7 +95,7 @@ IImage* CImageLoaderPCX::loadImage(irr::io::IReadFile* file)
// the palette indicator (usually a 0x0c is found infront of the actual palette data) // the palette indicator (usually a 0x0c is found infront of the actual palette data)
// is ignored because some exporters seem to forget to write it. This would result in // is ignored because some exporters seem to forget to write it. This would result in
// no image loaded before, now only wrong colors will be set. // no image loaded before, now only wrong colors will be set.
s32 pos = file->getPos(); const long pos = file->getPos();
file->seek( file->getSize()-256*3, false ); file->seek( file->getSize()-256*3, false );
u8 *tempPalette = new u8[768]; u8 *tempPalette = new u8[768];
......
...@@ -47,7 +47,7 @@ CLimitReadFile::~CLimitReadFile() ...@@ -47,7 +47,7 @@ CLimitReadFile::~CLimitReadFile()
//! returns how much was read //! returns how much was read
s32 CLimitReadFile::read(void* buffer, u32 sizeToRead) s32 CLimitReadFile::read(void* buffer, u32 sizeToRead)
{ {
long pos = File->getPos(); const long pos = File->getPos();
if (pos >= AreaEnd) if (pos >= AreaEnd)
return 0; return 0;
...@@ -65,7 +65,7 @@ s32 CLimitReadFile::read(void* buffer, u32 sizeToRead) ...@@ -65,7 +65,7 @@ s32 CLimitReadFile::read(void* buffer, u32 sizeToRead)
//! otherwise from begin of file //! otherwise from begin of file
bool CLimitReadFile::seek(long finalPos, bool relativeMovement) bool CLimitReadFile::seek(long finalPos, bool relativeMovement)
{ {
long pos = File->getPos(); const long pos = File->getPos();
if (relativeMovement) if (relativeMovement)
{ {
......
...@@ -144,7 +144,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file) ...@@ -144,7 +144,7 @@ bool CMS3DMeshFileLoader::load(io::IReadFile* file)
return false; return false;
// find file size // find file size
s32 fileSize = file->getSize(); const long fileSize = file->getSize();
// read whole file // read whole file
......
...@@ -498,8 +498,7 @@ IAnimatedMesh* CMY3DMeshFileLoader::createMesh(io::IReadFile* file) ...@@ -498,8 +498,7 @@ IAnimatedMesh* CMY3DMeshFileLoader::createMesh(io::IReadFile* file)
else else
{ {
// skip other texture channels // skip other texture channels
u32 pos = file->getPos(); file->seek(file->getPos()+sizeof(SMyTVertex)*tVertsNum);
file->seek(pos+sizeof(SMyTVertex)*tVertsNum);
} }
// reading texture faces // reading texture faces
...@@ -533,8 +532,7 @@ IAnimatedMesh* CMY3DMeshFileLoader::createMesh(io::IReadFile* file) ...@@ -533,8 +532,7 @@ IAnimatedMesh* CMY3DMeshFileLoader::createMesh(io::IReadFile* file)
else else
{ {
// skip other texture channels // skip other texture channels
u32 pos = file->getPos(); file->seek(file->getPos()+sizeof(SMyFace)*tFacesNum);
file->seek(pos+sizeof(SMyFace)*tFacesNum);
} }
} }
......
...@@ -1530,7 +1530,7 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles( ...@@ -1530,7 +1530,7 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
if (vertexShaderProgram) if (vertexShaderProgram)
{ {
s32 size = vertexShaderProgram->getSize(); const long size = vertexShaderProgram->getSize();
if (size) if (size)
{ {
vs = new c8[size+1]; vs = new c8[size+1];
...@@ -1541,7 +1541,7 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles( ...@@ -1541,7 +1541,7 @@ s32 CNullDriver::addHighLevelShaderMaterialFromFiles(
if (pixelShaderProgram) if (pixelShaderProgram)
{ {
s32 size = pixelShaderProgram->getSize(); const long size = pixelShaderProgram->getSize();
if (size) if (size)
{ {
ps = new c8[size+1]; ps = new c8[size+1];
...@@ -1586,7 +1586,7 @@ s32 CNullDriver::addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram, ...@@ -1586,7 +1586,7 @@ s32 CNullDriver::addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram,
if (vertexShaderProgram) if (vertexShaderProgram)
{ {
s32 size = vertexShaderProgram->getSize(); const long size = vertexShaderProgram->getSize();
if (size) if (size)
{ {
vs = new c8[size+1]; vs = new c8[size+1];
...@@ -1597,7 +1597,7 @@ s32 CNullDriver::addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram, ...@@ -1597,7 +1597,7 @@ s32 CNullDriver::addShaderMaterialFromFiles(io::IReadFile* vertexShaderProgram,
if (pixelShaderProgram) if (pixelShaderProgram)
{ {
s32 size = pixelShaderProgram->getSize(); const long size = pixelShaderProgram->getSize();
if (size) if (size)
{ {
ps = new c8[size+1]; ps = new c8[size+1];
......
...@@ -61,7 +61,7 @@ bool COBJMeshFileLoader::isALoadableFileExtension(const c8* filename) ...@@ -61,7 +61,7 @@ bool COBJMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! See IReferenceCounted::drop() for more information. //! See IReferenceCounted::drop() for more information.
IAnimatedMesh* COBJMeshFileLoader::createMesh(io::IReadFile* file) IAnimatedMesh* COBJMeshFileLoader::createMesh(io::IReadFile* file)
{ {
const u32 filesize = file->getSize(); const long filesize = file->getSize();
if (!filesize) if (!filesize)
return 0; return 0;
...@@ -288,7 +288,7 @@ void COBJMeshFileLoader::readMTL(const c8* pFileName, core::stringc relPath) ...@@ -288,7 +288,7 @@ void COBJMeshFileLoader::readMTL(const c8* pFileName, core::stringc relPath)
if (!pMtlReader) // fail to open and read file if (!pMtlReader) // fail to open and read file
return; return;
const u32 filesize = pMtlReader->getSize(); const long filesize = pMtlReader->getSize();
if (!filesize) if (!filesize)
return; return;
......
...@@ -199,7 +199,7 @@ bool COgreMeshFileLoader::readObjectChunk(io::IReadFile* file, ChunkData& parent ...@@ -199,7 +199,7 @@ bool COgreMeshFileLoader::readObjectChunk(io::IReadFile* file, ChunkData& parent
break; break;
default: default:
parent.read=parent.header.length; parent.read=parent.header.length;
file->seek(-(int)sizeof(ChunkHeader), true); file->seek(-(long)sizeof(ChunkHeader), true);
return true; return true;
} }
parent.read += data.read; parent.read += data.read;
...@@ -353,7 +353,7 @@ bool COgreMeshFileLoader::readSubMesh(io::IReadFile* file, ChunkData& parent, Og ...@@ -353,7 +353,7 @@ bool COgreMeshFileLoader::readSubMesh(io::IReadFile* file, ChunkData& parent, Og
break; break;
default: default:
parent.read=parent.header.length; parent.read=parent.header.length;
file->seek(-(int)sizeof(ChunkHeader), true); file->seek(-(long)sizeof(ChunkHeader), true);
return true; return true;
} }
parent.read += data.read; parent.read += data.read;
......
...@@ -104,7 +104,7 @@ bool CPakReader::scanLocalHeader() ...@@ -104,7 +104,7 @@ bool CPakReader::scanLocalHeader()
File->seek(header.offset); File->seek(header.offset);
int count = header.length / ((sizeof(u32) * 2) + 56); const int count = header.length / ((sizeof(u32) * 2) + 56);
for(int i = 0; i < count; i++) for(int i = 0; i < count; i++)
{ {
......
...@@ -1502,7 +1502,7 @@ const quake3::SShader * CQ3LevelMesh::getShader ( const c8 * filename, s32 fileN ...@@ -1502,7 +1502,7 @@ const quake3::SShader * CQ3LevelMesh::getShader ( const c8 * filename, s32 fileN
// load script // load script
core::array<u8> script; core::array<u8> script;
u32 len = file->getSize (); const long len = file->getSize ();
script.set_used ( len + 2 ); script.set_used ( len + 2 );
script[ len + 1 ] = 0; script[ len + 1 ] = 0;
......
...@@ -232,12 +232,11 @@ namespace scene ...@@ -232,12 +232,11 @@ namespace scene
u32 startTime = os::Timer::getTime(); u32 startTime = os::Timer::getTime();
// get file size // get file size
s32 fileSize = file->getSize(); const long fileSize = file->getSize();
s32 bytesPerPixel = bitsPerPixel / 8; const s32 bytesPerPixel = bitsPerPixel / 8;
s32 heightMapSize = (s32)sqrt( (f64)( fileSize / bytesPerPixel ) );
// Get the dimension of the heightmap data // Get the dimension of the heightmap data
TerrainData.Size = heightMapSize; TerrainData.Size = core::floor32(sqrtf( (f32)( fileSize / bytesPerPixel ) ));
switch( TerrainData.PatchSize ) switch( TerrainData.PatchSize )
{ {
......
...@@ -35,7 +35,7 @@ namespace io ...@@ -35,7 +35,7 @@ namespace io
} }
//! Returns size of file in bytes //! Returns size of file in bytes
virtual int getSize() virtual long getSize()
{ {
return ReadFile->getSize(); return ReadFile->getSize();
} }
......
...@@ -290,7 +290,7 @@ bool CXMeshFileLoader::load(io::IReadFile* file) ...@@ -290,7 +290,7 @@ bool CXMeshFileLoader::load(io::IReadFile* file)
//! Reads file into memory //! Reads file into memory
bool CXMeshFileLoader::readFileIntoMemory(io::IReadFile* file) bool CXMeshFileLoader::readFileIntoMemory(io::IReadFile* file)
{ {
const s32 size = file->getSize(); const long size = file->getSize();
if (size < 12) if (size < 12)
{ {
os::Printer::log("X File is too small.", ELL_WARNING); os::Printer::log("X File is too small.", ELL_WARNING);
......
...@@ -208,8 +208,8 @@ IReadFile* CZipReader::openFile(s32 index) ...@@ -208,8 +208,8 @@ IReadFile* CZipReader::openFile(s32 index)
{ {
#ifdef _IRR_COMPILE_WITH_ZLIB_ #ifdef _IRR_COMPILE_WITH_ZLIB_
u32 uncompressedSize = FileList[index].header.DataDescriptor.UncompressedSize; const u32 uncompressedSize = FileList[index].header.DataDescriptor.UncompressedSize;
u32 compressedSize = FileList[index].header.DataDescriptor.CompressedSize; const u32 compressedSize = FileList[index].header.DataDescriptor.CompressedSize;
void* pBuf = new c8[ uncompressedSize ]; void* pBuf = new c8[ uncompressedSize ];
if (!pBuf) if (!pBuf)
...@@ -262,11 +262,7 @@ IReadFile* CZipReader::openFile(s32 index) ...@@ -262,11 +262,7 @@ IReadFile* CZipReader::openFile(s32 index)
return 0; return 0;
} }
else else
return io::createMemoryReadFile ( pBuf, return io::createMemoryReadFile(pBuf, uncompressedSize, FileList[index].zipFileName.c_str(), true);
uncompressedSize,
FileList[index].zipFileName.c_str(),
true
);
#else #else
return 0; // zlib not compiled, we cannot decompress the data. return 0; // zlib not compiled, we cannot decompress the data.
...@@ -348,7 +344,7 @@ s32 CZipReader::findFile(const c8* simpleFilename) ...@@ -348,7 +344,7 @@ s32 CZipReader::findFile(const c8* simpleFilename)
} }
// ------------------------------------------------------------------------------------------ // -----------------------------------------------------------------------------
#if 1 #if 1
class CUnzipReadFile : public CReadFile class CUnzipReadFile : public CReadFile
...@@ -416,7 +412,7 @@ s32 CUnZipReader::findFile(const c8* filename) ...@@ -416,7 +412,7 @@ s32 CUnZipReader::findFile(const c8* filename)
#else #else
CUnZipReader::CUnZipReader( IFileSystem * parent, const c8* basename, bool ignoreCase, bool ignorePaths) CUnZipReader::CUnZipReader( IFileSystem * parent, const c8* basename, bool ignoreCase, bool ignorePaths)
:CZipReader ( 0, ignoreCase, ignorePaths ), Parent ( parent ) : CZipReader( 0, ignoreCase, ignorePaths ), Parent ( parent )
{ {
strcpy ( Buf, Parent->getWorkingDirectory () ); strcpy ( Buf, Parent->getWorkingDirectory () );
...@@ -429,17 +425,12 @@ CUnZipReader::CUnZipReader( IFileSystem * parent, const c8* basename, bool ignor ...@@ -429,17 +425,12 @@ CUnZipReader::CUnZipReader( IFileSystem * parent, const c8* basename, bool ignor
void CUnZipReader::buildDirectory ( ) void CUnZipReader::buildDirectory ( )
{ {
s32 i; IFileList * list = new CFileList();
s32 size;
const c8 * rel;
IFileList * list;
list = new CFileList ();
SZipFileEntry entry; SZipFileEntry entry;
size = list->getFileCount(); const u32 size = list->getFileCount();
for ( i = 0; i!= size; ++i ) for (u32 i = 0; i!= size; ++i)
{ {
if ( false == list->isDirectory( i ) ) if ( false == list->isDirectory( i ) )
{ {
...@@ -450,22 +441,18 @@ void CUnZipReader::buildDirectory ( ) ...@@ -450,22 +441,18 @@ void CUnZipReader::buildDirectory ( )
} }
else else
{ {
rel = list->getFileName ( i ); const c8 * rel = list->getFileName ( i );
if ( strcmp ( rel, "." ) && if (strcmp( rel, "." ) && strcmp( rel, ".." ))
strcmp ( rel, ".." )
)
{ {
Parent->changeWorkingDirectoryTo ( rel ); Parent->changeWorkingDirectoryTo ( rel );
buildDirectory (); buildDirectory ();
Parent->changeWorkingDirectoryTo ( ".." ); Parent->changeWorkingDirectoryTo ( ".." );
} }
} }
} }
list->drop (); list->drop ();
} }
//! opens a file by file name //! opens a file by file name
...@@ -480,16 +467,14 @@ IReadFile* CUnZipReader::openFile(const c8* filename) ...@@ -480,16 +467,14 @@ IReadFile* CUnZipReader::openFile(const c8* filename)
else else
if ( FileList.size () ) if ( FileList.size () )
{ {
core::stringc search = FileList[0].path + filename; const core::stringc search = FileList[0].path + filename;
index = findFile( search.c_str() ); index = findFile( search.c_str() );
} }
if (index == -1) if (index == -1)
return 0; return 0;
IReadFile *file; return createReadFile(FileList[index].zipFileName.c_str() );
file = createReadFile(FileList[index].zipFileName.c_str() );
return file;
} }
#endif #endif
......
...@@ -54,7 +54,7 @@ public: ...@@ -54,7 +54,7 @@ public:
} }
//! Returns size of file in bytes //! Returns size of file in bytes
virtual int getSize() virtual long getSize()
{ {
return Size; return Size;
} }
...@@ -70,7 +70,7 @@ private: ...@@ -70,7 +70,7 @@ private:
} }
FILE* File; FILE* File;
int Size; long Size;
bool Close; bool Close;
}; // end class CFileReadCallBack }; // end class CFileReadCallBack
......
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