NL3D::CTileSet Class Reference

#include <tile_bank.h>


Detailed Description

This class is a tile set. It handles all the tile of the same material.
Author:
Cyril Corvazier

Nevrax France

Date:
2000

Definition at line 277 of file tile_bank.h.

Public Types

enum  TBorder {
  top = 0, bottom, left, right,
  borderCount
}
enum  TDisplacement { FirstDisplace = 0, LastDisplace = 15, CountDisplace = 16 }
enum  TError {
  ok = 0, topInterfaceProblem, bottomInterfaceProblem, leftInterfaceProblem,
  rightInterfaceProblem, addFirstA128128, topBottomNotTheSame, rightLeftNotTheSame,
  sizeInvalide, errorCount
}
enum  TFlagBorder {
  _1111 = 0, _0111, _1110, _0001,
  _1000, _0000, dontcare = -1
}
enum  TTransition { first = 0, last = 47, count = 48, notfound = -1 }

Public Member Functions

void addChild (const std::string &name)
void addTile128 (int &indexInTileSet, CTileBank &bank)
void addTile256 (int &indexInTileSet, CTileBank &bank)
TError checkTile128 (CTile::TBitmap type, const CTileBorder &border, int &pixel, int &composante)
TError checkTile256 (CTile::TBitmap type, const CTileBorder &border, int &pixel, int &composante)
TError checkTileTransition (TTransition transition, CTile::TBitmap type, const CTileBorder &border, int &indexError, int &pixel, int &composante)
void cleanUnusedData ()
void clearDisplacement (TDisplacement displacement, CTileBank &bank)
void clearTile128 (int indexInTileSet, CTile::TBitmap type, CTileBank &bank)
void clearTile256 (int indexInTileSet, CTile::TBitmap type, CTileBank &bank)
void clearTransition (TTransition transition, CTile::TBitmap type, CTileBank &bank)
 CTileSet ()
const CTileBordergetBorder128 (CTile::TBitmap bitmapType) const
const CTileBordergetBorder256 (CTile::TBitmap bitmapType) const
uint getDisplacementTile (TDisplacement displacement) const
TTransition getExistingTransitionTile (TFlagBorder _top, TFlagBorder _bottom, TFlagBorder _left, TFlagBorder _right, int reject, CTile::TBitmap type)
const std::string & getName () const
sint getNumTile128 () const
sint getNumTile256 () const
bool getOriented () const
sint32 getTile128 (sint index) const
sint32 getTile256 (sint index) const
const CTileVegetableDescgetTileVegetableDesc () const
CTileVegetableDescgetTileVegetableDesc ()
 return the TileVegetable

const std::string & getTileVegetableDescFileName () const
const CTileSetTransitiongetTransition (sint index) const
CTileSetTransitiongetTransition (sint index)
bool isChild (const std::string &name)
void loadTileVegetableDesc ()
void removeChild (const std::string &name)
void removeTile128 (int indexInTileSet, CTileBank &bank)
void removeTile256 (int indexInTileSet, CTileBank &bank)
void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
void setBorder (CTile::TBitmap type, const CTileBorder &border)
void setDisplacement (TDisplacement displacement, const std::string &fileName, CTileBank &bank)
void setName (const std::string &name)
void setOriented (bool oriented)
void setTile128 (int indexInTileSet, const std::string &name, CTile::TBitmap type, CTileBank &bank)
void setTile256 (int indexInTileSet, const std::string &name, CTile::TBitmap type, CTileBank &bank)
void setTileTransition (TTransition transition, const std::string &name, CTile::TBitmap type, CTileBank &bank, const CTileBorder &border)
void setTileTransitionAlpha (TTransition transition, const std::string &name, CTileBank &bank, const CTileBorder &border, uint8 rotAlpha)
void setTileVegetableDesc (const CTileVegetableDesc &tvd)
void setTileVegetableDescFileName (const std::string &fileName)

Static Public Member Functions

TTransition getComplementaryTransition (TTransition transition)
TFlagBorder getEdgeType (TTransition _what, TBorder _where)
const char * getErrorMessage (TError error)
TFlagBorder getInvertBorder (TFlagBorder border)
TFlagBorder getOrientedBorder (TBorder where, TFlagBorder border)
TTransition getTransitionTile (TFlagBorder top, TFlagBorder bottom, TFlagBorder left, TFlagBorder right)
TTransition rotateTransition (TTransition transition)

Data Fields

uint32 SurfaceData

Private Member Functions

void deleteBordersIfLast (const CTileBank &bank, CTile::TBitmap type)

Static Private Member Functions

TFlagBorder getComplementaryBorder (TFlagBorder border)

Private Attributes

CTileBorder _Border128 [2]
CTileBorder _Border256 [2]
CTileBorder _BorderTransition [count][CTile::bitmapCount]
std::set< std::string > _ChildName
uint32 _DisplacementBitmap [CTileSet::CountDisplace]
std::string _Name
bool _Oriented
std::vector< sint32_Tile128
std::vector< sint32_Tile256
CTileSetTransition _TileTransition [count]
CTileVegetableDesc _TileVegetableDesc
std::string _TileVegetableDescFileName

Static Private Attributes

const char * _ErrorMessage [CTileSet::errorCount]
const TFlagBorder _TransitionFlags [count][4]
const sint _Version = 5

Friends

class CTileBank


Member Enumeration Documentation

enum NL3D::CTileSet::TBorder
 

Enumeration values:
top 
bottom 
left 
right 
borderCount 

Definition at line 287 of file tile_bank.h.

00287 { top=0, bottom, left, right, borderCount };

enum NL3D::CTileSet::TDisplacement
 

Enumeration values:
FirstDisplace 
LastDisplace 
CountDisplace 

Definition at line 286 of file tile_bank.h.

enum NL3D::CTileSet::TError
 

Enumeration values:
ok 
topInterfaceProblem 
bottomInterfaceProblem 
leftInterfaceProblem 
rightInterfaceProblem 
addFirstA128128 
topBottomNotTheSame 
rightLeftNotTheSame 
sizeInvalide 
errorCount 

Definition at line 282 of file tile_bank.h.

enum NL3D::CTileSet::TFlagBorder
 

Enumeration values:
_1111 
_0111 
_1110 
_0001 
_1000 
_0000 
dontcare 

Definition at line 288 of file tile_bank.h.

Referenced by checkTileTransition(), getEdgeType(), getExistingTransitionTile(), and getTransitionTile().

00288 { _1111=0,      _0111, _1110, _0001, _1000, _0000, dontcare=-1 };

enum NL3D::CTileSet::TTransition
 

Enumeration values:
first 
last 
count 
notfound 

Definition at line 285 of file tile_bank.h.

Referenced by getComplementaryTransition(), getExistingTransitionTile(), and getTransitionTile().

00285 { first=0, last=47, count=48, notfound=-1 };


Constructor & Destructor Documentation

NL3D::CTileSet::CTileSet  ) 
 

Definition at line 898 of file tile_bank.cpp.

References _DisplacementBitmap, _Oriented, CountDisplace, FirstDisplace, SurfaceData, and uint.

00899 {
00900         // Default, tileset 0
00901         _Oriented = false;
00902         uint displace;
00903         for (displace=FirstDisplace; displace<CountDisplace; displace++)
00904                 _DisplacementBitmap[displace]=0;
00905 
00906         // Default user surface data
00907         SurfaceData = 0;
00908 }


Member Function Documentation

void NL3D::CTileSet::addChild const std::string &  name  ) 
 

Definition at line 1306 of file tile_bank.cpp.

References _ChildName.

01307 {
01308         _ChildName.insert (name);
01309 }

void NL3D::CTileSet::addTile128 int &  indexInTileSet,
CTileBank bank
 

Definition at line 998 of file tile_bank.cpp.

References _Tile128, NL3D::CTileBank::createTile(), index, and sint.

00999 {
01000         // Create a tile
01001         sint index=bank.createTile ();
01002 
01003         // Index of the new tile
01004         indexInTileSet=_Tile128.size();
01005 
01006         // Add to the end of the list
01007         _Tile128.push_back (index);
01008 }

void NL3D::CTileSet::addTile256 int &  indexInTileSet,
CTileBank bank
 

Definition at line 1057 of file tile_bank.cpp.

References _Tile256, NL3D::CTileBank::createTile(), index, and sint.

01058 {
01059         // Create a tile
01060         sint index=bank.createTile ();
01061 
01062         // Index of the new tile
01063         indexInTileSet=_Tile256.size();
01064 
01065         // Add to the end of the list
01066         _Tile256.push_back (index);
01067 }

CTileSet::TError NL3D::CTileSet::checkTile128 CTile::TBitmap  type,
const CTileBorder border,
int &  pixel,
int &  composante
 

Definition at line 1026 of file tile_bank.cpp.

References _Border128, addFirstA128128, border, bottomInterfaceProblem, NL3D::CTileBorder::isSet(), leftInterfaceProblem, ok, rightInterfaceProblem, rightLeftNotTheSame, sizeInvalide, topBottomNotTheSame, topInterfaceProblem, and type.

01027 {
01028         // Self check
01029         if ((border.getWidth()!=128)||(border.getHeight()!=128))
01030                 return sizeInvalide;
01031         if (!CTileBorder::compare (border, border, CTileBorder::top, CTileBorder::bottom, pixel, composante))
01032                 return topBottomNotTheSame;
01033         if (!CTileBorder::compare (border, border, CTileBorder::left, CTileBorder::right, pixel, composante))
01034                 return rightLeftNotTheSame;
01035 
01036         // Check
01037         if (_Border128[type].isSet())
01038         {
01039                 // Other check
01040                 if (!CTileBorder::compare (border, _Border128[type], CTileBorder::top, CTileBorder::top, pixel, composante))
01041                         return topInterfaceProblem;
01042                 if (!CTileBorder::compare (border, _Border128[type], CTileBorder::bottom, CTileBorder::bottom, pixel, composante))
01043                         return bottomInterfaceProblem;
01044                 if (!CTileBorder::compare (border, _Border128[type], CTileBorder::left, CTileBorder::left, pixel, composante))
01045                         return leftInterfaceProblem;
01046                 if (!CTileBorder::compare (border, _Border128[type], CTileBorder::right, CTileBorder::right, pixel, composante))
01047                         return rightInterfaceProblem;
01048         }
01049         else
01050         {               
01051                 return addFirstA128128;
01052         }
01053 
01054         return ok;
01055 }

CTileSet::TError NL3D::CTileSet::checkTile256 CTile::TBitmap  type,
const CTileBorder border,
int &  pixel,
int &  composante
 

Definition at line 1069 of file tile_bank.cpp.

References _Border128, _Border256, addFirstA128128, border, bottomInterfaceProblem, NL3D::CTileBorder::doubleSize(), NL3D::CTileBorder::isSet(), leftInterfaceProblem, ok, rightInterfaceProblem, rightLeftNotTheSame, sizeInvalide, topBottomNotTheSame, topInterfaceProblem, and type.

01070 {
01071         // Self check
01072         if ((border.getWidth()!=256)||(border.getHeight()!=256))
01073                 return sizeInvalide;
01074         if (!CTileBorder::compare (border, border, CTileBorder::top, CTileBorder::bottom, pixel, composante))
01075                 return topBottomNotTheSame;
01076         if (!CTileBorder::compare (border, border, CTileBorder::left, CTileBorder::right, pixel, composante))
01077                 return rightLeftNotTheSame;
01078         
01079         // Check if prb
01080         if ((!_Border256[type].isSet())&&(_Border128[type].isSet()))
01081         {
01082                 _Border256[type]=_Border128[type];
01083                 _Border256[type].doubleSize ();
01084         }
01085 
01086         // Check
01087         if (_Border256[type].isSet())
01088         {
01089 
01090                 // Other check
01091                 if (!CTileBorder::compare (border, _Border256[type], CTileBorder::top, CTileBorder::top, pixel, composante))
01092                         return topInterfaceProblem;
01093                 if (!CTileBorder::compare (border, _Border256[type], CTileBorder::bottom, CTileBorder::bottom, pixel, composante))
01094                         return bottomInterfaceProblem;
01095                 if (!CTileBorder::compare (border, _Border256[type], CTileBorder::left, CTileBorder::left, pixel, composante))
01096                         return leftInterfaceProblem;
01097                 if (!CTileBorder::compare (border, _Border256[type], CTileBorder::right, CTileBorder::right, pixel, composante))
01098                         return rightInterfaceProblem;
01099         }
01100         else
01101         {
01102                 return addFirstA128128;
01103         }
01104 
01105         return ok;
01106 }

CTileSet::TError NL3D::CTileSet::checkTileTransition TTransition  transition,
CTile::TBitmap  type,
const CTileBorder border,
int &  indexError,
int &  pixel,
int &  composante
 

Definition at line 1145 of file tile_bank.cpp.

References _1111, _BorderTransition, _TransitionFlags, border, bottomInterfaceProblem, count, dontcare, getExistingTransitionTile(), leftInterfaceProblem, nlassert, ok, rightInterfaceProblem, TFlagBorder, topInterfaceProblem, and type.

01147 {
01148         nlassert (transition>=0);
01149         nlassert (transition<count);
01150 
01151         // Check
01152         indexError=-1;
01153 
01154         // Top
01155         indexError=getExistingTransitionTile ((TFlagBorder)_TransitionFlags[transition][top], dontcare, dontcare, dontcare, transition, type);
01156         if (indexError!=-1)
01157         {
01158                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::top, CTileBorder::top, pixel, composante))
01159                         return topInterfaceProblem;
01160         }
01161         indexError=getExistingTransitionTile (dontcare, (TFlagBorder)_TransitionFlags[transition][top], dontcare, dontcare, transition, type);
01162         if (indexError!=-1)
01163         {
01164                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::top, CTileBorder::bottom, pixel, composante))
01165                         return topInterfaceProblem;
01166         }
01167         indexError=-1;
01168         if (_TransitionFlags[transition][top]==_1111)
01169         {
01170                 if (!CTileBorder::allAlphaSet (border, CTileBorder::top, pixel, composante))
01171                         return topInterfaceProblem;
01172         }
01173 
01174         // Bottom
01175         indexError=getExistingTransitionTile (dontcare, (TFlagBorder)_TransitionFlags[transition][bottom], dontcare, dontcare, transition, type);
01176         if (indexError!=-1)
01177         {
01178                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::bottom, CTileBorder::bottom, pixel, composante))
01179                         return bottomInterfaceProblem;
01180         }
01181         indexError=getExistingTransitionTile ((TFlagBorder)_TransitionFlags[transition][bottom], dontcare, dontcare, dontcare, transition, type);
01182         if (indexError!=-1)
01183         {
01184                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::bottom, CTileBorder::top, pixel, composante))
01185                         return bottomInterfaceProblem;
01186         }
01187         indexError=-1;
01188         if (_TransitionFlags[transition][bottom]==_1111)
01189         {
01190                 if (!CTileBorder::allAlphaSet (border, CTileBorder::bottom, pixel, composante))
01191                         return bottomInterfaceProblem;
01192         }
01193 
01194         // Left
01195         indexError=getExistingTransitionTile (dontcare, dontcare, (TFlagBorder)_TransitionFlags[transition][left], dontcare, transition, type);
01196         if (indexError!=-1)
01197         {
01198                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::left, CTileBorder::left, pixel, composante))
01199                         return leftInterfaceProblem;
01200         }
01201         indexError=getExistingTransitionTile (dontcare, dontcare, dontcare, (TFlagBorder)_TransitionFlags[transition][left], transition, type);
01202         if (indexError!=-1)
01203         {
01204                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::left, CTileBorder::right, pixel, composante))
01205                         return leftInterfaceProblem;
01206         }
01207         indexError=-1;
01208         if (_TransitionFlags[transition][left]==_1111)
01209         {
01210                 if (!CTileBorder::allAlphaSet (border, CTileBorder::left, pixel, composante))
01211                         return leftInterfaceProblem;
01212         }
01213 
01214         // Right
01215         indexError=getExistingTransitionTile (dontcare, dontcare, dontcare, (TFlagBorder)_TransitionFlags[transition][right], transition, type);
01216         if (indexError!=-1)
01217         {
01218                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::right, CTileBorder::right, pixel, composante))
01219                         return rightInterfaceProblem;
01220         }
01221         indexError=getExistingTransitionTile (dontcare, dontcare, (TFlagBorder)_TransitionFlags[transition][right], dontcare, transition, type);
01222         if (indexError!=-1)
01223         {
01224                 if (!CTileBorder::compare (border, _BorderTransition[indexError][type], CTileBorder::right, CTileBorder::left, pixel, composante))
01225                         return rightInterfaceProblem;
01226         }
01227         indexError=-1;
01228         if (_TransitionFlags[transition][right]==_1111)
01229         {
01230                 if (!CTileBorder::allAlphaSet (border, CTileBorder::right, pixel, composante))
01231                         return rightInterfaceProblem;
01232         }
01233         return ok;
01234 }

void NL3D::CTileSet::cleanUnusedData  ) 
 

Definition at line 1527 of file tile_bank.cpp.

References _Border128, _Border256, _BorderTransition, _ChildName, count, NL3D::CTileBorder::reset(), and uint.

01528 {
01529         _Name="";
01530         _ChildName.clear();
01531         _Border128[0].reset ();
01532         _Border128[1].reset ();
01533         _Border256[0].reset ();
01534         _Border256[1].reset ();
01535         for (uint i=0; i<count; i++)
01536         for (uint j=0; j<CTile::bitmapCount; j++)
01537                 _BorderTransition[i][j].reset();
01538 }

void NL3D::CTileSet::clearDisplacement TDisplacement  displacement,
CTileBank bank
 

Definition at line 1498 of file tile_bank.cpp.

References _DisplacementBitmap, FirstDisplace, LastDisplace, nlassert, and NL3D::CTileBank::removeDisplacementMap().

01499 {
01500         // checks
01501         nlassert (displacement>=FirstDisplace);
01502         nlassert (displacement<=LastDisplace);
01503 
01504         // Backup the id
01505         int id=_DisplacementBitmap[displacement];
01506 
01507         // Clear map id
01508         _DisplacementBitmap[displacement]=0;
01509 
01510         // Tell the bank we remove it
01511         bank.removeDisplacementMap (id);
01512 }

void NL3D::CTileSet::clearTile128 int  indexInTileSet,
CTile::TBitmap  type,
CTileBank bank
 

Definition at line 1399 of file tile_bank.cpp.

References _Tile128, NL3D::CTile::clearTile(), deleteBordersIfLast(), NL3D::CTileBank::getTile(), and type.

01400 {
01401         int nTile=_Tile128[indexInTileSet];
01402         bank.getTile (nTile)->clearTile(type);
01403         
01404         // Erase border if it is the last texture
01405         deleteBordersIfLast (bank, type);
01406 }

void NL3D::CTileSet::clearTile256 int  indexInTileSet,
CTile::TBitmap  type,
CTileBank bank
 

Definition at line 1408 of file tile_bank.cpp.

References _Tile256, NL3D::CTile::clearTile(), deleteBordersIfLast(), NL3D::CTileBank::getTile(), and type.

01409 {
01410         int nTile=_Tile256[indexInTileSet];
01411         bank.getTile (nTile)->clearTile(type);
01412         
01413         // Erase border if it is the last texture
01414         deleteBordersIfLast (bank, type);
01415 }

void NL3D::CTileSet::clearTransition TTransition  transition,
CTile::TBitmap  type,
CTileBank bank
 

Definition at line 1417 of file tile_bank.cpp.

References _BorderTransition, NL3D::CTileSetTransition::_Tile, _TileTransition, NL3D::CTile::clearTile(), deleteBordersIfLast(), NL3D::CTileBank::getTile(), NL3D::CTileBorder::reset(), and type.

01418 {
01419         int nTile=_TileTransition[transition]._Tile;
01420         if (nTile!=-1)
01421                 bank.getTile (nTile)->clearTile(type);
01422         _BorderTransition[transition][type].reset();
01423         
01424         // Erase border if it is the last texture
01425         deleteBordersIfLast (bank, type);
01426 }

void NL3D::CTileSet::deleteBordersIfLast const CTileBank bank,
CTile::TBitmap  type
[private]
 

Definition at line 1429 of file tile_bank.cpp.

References _Border128, _Border256, NL3D::CTileSetTransition::_Tile, _Tile128, _Tile256, _TileTransition, count, NL3D::CTile::getRelativeFileName(), NL3D::CTileBank::getTile(), NL3D::CTileBorder::reset(), sint, and type.

Referenced by clearTile128(), clearTile256(), clearTransition(), removeTile128(), and removeTile256().

01430 {
01431         // delete is true
01432         bool bDelete=true;
01433 
01434         // iterator..
01435         std::vector<sint32>::iterator ite=_Tile128.begin();
01436 
01437         // Check all the 128x128 tiles
01438         while (ite!=_Tile128.end())
01439         {
01440                 // If the file name is valid
01441                 if (bank.getTile (*ite)->getRelativeFileName(type)!="")
01442                 {
01443                         // Don't delete, 
01444                         bDelete=false;
01445                         break;
01446                 }
01447                 ite++;
01448         }
01449         // If break, not empty, return
01450         if (ite!=_Tile128.end())
01451                 return;
01452 
01453         // Check all the 256x256 tiles
01454         ite=_Tile256.begin();
01455         while (ite!=_Tile256.end())
01456         {
01457                 // If the file name is valid
01458                 if (bank.getTile (*ite)->getRelativeFileName(type)!="")
01459                 {
01460                         // Don't delete, 
01461                         bDelete=false;
01462                         break;
01463                 }
01464                 ite++;
01465         }
01466         // If break, not empty, return
01467         if (ite!=_Tile256.end())
01468                 return;
01469 
01470 
01471         // Check all the transitions tiles
01472         sint trans;
01473         for (trans=0; trans<count; trans++)
01474         {
01475                 // Get the tile associed with the transition
01476                 int nTile=_TileTransition[trans]._Tile;
01477 
01478                 // If it is not NULL..
01479                 if (nTile!=-1)
01480                 {
01481                         // If the file name is valid
01482                         if (bank.getTile (nTile)->getRelativeFileName(type)!="")
01483                         {
01484                                 // Don't delete, 
01485                                 bDelete=false;
01486                                 break;
01487                         }
01488                 }
01489         }
01490         if (trans!=count)
01491                 return;
01492 
01493         // Ok, erase borders because no tile use it anymore
01494         _Border128[type].reset();
01495         _Border256[type].reset();
01496 }

const CTileBorder* NL3D::CTileSet::getBorder128 CTile::TBitmap  bitmapType  )  const [inline]
 

Definition at line 361 of file tile_bank.h.

References _Border128.

00362         {
00363                 return &(_Border128[bitmapType]);
00364         }

const CTileBorder* NL3D::CTileSet::getBorder256 CTile::TBitmap  bitmapType  )  const [inline]
 

Definition at line 365 of file tile_bank.h.

References _Border256.

00366         {
00367                 return &(_Border256[bitmapType]);
00368         }

CTileSet::TFlagBorder NL3D::CTileSet::getComplementaryBorder TFlagBorder  border  )  [static, private]
 

Definition at line 1329 of file tile_bank.cpp.

References _0000, _0001, _0111, _1000, _1110, _1111, border, and nlassert.

Referenced by getComplementaryTransition().

01330 {
01331         switch (border)
01332         {
01333         case _0000:
01334                 return _1111;
01335         case _0001:
01336                 return _1110;
01337         case _0111:
01338                 return _1000;
01339         case _1000:
01340                 return _0111;
01341         case _1110:
01342                 return _0001;
01343         case _1111:
01344                 return _0000;
01345         default:
01346                 nlassert (0);   // no
01347         }
01348         return _0000;
01349 }

CTileSet::TTransition NL3D::CTileSet::getComplementaryTransition TTransition  transition  )  [static]
 

Definition at line 1316 of file tile_bank.cpp.

References _TransitionFlags, first, getComplementaryBorder(), getTransitionTile(), nlassert, notfound, and TTransition.

01317 {
01318         nlassert ((transition>=first)&&(transition<=last));
01319         TTransition trans=getTransitionTile (getComplementaryBorder (_TransitionFlags[transition][top]),
01320                 getComplementaryBorder (_TransitionFlags[transition][bottom]),
01321                 getComplementaryBorder (_TransitionFlags[transition][left]),
01322                 getComplementaryBorder (_TransitionFlags[transition][right]));
01323         
01324         nlassert (trans!=notfound);
01325         
01326         return trans;
01327 }

uint NL3D::CTileSet::getDisplacementTile TDisplacement  displacement  )  const [inline]
 

Return the file name of the displacement map for the map nb displacement. This file name is relative at the absolute path.

Definition at line 375 of file tile_bank.h.

References _DisplacementBitmap, FirstDisplace, LastDisplace, nlassert, and uint.

00376         {
00377                 // checks
00378                 nlassert (displacement>=FirstDisplace);
00379                 nlassert (displacement<=LastDisplace);
00380 
00381                 // return file name
00382                 return _DisplacementBitmap[displacement];
00383         }

TFlagBorder NL3D::CTileSet::getEdgeType TTransition  _what,
TBorder  _where
[inline, static]
 

Definition at line 401 of file tile_bank.h.

References _TransitionFlags, and TFlagBorder.

00402         {
00403                 return _TransitionFlags[_what][_where];
00404         }

const char* NL3D::CTileSet::getErrorMessage TError  error  )  [inline, static]
 

Definition at line 391 of file tile_bank.h.

References _ErrorMessage.

00392         {
00393                 return _ErrorMessage[error];
00394         }

CTileSet::TTransition NL3D::CTileSet::getExistingTransitionTile TFlagBorder  _top,
TFlagBorder  _bottom,
TFlagBorder  _left,
TFlagBorder  _right,
int  reject,
CTile::TBitmap  type
 

Definition at line 1289 of file tile_bank.cpp.

References _BorderTransition, _TransitionFlags, count, dontcare, first, NL3D::CTileBorder::isSet(), notfound, TFlagBorder, TTransition, and type.

Referenced by checkTileTransition().

01290 {
01291         for (int n=first; n<count; n++)
01292         {
01293                 if ((n!=reject)&&
01294                         (_BorderTransition[n][type].isSet ())&&
01295                         ((_top==dontcare)||(_top==(TFlagBorder)_TransitionFlags[n][top]))&&
01296                         ((_bottom==dontcare)||(_bottom==(TFlagBorder)_TransitionFlags[n][bottom]))&&
01297                         ((_left==dontcare)||(_left==(TFlagBorder)_TransitionFlags[n][left]))&&
01298                         ((_right==dontcare)||(_right==(TFlagBorder)_TransitionFlags[n][right])))
01299                 {
01300                         return (TTransition)n;
01301                 }       
01302         }
01303         return notfound;
01304 }

CTileSet::TFlagBorder NL3D::CTileSet::getInvertBorder TFlagBorder  border  )  [static]
 

Definition at line 1351 of file tile_bank.cpp.

References _0000, _0001, _0111, _1000, _1110, _1111, border, and nlassert.

Referenced by getOrientedBorder().

01352 {
01353         switch (border)
01354         {
01355         case _0000:
01356                 return _0000;
01357         case _0001:
01358                 return _1000;
01359         case _0111:
01360                 return _1110;
01361         case _1000:
01362                 return _0001;
01363         case _1110:
01364                 return _0111;
01365         case _1111:
01366                 return _1111;
01367         default:
01368                 nlassert (0);   // no
01369         }
01370         return _0000;
01371 }

const std::string & NL3D::CTileSet::getName  )  const
 

Definition at line 915 of file tile_bank.cpp.

00916 {
00917         return _Name;
00918 }

sint NL3D::CTileSet::getNumTile128  )  const [inline]
 

Definition at line 337 of file tile_bank.h.

References _Tile128, and sint.

Referenced by NL3D::CTileBank::computeXRef(), NL3D::CLandscapeUser::flushTiles(), and NL3D::CLandscape::initTileBanks().

00338         {
00339                 return (sint)_Tile128.size();
00340         }

sint NL3D::CTileSet::getNumTile256  )  const [inline]
 

Definition at line 341 of file tile_bank.h.

References _Tile256, and sint.

Referenced by NL3D::CTileBank::computeXRef(), NL3D::CLandscapeUser::flushTiles(), and NL3D::CLandscape::initTileBanks().

00342         {
00343                 return _Tile256.size();
00344         }

bool NL3D::CTileSet::getOriented  )  const [inline]
 

Definition at line 333 of file tile_bank.h.

References _Oriented.

Referenced by NL3D::CPatchInfo::getTileSymmetryRotate(), NL3D::CZoneSymmetrisation::propagateTileState(), NL3D::CZoneSymmetrisation::setOrientedTileState(), and NL3D::CZoneSymmetrisation::setTileState().

00334         {
00335                 return _Oriented;
00336         }

CTileSet::TFlagBorder NL3D::CTileSet::getOrientedBorder TBorder  where,
TFlagBorder  border
[static]
 

Definition at line 1373 of file tile_bank.cpp.

References _0000, border, getInvertBorder(), and nlassert.

Referenced by rotateTransition(), and NL3D::CPatchInfo::transformTile().

01374 {
01375         switch (where)
01376         {
01377         case left:
01378         case bottom:
01379                 return border;
01380         case top:
01381         case right:
01382                 return getInvertBorder (border);
01383         default:
01384                 nlassert (0);   // no
01385         }
01386         return _0000;
01387 }

sint32 NL3D::CTileSet::getTile128 sint  index  )  const [inline]
 

Definition at line 345 of file tile_bank.h.

References _Tile128, index, sint, and sint32.

Referenced by NL3D::CTileBank::computeXRef(), NL3D::CLandscapeUser::flushTiles(), and NL3D::CLandscape::initTileBanks().

00346         {
00347                 return _Tile128[index];
00348         }

sint32 NL3D::CTileSet::getTile256 sint  index  )  const [inline]
 

Definition at line 349 of file tile_bank.h.

References _Tile256, index, sint, and sint32.

Referenced by NL3D::CTileBank::computeXRef(), NL3D::CLandscapeUser::flushTiles(), and NL3D::CLandscape::initTileBanks().

00350         {
00351                 return _Tile256[index];
00352         }

const CTileVegetableDesc & NL3D::CTileSet::getTileVegetableDesc  )  const
 

Definition at line 1564 of file tile_bank.cpp.

References _TileVegetableDesc.

01565 {
01566         return _TileVegetableDesc;
01567 }

CTileVegetableDesc & NL3D::CTileSet::getTileVegetableDesc  ) 
 

return the TileVegetable

Definition at line 1558 of file tile_bank.cpp.

References _TileVegetableDesc.

01559 {
01560         return _TileVegetableDesc;
01561 }

const std::string & NL3D::CTileSet::getTileVegetableDescFileName  )  const
 

Definition at line 1547 of file tile_bank.cpp.

References _TileVegetableDescFileName.

01548 {
01549         return _TileVegetableDescFileName;
01550 }

const CTileSetTransition* NL3D::CTileSet::getTransition sint  index  )  const [inline]
 

Definition at line 357 of file tile_bank.h.

References _TileTransition, index, and sint.

00358         {
00359                 return _TileTransition+index;
00360         }

CTileSetTransition* NL3D::CTileSet::getTransition sint  index  )  [inline]
 

Definition at line 353 of file tile_bank.h.

References _TileTransition, index, and sint.

Referenced by NL3D::CTileBank::computeXRef(), NL3D::CLandscapeUser::flushTiles(), NL3D::CLandscape::initTileBanks(), and NL3D::CPatchInfo::transformTile().

00354         {
00355                 return _TileTransition+index;
00356         }

CTileSet::TTransition NL3D::CTileSet::getTransitionTile TFlagBorder  top,
TFlagBorder  bottom,
TFlagBorder  left,
TFlagBorder  right
[static]
 

Definition at line 1274 of file tile_bank.cpp.

References _TransitionFlags, count, dontcare, first, notfound, TFlagBorder, and TTransition.

Referenced by getComplementaryTransition(), rotateTransition(), and NL3D::CPatchInfo::transformTile().

01275 {
01276         for (int n=first; n<count; n++)
01277         {
01278                 if (((_top==dontcare)||(_top==(TFlagBorder)_TransitionFlags[n][top]))&&
01279                         ((_bottom==dontcare)||(_bottom==(TFlagBorder)_TransitionFlags[n][bottom]))&&
01280                         ((_left==dontcare)||(_left==(TFlagBorder)_TransitionFlags[n][left]))&&
01281                         ((_right==dontcare)||(_right==(TFlagBorder)_TransitionFlags[n][right])))
01282                 {
01283                         return (TTransition)n;
01284                 }       
01285         }
01286         return notfound;
01287 }

bool NL3D::CTileSet::isChild const std::string &  name  )  [inline]
 

Definition at line 413 of file tile_bank.h.

References _ChildName.

00414         {
00415                 return _ChildName.find(name)!=_ChildName.end();
00416         }

void NL3D::CTileSet::loadTileVegetableDesc  ) 
 

try to load the vegetable tile desc associated with the fileName (nlinfo() if can't) lookup into CPath. no-op if string=="".

Definition at line 1570 of file tile_bank.cpp.

References _TileVegetableDesc, _TileVegetableDescFileName, nlinfo, and NLMISC::IStream::serial().

01571 {
01572         if(_TileVegetableDescFileName!="")
01573         {
01574                 try
01575                 {
01576                         string  fname= CPath::lookup(_TileVegetableDescFileName);
01577                         CIFile  f(fname);
01578                         // load the TileVegetableDesc
01579                         f.serial(_TileVegetableDesc);
01580                 }
01581                 catch(Exception &e)
01582                 {
01583                         nlinfo("Error loading TileVegetableDesc: %s", e.what());
01584                 }
01585         }
01586 }

void NL3D::CTileSet::removeChild const std::string &  name  ) 
 

Definition at line 1311 of file tile_bank.cpp.

References _ChildName.

01312 {
01313         _ChildName.erase (name);
01314 }

void NL3D::CTileSet::removeTile128 int  indexInTileSet,
CTileBank bank
 

Definition at line 1236 of file tile_bank.cpp.

References _Tile128, deleteBordersIfLast(), NL3D::CTileBank::freeTile(), index, nlassert, and sint.

01237 {
01238         // Check args
01239         nlassert (indexInTileSet>=0);
01240         nlassert (indexInTileSet<(sint)_Tile128.size());
01241 
01242         // Old index
01243         int index=_Tile128[indexInTileSet];
01244 
01245         // Erase
01246         _Tile128.erase (_Tile128.begin()+indexInTileSet);
01247         bank.freeTile (index);
01248 
01249         // Erase border if it is the last texture
01250         deleteBordersIfLast (bank, CTile::diffuse);
01251         deleteBordersIfLast (bank, CTile::additive);
01252         deleteBordersIfLast (bank, CTile::alpha);
01253 }

void NL3D::CTileSet::removeTile256 int  indexInTileSet,
CTileBank bank
 

Definition at line 1255 of file tile_bank.cpp.

References _Tile256, deleteBordersIfLast(), NL3D::CTileBank::freeTile(), index, nlassert, and sint.

01256 {
01257         // Check args
01258         nlassert (indexInTileSet>=0);
01259         nlassert (indexInTileSet<(sint)_Tile256.size());
01260 
01261         // Old index
01262         int index=_Tile256[indexInTileSet];
01263 
01264         // Erase
01265         _Tile256.erase (_Tile256.begin()+indexInTileSet);
01266         bank.freeTile (index);
01267 
01268         // Erase border if it is the last texture
01269         deleteBordersIfLast (bank, CTile::diffuse);
01270         deleteBordersIfLast (bank, CTile::additive);
01271         deleteBordersIfLast (bank, CTile::alpha);
01272 }

CTileSet::TTransition NL3D::CTileSet::rotateTransition TTransition  transition  )  [static]
 

Definition at line 1389 of file tile_bank.cpp.

References _TransitionFlags, getOrientedBorder(), and getTransitionTile().

01390 {
01391         return getTransitionTile (
01392                 getOrientedBorder (top, getOrientedBorder (right, _TransitionFlags[transition][right])),        // top
01393                 getOrientedBorder (bottom, getOrientedBorder (left, _TransitionFlags[transition][left])),       // bottom
01394                 getOrientedBorder (left, getOrientedBorder (top, _TransitionFlags[transition][top])),           // left
01395                 getOrientedBorder (right, getOrientedBorder (bottom, _TransitionFlags[transition][bottom])) // right
01396                 );
01397 }

void NL3D::CTileSet::serial NLMISC::IStream f  )  throw (NLMISC::EStream)
 

Definition at line 920 of file tile_bank.cpp.

References count, NL3D::CTileBorder::serial(), sint, and uint.

00921 {
00922         sint streamver = f.serialVersion(_Version);
00923 
00924         CTileBorder tmp;
00925 
00926         // serial the user surface data
00927         if (streamver>=5)
00928         {
00929                 f.serial (SurfaceData);
00930         }
00931 
00932         // serial the oriented info which tell if the tile has a special orientation
00933         if (streamver>=4)
00934         {
00935                 f.serial (_Oriented);
00936         }
00937 
00938         // serial vegetable info.
00939         if (streamver>=3)
00940         {
00941                 // serialisze only the FileName, not the descrpitor
00942                 f.serial(_TileVegetableDescFileName);
00943         }
00944 
00945         // New version
00946         if (streamver>=2)
00947         {
00948                 uint displace;
00949                 for (displace=FirstDisplace; displace<CountDisplace; displace++)
00950                         f.serial (_DisplacementBitmap[displace]);
00951         }
00952 
00953         // Serial displacement map filename, obsolete
00954         if (streamver==1)
00955         {
00956                 // Remove obsolete data
00957                 string tmp;
00958                 for (uint displace=FirstDisplace; displace<CountDisplace; displace++)
00959                         f.serial (tmp);
00960         }
00961 
00962         int i;
00963         f.serial (_Name);
00964         f.serialCont (_Tile128);
00965         f.serialCont (_Tile256);
00966         for (i=0; i<count; i++)
00967                 f.serial (_TileTransition[i]);
00968         f.serialCont (_ChildName);
00969         f.serial (_Border128[CTile::diffuse]);
00970         f.serial (_Border128[CTile::additive]);
00971 
00972         // old field, border bump 128
00973         if (streamver==0)
00974                 f.serial (tmp);
00975 
00976         f.serial (_Border256[CTile::diffuse]);
00977         f.serial (_Border256[CTile::additive]);
00978 
00979         // old field, border bump 256
00980         if (streamver==0)
00981                 f.serial (tmp);
00982 
00983         for (i=0; i<count; i++)
00984         {
00985                 f.serial (_BorderTransition[i][CTile::diffuse]);
00986                 f.serial (_BorderTransition[i][CTile::additive]);
00987                 f.serial (_BorderTransition[i][CTile::alpha]);
00988 
00989                 // Reset the diffuse and alpha border if old version
00990                 if (streamver==0)
00991                 {
00992                         _BorderTransition[i][CTile::diffuse].reset();
00993                         _BorderTransition[i][CTile::alpha].reset();
00994                 }
00995         }
00996 }

void NL3D::CTileSet::setBorder CTile::TBitmap  type,
const CTileBorder border
 

Definition at line 1010 of file tile_bank.cpp.

References _Border128, _Border256, border, NL3D::CTileBorder::doubleSize(), and type.

01011 {
01012         // This is our new border desc
01013         _Border128[type]=border;
01014         _Border256[type]=border;
01015         _Border256[type].doubleSize ();
01016 }

void NL3D::CTileSet::setDisplacement TDisplacement  displacement,
const std::string &  fileName,
CTileBank bank
 

Definition at line 1514 of file tile_bank.cpp.

References _DisplacementBitmap, FirstDisplace, NL3D::CTileBank::getDisplacementMap(), LastDisplace, nlassert, and NL3D::CTileBank::removeDisplacementMap().

01515 {
01516         // checks
01517         nlassert (displacement>=FirstDisplace);
01518         nlassert (displacement<=LastDisplace);
01519 
01520         // Clear it
01521         bank.removeDisplacementMap (_DisplacementBitmap[displacement]);
01522 
01523         // Get displacement map
01524         _DisplacementBitmap[displacement]=bank.getDisplacementMap (fileName);
01525 }

void NL3D::CTileSet::setName const std::string &  name  ) 
 

Definition at line 910 of file tile_bank.cpp.

00911 {
00912         _Name=name;
00913 }

void NL3D::CTileSet::setOriented bool  oriented  )  [inline]
 

Definition at line 309 of file tile_bank.h.

References _Oriented.

00309 { _Oriented = oriented; }

void NL3D::CTileSet::setTile128 int  indexInTileSet,
const std::string &  name,
CTile::TBitmap  type,
CTileBank bank
 

Definition at line 1018 of file tile_bank.cpp.

References _Tile128, NL3D::CTileBank::getTile(), NL3D::CTile::setFileName(), NL3D::CTile::setRotAlpha(), and type.

01019 {
01020         // Edit a tile
01021         CTile *tile=bank.getTile (_Tile128[indexInTileSet]);
01022         tile->setFileName (type, name);
01023         tile->setRotAlpha (0);
01024 }

void NL3D::CTileSet::setTile256 int  indexInTileSet,
const std::string &  name,
CTile::TBitmap  type,
CTileBank bank
 

Definition at line 1108 of file tile_bank.cpp.

References _Tile256, NL3D::CTileBank::getTile(), NL3D::CTile::setFileName(), NL3D::CTile::setRotAlpha(), and type.

01109 {
01110         // Edit a tile
01111         CTile *tile=bank.getTile (_Tile256[indexInTileSet]);
01112         tile->setFileName (type, name);
01113         tile->setRotAlpha (0);
01114 }

void NL3D::CTileSet::setTileTransition TTransition  transition,
const std::string &  name,
CTile::TBitmap  type,
CTileBank bank,
const CTileBorder border
 

Definition at line 1116 of file tile_bank.cpp.

References _BorderTransition, _TileTransition, border, NL3D::CTileBank::getTile(), nlassert, NL3D::CTile::setFileName(), and type.

01118 {
01119         // Check is not an alpha channel
01120         nlassert (type!=CTile::alpha);          // use setTileTransitionAlpha
01121 
01122         // Create a tile
01123         _BorderTransition[transition][type]=border;
01124 
01125         // Set the tile file name
01126         CTile *tile=bank.getTile (_TileTransition[transition]._Tile);
01127         tile->setFileName (type, name);
01128 }

void NL3D::CTileSet::setTileTransitionAlpha TTransition  transition,
const std::string &  name,
CTileBank bank,
const CTileBorder border,
uint8  rotAlpha
 

Definition at line 1130 of file tile_bank.cpp.

References _BorderTransition, _TileTransition, border, NL3D::CTileBank::getTile(), nlassert, NL3D::CTile::setFileName(), NL3D::CTile::setRotAlpha(), and uint8.

01132 {
01133         // Check some args
01134         nlassert (rot<4);
01135 
01136         // Create a tile
01137         _BorderTransition[transition][CTile::alpha]=border;
01138 
01139         // Set the tile file name
01140         CTile *tile=bank.getTile (_TileTransition[transition]._Tile);
01141         tile->setFileName (CTile::alpha, name);
01142         tile->setRotAlpha (rot);
01143 }

void NL3D::CTileSet::setTileVegetableDesc const CTileVegetableDesc tvd  ) 
 

Definition at line 1552 of file tile_bank.cpp.

References _TileVegetableDesc.

01553 {
01554         _TileVegetableDesc= tvd;
01555 }

void NL3D::CTileSet::setTileVegetableDescFileName const std::string &  fileName  ) 
 

Definition at line 1542 of file tile_bank.cpp.

References _TileVegetableDescFileName.

01543 {
01544         _TileVegetableDescFileName= fileName;
01545 }


Friends And Related Function Documentation

friend class CTileBank [friend]
 

Definition at line 279 of file tile_bank.h.


Field Documentation

CTileBorder NL3D::CTileSet::_Border128[2] [private]
 

Definition at line 431 of file tile_bank.h.

Referenced by checkTile128(), checkTile256(), cleanUnusedData(), deleteBordersIfLast(), getBorder128(), and setBorder().

CTileBorder NL3D::CTileSet::_Border256[2] [private]
 

Definition at line 432 of file tile_bank.h.

Referenced by checkTile256(), cleanUnusedData(), deleteBordersIfLast(), getBorder256(), and setBorder().

CTileBorder NL3D::CTileSet::_BorderTransition[count][CTile::bitmapCount] [private]
 

Definition at line 433 of file tile_bank.h.

Referenced by checkTileTransition(), cleanUnusedData(), clearTransition(), getExistingTransitionTile(), setTileTransition(), and setTileTransitionAlpha().

std::set<std::string> NL3D::CTileSet::_ChildName [private]
 

Definition at line 430 of file tile_bank.h.

Referenced by addChild(), cleanUnusedData(), isChild(), and removeChild().

uint32 NL3D::CTileSet::_DisplacementBitmap[CTileSet::CountDisplace] [private]
 

Definition at line 434 of file tile_bank.h.

Referenced by clearDisplacement(), CTileSet(), getDisplacementTile(), and setDisplacement().

const char * NL3D::CTileSet::_ErrorMessage [static, private]
 

Initial value:

{
        "No error.",                                                            
        "Top interface is incompatible.",                       
        "Bottom interface is incompatible.",            
        "Left interface is incompatible.",                      
        "Right interface is incompatible.",                     
        "Add first a 128x128 tile.",                            
        "Top and bottom interface not the same.",       
        "Right and left interface not the same.",       
        "Invalide bitmap size.",                                        
}

Definition at line 826 of file tile_bank.cpp.

Referenced by getErrorMessage().

std::string NL3D::CTileSet::_Name [private]
 

Definition at line 425 of file tile_bank.h.

bool NL3D::CTileSet::_Oriented [private]
 

Definition at line 426 of file tile_bank.h.

Referenced by CTileSet(), getOriented(), and setOriented().

std::vector<sint32> NL3D::CTileSet::_Tile128 [private]
 

Definition at line 427 of file tile_bank.h.

Referenced by addTile128(), clearTile128(), deleteBordersIfLast(), getNumTile128(), getTile128(), removeTile128(), and setTile128().

std::vector<sint32> NL3D::CTileSet::_Tile256 [private]
 

Definition at line 428 of file tile_bank.h.

Referenced by addTile256(), clearTile256(), deleteBordersIfLast(), getNumTile256(), getTile256(), removeTile256(), and setTile256().

CTileSetTransition NL3D::CTileSet::_TileTransition[count] [private]
 

Definition at line 429 of file tile_bank.h.

Referenced by clearTransition(), deleteBordersIfLast(), getTransition(), setTileTransition(), and setTileTransitionAlpha().

CTileVegetableDesc NL3D::CTileSet::_TileVegetableDesc [private]
 

Definition at line 436 of file tile_bank.h.

Referenced by getTileVegetableDesc(), loadTileVegetableDesc(), and setTileVegetableDesc().

std::string NL3D::CTileSet::_TileVegetableDescFileName [private]
 

Definition at line 437 of file tile_bank.h.

Referenced by getTileVegetableDescFileName(), loadTileVegetableDesc(), and setTileVegetableDescFileName().

const CTileSet::TFlagBorder NL3D::CTileSet::_TransitionFlags [static, private]
 

Initial value:

{
        {_0000,_1111,_0111,_0111},      
        {_0111,_1111,_0111,_1111},      
        {_0000,_0111,_0000,_0111},      
        {_1110,_1110,_1111,_0000},      
        {_1110,_1111,_1111,_0111},      
        {_0000,_1110,_0111,_0000},      

        {_0000,_1111,_0001,_0001},      
        {_0000,_1000,_0001,_0000},      
        {_1111,_1000,_1111,_1000},      
        {_1000,_1000,_1111,_0000},      
        {_1000,_0000,_1000,_0000},      
        {_1111,_0001,_1000,_1111},      

        {_0000,_1111,_0111,_0001},      
        {_0000,_1111,_0001,_0111},      
        {_0111,_1111,_0001,_1111},      
        {_1110,_1000,_1111,_0000},      
        {_1000,_1110,_1111,_0000},      
        {_1111,_0001,_1110,_1111},      

        {_1000,_0000,_1110,_0000},      
        {_0000,_0111,_0000,_0001},      
        {_1111,_1000,_1111,_1110},      
        {_0111,_0000,_0000,_1000},      
        {_0000,_1000,_0111,_0000},      
        {_1111,_0111,_1000,_1111},      

        {_1111,_0000,_1110,_1110},      
        {_1111,_1110,_1111,_1110},      
        {_1110,_0000,_1110,_0000},      
        {_0111,_0111,_0000,_1111},      
        {_1111,_0111,_1110,_1111},      
        {_0111,_0000,_0000,_1110},      

        {_1111,_0000,_1000,_1000},      
        {_0001,_0000,_0000,_1000},      
        {_0001,_1111,_0001,_1111},      
        {_0001,_0001,_0000,_1111},      
        {_0000,_0001,_0000,_0001},      
        {_1000,_1111,_1111,_0001},      

        {_1111,_0000,_1000,_1110},      
        {_1111,_0000,_1110,_1000},      
        {_1000,_1111,_1111,_0111},      
        {_0001,_0111,_0000,_1111},      
        {_0111,_0001,_0000,_1111},      
        {_1111,_1110,_1111,_1000},      

        {_0000,_0001,_0000,_0111},      
        {_1110,_0000,_1000,_0000},      
        {_0001,_1111,_0111,_1111},      
        {_0000,_1110,_0001,_0000},      
        {_0001,_0000,_0000,_1110},      
        {_1110,_1111,_1111,_0001}       
}

Definition at line 839 of file tile_bank.cpp.

Referenced by checkTileTransition(), getComplementaryTransition(), getEdgeType(), getExistingTransitionTile(), getTransitionTile(), and rotateTransition().

const sint NL3D::CTileSet::_Version = 5 [static, private]
 

Definition at line 824 of file tile_bank.cpp.

uint32 NL3D::CTileSet::SurfaceData
 

Definition at line 442 of file tile_bank.h.

Referenced by CTileSet(), and NL3D::CVisualCollisionEntity::getSurfaceInfo().


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 08:05:49 2004 for NeL by doxygen 1.3.6