#include <tile_bank.h>
Nevrax France
Definition at line 57 of file tile_bank.h.
Public Types | |
| enum | TBitmap { diffuse = 0, additive, alpha, bitmapCount } |
Public Member Functions | |
| CTile () | |
| uint | getGroupFlags () const |
| const std::string & | getRelativeFileName (TBitmap bitmapType) const |
| uint8 | getRotAlpha () |
| Get the additional orientation (CCW) for alpha texture. | |
| bool | isFree () const |
| void | serial (class NLMISC::IStream &f) throw (NLMISC::EStream) |
| void | setFileName (TBitmap bitmapType, const std::string &name) |
| void | setGroupFlags (uint group) |
| void | setRotAlpha (uint8 rot) |
| Set the additional orientation (CCW) for alpha texture. | |
Private Member Functions | |
| void | clearTile (CTile::TBitmap type) |
| void | free () |
Private Attributes | |
| std::string | _BitmapName [bitmapCount] |
| uint32 | _Flags |
Static Private Attributes | |
| const sint | _Version = 4 |
Friends | |
| class | CTileBank |
| class | CTileSet |
|
|
Definition at line 74 of file tile_bank.h.
00074 { diffuse=0, additive, alpha, bitmapCount };
|
|
|
Definition at line 76 of file tile_bank.h. References NL3D_CTILE_FREE_FLAG.
00077 {
00078 _Flags=NL3D_CTILE_FREE_FLAG;
00079 }
|
|
|
Definition at line 810 of file tile_bank.cpp. References _BitmapName, and type. Referenced by NL3D::CTileSet::clearTile128(), NL3D::CTileSet::clearTile256(), and NL3D::CTileSet::clearTransition().
00811 {
00812 _BitmapName[type]="";
00813 }
|
|
|
Definition at line 146 of file tile_bank.h. References NL3D_CTILE_FREE_FLAG, and nlassert.
00147 {
00148 nlassert ((_Flags&=NL3D_CTILE_FREE_FLAG)==0);
00149 _Flags|=NL3D_CTILE_FREE_FLAG;
00150 }
|
|
|
Get the group flags for this tile. If the tile is in the I-ne gourp, the flag 1<<I is set. There are 12 groups. Definition at line 122 of file tile_bank.h. References NL3D_CTILE_GROUP_MASK, NL3D_CTILE_GROUP_RSHIFT, and uint.
00123 {
00124 return ((_Flags&NL3D_CTILE_GROUP_MASK)>>NL3D_CTILE_GROUP_RSHIFT);
00125 }
|
|
|
Definition at line 80 of file tile_bank.h. References _BitmapName. Referenced by NL3D::CTileSet::deleteBordersIfLast(), and NL3D::CLandscape::loadTile().
00081 {
00082 return _BitmapName[bitmapType];
00083 }
|
|
|
Get the additional orientation (CCW) for alpha texture.
Definition at line 99 of file tile_bank.h. References NL3D_CTILE_ROT_MASK, NL3D_CTILE_ROT_RSHIFT, and uint8. Referenced by NL3D::CLandscape::loadTile().
00100 {
00101 return (uint8)((_Flags&NL3D_CTILE_ROT_MASK)>>NL3D_CTILE_ROT_RSHIFT);
00102 }
|
|
|
Definition at line 84 of file tile_bank.h. References NL3D_CTILE_FREE_FLAG.
00085 {
00086 return (_Flags&NL3D_CTILE_FREE_FLAG)!=0;
00087 }
|
|
|
Definition at line 757 of file tile_bank.cpp. References alpha, NL3D_CTILE_FREE_FLAG, NL3D_CTILE_FREE_FLAG_V2, NL3D_CTILE_FREE_FLAG_V3, NL3D_CTILE_GROUP_MASK_V2, NL3D_CTILE_GROUP_MASK_V3, NL3D_CTILE_ROT_MASK, and sint.
00758 {
00759 sint streamver = f.serialVersion(_Version);
00760
00761 // Tmp value
00762 bool tmp;
00763 string tmpStr;
00764
00765 switch (streamver)
00766 {
00767 case 4:
00768 case 3:
00769 case 2:
00770 f.serial (_Flags);
00771
00772 // Version 2, flags are not the same
00773 if (streamver==2)
00774 _Flags=(_Flags&NL3D_CTILE_ROT_MASK)|(_Flags&NL3D_CTILE_GROUP_MASK_V2)|(((_Flags&NL3D_CTILE_FREE_FLAG_V2)!=0)?NL3D_CTILE_FREE_FLAG:0);
00775 if (streamver==3)
00776 _Flags=(_Flags&NL3D_CTILE_ROT_MASK)|(_Flags&NL3D_CTILE_GROUP_MASK_V3)|(((_Flags&NL3D_CTILE_FREE_FLAG_V3)!=0)?NL3D_CTILE_FREE_FLAG:0);
00777
00778 f.serial (_BitmapName[diffuse]);
00779 f.serial (_BitmapName[additive]);
00780 f.serial (_BitmapName[alpha]);
00781 break;
00782 case 1:
00783 // Don't need invert many more
00784 f.serial (tmp);
00785 case 0:
00786 // Initialize flags
00787 _Flags=0;
00788
00789 // Initialize alpha name
00790 _BitmapName[alpha]="";
00791
00792 // Read free flag
00793 f.serial (tmp);
00794
00795 // If free, set the flag
00796 if (tmp)
00797 _Flags|=NL3D_CTILE_FREE_FLAG;
00798
00799 // Read diffuse bitmap and additive
00800 f.serial (_BitmapName[diffuse]);
00801 f.serial (_BitmapName[additive]);
00802
00803 // Don't need bump name
00804 f.serial (tmpStr);
00805
00806 break;
00807 }
00808 }
|
|
||||||||||||
|
Definition at line 89 of file tile_bank.h. References _BitmapName, and NL3D_CTILE_FREE_FLAG. Referenced by NL3D::CTileSet::setTile128(), NL3D::CTileSet::setTile256(), NL3D::CTileSet::setTileTransition(), and NL3D::CTileSet::setTileTransitionAlpha().
00090 {
00091 // not free
00092 _Flags&=~NL3D_CTILE_FREE_FLAG;
00093
00094 // set filename
00095 _BitmapName[bitmapType]=name;
00096 }
|
|
|
Set the group flags for this tile. If the tile is in the I-ne gourp, the flag 1<<I is set. There are 12 groups. Definition at line 132 of file tile_bank.h. References NL3D_CTILE_GROUP_MASK, NL3D_CTILE_GROUP_RSHIFT, NL3D_CTILE_NUM_GROUP, nlassert, uint, and uint32.
00133 {
00134 // Checks
00135 nlassert (group<NL3D_CTILE_NUM_GROUP);
00136
00137 // Clear flags
00138 _Flags&=~NL3D_CTILE_GROUP_MASK;
00139
00140 // Set flags
00141 _Flags|=(((uint32)group)<<NL3D_CTILE_GROUP_RSHIFT);
00142 }
|
|
|
Set the additional orientation (CCW) for alpha texture.
Definition at line 105 of file tile_bank.h. References NL3D_CTILE_ROT_MASK, NL3D_CTILE_ROT_RSHIFT, nlassert, uint32, and uint8. Referenced by NL3D::CTileSet::setTile128(), NL3D::CTileSet::setTile256(), and NL3D::CTileSet::setTileTransitionAlpha().
00106 {
00107 // Checks
00108 nlassert (rot<4);
00109
00110 // Clear flags
00111 _Flags&=~NL3D_CTILE_ROT_MASK;
00112
00113 // Set flags
00114 _Flags|=(((uint32)rot)<<NL3D_CTILE_ROT_RSHIFT);
00115 }
|
|
|
Definition at line 73 of file tile_bank.h. |
|
|
Definition at line 72 of file tile_bank.h. |
|
|
Definition at line 154 of file tile_bank.h. Referenced by clearTile(), getRelativeFileName(), and setFileName(). |
|
|
Definition at line 153 of file tile_bank.h. |
|
|
Definition at line 755 of file tile_bank.cpp. |
1.3.6