From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a03517.html | 2423 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2423 insertions(+) create mode 100644 docs/doxygen/nel/a03517.html (limited to 'docs/doxygen/nel/a03517.html') diff --git a/docs/doxygen/nel/a03517.html b/docs/doxygen/nel/a03517.html new file mode 100644 index 00000000..e3a02ddb --- /dev/null +++ b/docs/doxygen/nel/a03517.html @@ -0,0 +1,2423 @@ + + +NeL: NL3D::CTileBank class Reference + + + +
+

NL3D::CTileBank Class Reference

#include <tile_bank.h> +

+


Detailed Description

+This class manage tile texture. It can load banktile description file (*.bank), and then gives access to land infos.
Author:
Cyril Corvazier

+Nevrax France

+
Date:
2000
+ +

+ +

+Definition at line 494 of file tile_bank.h. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

enum  TTileType { _128x128 = 0, +_256x256, +transition, +undefined + }

Public Member Functions

sint addLand (const std::string &name)
sint addTileSet (const std::string &name)
void cleanUnusedData ()
void clear ()
void computeXRef ()
 CTileBank ()
const std::string & getAbsPath () const
uint getDisplacementMap (const std::string &fileName)
const char * getDisplacementMap (uint noiseMap)
uint getDisplacementMapCount () const
CTileLandgetLand (int landIndex)
const CTileLandgetLand (int landIndex) const
sint getLandCount () const
sint getNumBitmap (CTile::TBitmap bitmap) const
CTilegetTile (int tileIndex)
const CTilegetTile (int tileIndex) const
sint getTileCount () const
CTileSetgetTileSet (int tileIndex)
const CTileSetgetTileSet (int tileIndex) const
sint getTileSetCount () const
void getTileXRef (int tile, int &tileSet, int &number, TTileType &type) const
void makeAllExtensionDDS ()
 This method change ".tga" of texture filename, to ".dds". Do this only for Additive and Diffuse part (not alpha).

void makeAllPathRelative ()
void postfixTileFilename (const char *filename)
 Postfix tile filename.

void postfixTileVegetableDesc (const char *filename)
 Postfix tile vegetable desc.

void removeDisplacementMap (uint mapId)
void removeLand (sint landIndex)
void removeTileSet (sint landIndex)
void serial (class NLMISC::IStream &f) throw (NLMISC::EStream)
void setAbsPath (const std::string &newPath)
void setDisplacementMap (uint noiseMap, const char *newName)
void xchgTileset (sint first, sint second)
Vegetable
CTileNoiseMapgetTileNoiseMap (uint tileNumber, uint tileSubNoise)
const CTileVegetableDescgetTileVegetableDesc (uint tileNumber) const
void initTileVegetableDescs (CVegetableManager *vegetableManager)
void loadTileVegetableDescs ()

Private Member Functions

sint createTile ()
void freeTile (int tileIndex)

Private Attributes

std::string _AbsPath
std::vector< CTileNoise_DisplacementMap
std::vector< CTileLand_LandVector
std::vector< CTileSet_TileSetVector
std::vector< CTile_TileVector
std::vector< CTileXRef_TileXRef

Static Private Attributes

const sint _Version = 4

Friends

class CTileSet
+


Member Enumeration Documentation

+

+ + + + +
+ + +
enum NL3D::CTileBank::TTileType +
+
+ + + + + +
+   + + +

+

Enumeration values:
+ + + + + +
_128x128  +
_256x256  +
transition  +
undefined  +
+
+ +

+Definition at line 498 of file tile_bank.h. +

+

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + +
NL3D::CTileBank::CTileBank  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 90 of file tile_bank.cpp. +

+References _DisplacementMap. +

+

00091 {
+00092         // Default _DisplacementMap
+00093         _DisplacementMap.resize (1);
+00094 
+00095         // Fill it with 0
+00096         _DisplacementMap[0].setEmpty ();
+00097 }
+
+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
sint NL3D::CTileBank::addLand const std::string &  name  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 172 of file tile_bank.cpp. +

+References _LandVector, and sint. +

+

00173 {
+00174         sint last=_LandVector.size();
+00175         _LandVector.push_back(CTileLand());
+00176         _LandVector[last].setName (name);
+00177         return last;
+00178 }
+
+

+ + + + +
+ + + + + + + + + + +
sint NL3D::CTileBank::addTileSet const std::string &  name  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 189 of file tile_bank.cpp. +

+References _TileSetVector, createTile(), CTileSet, and sint. +

+

00190 {
+00191         sint last=_TileSetVector.size();
+00192         _TileSetVector.push_back(CTileSet());
+00193         _TileSetVector[last].setName (name);
+00194         for (int i=0; i<CTileSet::count; i++)
+00195         {
+00196                 _TileSetVector[last]._TileTransition[i]._Tile=createTile ();
+00197         }
+00198         return last;
+00199 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::cleanUnusedData  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 429 of file tile_bank.cpp. +

+References _LandVector, _TileSetVector, and uint. +

+

00430 {
+00431         // Clean each tileset
+00432         for (uint i=0; i<_TileSetVector.size(); i++)
+00433         {
+00434                 // Clean the tileset
+00435                 _TileSetVector[i].cleanUnusedData ();
+00436         }
+00437 
+00438         // Clear the land vector
+00439         _LandVector.clear();
+00440 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::clear  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 216 of file tile_bank.cpp. +

+References _AbsPath, _DisplacementMap, _LandVector, _TileSetVector, _TileVector, and _TileXRef. +

+Referenced by NL3D::CLandscapeUser::loadBankFiles(). +

+

00217 {
+00218         _LandVector.clear ();
+00219         _TileSetVector.clear ();
+00220         _TileVector.clear ();
+00221         _TileXRef.clear ();
+00222         _DisplacementMap.clear ();
+00223         _AbsPath.clear ();
+00224 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::computeXRef  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 288 of file tile_bank.cpp. +

+References _128x128, _256x256, _TileSetVector, _TileVector, _TileXRef, NL3D::CTileSet::getNumTile128(), NL3D::CTileSet::getNumTile256(), NL3D::CTileSetTransition::getTile(), NL3D::CTileSet::getTile128(), NL3D::CTileSet::getTile256(), getTileSet(), NL3D::CTileSet::getTransition(), index, s, sint, t, and transition. +

+

00289 {
+00290         // Resize
+00291         _TileXRef.resize (_TileVector.size());
+00292 
+00293         // Erase number of the tileset in xref
+00294         for (int tile=0; tile<(sint)_TileVector.size(); tile++)
+00295                 _TileXRef[tile]._XRefTileSet=-1;
+00296 
+00297         // Erase number of the tileset in xref
+00298         for (int s=0; s<(sint)_TileSetVector.size(); s++)
+00299         {
+00300                 int t;
+00301                 CTileSet *tileSet=getTileSet (s);
+00302                 for (t=0; t<tileSet->getNumTile128(); t++)
+00303                 {
+00304                         int index=tileSet->getTile128 (t);
+00305                         _TileXRef[index]._XRefTileSet=s;
+00306                         _TileXRef[index]._XRefTileNumber=t;
+00307                         _TileXRef[index]._XRefTileType=_128x128;
+00308                 }
+00309                 for (t=0; t<tileSet->getNumTile256(); t++)
+00310                 {
+00311                         int index=tileSet->getTile256 (t);
+00312                         _TileXRef[index]._XRefTileSet=s;
+00313                         _TileXRef[index]._XRefTileNumber=t;
+00314                         _TileXRef[index]._XRefTileType=_256x256;
+00315                 }
+00316                 for (t=0; t<CTileSet::count; t++)
+00317                 {
+00318                         int index=tileSet->getTransition (t)->getTile();
+00319                         _TileXRef[index]._XRefTileSet=s;
+00320                         _TileXRef[index]._XRefTileNumber=t;
+00321                         _TileXRef[index]._XRefTileType=transition;
+00322                 }
+00323         }
+00324 }
+
+

+ + + + +
+ + + + + + + + + +
sint NL3D::CTileBank::createTile  )  [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 226 of file tile_bank.cpp. +

+References _TileVector, and sint. +

+Referenced by NL3D::CTileSet::addTile128(), NL3D::CTileSet::addTile256(), and addTileSet(). +

+

00227 {
+00228         // Look for a free tile
+00229         for (int i=0; i<(sint)_TileVector.size(); i++)
+00230         {
+00231                 if (_TileVector[i].isFree())
+00232                 {
+00233                         _TileVector[i].setFileName (CTile::diffuse, "");
+00234                         _TileVector[i].setFileName (CTile::additive, "");
+00235                         _TileVector[i].setFileName (CTile::alpha, "");
+00236                         return i;
+00237                 }
+00238         }
+00239 
+00240         // Nothing free, add a tile at the end
+00241         _TileVector.push_back (CTile());
+00242         _TileVector[_TileVector.size()-1].setFileName (CTile::diffuse, "");
+00243         _TileVector[_TileVector.size()-1].setFileName (CTile::additive, "");
+00244         _TileVector[_TileVector.size()-1].setFileName (CTile::alpha, "");
+00245         return _TileVector.size()-1;
+00246 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::freeTile int  tileIndex  )  [private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 248 of file tile_bank.cpp. +

+References _TileVector, nlassert, and sint. +

+Referenced by NL3D::CTileSet::removeTile128(), NL3D::CTileSet::removeTile256(), and removeTileSet(). +

+

00249 {
+00250         // Check args
+00251         nlassert (tileIndex>=0);
+00252         nlassert (tileIndex<(sint)_TileVector.size());
+00253 
+00254         // Free
+00255         _TileVector[tileIndex].free();
+00256 
+00257         // Resize tile table
+00258         int i;
+00259         for (i=(sint)_TileVector.size()-1; i>=0; i--)
+00260         {
+00261                 if (!_TileVector[i].isFree ())
+00262                         break;
+00263         }
+00264         if (i<(sint)_TileVector.size()-1)
+00265                 _TileVector.resize (i+1);
+00266 }
+
+

+ + + + +
+ + + + + + + + + +
const std::string& NL3D::CTileBank::getAbsPath  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 619 of file tile_bank.h. +

+References _AbsPath. +

+Referenced by getTileNoiseMap(), and NL3D::CLandscape::loadTile(). +

+

00620         {
+00621                 return _AbsPath;
+00622         }
+
+

+ + + + +
+ + + + + + + + + + +
uint NL3D::CTileBank::getDisplacementMap const std::string &  fileName  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 597 of file tile_bank.cpp. +

+References _DisplacementMap, NLMISC::strlwr(), and uint. +

+

00598 {
+00599         // Lower string
+00600         string lower=fileName;
+00601         lower=strlwr (lower);
+00602 
+00603         // Look for this texture filename
+00604         uint noiseTile;
+00605         for (noiseTile=0; noiseTile<_DisplacementMap.size(); noiseTile++)
+00606         {
+00607                 // Same name ?
+00608                 if (lower==_DisplacementMap[noiseTile]._FileName)
+00609                         return noiseTile;
+00610         }
+00611 
+00612         // Look for a free space
+00613         for (noiseTile=0; noiseTile<_DisplacementMap.size(); noiseTile++)
+00614         {
+00615                 // Same name ?
+00616                 if (_DisplacementMap[noiseTile]._FileName=="")
+00617                         break;
+00618         }
+00619         if (noiseTile==_DisplacementMap.size())
+00620         {
+00621                 // Add a tile
+00622                 _DisplacementMap.resize (noiseTile+1);
+00623         }
+00624 
+00625         // Set the file name
+00626         _DisplacementMap[noiseTile]._FileName=lower;
+00627 
+00628         return noiseTile;
+00629 }
+
+

+ + + + +
+ + + + + + + + + + +
const char * NL3D::CTileBank::getDisplacementMap uint  noiseMap  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 631 of file tile_bank.cpp. +

+References _DisplacementMap, and uint. +

+Referenced by NL3D::CTileSet::setDisplacement(). +

+

00632 {
+00633         return _DisplacementMap[noiseMap]._FileName.c_str();
+00634 }
+
+

+ + + + +
+ + + + + + + + + +
uint NL3D::CTileBank::getDisplacementMapCount  )  const
+
+ + + + + +
+   + + +

+ +

+Definition at line 641 of file tile_bank.cpp. +

+References _DisplacementMap, and uint. +

+

00642 {
+00643         return _DisplacementMap.size();
+00644 }
+
+

+ + + + +
+ + + + + + + + + + +
CTileLand* NL3D::CTileBank::getLand int  landIndex  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 512 of file tile_bank.h. +

+References _LandVector. +

+

00513         { 
+00514                 return &_LandVector[landIndex]; 
+00515         };
+
+

+ + + + +
+ + + + + + + + + + +
const CTileLand* NL3D::CTileBank::getLand int  landIndex  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 508 of file tile_bank.h. +

+References _LandVector. +

+

00509         { 
+00510                 return &_LandVector[landIndex]; 
+00511         };
+
+

+ + + + +
+ + + + + + + + + +
sint NL3D::CTileBank::getLandCount  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 504 of file tile_bank.h. +

+References _LandVector, and sint. +

+

00505         { 
+00506                 return _LandVector.size(); 
+00507         };
+
+

+ + + + +
+ + + + + + + + + + +
sint NL3D::CTileBank::getNumBitmap CTile::TBitmap  bitmap  )  const
+
+ + + + + +
+   + + +

+ +

+Definition at line 268 of file tile_bank.cpp. +

+References _TileVector, sint, and NLMISC::strlwr(). +

+

00269 {
+00270         std::set<std::string> setString;
+00271         for (int i=0; i<(sint)_TileVector.size(); i++)
+00272         {
+00273                 if (!_TileVector[i].isFree())
+00274                 {
+00275                         const std::string &str=_TileVector[i].getRelativeFileName (bitmap);
+00276                         if (str!="")
+00277                         {
+00278                                 std::vector<char> vect (str.length()+1);
+00279                                 memcpy (&*vect.begin(), str.c_str(), str.length()+1);
+00280                                 NLMISC::strlwr (&*vect.begin());
+00281                                 setString.insert (std::string (&*vect.begin()));
+00282                         }
+00283                 }
+00284         }
+00285         return setString.size();
+00286 }
+
+

+ + + + +
+ + + + + + + + + + +
CTile* NL3D::CTileBank::getTile int  tileIndex  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 536 of file tile_bank.h. +

+References _TileVector. +

+

00537         { 
+00538                 return &_TileVector[tileIndex]; 
+00539         };
+
+

+ + + + +
+ + + + + + + + + + +
const CTile* NL3D::CTileBank::getTile int  tileIndex  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 532 of file tile_bank.h. +

+References _TileVector. +

+Referenced by NL3D::CTileSet::clearTile128(), NL3D::CTileSet::clearTile256(), NL3D::CTileSet::clearTransition(), NL3D::CTileSet::deleteBordersIfLast(), NL3D::CLandscape::loadTile(), NL3D::CTileSet::setTile128(), NL3D::CTileSet::setTile256(), NL3D::CTileSet::setTileTransition(), and NL3D::CTileSet::setTileTransitionAlpha(). +

+

00533         { 
+00534                 return &_TileVector[tileIndex]; 
+00535         };
+
+

+ + + + +
+ + + + + + + + + +
sint NL3D::CTileBank::getTileCount  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 528 of file tile_bank.h. +

+References _TileVector, and sint. +

+Referenced by NL3D::CPatchInfo::getTileSymmetryRotate(), NL3D::CLandscape::initTileBanks(), NL3D::CLandscape::loadTile(), NL3D::CZoneSymmetrisation::propagateTileState(), and NL3D::CPatchInfo::transformTile(). +

+

00529         { 
+00530                 return _TileVector.size(); 
+00531         };
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
CTileNoiseMap * NL3D::CTileBank::getTileNoiseMap uint  tileNumber,
uint  tileSubNoise
+
+ + + + + +
+   + + +

+Return the tilenoisemap pointer for this tile and subnoise tile +

+Definition at line 442 of file tile_bank.cpp. +

+References _DisplacementMap, NL3D::CTileNoise::_FileName, NL3D::CTileNoise::_TileNoiseMap, _TileSetVector, _TileVector, _TileXRef, NLMISC::CBitmap::convertToType(), NL3D::ITexture::generate(), getAbsPath(), NLMISC::CBitmap::getHeight(), NLMISC::CBitmap::getPixels(), NLMISC::CBitmap::getWidth(), NLMISC::CBitmap::loadGrayscaleAsAlpha(), NL3D_TILE_NOISE_MAP_SIZE, nlassert, nlwarning, NL3D::CTileNoiseMap::Pixels, sint8, uint, and uint8. +

+Referenced by NL3D::CPatch::computeDisplaceRawInteger(). +

+

00443 {
+00444         if (_DisplacementMap.size() == 0)
+00445         {
+00446                 // it happens when serial a tile bank with version < 4
+00447                 return NULL;
+00448         }
+00449 
+00450         // Check tile number..
+00451         if (tileNumber<_TileVector.size())
+00452         {
+00453                 // Get tileset number
+00454                 uint tileSet=_TileXRef[tileNumber]._XRefTileSet;
+00455 
+00456                 // Checks
+00457                 if (tileSet<_TileSetVector.size())
+00458                 {
+00459                         nlassert (tileSubNoise<CTileSet::CountDisplace);
+00460                         //nlassert (_TileSetVector[tileSet]._DisplacementBitmap[tileSubNoise]<_DisplacementMap.size());
+00461 
+00462                         if (_TileSetVector[tileSet]._DisplacementBitmap[tileSubNoise]>=_DisplacementMap.size())
+00463                                 return NULL;
+00464 
+00465                         // Return the tile noise map
+00466                         CTileNoise &tileNoise=_DisplacementMap[_TileSetVector[tileSet]._DisplacementBitmap[tileSubNoise]];
+00467 
+00468                         // Not loaded ?
+00469                         if (tileNoise._TileNoiseMap==NULL)
+00470                         {
+00471                                 // Load a bitmap
+00472                                 CTextureFile texture (getAbsPath()+tileNoise._FileName);
+00473                                 texture.loadGrayscaleAsAlpha (false);
+00474                                 texture.generate ();
+00475                                 texture.convertToType (CBitmap::Luminance);
+00476 
+00477                                 // Alloc
+00478                                 tileNoise._TileNoiseMap=new CTileNoiseMap;
+00479 
+00480                                 // Good size ?
+00481                                 if ((texture.getWidth ()==NL3D_TILE_NOISE_MAP_SIZE)&&(texture.getHeight()==NL3D_TILE_NOISE_MAP_SIZE))
+00482                                 {
+00483                                         // Copy
+00484                                         memcpy (tileNoise._TileNoiseMap->Pixels, &texture.getPixels()[0], NL3D_TILE_NOISE_MAP_SIZE*NL3D_TILE_NOISE_MAP_SIZE);
+00485 
+00486                                         // Remap lumels
+00487                                         for (uint i=0; i<NL3D_TILE_NOISE_MAP_SIZE*NL3D_TILE_NOISE_MAP_SIZE; i++)
+00488                                         {
+00489                                                 tileNoise._TileNoiseMap->Pixels[i]=(sint8)((uint8)tileNoise._TileNoiseMap->Pixels[i]-128);
+00490                                                 if (tileNoise._TileNoiseMap->Pixels[i]==-128)
+00491                                                         tileNoise._TileNoiseMap->Pixels[i]=-127;
+00492                                         }
+00493                                 }
+00494                                 else
+00495                                 {
+00496                                         // This is not a normal behaviour.
+00497                                         string  pathname= getAbsPath()+tileNoise._FileName;
+00498                                         if( texture.getWidth ()==0 || texture.getHeight ()==0 )
+00499                                                 nlwarning("TileNoiseMap not found: %s.", pathname.c_str());
+00500                                         else
+00501                                                 nlwarning("Bad TileNoiseMap size: %s.", pathname.c_str());
+00502 
+00503                                         // Not good size, copy a static map
+00504                                         sint8 notGoodSizeForm[NL3D_TILE_NOISE_MAP_SIZE*NL3D_TILE_NOISE_MAP_SIZE]=
+00505                                         {
+00506                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00507                                                 00, 99, 99, 99, 99, 99, 99, 99, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00508                                                 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00509                                                 00, 99, 00, 99, 99, 99, 99, 99, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00510                                                 00, 99, 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00511                                                 00, 99, 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00512                                                 00, 99, 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00513                                                 00, 99, 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00514                                                 00, 99, 00, 99, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00515                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00516                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00517                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00518                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00519                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00520                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00521                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00522                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00523                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00524                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00525                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00526                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00527                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00528                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00,
+00529                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 99, 00,
+00530                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 99, 00,
+00531                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 99, 00,
+00532                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 99, 00,
+00533                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00, 99, 00,
+00534                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 99, 99, 99, 99, 99, 00, 99, 00,
+00535                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 00,
+00536                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 99, 99, 99, 99, 99, 99, 99, 99, 00,
+00537                                                 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00
+00538                                         };
+00539 
+00540                                         // Copy
+00541                                         memcpy (tileNoise._TileNoiseMap->Pixels, notGoodSizeForm, NL3D_TILE_NOISE_MAP_SIZE*NL3D_TILE_NOISE_MAP_SIZE);
+00542                                 }
+00543                         }
+00544 
+00545                         // Return the noise map
+00546                         return tileNoise._TileNoiseMap;
+00547                 }
+00548         }
+00549 
+00550         if (_DisplacementMap.size()==0 || _DisplacementMap[0]._TileNoiseMap)
+00551                 return NULL;
+00552 
+00553         // Checks
+00554         nlassert (_DisplacementMap[0]._TileNoiseMap);
+00555         return _DisplacementMap[0]._TileNoiseMap;
+00556 }
+
+

+ + + + +
+ + + + + + + + + + +
CTileSet* NL3D::CTileBank::getTileSet int  tileIndex  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 524 of file tile_bank.h. +

+References _TileSetVector. +

+

00525         { 
+00526                 return &_TileSetVector[tileIndex]; 
+00527         };
+
+

+ + + + +
+ + + + + + + + + + +
const CTileSet* NL3D::CTileBank::getTileSet int  tileIndex  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 520 of file tile_bank.h. +

+References _TileSetVector. +

+Referenced by computeXRef(), NL3D::CLandscapeUser::flushTiles(), NL3D::CVisualCollisionEntity::getSurfaceInfo(), NL3D::CPatchInfo::getTileSymmetryRotate(), NL3D::CLandscape::initTileBanks(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSymmetrisation::setOrientedTileState(), NL3D::CZoneSymmetrisation::setTileState(), and NL3D::CPatchInfo::transformTile(). +

+

00521         { 
+00522                 return &_TileSetVector[tileIndex]; 
+00523         };
+
+

+ + + + +
+ + + + + + + + + +
sint NL3D::CTileBank::getTileSetCount  )  const [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 516 of file tile_bank.h. +

+References _TileSetVector, and sint. +

+Referenced by NL3D::CLandscapeUser::flushTiles(), NL3D::CPatchInfo::getTileSymmetryRotate(), NL3D::CLandscape::initTileBanks(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSymmetrisation::setOrientedTileState(), and NL3D::CZoneSymmetrisation::setTileState(). +

+

00517         { 
+00518                 return _TileSetVector.size(); 
+00519         };
+
+

+ + + + +
+ + + + + + + + + + +
const CTileVegetableDesc & NL3D::CTileBank::getTileVegetableDesc uint  tileNumber  )  const
+
+ + + + + +
+   + + +

+return the TileVegetable desc for this tile +

+Definition at line 648 of file tile_bank.cpp. +

+References _TileSetVector, _TileVector, _TileXRef, and uint. +

+Referenced by NL3D::CLandscape::getTileVegetableDesc(). +

+

00649 {
+00650         // Check tile number..
+00651         if (tileNumber<_TileVector.size())
+00652         {
+00653                 // Get tileset number
+00654                 uint tileSet=_TileXRef[tileNumber]._XRefTileSet;
+00655 
+00656                 // Checks
+00657                 if (tileSet<_TileSetVector.size())
+00658                 {
+00659                         return _TileSetVector[tileSet].getTileVegetableDesc();
+00660                 }
+00661 
+00662         }
+00663 
+00664         // if fails for any reason, return an empty tileVegetableDesc;
+00665         static  CTileVegetableDesc      emptyTvd;
+00666         return emptyTvd;
+00667 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CTileBank::getTileXRef int  tile,
int &  tileSet,
int &  number,
TTileType type
const [inline]
+
+ + + + + +
+   + + +

+Return the xref for a tile.

+

Parameters:
+ + + + + +
tile is the tile number.
tileSet will receive the tile set number in which the tile is. -1 if the tile is not used.
number will receive the number of the tile in the tileset.
type is the type of tile.
+
+ +

+Definition at line 560 of file tile_bank.h. +

+References _TileXRef, nlassert, sint, and type. +

+Referenced by NL3D::CVisualCollisionEntity::getSurfaceInfo(), NL3D::CPatchInfo::getTileSymmetryRotate(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSymmetrisation::setOrientedTileState(), NL3D::CZoneSymmetrisation::setTileState(), and NL3D::CPatchInfo::transformTile(). +

+

00561         {
+00562                 nlassert (tile>=0);
+00563                 nlassert (tile<(sint)_TileXRef.size());
+00564                 tileSet=_TileXRef[tile]._XRefTileSet;
+00565                 number=_TileXRef[tile]._XRefTileNumber;
+00566                 type=_TileXRef[tile]._XRefTileType;
+00567         }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::initTileVegetableDescs CVegetableManager vegetableManager  ) 
+
+ + + + + +
+   + + +

+register all CVegetable to the Manager. called by CLandscape::initTileBanks() +

+Definition at line 685 of file tile_bank.cpp. +

+References _TileSetVector, NL3D::CTileVegetableDesc::registerToManager(), and uint. +

+Referenced by NL3D::CLandscape::enableVegetable(), and NL3D::CLandscape::initTileBanks(). +

+

00686 {
+00687         // For all tileSets.
+00688         uint tileSet;
+00689         
+00690         for(tileSet=0; tileSet<_TileSetVector.size(); tileSet++)
+00691         {
+00692                 CTileVegetableDesc      &tvd= _TileSetVector[tileSet].getTileVegetableDesc();
+00693                 tvd.registerToManager(vegetableManager);
+00694         }
+00695 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::loadTileVegetableDescs  ) 
+
+ + + + + +
+   + + +

+you should call this method, after serialising the TileBank, and before CLandscape::initTileBanks() You must call CLandscape::initTileBanks() after calling this method for each tileSet call CTileSet::loadTileVegetableDesc() +

+Definition at line 671 of file tile_bank.cpp. +

+References _TileSetVector, and uint. +

+Referenced by NL3D::CLandscapeUser::flushTiles(). +

+

00672 {
+00673         // For all tileSets.
+00674         uint tileSet;
+00675         
+00676         for(tileSet=0; tileSet<_TileSetVector.size(); tileSet++)
+00677         {
+00678                 // load their fileName
+00679                 _TileSetVector[tileSet].loadTileVegetableDesc();
+00680         }
+00681 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::makeAllExtensionDDS  ) 
+
+ + + + + +
+   + + +

+This method change ".tga" of texture filename, to ".dds". Do this only for Additive and Diffuse part (not alpha). +

+ +

+Definition at line 390 of file tile_bank.cpp. +

+References _TileVector, sint, and uint32. +

+Referenced by NL3D::CLandscapeUser::loadBankFiles(). +

+

00391 {
+00392         // For all tiles
+00393         for (sint nTile=0; nTile<(sint)_TileVector.size(); nTile++)
+00394         {
+00395                 string          tmp;
+00396                 uint32          pos;
+00397 
+00398                 // Diffuse
+00399                 tmp= _TileVector[nTile].getRelativeFileName (CTile::diffuse);
+00400                 pos= tmp.rfind(".tga");
+00401                 if(pos!= string::npos)
+00402                 {
+00403                         tmp.replace(pos, 4, ".dds");
+00404                         _TileVector[nTile].setFileName (CTile::diffuse, tmp);
+00405                 }
+00406 
+00407                 // Additive.
+00408                 tmp= _TileVector[nTile].getRelativeFileName (CTile::additive);
+00409                 pos= tmp.rfind(".tga");
+00410                 if(pos!= string::npos)
+00411                 {
+00412                         tmp.replace(pos, 4, ".dds");
+00413                         _TileVector[nTile].setFileName (CTile::additive, tmp);
+00414                 }
+00415 
+00416                 // Alpha.
+00417                 tmp= _TileVector[nTile].getRelativeFileName (CTile::alpha);
+00418                 pos= tmp.rfind(".tga");
+00419                 if(pos!= string::npos)
+00420                 {
+00421                         tmp.replace(pos, 4, ".dds");
+00422                         _TileVector[nTile].setFileName (CTile::alpha, tmp);
+00423                 }
+00424 
+00425         }
+00426 
+00427 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CTileBank::makeAllPathRelative  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 355 of file tile_bank.cpp. +

+References _DisplacementMap, _TileVector, sint, NL3D::TroncFileName(), and uint. +

+Referenced by NL3D::CLandscapeUser::loadBankFiles(). +

+

00356 {
+00357         // For all tiles
+00358         for (sint nTile=0; nTile<(sint)_TileVector.size(); nTile++)
+00359         {
+00360                 // Tronc filename
+00361                 char sTmpFileName[512];
+00362 
+00363                 // Diffuse
+00364                 TroncFileName (sTmpFileName, _TileVector[nTile].getRelativeFileName (CTile::diffuse).c_str());
+00365                 _TileVector[nTile].setFileName (CTile::diffuse, sTmpFileName);
+00366 
+00367                 // Additive
+00368                 TroncFileName (sTmpFileName, _TileVector[nTile].getRelativeFileName (CTile::additive).c_str());
+00369                 _TileVector[nTile].setFileName (CTile::additive, sTmpFileName);
+00370 
+00371                 // Alpha
+00372                 TroncFileName (sTmpFileName, _TileVector[nTile].getRelativeFileName (CTile::alpha).c_str());
+00373                 _TileVector[nTile].setFileName (CTile::alpha, sTmpFileName);
+00374         }
+00375 
+00376         // For all displaces
+00377         for (uint i=0; i<_DisplacementMap.size(); i++)
+00378         {
+00379                 // Tronc filename
+00380                 char sTmpFileName[512];
+00381 
+00382                 TroncFileName (sTmpFileName, _DisplacementMap[i]._FileName.c_str());
+00383                 _DisplacementMap[i]._FileName = sTmpFileName;
+00384         }
+00385 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::postfixTileFilename const char *  filename  ) 
+
+ + + + + +
+   + + +

+Postfix tile filename. +

+ +

+Definition at line 699 of file tile_bank.cpp. +

+References _TileVector, and uint. +

+Referenced by NL3D::CLandscapeUser::postfixTileFilename(). +

+

00700 {
+00701         // For each tiles
+00702         uint tile;
+00703         for (tile=0; tile<_TileVector.size (); tile++)
+00704         {       
+00705                 // For each bitmap
+00706                 uint bitmap;
+00707                 for (bitmap=0; bitmap<CTile::bitmapCount; bitmap++)
+00708                 {
+00709                         string &filename = _TileVector[tile]._BitmapName[bitmap];
+00710                         if (!filename.empty())
+00711                         {
+00712                                 string ext = CFile::getExtension(filename);
+00713                                 string name = CFile::getFilenameWithoutExtension(filename);
+00714                                 filename = CFile::getPath (filename);
+00715                                 filename += name;
+00716                                 filename += postfix;
+00717                                 filename += ".";
+00718                                 filename += ext;
+00719                         }
+00720                 }
+00721         }
+00722 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::postfixTileVegetableDesc const char *  filename  ) 
+
+ + + + + +
+   + + +

+Postfix tile vegetable desc. +

+ +

+Definition at line 726 of file tile_bank.cpp. +

+References _TileSetVector, and uint. +

+Referenced by NL3D::CLandscapeUser::postfixTileVegetableDesc(). +

+

00727 {
+00728         // For each tiles
+00729         uint tileSet;
+00730         for (tileSet=0; tileSet<_TileSetVector.size (); tileSet++)
+00731         {       
+00732                 string &filename = _TileSetVector[tileSet]._TileVegetableDescFileName;
+00733                 if (!filename.empty())
+00734                 {
+00735                         string ext = CFile::getExtension(filename);
+00736                         string name = CFile::getFilenameWithoutExtension(filename);
+00737                         filename = CFile::getPath (filename);
+00738                         filename += name;
+00739                         filename += postfix;
+00740                         filename += ".";
+00741                         filename += ext;
+00742                 }
+00743         }
+00744 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::removeDisplacementMap uint  mapId  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 558 of file tile_bank.cpp. +

+References _DisplacementMap, _TileSetVector, nlassert, and uint. +

+Referenced by NL3D::CTileSet::clearDisplacement(), and NL3D::CTileSet::setDisplacement(). +

+

00559 {
+00560         // Checks
+00561         nlassert (mapId<_DisplacementMap.size());
+00562 
+00563         if (mapId!=0)
+00564         {
+00565                 // Check if another tileSet uses it
+00566                 uint tileSet;
+00567                 for (tileSet=0; tileSet<_TileSetVector.size(); tileSet++)
+00568                 {
+00569                         // It uses it ?
+00570                         uint tile;
+00571                         for (tile=0; tile<CTileSet::CountDisplace; tile++)
+00572                         {
+00573                                 // The same ?
+00574                                 if (_TileSetVector[tileSet]._DisplacementBitmap[tile]==mapId)
+00575                                         // Stop
+00576                                         break;
+00577                         }
+00578                         if (tile!=CTileSet::CountDisplace)
+00579                                 break;
+00580                 }
+00581                 if (tileSet==_TileSetVector.size())
+00582                 {
+00583                         // Remove it
+00584                         _DisplacementMap[mapId].reset();
+00585                         
+00586                         // Last element ?
+00587                         if (mapId==_DisplacementMap.size()-1)
+00588                         {
+00589                                 // Resize the array ?
+00590                                 while ((mapId>0)&&(_DisplacementMap[mapId]._FileName==""))
+00591                                         _DisplacementMap.resize (mapId--);
+00592                         }
+00593                 }
+00594         }
+00595 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::removeLand sint  landIndex  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 180 of file tile_bank.cpp. +

+References _LandVector, nlassert, and sint. +

+

00181 {
+00182         // Check args
+00183         nlassert (landIndex>=0);
+00184         nlassert (landIndex<(sint)_LandVector.size());
+00185 
+00186         _LandVector.erase (_LandVector.begin ()+landIndex);
+00187 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::removeTileSet sint  landIndex  ) 
+
+ + + + + +
+   + + +

+ +

+Definition at line 201 of file tile_bank.cpp. +

+References _TileSetVector, freeTile(), index, nlassert, and sint. +

+

00202 {
+00203         // Check args
+00204         nlassert (setIndex>=0);
+00205         nlassert (setIndex<(sint)_TileSetVector.size());
+00206 
+00207         for (int i=0; i<CTileSet::count; i++)
+00208         {
+00209                 int index=_TileSetVector[setIndex]._TileTransition[i]._Tile;
+00210                 if (index!=-1)
+00211                         freeTile (index);
+00212         }
+00213         _TileSetVector.erase (_TileSetVector.begin ()+setIndex);
+00214 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::serial class NLMISC::IStream f  )  throw (NLMISC::EStream)
+
+ + + + + +
+   + + +

+ +

+Definition at line 99 of file tile_bank.cpp. +

+References nlassert, sint, type, and uint. +

+Referenced by NL3D::CLandscapeUser::loadBankFiles(). +

+

00100 {
+00101         f.serialCheck (std::string ("BANK"));
+00102 
+00103         sint streamver = f.serialVersion(_Version);
+00104         
+00105         // Version 1 not compatible
+00106         if (f.isReading())
+00107         {
+00108                 if (streamver<2)
+00109                         throw EOlderStream(f);
+00110         }
+00111 
+00112         switch (streamver)
+00113         {
+00114         case 4:
+00115                 // Displacement map array
+00116                 f.serialCont (_DisplacementMap);
+00117                 if (f.isReading())
+00118                 {
+00119                         // Checks
+00120                         nlassert (_DisplacementMap.size()>0);
+00121 
+00122                         // Set first empty
+00123                         _DisplacementMap[0].setEmpty ();
+00124                 }
+00125         case 3:
+00126                 // Absolute path
+00127                 f.serial (_AbsPath);
+00128         case 2:
+00129                 // Serial all containers
+00130                 f.serialCont (_LandVector);
+00131                 f.serialCont (_TileSetVector);
+00132                 f.serialCont (_TileVector);
+00133         }
+00134 
+00135         // Compute XRef in read mode
+00136         if (f.isReading())
+00137                 computeXRef ();
+00138 
+00139         // If Version<=2, remove diffuse and alpha tiles in transitions
+00140         if (streamver<=2)
+00141         {
+00142                 // Must be reading
+00143                 nlassert (f.isReading());
+00144 
+00145                 // Reset _AbsPath
+00146                 _AbsPath="";
+00147 
+00148                 // Remove diffuse and additive in transition
+00149                 uint tileCount=(uint)getTileCount ();
+00150                 for (uint i=0; i<tileCount; i++)
+00151                 {
+00152                         int tileSet;
+00153                         int number;
+00154                         TTileType type;
+00155 
+00156                         // Get xref
+00157                         getTileXRef (i, tileSet, number, type);
+00158 
+00159                         // Transition ?
+00160                         if (type==transition)
+00161                         {
+00162                                 // Remove diffuse bitmap
+00163                                 getTileSet(tileSet)->clearTransition ((CTileSet::TTransition)number, CTile::diffuse, *this);
+00164                                 
+00165                                 // Remove alpha bitmap
+00166                                 getTileSet(tileSet)->clearTransition ((CTileSet::TTransition)number, CTile::alpha, *this);
+00167                         }
+00168                 }
+00169         }
+00170 }
+
+

+ + + + +
+ + + + + + + + + + +
void NL3D::CTileBank::setAbsPath const std::string &  newPath  )  [inline]
+
+ + + + + +
+   + + +

+ +

+Definition at line 615 of file tile_bank.h. +

+References _AbsPath. +

+Referenced by NL3D::CLandscapeUser::loadBankFiles(). +

+

00616         {
+00617                 _AbsPath=newPath;
+00618         }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CTileBank::setDisplacementMap uint  noiseMap,
const char *  newName
+
+ + + + + +
+   + + +

+ +

+Definition at line 636 of file tile_bank.cpp. +

+References _DisplacementMap, and uint. +

+

00637 {
+00638         _DisplacementMap[noiseMap]._FileName=newName;
+00639 }
+
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CTileBank::xchgTileset sint  first,
sint  second
+
+ + + + + +
+   + + +

+ +

+Definition at line 326 of file tile_bank.cpp. +

+References _TileSetVector, nlassert, and sint. +

+

00327 {
+00328         // Some check
+00329         nlassert ((firstTileSet>=0)&&(firstTileSet<(sint)_TileSetVector.size()));
+00330         nlassert ((secondTileSet>=0)&&(secondTileSet<(sint)_TileSetVector.size()));
+00331 
+00332         // Xchange the sets
+00333         CTileSet tmp=_TileSetVector[firstTileSet];
+00334         _TileSetVector[firstTileSet]=_TileSetVector[secondTileSet];
+00335         _TileSetVector[secondTileSet]=tmp;
+00336 }
+
+


Friends And Related Function Documentation

+

+ + + + +
+ + +
friend class CTileSet [friend] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 496 of file tile_bank.h. +

+Referenced by addTileSet().

+


Field Documentation

+

+ + + + +
+ + +
std::string NL3D::CTileBank::_AbsPath [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 656 of file tile_bank.h. +

+Referenced by clear(), getAbsPath(), and setAbsPath().

+

+ + + + +
+ + +
std::vector<CTileNoise> NL3D::CTileBank::_DisplacementMap [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 655 of file tile_bank.h. +

+Referenced by clear(), CTileBank(), getDisplacementMap(), getDisplacementMapCount(), getTileNoiseMap(), makeAllPathRelative(), removeDisplacementMap(), and setDisplacementMap().

+

+ + + + +
+ + +
std::vector<CTileLand> NL3D::CTileBank::_LandVector [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 651 of file tile_bank.h. +

+Referenced by addLand(), cleanUnusedData(), clear(), getLand(), getLandCount(), and removeLand().

+

+ + + + +
+ + +
std::vector<CTileSet> NL3D::CTileBank::_TileSetVector [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 652 of file tile_bank.h. +

+Referenced by addTileSet(), cleanUnusedData(), clear(), computeXRef(), getTileNoiseMap(), getTileSet(), getTileSetCount(), getTileVegetableDesc(), initTileVegetableDescs(), loadTileVegetableDescs(), postfixTileVegetableDesc(), removeDisplacementMap(), removeTileSet(), and xchgTileset().

+

+ + + + +
+ + +
std::vector<CTile> NL3D::CTileBank::_TileVector [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 653 of file tile_bank.h. +

+Referenced by clear(), computeXRef(), createTile(), freeTile(), getNumBitmap(), getTile(), getTileCount(), getTileNoiseMap(), getTileVegetableDesc(), makeAllExtensionDDS(), makeAllPathRelative(), and postfixTileFilename().

+

+ + + + +
+ + +
std::vector<CTileXRef> NL3D::CTileBank::_TileXRef [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 654 of file tile_bank.h. +

+Referenced by clear(), computeXRef(), getTileNoiseMap(), getTileVegetableDesc(), and getTileXRef().

+

+ + + + +
+ + +
const sint NL3D::CTileBank::_Version = 4 [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 88 of file tile_bank.cpp.

+


The documentation for this class was generated from the following files: +
Generated on Tue Mar 16 08:04:08 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1