{
u8 *px = &info_buffer[((x*64)+y)*4];
- px[0] = 0xFF-0x3F + hash21i( (v2i){x,y}, 0x3F );
+ int dist_x = 16 - VG_MIN( VG_MIN( x, 16 ), 16-VG_MAX( x-16-world.w, 0 ) );
+ int dist_y = 16 - VG_MIN( VG_MIN( y, 16 ), 16-VG_MAX( y-16-world.h, 0 ) );
+ int dist = VG_MAX( dist_x, dist_y ) * 16;
+
+ int value = VG_MAX( 0, 0xFF-0x3F + hash21i( (v2i){x,y}, 0x3F ) - dist );
+
+ px[0] = value;
px[1] = 0;
px[2] = 0;
px[3] = 0;