Index: trunk/src/gfx/texture_atlas.cc
===================================================================
--- trunk/src/gfx/texture_atlas.cc	(revision 144)
+++ trunk/src/gfx/texture_atlas.cc	(revision 145)
@@ -13,7 +13,7 @@
 
 texture_atlas::texture_atlas( glm::ivec2 size, size_t depth, size_t border /*= 1*/ )
-	: image( size, depth ), m_used( 0 )
+	: image( size, depth ), m_used( 0 ), m_border( border )
 {
-	m_nodes.push_back( glm::ivec3( border, border, m_size.x - 2 * border ) );
+	m_nodes.push_back( glm::ivec3( m_border, m_border, m_size.x - 2 * m_border ) );
 	fill( 0 );
 }
@@ -30,5 +30,5 @@
 	{
 		int y = fit( i, size );
-		if( y >= 0 )
+		if ( y >= 0 )
 		{
 			glm::ivec3 node = m_nodes[ i ];
@@ -57,5 +57,5 @@
 		glm::ivec3 prev = m_nodes[ i-1 ];
 
-		if (node.x < (prev.x + prev.z) )
+		if ( node.x < prev.x + prev.z )
 		{
 			int shrink = prev.x + prev.z - node.x;
@@ -63,5 +63,5 @@
 			m_nodes[ i ].z -= shrink;
 
-			if (m_nodes[ i ].z <= 0)
+			if ( m_nodes[ i ].z <= 0 )
 			{
 				m_nodes.erase( m_nodes.begin() + static_cast<int>(i) );
@@ -87,5 +87,5 @@
 	glm::ivec3 node = m_nodes[ index ];
 
-	if ( (  node.x + size.x ) > ( m_size.x ) ) 
+	if ( node.x + size.x > m_size.x - m_border ) 
 	{
 		return -1;
@@ -95,12 +95,12 @@
 	int wleft = size.x;
 
-	while( wleft > 0 )
+	while ( wleft > 0 )
 	{
 		node = m_nodes[ index ];
-		if( node.y > y )
+		if ( node.y > y )
 		{
 			y = node.y;
 		}
-		if( (y + size.y) > ( m_size.y ) )
+		if ( y + size.y > m_size.y - m_border )
 		{
 			return -1;
@@ -114,7 +114,7 @@
 void texture_atlas::merge()
 {
-	for( size_t i=0; i < m_nodes.size()-1; ++i )
+	for ( size_t i=0; i < m_nodes.size()-1; ++i )
     {
-		if( m_nodes[ i ].y == m_nodes[ i+1 ].y )
+		if ( m_nodes[ i ].y == m_nodes[ i+1 ].y )
 		{
 			m_nodes[ i ].z += m_nodes[ i+1 ].z;
