Mode | Name | Size | |
-rw-r--r-- | book.png | 292 | logplain |
-rw-r--r-- | bookshelf.png | 597 | logplain |
-rw-r--r-- | brick.png | 604 | logplain |
-rw-r--r-- | cactus_side.png | 279 | logplain |
-rw-r--r-- | cactus_top.png | 236 | logplain |
-rw-r--r-- | chest_front.png | 167 | logplain |
-rw-r--r-- | chest_side.png | 151 | logplain |
-rw-r--r-- | chest_top.png | 142 | logplain |
-rw-r--r-- | clay.png | 613 | logplain |
-rw-r--r-- | clay_brick.png | 249 | logplain |
-rw-r--r-- | cloud.png | 118 | logplain |
-rw-r--r-- | cobble.png | 830 | logplain |
-rw-r--r-- | crack.png | 1076 | logplain |
-rw-r--r-- | fence.png | 539 | logplain |
-rw-r--r-- | firefly.png | 116 | logplain |
-rw-r--r-- | fontlucida.png | 17284 | logplain |
-rw-r--r-- | furnace_front.png | 246 | logplain |
-rw-r--r-- | furnace_side.png | 236 | logplain |
-rw-r--r-- | glass.png | 1309 | logplain |
-rw-r--r-- | grass.png | 874 | logplain |
-rw-r--r-- | grass_footsteps.png | 856 | logplain |
-rw-r--r-- | grass_side.png | 878 | logplain |
-rw-r--r-- | gravel.png | 591 | // Save a 32-bit unsigned integer to memory, in big-endian order
void SHA1::storeBigEndianUint32( unsigned char* byte, Uint32 num )
{
assert( byte );
byte[0] = (unsigned char)(num>>24);
byte[1] = (unsigned char)(num>>16);
byte[2] = (unsigned char)(num>>8);
byte[3] = (unsigned char)num;
}
// Constructor *******************************************************
SHA1::SHA1()
{
// make sure that the data type is the right size
assert( sizeof( Uint32 ) * 5 == 20 );
// initialize
H0 = 0x67452301;
H1 = 0xefcdab89;
H2 = 0x98badcfe;
H3 = 0x10325476;
H4 = 0xc3d2e1f0;
unprocessedBytes = 0;
size = 0;
}
// Destructor ********************************************************
SHA1::~SHA1()
{
// erase data
H0 = H1 = H2 = H3 = H4 = 0;
for( int c = 0; c < 64; c++ ) bytes[c] = 0;
unprocessedBytes = size = 0;
}
// process ***********************************************************
void SHA1::process()
{
assert( unprocessedBytes == 64 );
//printf( "process: " ); hexPrinter( bytes, 64 ); printf( "\n" );
int t;
Uint32 a, b, c, d, e, K, f, W[80];
// starting values
a = H0;
b = H1;
c = H2;
d = H3;
e = H4;
// copy and expand the message block
for( t = 0; t < 16; t++ ) W[t] = (bytes[t*4] << 24)
+(bytes[t*4 + 1] << 16)
+(bytes[t*4 + 2] << 8)
+ bytes[t*4 + 3];
for(; t< 80; t++ ) W[t] = lrot( W[t-3]^W[t-8]^W[t-14]^W[t-16], 1 );
/* main loop */
Uint32 temp;
for( t = 0; t < 80; t++ )
{
if( t < 20 ) {
K = 0x5a827999;
f = (b & c) | ((b ^ 0xFFFFFFFF) & d);//TODO: try using ~
} else if( t < 40 ) {
K = 0x6ed9eba1;
f = b ^ c ^ d;
} else if( t < 60 ) {
K = 0x8f1bbcdc;
f = (b & c) | (b & d) | (c & d);
} else {
K = 0xca62c1d6;
f = b ^ c ^ d;
}
temp = lrot(a,5) + f + e + W[t] + K;
e = d;
d = c;
c = lrot(b,30);
b = a;
a = temp;
//printf( "t=%d %08x %08x %08x %08x %08x\n",t,a,b,c,d,e );
}
/* add variables */
H0 += a;
H1 += b;
H2 += c;
H3 += d;
H4 += e;
//printf( "Current: %08x %08x %08x %08x %08x\n",H0,H1,H2,H3,H4 );
/* all bytes have been processed */
unprocessedBytes = 0;
}
class='ls-blob png' href='/minetest.git/tree/data/rail_curved.png?h=release&id=20fa7412c8bedcc227b95e91eedba436001da755'>rail_curved.png | 545 | logplain |
-rw-r--r-- | rail_t_junction.png | 542 | logplain |
-rw-r--r-- | rat.png | 920 | logplain |
-rw-r--r-- | sand.png | 1381 | logplain |
-rw-r--r-- | sandstone.png | 772 | logplain |
-rw-r--r-- | sign.png | 1374 | logplain |
-rw-r--r-- | sign_back.png | 1312 | logplain |
-rw-r--r-- | sign_wall.png | 489 | logplain |
-rw-r--r-- | skybox1.png | 236 | logplain |
-rw-r--r-- | skybox1_dawn.png | 598 | logplain |
-rw-r--r-- | skybox1_night.png | 2247 | logplain |
-rw-r--r-- | skybox2.png | 231 | logplain |
-rw-r--r-- | skybox2_dawn.png | 199 | logplain |
-rw-r--r-- | skybox2_night.png | 2583 | logplain |
-rw-r--r-- | skybox3.png | 190 | logplain |
-rw-r--r-- | skybox3_dawn.png | 190 | logplain |
-rw-r--r-- | skybox3_night.png | 190 | logplain |
-rw-r--r-- | steel_block.png | 219 | logplain |
-rw-r--r-- | steel_ingot.png | 207 | logplain |
-rw-r--r-- | stick.png | 182 | logplain |
-rw-r--r-- | stone.png | 806 | logplain |
-rw-r--r-- | tool_mesepick.png | 252 | logplain |
-rw-r--r-- | tool_steelaxe.png | 209 | logplain |
-rw-r--r-- | tool_steelpick.png | 271 | logplain |
-rw-r--r-- | tool_steelshovel.png | 216 | logplain |
-rw-r--r-- | tool_stoneaxe.png | 193 | logplain |
-rw-r--r-- | tool_stonepick.png | 262 | logplain |
-rw-r--r-- | tool_stoneshovel.png | 203 | logplain |
-rw-r--r-- | tool_woodaxe.png | 190 | logplain |
-rw-r--r-- | tool_woodpick.png | 245 | logplain |
-rw-r--r-- | tool_woodshovel.png | 203 | logplain |
-rw-r--r-- | torch.png | 925 | logplain |
-rw-r--r-- | torch_on_ceiling.png | 913 | logplain |
-rw-r--r-- | torch_on_floor.png | 917 | logplain |
-rw-r--r-- | tree.png | 1445 | logplain |
-rw-r--r-- | tree_top.png | 1024 | logplain |
-rw-r--r-- | treeprop.png | 1055 | logplain |
-rw-r--r-- | unknown_block.png | 582 | logplain |
-rw-r--r-- | water.png | 518 | logplain |
-rw-r--r-- | wood.png | 1400 | logplain |