//-----------------------------------------------------------------------
void PagingLandScapeTexture_InstantBaseTextureEdit::_unloadMaterial()
{
    assert (!mMaterial.isNull() && "PagingLandScapeTexture_InstantBaseTextureEdit::::_unloadMaterial");
    if (mIsModified)
    {
        const String fname = PagingLandScapeOptions::getSingleton().landscape_filename +
                             ".Base." +
                             StringConverter::toString(mDataZ) +
                             String(".") +
                             StringConverter::toString(mDataX) + ".";
        const String extname = PagingLandScapeOptions::getSingleton().TextureExtension;


        FileInfoListPtr finfo =  ResourceGroupManager::getSingleton().findResourceFileInfo (
                                     PagingLandScapeOptions::getSingleton().groupName,
                                     fname + extname);
        FileInfoList::iterator it = finfo->begin();

        if (it != finfo->end())
        {
            //FileInfo *inf = &(*it);
            char *olddir = ChangeToDir (const_cast< char * > (((it)->archive->getName()).c_str()));
            //FileSystemArchive::pushDirectory()
            mImage.save(fname + "modif." + extname);
            //FileSystemArchive::pushDirectory();
            RetablishDir (olddir);
        }
    }
    // Anyway, they're surely null already, as they're freed by delete page()
    mBuffer.setNull ();
    mTexture.setNull ();
    mImage.loadDynamicImage (0, 0, 0, PF_BYTE_RGB);
    mBaseData = 0;
}
    //-----------------------------------------------------------------------
    void PagingLandScapeData2D_HeightFieldTC::_save()
    {
      
            const Real scale = 1.0f  / mParent->getOptions()->scale.y;
           
            uchar *img = mImage->getData();
            unsigned int j = 0;
            for (unsigned int i = 0; i < mMax - 1;  i ++)
            {
                img[ i ] =  uchar (_encodeTC(mHeightData[j++]) * scale);               
            }
            const String fname = mParent->getOptions()->LandScape_filename + "." +
                                    StringConverter::toString(mPageZ) + "." +
			                        StringConverter::toString(mPageX) + ".";
            const String extname = mParent->getOptions()->LandScape_extension;


            FileInfoListPtr finfo =  ResourceGroupManager::getSingleton().findResourceFileInfo (
                    mParent->getOptions()->groupName, 
                    fname + extname);
            FileInfoList::iterator it = finfo->begin();
            if (it != finfo->end())
            {
                //FileInfo *inf = &(*it);
                char *olddir = ChangeToDir (const_cast< char * > (((it)->archive->getName()).c_str()));
                //FileSystemArchive::pushDirectory()
                mImage->save (fname + "modif." + extname);
                //FileSystemArchive::pushDirectory();
                RetablishDir (olddir);
            }
        
    }