#include <tile_bank.h>
Nevrax France
Definition at line 277 of file tile_bank.h.
|
|
Definition at line 287 of file tile_bank.h.
00287 { top=0, bottom, left, right, borderCount };
|
|
|
Definition at line 286 of file tile_bank.h.
00286 { FirstDisplace=0, LastDisplace=15, CountDisplace=16 };
|
|
|
Definition at line 282 of file tile_bank.h.
00282 { ok=0, topInterfaceProblem, bottomInterfaceProblem, leftInterfaceProblem,
00283 rightInterfaceProblem, addFirstA128128, topBottomNotTheSame, rightLeftNotTheSame,
00284 sizeInvalide, errorCount };
|
|
|
Definition at line 288 of file tile_bank.h. Referenced by checkTileTransition(), getEdgeType(), getExistingTransitionTile(), and getTransitionTile().
|
|
|
Definition at line 285 of file tile_bank.h. Referenced by getComplementaryTransition(), getExistingTransitionTile(), and getTransitionTile().
|
|
|
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 }
|
|
|
Definition at line 1306 of file tile_bank.cpp. References _ChildName.
01307 {
01308 _ChildName.insert (name);
01309 }
|
|
||||||||||||
|
Definition at line 998 of file tile_bank.cpp. References _Tile128, NL3D::CTileBank::createTile(), index, and sint.
|
|
||||||||||||
|
Definition at line 1057 of file tile_bank.cpp. References _Tile256, NL3D::CTileBank::createTile(), index, and sint.
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
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 }
|
|
||||||||||||||||
|
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 }
|
|
||||||||||||||||
|
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 }
|
|
||||||||||||||||
|
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 }
|
|
||||||||||||
|
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 }
|
|
|
Definition at line 361 of file tile_bank.h. References _Border128.
00362 {
00363 return &(_Border128[bitmapType]);
00364 }
|
|
|
Definition at line 365 of file tile_bank.h. References _Border256.
00366 {
00367 return &(_Border256[bitmapType]);
00368 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
Definition at line 401 of file tile_bank.h. References _TransitionFlags, and TFlagBorder.
00402 {
00403 return _TransitionFlags[_what][_where];
00404 }
|
|
|
Definition at line 391 of file tile_bank.h. References _ErrorMessage.
00392 {
00393 return _ErrorMessage[error];
00394 }
|
|
||||||||||||||||||||||||||||
|
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 }
|
|
|
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 }
|
|
|
Definition at line 915 of file tile_bank.cpp.
00916 {
00917 return _Name;
00918 }
|
|
|
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().
|
|
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
Definition at line 1373 of file tile_bank.cpp. References _0000, border, getInvertBorder(), and nlassert. Referenced by rotateTransition(), and NL3D::CPatchInfo::transformTile().
|
|
|
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().
|
|
|
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().
|
|
|
Definition at line 1564 of file tile_bank.cpp. References _TileVegetableDesc.
01565 {
01566 return _TileVegetableDesc;
01567 }
|
|
|
return the TileVegetable
Definition at line 1558 of file tile_bank.cpp. References _TileVegetableDesc.
01559 {
01560 return _TileVegetableDesc;
01561 }
|
|
|
Definition at line 1547 of file tile_bank.cpp. References _TileVegetableDescFileName.
01548 {
01549 return _TileVegetableDescFileName;
01550 }
|
|
|
Definition at line 357 of file tile_bank.h. References _TileTransition, index, and sint.
00358 {
00359 return _TileTransition+index;
00360 }
|
|
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
|
Definition at line 413 of file tile_bank.h. References _ChildName.
00414 {
00415 return _ChildName.find(name)!=_ChildName.end();
00416 }
|
|
|
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 }
|
|
|
Definition at line 1311 of file tile_bank.cpp. References _ChildName.
01312 {
01313 _ChildName.erase (name);
01314 }
|
|
||||||||||||
|
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 }
|
|
||||||||||||
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
||||||||||||
|
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 }
|
|
||||||||||||||||
|
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 }
|
|
|
Definition at line 910 of file tile_bank.cpp.
00911 {
00912 _Name=name;
00913 }
|
|
|
Definition at line 309 of file tile_bank.h. References _Oriented.
00309 { _Oriented = oriented; }
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||
|
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 }
|
|
|
Definition at line 1552 of file tile_bank.cpp. References _TileVegetableDesc.
01553 {
01554 _TileVegetableDesc= tvd;
01555 }
|
|
|
Definition at line 1542 of file tile_bank.cpp. References _TileVegetableDescFileName.
01543 {
01544 _TileVegetableDescFileName= fileName;
01545 }
|
|
|
Definition at line 279 of file tile_bank.h. |
|
|
Definition at line 431 of file tile_bank.h. Referenced by checkTile128(), checkTile256(), cleanUnusedData(), deleteBordersIfLast(), getBorder128(), and setBorder(). |
|
|
Definition at line 432 of file tile_bank.h. Referenced by checkTile256(), cleanUnusedData(), deleteBordersIfLast(), getBorder256(), and setBorder(). |
|
|
Definition at line 433 of file tile_bank.h. Referenced by checkTileTransition(), cleanUnusedData(), clearTransition(), getExistingTransitionTile(), setTileTransition(), and setTileTransitionAlpha(). |
|
|
Definition at line 430 of file tile_bank.h. Referenced by addChild(), cleanUnusedData(), isChild(), and removeChild(). |
|
|
Definition at line 434 of file tile_bank.h. Referenced by clearDisplacement(), CTileSet(), getDisplacementTile(), and setDisplacement(). |
|
|
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(). |
|
|
Definition at line 425 of file tile_bank.h. |
|
|
Definition at line 426 of file tile_bank.h. Referenced by CTileSet(), getOriented(), and setOriented(). |
|
|
Definition at line 427 of file tile_bank.h. Referenced by addTile128(), clearTile128(), deleteBordersIfLast(), getNumTile128(), getTile128(), removeTile128(), and setTile128(). |
|
|
Definition at line 428 of file tile_bank.h. Referenced by addTile256(), clearTile256(), deleteBordersIfLast(), getNumTile256(), getTile256(), removeTile256(), and setTile256(). |
|
|
Definition at line 429 of file tile_bank.h. Referenced by clearTransition(), deleteBordersIfLast(), getTransition(), setTileTransition(), and setTileTransitionAlpha(). |
|
|
Definition at line 436 of file tile_bank.h. Referenced by getTileVegetableDesc(), loadTileVegetableDesc(), and setTileVegetableDesc(). |
|
|
Definition at line 437 of file tile_bank.h. Referenced by getTileVegetableDescFileName(), loadTileVegetableDesc(), and setTileVegetableDescFileName(). |
|
|
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(). |
|
|
Definition at line 824 of file tile_bank.cpp. |
|
|
Definition at line 442 of file tile_bank.h. Referenced by CTileSet(), and NL3D::CVisualCollisionEntity::getSurfaceInfo(). |
1.3.6